diff --git a/app/build.gradle b/app/build.gradle index 82497594f8..ee8e17f0d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 30 - versionCode 111202 - versionName "111.2 - Alpha" + versionCode 111203 + versionName "111.3 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d3ce518847..bcc9494766 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/databinding/WidgetVoiceChannelSettingsBinding.java b/app/src/main/java/com/discord/databinding/WidgetVoiceChannelSettingsBinding.java index e75acef25f..6968f50429 100644 --- a/app/src/main/java/com/discord/databinding/WidgetVoiceChannelSettingsBinding.java +++ b/app/src/main/java/com/discord/databinding/WidgetVoiceChannelSettingsBinding.java @@ -7,6 +7,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.viewbinding.ViewBinding; +import com.discord.views.CheckedSetting; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.textfield.TextInputLayout; public final class WidgetVoiceChannelSettingsBinding implements ViewBinding { @@ -21,58 +22,64 @@ public final class WidgetVoiceChannelSettingsBinding implements ViewBinding { @NonNull public final TextInputLayout d; @NonNull - public final TextView e; + public final CheckedSetting e; @NonNull public final TextView f; @NonNull - public final LinearLayout g; + public final TextView g; @NonNull - public final TextView h; + public final LinearLayout h; @NonNull - public final FloatingActionButton i; + public final TextView i; @NonNull - public final LinearLayout j; + public final FloatingActionButton j; @NonNull - public final TextView k; + public final LinearLayout k; @NonNull - public final TextView l; + public final LinearLayout l; @NonNull - public final View m; + public final TextView m; @NonNull public final TextView n; @NonNull - public final LinearLayout o; + public final View o; @NonNull public final TextView p; @NonNull - public final View q; + public final LinearLayout q; @NonNull - public final SeekBar r; + public final TextView r; @NonNull /* renamed from: s reason: collision with root package name */ - public final TextView f2667s; + public final View f2667s; + @NonNull + public final SeekBar t; + @NonNull + public final TextView u; - public WidgetVoiceChannelSettingsBinding(@NonNull CoordinatorLayout coordinatorLayout, @NonNull View view, @NonNull SeekBar seekBar, @NonNull TextView textView, @NonNull TextInputLayout textInputLayout, @NonNull TextInputLayout textInputLayout2, @NonNull TextView textView2, @NonNull TextView textView3, @NonNull LinearLayout linearLayout, @NonNull TextView textView4, @NonNull FloatingActionButton floatingActionButton, @NonNull LinearLayout linearLayout2, @NonNull TextView textView5, @NonNull TextView textView6, @NonNull View view2, @NonNull LinearLayout linearLayout3, @NonNull TextView textView7, @NonNull LinearLayout linearLayout4, @NonNull TextView textView8, @NonNull View view3, @NonNull SeekBar seekBar2, @NonNull TextView textView9) { + public WidgetVoiceChannelSettingsBinding(@NonNull CoordinatorLayout coordinatorLayout, @NonNull View view, @NonNull SeekBar seekBar, @NonNull TextView textView, @NonNull TextInputLayout textInputLayout, @NonNull TextInputLayout textInputLayout2, @NonNull CheckedSetting checkedSetting, @NonNull TextView textView2, @NonNull TextView textView3, @NonNull LinearLayout linearLayout, @NonNull TextView textView4, @NonNull FloatingActionButton floatingActionButton, @NonNull LinearLayout linearLayout2, @NonNull LinearLayout linearLayout3, @NonNull TextView textView5, @NonNull TextView textView6, @NonNull View view2, @NonNull LinearLayout linearLayout4, @NonNull TextView textView7, @NonNull LinearLayout linearLayout5, @NonNull TextView textView8, @NonNull View view3, @NonNull SeekBar seekBar2, @NonNull TextView textView9) { this.a = coordinatorLayout; this.f2666b = seekBar; this.c = textInputLayout; this.d = textInputLayout2; - this.e = textView2; - this.f = textView3; - this.g = linearLayout; - this.h = textView4; - this.i = floatingActionButton; - this.j = linearLayout2; - this.k = textView5; - this.l = textView6; - this.m = view2; - this.n = textView7; - this.o = linearLayout4; - this.p = textView8; - this.q = view3; - this.r = seekBar2; - this.f2667s = textView9; + this.e = checkedSetting; + this.f = textView2; + this.g = textView3; + this.h = linearLayout; + this.i = textView4; + this.j = floatingActionButton; + this.k = linearLayout2; + this.l = linearLayout3; + this.m = textView5; + this.n = textView6; + this.o = view2; + this.p = textView7; + this.q = linearLayout5; + this.r = textView8; + this.f2667s = view3; + this.t = seekBar2; + this.u = textView9; } @Override // androidx.viewbinding.ViewBinding diff --git a/app/src/main/java/com/discord/restapi/RestAPIParams.java b/app/src/main/java/com/discord/restapi/RestAPIParams.java index f727c58d05..a998431373 100644 --- a/app/src/main/java/com/discord/restapi/RestAPIParams.java +++ b/app/src/main/java/com/discord/restapi/RestAPIParams.java @@ -5104,15 +5104,17 @@ public final class RestAPIParams { public static final class VoiceChannel { private final Integer bitrate; private final String name; + private final Boolean nsfw; private final String rtcRegion; private final String topic; private final Integer type; private final Integer userLimit; - public VoiceChannel(String str, String str2, Integer num, Integer num2, Integer num3, String str3) { + public VoiceChannel(String str, String str2, Integer num, Boolean bool, Integer num2, Integer num3, String str3) { this.name = str; this.topic = str2; this.type = num; + this.nsfw = bool; this.userLimit = num2; this.bitrate = num3; this.rtcRegion = str3; diff --git a/app/src/main/java/com/discord/utilities/channel/GuildChannelIconType.java b/app/src/main/java/com/discord/utilities/channel/GuildChannelIconType.java index 2f727ec04d..c9cf3f71b9 100644 --- a/app/src/main/java/com/discord/utilities/channel/GuildChannelIconType.java +++ b/app/src/main/java/com/discord/utilities/channel/GuildChannelIconType.java @@ -86,6 +86,15 @@ public abstract class GuildChannelIconType { } } + /* compiled from: GuildChannelIconUtils.kt */ + public static final class Voice extends GuildChannelIconType { + public static final Voice INSTANCE = new Voice(); + + private Voice() { + super(null); + } + } + private NSFW() { } } diff --git a/app/src/main/java/com/discord/utilities/channel/GuildChannelIconUtilsKt.java b/app/src/main/java/com/discord/utilities/channel/GuildChannelIconUtilsKt.java index a14e9479da..92a526394b 100644 --- a/app/src/main/java/com/discord/utilities/channel/GuildChannelIconUtilsKt.java +++ b/app/src/main/java/com/discord/utilities/channel/GuildChannelIconUtilsKt.java @@ -21,7 +21,7 @@ public final class GuildChannelIconUtilsKt { } int A = channel.A(); if (A == 2) { - return GuildChannelIconType.Voice.INSTANCE; + return channel.o() ? GuildChannelIconType.NSFW.Voice.INSTANCE : GuildChannelIconType.Voice.INSTANCE; } Object obj = null; if (A != 5) { @@ -119,7 +119,10 @@ public final class GuildChannelIconUtilsKt { return R.drawable.ic_channel_announcements_nsfw; } if (guildChannelIconType instanceof GuildChannelIconType.NSFW.Thread) { - return R.drawable.ic_thread_nsfw; + return R.drawable.ic_thread_locked; + } + if (guildChannelIconType instanceof GuildChannelIconType.NSFW.Voice) { + return R.drawable.ic_voice_nsfw; } if (guildChannelIconType instanceof GuildChannelIconType.Locked.Text) { return R.drawable.ic_channel_text_locked; 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 b492973089..3becd22862 100644 --- a/app/src/main/java/com/discord/utilities/rest/RestAPI.java +++ b/app/src/main/java/com/discord/utilities/rest/RestAPI.java @@ -448,8 +448,8 @@ public final class RestAPI implements RestAPIInterface { return restAPI.editTextChannel(j, (i & 2) != 0 ? null : str, (i & 4) != 0 ? null : num, (i & 8) != 0 ? null : str2, (i & 16) != 0 ? null : bool, (i & 32) != 0 ? null : num2, (i & 64) != 0 ? null : num3); } - public static /* synthetic */ Observable editVoiceChannel$default(RestAPI restAPI, long j, String str, String str2, Integer num, Integer num2, Integer num3, String str3, int i, Object obj) { - return restAPI.editVoiceChannel(j, (i & 2) != 0 ? null : str, (i & 4) != 0 ? null : str2, (i & 8) != 0 ? null : num, (i & 16) != 0 ? null : num2, (i & 32) != 0 ? null : num3, (i & 64) != 0 ? null : str3); + public static /* synthetic */ Observable editVoiceChannel$default(RestAPI restAPI, long j, String str, String str2, Boolean bool, Integer num, Integer num2, Integer num3, String str3, int i, Object obj) { + return restAPI.editVoiceChannel(j, (i & 2) != 0 ? null : str, (i & 4) != 0 ? null : str2, (i & 8) != 0 ? null : bool, (i & 16) != 0 ? null : num, (i & 32) != 0 ? null : num2, (i & 64) != 0 ? null : num3, (i & 128) != 0 ? null : str3); } public static final RestAPI getApi() { @@ -998,8 +998,8 @@ public final class RestAPI implements RestAPIInterface { return this._api.editVoiceChannel(j, voiceChannel); } - public final Observable editVoiceChannel(long j, String str, String str2, Integer num, Integer num2, Integer num3, String str3) { - return ObservableExtensionsKt.restSubscribeOn$default(this._api.editVoiceChannel(j, new RestAPIParams.VoiceChannel(str, str2, num, num3, num2, str3)), false, 1, null); + public final Observable editVoiceChannel(long j, String str, String str2, Boolean bool, Integer num, Integer num2, Integer num3, String str3) { + return ObservableExtensionsKt.restSubscribeOn$default(this._api.editVoiceChannel(j, new RestAPIParams.VoiceChannel(str, str2, num, bool, num3, num2, str3)), false, 1, null); } @Override // com.discord.restapi.RestAPIInterface diff --git a/app/src/main/java/com/discord/utilities/stateful/StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2.java b/app/src/main/java/com/discord/utilities/stateful/StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2.java new file mode 100644 index 0000000000..6d326f4572 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/stateful/StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2.java @@ -0,0 +1,36 @@ +package com.discord.utilities.stateful; + +import android.view.View; +import com.discord.app.AppFragment; +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function1; +/* compiled from: StatefulViews.kt */ +public final class StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2 extends o implements Function1 { + public final /* synthetic */ AppFragment $fragment$inlined; + public final /* synthetic */ View $saveAction$inlined; + public final /* synthetic */ View $view; + public final /* synthetic */ StatefulViews this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2(View view, StatefulViews statefulViews, View view2, AppFragment appFragment) { + super(1); + this.$view = view; + this.this$0 = statefulViews; + this.$saveAction$inlined = view2; + this.$fragment$inlined = appFragment; + } + + /* 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(Boolean bool) { + invoke(bool.booleanValue()); + return Unit.a; + } + + public final void invoke(boolean z2) { + this.this$0.put(this.$view.getId(), Boolean.valueOf(z2)); + this.this$0.configureSaveActionView(this.$saveAction$inlined); + } +} diff --git a/app/src/main/java/com/discord/utilities/stateful/StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$3.java b/app/src/main/java/com/discord/utilities/stateful/StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$3.java new file mode 100644 index 0000000000..e73fe03c1b --- /dev/null +++ b/app/src/main/java/com/discord/utilities/stateful/StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$3.java @@ -0,0 +1,18 @@ +package com.discord.utilities.stateful; + +import d0.z.d.m; +import rx.functions.Action1; +/* compiled from: StatefulViews.kt */ +public final class StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$3 implements Action1 { + public final /* synthetic */ StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2 $onAfterCheckedChanged$1; + + public StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$3(StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2 statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2) { + this.$onAfterCheckedChanged$1 = statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2; + } + + public final void call(Boolean bool) { + StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2 statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2 = this.$onAfterCheckedChanged$1; + m.checkNotNullExpressionValue(bool, "it"); + statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2.invoke(bool.booleanValue()); + } +} diff --git a/app/src/main/java/com/discord/utilities/stateful/StatefulViews.java b/app/src/main/java/com/discord/utilities/stateful/StatefulViews.java index e0f795da41..b41aa9f066 100644 --- a/app/src/main/java/com/discord/utilities/stateful/StatefulViews.java +++ b/app/src/main/java/com/discord/utilities/stateful/StatefulViews.java @@ -13,6 +13,7 @@ import com.discord.app.AppFragment; import com.discord.databinding.ViewDialogConfirmationBinding; import com.discord.utilities.view.extensions.ViewExtensions; import com.discord.utilities.view.text.TextWatcherKt; +import com.discord.views.CheckedSetting; import com.google.android.material.textfield.TextInputLayout; import d0.g0.t; import d0.t.k; @@ -241,10 +242,13 @@ public final class StatefulViews { m.checkNotNullExpressionValue(bool, "requiredFieldIds[view.id] ?: true"); hashMap.put(valueOf, bool); StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$1 statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$1 = new StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$1(view2, this, view, appFragment); + StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2 statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2 = new StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2(view2, this, view, appFragment); if (view2 instanceof TextView) { TextWatcherKt.addBindedTextWatcher((TextView) view2, appFragment, statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$1); } else if (view2 instanceof TextInputLayout) { ViewExtensions.addBindedTextWatcher((TextInputLayout) view2, appFragment, statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$1); + } else if (view2 instanceof CheckedSetting) { + ((CheckedSetting) view2).setOnCheckedListener(new StatefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$3(statefulViews$setupTextWatcherWithSaveAction$$inlined$forEach$lambda$2)); } else { throw new UnsupportedOperationException(view2 + " must support using `TextWatcher`."); } diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$2.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$2.java index 68e00d723a..062d39955d 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$2.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$2.java @@ -126,6 +126,7 @@ public final class WidgetChannelListModel$Companion$guildListBuilder$$inlined$fo permissionOverwrite = null; } boolean z6 = !permissionUtils.canRole(Permission.CONNECT, everyoneRole, permissionOverwrite) || (!can && z5); + boolean o = this.$channel.o(); Integer num = (Integer) this.$mentionCounts$inlined.get(Long.valueOf(this.$channelId)); int intValue = num != null ? num.intValue() : 0; boolean contains = this.$unreadChannelIds$inlined.contains(Long.valueOf(this.$channelId)); @@ -135,6 +136,6 @@ public final class WidgetChannelListModel$Companion$guildListBuilder$$inlined$fo if (this.$collapsedCategories$inlined.contains(Long.valueOf(channel.r())) && size == 0 && !z3) { return null; } - return new WidgetChannelListModel.Companion.VocalChannelData(z3, z4, intValue, contains, z6, this.$permissions, size, (!can || !PermissionUtils.can(Permission.CONNECT, this.$permissions)) && z5, z5); + return new WidgetChannelListModel.Companion.VocalChannelData(z3, z4, intValue, contains, z6, o, this.$permissions, size, (!can || !PermissionUtils.can(Permission.CONNECT, this.$permissions)) && z5, z5); } } diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$5.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$5.java index f083a93aa8..0f1d9091c5 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$5.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel$Companion$guildListBuilder$$inlined$forEach$lambda$5.java @@ -148,11 +148,12 @@ public final class WidgetChannelListModel$Companion$guildListBuilder$$inlined$fo boolean unread = invoke.getUnread(); int numUsersConnected = invoke.getNumUsersConnected(); boolean locked = invoke.getLocked(); + boolean nsfw = invoke.getNsfw(); Guild guild = this.$guild$inlined.getGuild(); if (guild == null || (r3 = guild.getMaxVideoChannelUsers()) == null) { GuildMaxVideoChannelUsers guildMaxVideoChannelUsers = GuildMaxVideoChannelUsers.Unlimited.INSTANCE; } - channelListItemVoiceChannel = new ChannelListItemVoiceChannel(channel, textChannelSelected, voiceChannelSelected, l, mentionCount, unread, numUsersConnected, locked, z2, guildMaxVideoChannelUsers, invoke.isGuildRoleSubscriptionLockedChannel(), invoke.isGuildRoleSubscriptionChannel(), guildScheduledEvent2); + channelListItemVoiceChannel = new ChannelListItemVoiceChannel(channel, textChannelSelected, voiceChannelSelected, l, mentionCount, unread, numUsersConnected, locked, nsfw, z2, guildMaxVideoChannelUsers, invoke.isGuildRoleSubscriptionLockedChannel(), invoke.isGuildRoleSubscriptionChannel(), guildScheduledEvent2); } } z2 = false; @@ -164,9 +165,10 @@ public final class WidgetChannelListModel$Companion$guildListBuilder$$inlined$fo boolean unread = invoke.getUnread(); int numUsersConnected = invoke.getNumUsersConnected(); boolean locked = invoke.getLocked(); + boolean nsfw = invoke.getNsfw(); Guild guild = this.$guild$inlined.getGuild(); GuildMaxVideoChannelUsers guildMaxVideoChannelUsers = GuildMaxVideoChannelUsers.Unlimited.INSTANCE; - channelListItemVoiceChannel = new ChannelListItemVoiceChannel(channel, textChannelSelected, voiceChannelSelected, l, mentionCount, unread, numUsersConnected, locked, z2, guildMaxVideoChannelUsers, invoke.isGuildRoleSubscriptionLockedChannel(), invoke.isGuildRoleSubscriptionChannel(), guildScheduledEvent2); + channelListItemVoiceChannel = new ChannelListItemVoiceChannel(channel, textChannelSelected, voiceChannelSelected, l, mentionCount, unread, numUsersConnected, locked, nsfw, z2, guildMaxVideoChannelUsers, invoke.isGuildRoleSubscriptionLockedChannel(), invoke.isGuildRoleSubscriptionChannel(), guildScheduledEvent2); } return channelListItemVoiceChannel; } diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java index d18ef0aa1d..275261cb03 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java @@ -224,32 +224,38 @@ public final class WidgetChannelListModel { private final boolean isGuildRoleSubscriptionLockedChannel; private final boolean locked; private final int mentionCount; + private final boolean nsfw; private final int numUsersConnected; private final Long permission; private final boolean textChannelSelected; private final boolean unread; private final boolean voiceChannelSelected; - public VocalChannelData(boolean z2, boolean z3, int i, boolean z4, boolean z5, Long l, int i2, boolean z6, boolean z7) { + public VocalChannelData(boolean z2, boolean z3, int i, boolean z4, boolean z5, boolean z6, Long l, int i2, boolean z7, boolean z8) { this.voiceChannelSelected = z2; this.textChannelSelected = z3; this.mentionCount = i; this.unread = z4; this.locked = z5; + this.nsfw = z6; this.permission = l; this.numUsersConnected = i2; - this.isGuildRoleSubscriptionLockedChannel = z6; - this.isGuildRoleSubscriptionChannel = z7; + this.isGuildRoleSubscriptionLockedChannel = z7; + this.isGuildRoleSubscriptionChannel = z8; } - public static /* synthetic */ VocalChannelData copy$default(VocalChannelData vocalChannelData, boolean z2, boolean z3, int i, boolean z4, boolean z5, Long l, int i2, boolean z6, boolean z7, int i3, Object obj) { - return vocalChannelData.copy((i3 & 1) != 0 ? vocalChannelData.voiceChannelSelected : z2, (i3 & 2) != 0 ? vocalChannelData.textChannelSelected : z3, (i3 & 4) != 0 ? vocalChannelData.mentionCount : i, (i3 & 8) != 0 ? vocalChannelData.unread : z4, (i3 & 16) != 0 ? vocalChannelData.locked : z5, (i3 & 32) != 0 ? vocalChannelData.permission : l, (i3 & 64) != 0 ? vocalChannelData.numUsersConnected : i2, (i3 & 128) != 0 ? vocalChannelData.isGuildRoleSubscriptionLockedChannel : z6, (i3 & 256) != 0 ? vocalChannelData.isGuildRoleSubscriptionChannel : z7); + public static /* synthetic */ VocalChannelData copy$default(VocalChannelData vocalChannelData, boolean z2, boolean z3, int i, boolean z4, boolean z5, boolean z6, Long l, int i2, boolean z7, boolean z8, int i3, Object obj) { + return vocalChannelData.copy((i3 & 1) != 0 ? vocalChannelData.voiceChannelSelected : z2, (i3 & 2) != 0 ? vocalChannelData.textChannelSelected : z3, (i3 & 4) != 0 ? vocalChannelData.mentionCount : i, (i3 & 8) != 0 ? vocalChannelData.unread : z4, (i3 & 16) != 0 ? vocalChannelData.locked : z5, (i3 & 32) != 0 ? vocalChannelData.nsfw : z6, (i3 & 64) != 0 ? vocalChannelData.permission : l, (i3 & 128) != 0 ? vocalChannelData.numUsersConnected : i2, (i3 & 256) != 0 ? vocalChannelData.isGuildRoleSubscriptionLockedChannel : z7, (i3 & 512) != 0 ? vocalChannelData.isGuildRoleSubscriptionChannel : z8); } public final boolean component1() { return this.voiceChannelSelected; } + public final boolean component10() { + return this.isGuildRoleSubscriptionChannel; + } + public final boolean component2() { return this.textChannelSelected; } @@ -266,24 +272,24 @@ public final class WidgetChannelListModel { return this.locked; } - public final Long component6() { + public final boolean component6() { + return this.nsfw; + } + + public final Long component7() { return this.permission; } - public final int component7() { + public final int component8() { return this.numUsersConnected; } - public final boolean component8() { + public final boolean component9() { return this.isGuildRoleSubscriptionLockedChannel; } - public final boolean component9() { - return this.isGuildRoleSubscriptionChannel; - } - - public final VocalChannelData copy(boolean z2, boolean z3, int i, boolean z4, boolean z5, Long l, int i2, boolean z6, boolean z7) { - return new VocalChannelData(z2, z3, i, z4, z5, l, i2, z6, z7); + public final VocalChannelData copy(boolean z2, boolean z3, int i, boolean z4, boolean z5, boolean z6, Long l, int i2, boolean z7, boolean z8) { + return new VocalChannelData(z2, z3, i, z4, z5, z6, l, i2, z7, z8); } public boolean equals(Object obj) { @@ -294,7 +300,7 @@ public final class WidgetChannelListModel { return false; } VocalChannelData vocalChannelData = (VocalChannelData) obj; - return this.voiceChannelSelected == vocalChannelData.voiceChannelSelected && this.textChannelSelected == vocalChannelData.textChannelSelected && this.mentionCount == vocalChannelData.mentionCount && this.unread == vocalChannelData.unread && this.locked == vocalChannelData.locked && m.areEqual(this.permission, vocalChannelData.permission) && this.numUsersConnected == vocalChannelData.numUsersConnected && this.isGuildRoleSubscriptionLockedChannel == vocalChannelData.isGuildRoleSubscriptionLockedChannel && this.isGuildRoleSubscriptionChannel == vocalChannelData.isGuildRoleSubscriptionChannel; + return this.voiceChannelSelected == vocalChannelData.voiceChannelSelected && this.textChannelSelected == vocalChannelData.textChannelSelected && this.mentionCount == vocalChannelData.mentionCount && this.unread == vocalChannelData.unread && this.locked == vocalChannelData.locked && this.nsfw == vocalChannelData.nsfw && m.areEqual(this.permission, vocalChannelData.permission) && this.numUsersConnected == vocalChannelData.numUsersConnected && this.isGuildRoleSubscriptionLockedChannel == vocalChannelData.isGuildRoleSubscriptionLockedChannel && this.isGuildRoleSubscriptionChannel == vocalChannelData.isGuildRoleSubscriptionChannel; } public final boolean getLocked() { @@ -305,6 +311,10 @@ public final class WidgetChannelListModel { return this.mentionCount; } + public final boolean getNsfw() { + return this.nsfw; + } + public final int getNumUsersConnected() { return this.numUsersConnected; } @@ -359,21 +369,29 @@ public final class WidgetChannelListModel { int i15 = z5 ? 1 : 0; int i16 = z5 ? 1 : 0; int i17 = (i13 + i14) * 31; - Long l = this.permission; - int hashCode = (((i17 + (l != null ? l.hashCode() : 0)) * 31) + this.numUsersConnected) * 31; - boolean z6 = this.isGuildRoleSubscriptionLockedChannel; + boolean z6 = this.nsfw; if (z6) { z6 = true; } int i18 = z6 ? 1 : 0; int i19 = z6 ? 1 : 0; int i20 = z6 ? 1 : 0; - int i21 = (hashCode + i18) * 31; - boolean z7 = this.isGuildRoleSubscriptionChannel; - if (!z7) { - i = z7 ? 1 : 0; + int i21 = (i17 + i18) * 31; + Long l = this.permission; + int hashCode = (((i21 + (l != null ? l.hashCode() : 0)) * 31) + this.numUsersConnected) * 31; + boolean z7 = this.isGuildRoleSubscriptionLockedChannel; + if (z7) { + z7 = true; } - return i21 + i; + int i22 = z7 ? 1 : 0; + int i23 = z7 ? 1 : 0; + int i24 = z7 ? 1 : 0; + int i25 = (hashCode + i22) * 31; + boolean z8 = this.isGuildRoleSubscriptionChannel; + if (!z8) { + i = z8 ? 1 : 0; + } + return i25 + i; } public final boolean isGuildRoleSubscriptionChannel() { @@ -395,6 +413,8 @@ public final class WidgetChannelListModel { R.append(this.unread); R.append(", locked="); R.append(this.locked); + R.append(", nsfw="); + R.append(this.nsfw); R.append(", permission="); R.append(this.permission); R.append(", numUsersConnected="); diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java index aef6b3f7a3..66affc89f4 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java @@ -1119,10 +1119,11 @@ public final class WidgetChannelsListAdapter extends MGRecyclerAdapterSimple 0 ? 0 : 8); @@ -1156,14 +1157,14 @@ public final class WidgetChannelsListAdapter extends MGRecyclerAdapterSimple 0) { - boolean z3 = component9 && min == a; + boolean z3 = component10 && min == a; if (!z3) { a = component1.B(); } diff --git a/app/src/main/java/com/discord/widgets/channels/list/items/ChannelListItemVoiceChannel.java b/app/src/main/java/com/discord/widgets/channels/list/items/ChannelListItemVoiceChannel.java index f061fc813f..4b63d6362f 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/items/ChannelListItemVoiceChannel.java +++ b/app/src/main/java/com/discord/widgets/channels/list/items/ChannelListItemVoiceChannel.java @@ -15,6 +15,7 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann private final boolean isGuildRoleSubscriptionChannel; private final boolean isGuildRoleSubscriptionLockedChannel; private final boolean isLocked; + private final boolean isNsfw; private final boolean isUnread; private final String key; private final int mentionCount; @@ -24,10 +25,10 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann private final int type = 1; private final boolean voiceSelected; - /* JADX DEBUG: TODO: convert one arg to string using `String.valueOf()`, args: [(wrap: int : 0x002f: INVOKE (r3v1 int) = (r1v0 'this' com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel A[IMMUTABLE_TYPE, THIS]) type: VIRTUAL call: com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel.getType():int), (wrap: long : 0x003a: INVOKE (r3v3 long) = - (wrap: com.discord.api.channel.Channel : 0x0036: INVOKE (r3v2 com.discord.api.channel.Channel) = (r1v0 'this' com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel A[IMMUTABLE_TYPE, THIS]) type: VIRTUAL call: com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel.getChannel():com.discord.api.channel.Channel) + /* JADX DEBUG: TODO: convert one arg to string using `String.valueOf()`, args: [(wrap: int : 0x0031: INVOKE (r3v1 int) = (r1v0 'this' com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel A[IMMUTABLE_TYPE, THIS]) type: VIRTUAL call: com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel.getType():int), (wrap: long : 0x003c: INVOKE (r3v3 long) = + (wrap: com.discord.api.channel.Channel : 0x0038: INVOKE (r3v2 com.discord.api.channel.Channel) = (r1v0 'this' com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel A[IMMUTABLE_TYPE, THIS]) type: VIRTUAL call: com.discord.widgets.channels.list.items.ChannelListItemVoiceChannel.getChannel():com.discord.api.channel.Channel) type: VIRTUAL call: com.discord.api.channel.Channel.h():long)] */ - public ChannelListItemVoiceChannel(Channel channel, boolean z2, boolean z3, Long l, int i, boolean z4, int i2, boolean z5, boolean z6, GuildMaxVideoChannelUsers guildMaxVideoChannelUsers, boolean z7, boolean z8, GuildScheduledEvent guildScheduledEvent) { + public ChannelListItemVoiceChannel(Channel channel, boolean z2, boolean z3, Long l, int i, boolean z4, int i2, boolean z5, boolean z6, boolean z7, GuildMaxVideoChannelUsers guildMaxVideoChannelUsers, boolean z8, boolean z9, GuildScheduledEvent guildScheduledEvent) { m.checkNotNullParameter(channel, "channel"); m.checkNotNullParameter(guildMaxVideoChannelUsers, "guildMaxVideoChannelUsers"); this.channel = channel; @@ -38,10 +39,11 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann this.isUnread = z4; this.numUsersConnected = i2; this.isLocked = z5; - this.isAnyoneUsingVideo = z6; + this.isNsfw = z6; + this.isAnyoneUsingVideo = z7; this.guildMaxVideoChannelUsers = guildMaxVideoChannelUsers; - this.isGuildRoleSubscriptionLockedChannel = z7; - this.isGuildRoleSubscriptionChannel = z8; + this.isGuildRoleSubscriptionLockedChannel = z8; + this.isGuildRoleSubscriptionChannel = z9; this.guildScheduledEvent = guildScheduledEvent; StringBuilder sb = new StringBuilder(); sb.append(getType()); @@ -49,27 +51,31 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann this.key = sb.toString(); } - public static /* synthetic */ ChannelListItemVoiceChannel copy$default(ChannelListItemVoiceChannel channelListItemVoiceChannel, Channel channel, boolean z2, boolean z3, Long l, int i, boolean z4, int i2, boolean z5, boolean z6, GuildMaxVideoChannelUsers guildMaxVideoChannelUsers, boolean z7, boolean z8, GuildScheduledEvent guildScheduledEvent, int i3, Object obj) { - return channelListItemVoiceChannel.copy((i3 & 1) != 0 ? channelListItemVoiceChannel.getChannel() : channel, (i3 & 2) != 0 ? channelListItemVoiceChannel.textSelected : z2, (i3 & 4) != 0 ? channelListItemVoiceChannel.voiceSelected : z3, (i3 & 8) != 0 ? channelListItemVoiceChannel.permission : l, (i3 & 16) != 0 ? channelListItemVoiceChannel.getMentionCount() : i, (i3 & 32) != 0 ? channelListItemVoiceChannel.isUnread() : z4, (i3 & 64) != 0 ? channelListItemVoiceChannel.getNumUsersConnected() : i2, (i3 & 128) != 0 ? channelListItemVoiceChannel.isLocked : z5, (i3 & 256) != 0 ? channelListItemVoiceChannel.isAnyoneUsingVideo : z6, (i3 & 512) != 0 ? channelListItemVoiceChannel.guildMaxVideoChannelUsers : guildMaxVideoChannelUsers, (i3 & 1024) != 0 ? channelListItemVoiceChannel.isGuildRoleSubscriptionLockedChannel : z7, (i3 & 2048) != 0 ? channelListItemVoiceChannel.isGuildRoleSubscriptionChannel : z8, (i3 & 4096) != 0 ? channelListItemVoiceChannel.guildScheduledEvent : guildScheduledEvent); + public static /* synthetic */ ChannelListItemVoiceChannel copy$default(ChannelListItemVoiceChannel channelListItemVoiceChannel, Channel channel, boolean z2, boolean z3, Long l, int i, boolean z4, int i2, boolean z5, boolean z6, boolean z7, GuildMaxVideoChannelUsers guildMaxVideoChannelUsers, boolean z8, boolean z9, GuildScheduledEvent guildScheduledEvent, int i3, Object obj) { + return channelListItemVoiceChannel.copy((i3 & 1) != 0 ? channelListItemVoiceChannel.getChannel() : channel, (i3 & 2) != 0 ? channelListItemVoiceChannel.textSelected : z2, (i3 & 4) != 0 ? channelListItemVoiceChannel.voiceSelected : z3, (i3 & 8) != 0 ? channelListItemVoiceChannel.permission : l, (i3 & 16) != 0 ? channelListItemVoiceChannel.getMentionCount() : i, (i3 & 32) != 0 ? channelListItemVoiceChannel.isUnread() : z4, (i3 & 64) != 0 ? channelListItemVoiceChannel.getNumUsersConnected() : i2, (i3 & 128) != 0 ? channelListItemVoiceChannel.isLocked : z5, (i3 & 256) != 0 ? channelListItemVoiceChannel.isNsfw : z6, (i3 & 512) != 0 ? channelListItemVoiceChannel.isAnyoneUsingVideo : z7, (i3 & 1024) != 0 ? channelListItemVoiceChannel.guildMaxVideoChannelUsers : guildMaxVideoChannelUsers, (i3 & 2048) != 0 ? channelListItemVoiceChannel.isGuildRoleSubscriptionLockedChannel : z8, (i3 & 4096) != 0 ? channelListItemVoiceChannel.isGuildRoleSubscriptionChannel : z9, (i3 & 8192) != 0 ? channelListItemVoiceChannel.guildScheduledEvent : guildScheduledEvent); } public final Channel component1() { return getChannel(); } - public final GuildMaxVideoChannelUsers component10() { + public final boolean component10() { + return this.isAnyoneUsingVideo; + } + + public final GuildMaxVideoChannelUsers component11() { return this.guildMaxVideoChannelUsers; } - public final boolean component11() { + public final boolean component12() { return this.isGuildRoleSubscriptionLockedChannel; } - public final boolean component12() { + public final boolean component13() { return this.isGuildRoleSubscriptionChannel; } - public final GuildScheduledEvent component13() { + public final GuildScheduledEvent component14() { return this.guildScheduledEvent; } @@ -102,13 +108,13 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann } public final boolean component9() { - return this.isAnyoneUsingVideo; + return this.isNsfw; } - public final ChannelListItemVoiceChannel copy(Channel channel, boolean z2, boolean z3, Long l, int i, boolean z4, int i2, boolean z5, boolean z6, GuildMaxVideoChannelUsers guildMaxVideoChannelUsers, boolean z7, boolean z8, GuildScheduledEvent guildScheduledEvent) { + public final ChannelListItemVoiceChannel copy(Channel channel, boolean z2, boolean z3, Long l, int i, boolean z4, int i2, boolean z5, boolean z6, boolean z7, GuildMaxVideoChannelUsers guildMaxVideoChannelUsers, boolean z8, boolean z9, GuildScheduledEvent guildScheduledEvent) { m.checkNotNullParameter(channel, "channel"); m.checkNotNullParameter(guildMaxVideoChannelUsers, "guildMaxVideoChannelUsers"); - return new ChannelListItemVoiceChannel(channel, z2, z3, l, i, z4, i2, z5, z6, guildMaxVideoChannelUsers, z7, z8, guildScheduledEvent); + return new ChannelListItemVoiceChannel(channel, z2, z3, l, i, z4, i2, z5, z6, z7, guildMaxVideoChannelUsers, z8, z9, guildScheduledEvent); } public boolean equals(Object obj) { @@ -119,7 +125,7 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann return false; } ChannelListItemVoiceChannel channelListItemVoiceChannel = (ChannelListItemVoiceChannel) obj; - return m.areEqual(getChannel(), channelListItemVoiceChannel.getChannel()) && this.textSelected == channelListItemVoiceChannel.textSelected && this.voiceSelected == channelListItemVoiceChannel.voiceSelected && m.areEqual(this.permission, channelListItemVoiceChannel.permission) && getMentionCount() == channelListItemVoiceChannel.getMentionCount() && isUnread() == channelListItemVoiceChannel.isUnread() && getNumUsersConnected() == channelListItemVoiceChannel.getNumUsersConnected() && this.isLocked == channelListItemVoiceChannel.isLocked && this.isAnyoneUsingVideo == channelListItemVoiceChannel.isAnyoneUsingVideo && m.areEqual(this.guildMaxVideoChannelUsers, channelListItemVoiceChannel.guildMaxVideoChannelUsers) && this.isGuildRoleSubscriptionLockedChannel == channelListItemVoiceChannel.isGuildRoleSubscriptionLockedChannel && this.isGuildRoleSubscriptionChannel == channelListItemVoiceChannel.isGuildRoleSubscriptionChannel && m.areEqual(this.guildScheduledEvent, channelListItemVoiceChannel.guildScheduledEvent); + return m.areEqual(getChannel(), channelListItemVoiceChannel.getChannel()) && this.textSelected == channelListItemVoiceChannel.textSelected && this.voiceSelected == channelListItemVoiceChannel.voiceSelected && m.areEqual(this.permission, channelListItemVoiceChannel.permission) && getMentionCount() == channelListItemVoiceChannel.getMentionCount() && isUnread() == channelListItemVoiceChannel.isUnread() && getNumUsersConnected() == channelListItemVoiceChannel.getNumUsersConnected() && this.isLocked == channelListItemVoiceChannel.isLocked && this.isNsfw == channelListItemVoiceChannel.isNsfw && this.isAnyoneUsingVideo == channelListItemVoiceChannel.isAnyoneUsingVideo && m.areEqual(this.guildMaxVideoChannelUsers, channelListItemVoiceChannel.guildMaxVideoChannelUsers) && this.isGuildRoleSubscriptionLockedChannel == channelListItemVoiceChannel.isGuildRoleSubscriptionLockedChannel && this.isGuildRoleSubscriptionChannel == channelListItemVoiceChannel.isGuildRoleSubscriptionChannel && m.areEqual(this.guildScheduledEvent, channelListItemVoiceChannel.guildScheduledEvent); } @Override // com.discord.widgets.channels.list.items.ChannelListVocalItem @@ -206,7 +212,7 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann int i15 = z4 ? 1 : 0; int i16 = z4 ? 1 : 0; int i17 = (numUsersConnected + i14) * 31; - boolean z5 = this.isAnyoneUsingVideo; + boolean z5 = this.isNsfw; if (z5) { z5 = true; } @@ -214,26 +220,34 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann int i19 = z5 ? 1 : 0; int i20 = z5 ? 1 : 0; int i21 = (i17 + i18) * 31; - GuildMaxVideoChannelUsers guildMaxVideoChannelUsers = this.guildMaxVideoChannelUsers; - int hashCode2 = (i21 + (guildMaxVideoChannelUsers != null ? guildMaxVideoChannelUsers.hashCode() : 0)) * 31; - boolean z6 = this.isGuildRoleSubscriptionLockedChannel; + boolean z6 = this.isAnyoneUsingVideo; if (z6) { z6 = true; } int i22 = z6 ? 1 : 0; int i23 = z6 ? 1 : 0; int i24 = z6 ? 1 : 0; - int i25 = (hashCode2 + i22) * 31; - boolean z7 = this.isGuildRoleSubscriptionChannel; - if (!z7) { - i2 = z7 ? 1 : 0; + int i25 = (i21 + i22) * 31; + GuildMaxVideoChannelUsers guildMaxVideoChannelUsers = this.guildMaxVideoChannelUsers; + int hashCode2 = (i25 + (guildMaxVideoChannelUsers != null ? guildMaxVideoChannelUsers.hashCode() : 0)) * 31; + boolean z7 = this.isGuildRoleSubscriptionLockedChannel; + if (z7) { + z7 = true; } - int i26 = (i25 + i2) * 31; + int i26 = z7 ? 1 : 0; + int i27 = z7 ? 1 : 0; + int i28 = z7 ? 1 : 0; + int i29 = (hashCode2 + i26) * 31; + boolean z8 = this.isGuildRoleSubscriptionChannel; + if (!z8) { + i2 = z8 ? 1 : 0; + } + int i30 = (i29 + i2) * 31; GuildScheduledEvent guildScheduledEvent = this.guildScheduledEvent; if (guildScheduledEvent != null) { i = guildScheduledEvent.hashCode(); } - return i26 + i; + return i30 + i; } public final boolean isAnyoneUsingVideo() { @@ -252,6 +266,10 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann return this.isLocked; } + public final boolean isNsfw() { + return this.isNsfw; + } + @Override // com.discord.widgets.channels.list.WidgetChannelListUnreads.UnreadItem public boolean isUnread() { return this.isUnread; @@ -274,6 +292,8 @@ public final class ChannelListItemVoiceChannel implements ChannelListItem, Chann R.append(getNumUsersConnected()); R.append(", isLocked="); R.append(this.isLocked); + R.append(", isNsfw="); + R.append(this.isNsfw); R.append(", isAnyoneUsingVideo="); R.append(this.isAnyoneUsingVideo); R.append(", guildMaxVideoChannelUsers="); diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage$onConfigure$1.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage$onConfigure$1.java index 4c067ef494..23820a6c89 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage$onConfigure$1.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage$onConfigure$1.java @@ -1,23 +1,50 @@ package com.discord.widgets.chat.list.adapter; +import android.content.Context; import android.view.View; import com.discord.api.message.MessageReference; +import com.discord.models.experiments.domain.Experiment; import com.discord.models.message.Message; +import com.discord.stores.StoreExperiments; +import com.discord.utilities.analytics.AnalyticsTracker; +import com.discord.utilities.analytics.Traits; import com.discord.utilities.channel.ChannelSelector; +import com.discord.utilities.view.text.LinkifiedTextView; +import com.discord.widgets.servers.guildboost.WidgetGuildBoost; +import d0.z.d.m; /* compiled from: WidgetChatListAdapterItemSystemMessage.kt */ public final class WidgetChatListAdapterItemSystemMessage$onConfigure$1 implements View.OnClickListener { public final /* synthetic */ Message $message; + public final /* synthetic */ StoreExperiments $storeExperiments; public final /* synthetic */ WidgetChatListAdapterItemSystemMessage this$0; - public WidgetChatListAdapterItemSystemMessage$onConfigure$1(WidgetChatListAdapterItemSystemMessage widgetChatListAdapterItemSystemMessage, Message message) { + public WidgetChatListAdapterItemSystemMessage$onConfigure$1(WidgetChatListAdapterItemSystemMessage widgetChatListAdapterItemSystemMessage, Message message, StoreExperiments storeExperiments) { this.this$0 = widgetChatListAdapterItemSystemMessage; this.$message = message; + this.$storeExperiments = storeExperiments; } @Override // android.view.View.OnClickListener public final void onClick(View view) { Integer type = this.$message.getType(); - if ((type != null && type.intValue() == 7) || ((type != null && type.intValue() == 8) || ((type != null && type.intValue() == 9) || ((type != null && type.intValue() == 10) || (type != null && type.intValue() == 11))))) { + if (type != null && type.intValue() == 7) { + WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getEventHandler().onMessageAuthorNameClicked(this.$message, WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getData().getGuildId()); + } else if ((type != null && type.intValue() == 8) || ((type != null && type.intValue() == 9) || ((type != null && type.intValue() == 10) || (type != null && type.intValue() == 11)))) { + boolean z2 = false; + Experiment guildExperiment = this.$storeExperiments.getGuildExperiment("2022-01_boost_announcement_upsell", WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getData().getGuildId(), false); + if (guildExperiment != null && guildExperiment.getBucket() == 1) { + z2 = true; + } + if (z2) { + AnalyticsTracker.guildBoostPromotionOpened$default(AnalyticsTracker.INSTANCE, WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getData().getGuildId(), new Traits.Location(null, Traits.Location.Section.CHANNEL_TEXT_AREA, Traits.Location.Obj.BOOST_GEM_ICON, null, null, 25, null), null, 4, null); + WidgetGuildBoost.Companion companion = WidgetGuildBoost.Companion; + LinkifiedTextView linkifiedTextView = WidgetChatListAdapterItemSystemMessage.access$getBinding$p(this.this$0).d; + m.checkNotNullExpressionValue(linkifiedTextView, "binding.systemText"); + Context context = linkifiedTextView.getContext(); + m.checkNotNullExpressionValue(context, "binding.systemText.context"); + companion.create(context, WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getData().getGuildId()); + return; + } WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getEventHandler().onMessageAuthorNameClicked(this.$message, WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getData().getGuildId()); } else if (type != null && type.intValue() == 12) { WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getEventHandler().onMessageAuthorNameClicked(this.$message, WidgetChatListAdapterItemSystemMessage.access$getAdapter$p(this.this$0).getData().getGuildId()); diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage.java index 2a22a0e4c0..ea33e9e42e 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemSystemMessage.java @@ -16,6 +16,7 @@ import com.discord.databinding.WidgetChatListAdapterItemSystemBinding; import com.discord.models.guild.Guild; import com.discord.models.member.GuildMember; import com.discord.models.message.Message; +import com.discord.stores.StoreStream; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.time.TimeUtils; import com.discord.utilities.view.extensions.ViewExtensions; @@ -159,7 +160,7 @@ public final class WidgetChatListAdapterItemSystemMessage extends WidgetChatList Context context = linkifiedTextView2.getContext(); m.checkNotNullExpressionValue(context, "binding.systemText.context"); CharSequence systemMessage = getSystemMessage(component1, context, str, color, valueOf, str2, color2, name); - this.binding.a.setOnClickListener(new WidgetChatListAdapterItemSystemMessage$onConfigure$1(this, component1)); + this.binding.a.setOnClickListener(new WidgetChatListAdapterItemSystemMessage$onConfigure$1(this, component1, StoreStream.Companion.getExperiments())); ConstraintLayout constraintLayout = this.binding.a; m.checkNotNullExpressionValue(constraintLayout, "binding.root"); ViewExtensions.setOnLongClickListenerConsumeClick(constraintLayout, new WidgetChatListAdapterItemSystemMessage$onConfigure$2(this, component1)); 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 4129f1a719..928274b148 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 + " - 111.2 - Alpha (111202)"); + textView.setText(string + " - 111.3 - Alpha (111203)"); 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/voice/settings/WidgetVoiceChannelSettings$binding$2.java b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$binding$2.java index 60aa017917..8e560079e0 100644 --- a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$binding$2.java +++ b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$binding$2.java @@ -7,6 +7,7 @@ import android.widget.TextView; import androidx.coordinatorlayout.widget.CoordinatorLayout; import com.discord.R; import com.discord.databinding.WidgetVoiceChannelSettingsBinding; +import com.discord.views.CheckedSetting; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.textfield.TextInputLayout; import d0.z.d.k; @@ -37,55 +38,63 @@ public final /* synthetic */ class WidgetVoiceChannelSettings$binding$2 extends i = R.id.channel_settings_edit_topic; TextInputLayout textInputLayout2 = (TextInputLayout) view.findViewById(R.id.channel_settings_edit_topic); if (textInputLayout2 != null) { - i = R.id.channel_settings_permissions; - TextView textView2 = (TextView) view.findViewById(R.id.channel_settings_permissions); - if (textView2 != null) { - i = R.id.channel_settings_region_override; - TextView textView3 = (TextView) view.findViewById(R.id.channel_settings_region_override); - if (textView3 != null) { - i = R.id.channel_settings_region_override_container; - LinearLayout linearLayout = (LinearLayout) view.findViewById(R.id.channel_settings_region_override_container); - if (linearLayout != null) { - i = R.id.channel_settings_region_override_help; - TextView textView4 = (TextView) view.findViewById(R.id.channel_settings_region_override_help); - if (textView4 != null) { - i = R.id.channel_settings_save; - FloatingActionButton floatingActionButton = (FloatingActionButton) view.findViewById(R.id.channel_settings_save); - if (floatingActionButton != null) { - i = R.id.channel_settings_section_user_management; - LinearLayout linearLayout2 = (LinearLayout) view.findViewById(R.id.channel_settings_section_user_management); - if (linearLayout2 != null) { - i = R.id.current_bitrate_display; - TextView textView5 = (TextView) view.findViewById(R.id.current_bitrate_display); - if (textView5 != null) { - i = R.id.current_user_limit_display; - TextView textView6 = (TextView) view.findViewById(R.id.current_user_limit_display); - if (textView6 != null) { - i = R.id.region_override_divider; - View findViewById2 = view.findViewById(R.id.region_override_divider); - if (findViewById2 != null) { - i = R.id.settings_bitrate; - LinearLayout linearLayout3 = (LinearLayout) view.findViewById(R.id.settings_bitrate); - if (linearLayout3 != null) { - i = R.id.settings_bitrate_help; - TextView textView7 = (TextView) view.findViewById(R.id.settings_bitrate_help); - if (textView7 != null) { - i = R.id.settings_user_limit; - LinearLayout linearLayout4 = (LinearLayout) view.findViewById(R.id.settings_user_limit); + i = R.id.channel_settings_nsfw; + CheckedSetting checkedSetting = (CheckedSetting) view.findViewById(R.id.channel_settings_nsfw); + if (checkedSetting != null) { + i = R.id.channel_settings_permissions; + TextView textView2 = (TextView) view.findViewById(R.id.channel_settings_permissions); + if (textView2 != null) { + i = R.id.channel_settings_region_override; + TextView textView3 = (TextView) view.findViewById(R.id.channel_settings_region_override); + if (textView3 != null) { + i = R.id.channel_settings_region_override_container; + LinearLayout linearLayout = (LinearLayout) view.findViewById(R.id.channel_settings_region_override_container); + if (linearLayout != null) { + i = R.id.channel_settings_region_override_help; + TextView textView4 = (TextView) view.findViewById(R.id.channel_settings_region_override_help); + if (textView4 != null) { + i = R.id.channel_settings_save; + FloatingActionButton floatingActionButton = (FloatingActionButton) view.findViewById(R.id.channel_settings_save); + if (floatingActionButton != null) { + i = R.id.channel_settings_section_privacy_safety; + LinearLayout linearLayout2 = (LinearLayout) view.findViewById(R.id.channel_settings_section_privacy_safety); + if (linearLayout2 != null) { + i = R.id.channel_settings_section_user_management; + LinearLayout linearLayout3 = (LinearLayout) view.findViewById(R.id.channel_settings_section_user_management); + if (linearLayout3 != null) { + i = R.id.current_bitrate_display; + TextView textView5 = (TextView) view.findViewById(R.id.current_bitrate_display); + if (textView5 != null) { + i = R.id.current_user_limit_display; + TextView textView6 = (TextView) view.findViewById(R.id.current_user_limit_display); + if (textView6 != null) { + i = R.id.region_override_divider; + View findViewById2 = view.findViewById(R.id.region_override_divider); + if (findViewById2 != null) { + i = R.id.settings_bitrate; + LinearLayout linearLayout4 = (LinearLayout) view.findViewById(R.id.settings_bitrate); if (linearLayout4 != null) { - i = R.id.settings_user_limit_help; - TextView textView8 = (TextView) view.findViewById(R.id.settings_user_limit_help); - if (textView8 != null) { - i = R.id.user_limit_divider; - View findViewById3 = view.findViewById(R.id.user_limit_divider); - if (findViewById3 != null) { - i = R.id.user_limit_seekbar; - SeekBar seekBar2 = (SeekBar) view.findViewById(R.id.user_limit_seekbar); - if (seekBar2 != null) { - i = R.id.user_limit_title; - TextView textView9 = (TextView) view.findViewById(R.id.user_limit_title); - if (textView9 != null) { - return new WidgetVoiceChannelSettingsBinding((CoordinatorLayout) view, findViewById, seekBar, textView, textInputLayout, textInputLayout2, textView2, textView3, linearLayout, textView4, floatingActionButton, linearLayout2, textView5, textView6, findViewById2, linearLayout3, textView7, linearLayout4, textView8, findViewById3, seekBar2, textView9); + i = R.id.settings_bitrate_help; + TextView textView7 = (TextView) view.findViewById(R.id.settings_bitrate_help); + if (textView7 != null) { + i = R.id.settings_user_limit; + LinearLayout linearLayout5 = (LinearLayout) view.findViewById(R.id.settings_user_limit); + if (linearLayout5 != null) { + i = R.id.settings_user_limit_help; + TextView textView8 = (TextView) view.findViewById(R.id.settings_user_limit_help); + if (textView8 != null) { + i = R.id.user_limit_divider; + View findViewById3 = view.findViewById(R.id.user_limit_divider); + if (findViewById3 != null) { + i = R.id.user_limit_seekbar; + SeekBar seekBar2 = (SeekBar) view.findViewById(R.id.user_limit_seekbar); + if (seekBar2 != null) { + i = R.id.user_limit_title; + TextView textView9 = (TextView) view.findViewById(R.id.user_limit_title); + if (textView9 != null) { + return new WidgetVoiceChannelSettingsBinding((CoordinatorLayout) view, findViewById, seekBar, textView, textInputLayout, textInputLayout2, checkedSetting, textView2, textView3, linearLayout, textView4, floatingActionButton, linearLayout2, linearLayout3, textView5, textView6, findViewById2, linearLayout4, textView7, linearLayout5, textView8, findViewById3, seekBar2, textView9); + } + } } } } diff --git a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$2.java b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$2.java index 4a29dba796..d8968ba8a7 100644 --- a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$2.java +++ b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$2.java @@ -15,7 +15,7 @@ public final class WidgetVoiceChannelSettings$configureUI$2 extends j { @Override // b.a.y.j, android.widget.SeekBar.OnSeekBarChangeListener public void onProgressChanged(SeekBar seekBar, int i, boolean z2) { m.checkNotNullParameter(seekBar, "seekBar"); - TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).l; + TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).n; m.checkNotNullExpressionValue(textView, "binding.currentUserLimitDisplay"); textView.setText(WidgetVoiceChannelSettings.access$getUserLimitDisplayString(this.this$0, i)); } diff --git a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$3.java b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$3.java index d162d0a722..6521e3e28e 100644 --- a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$3.java +++ b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$3.java @@ -16,7 +16,7 @@ public final class WidgetVoiceChannelSettings$configureUI$3 extends j { @Override // b.a.y.j, android.widget.SeekBar.OnSeekBarChangeListener public void onProgressChanged(SeekBar seekBar, int i, boolean z2) { m.checkNotNullParameter(seekBar, "seekBar"); - TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).k; + TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).m; m.checkNotNullExpressionValue(textView, "binding.currentBitrateDisplay"); textView.setText(WidgetVoiceChannelSettings.access$getBitrateDisplayString(this.this$0, Bitrate.MIN.getKbps() + i)); } diff --git a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$6.java b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$6.java index 0e4a42db53..ae45cb55eb 100644 --- a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$6.java +++ b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$configureUI$6.java @@ -6,6 +6,7 @@ import android.widget.TextView; import com.discord.api.channel.ChannelUtils; import com.discord.utilities.stateful.StatefulViews; import com.discord.utilities.voice.Bitrate; +import com.discord.views.CheckedSetting; import com.discord.widgets.voice.settings.WidgetVoiceChannelSettings; import com.google.android.material.textfield.TextInputLayout; import d0.z.d.m; @@ -36,16 +37,19 @@ public final class WidgetVoiceChannelSettings$configureUI$6 implements View.OnCl z2 = ""; } String str2 = (String) access$getState$p2.get(id2, z2); + CheckedSetting checkedSetting = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).e; + m.checkNotNullExpressionValue(checkedSetting, "binding.channelSettingsNsfw"); + Boolean valueOf = Boolean.valueOf(checkedSetting.isChecked()); int A = this.$this_configureUI.getChannel().A(); - SeekBar seekBar = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).r; + SeekBar seekBar = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).t; m.checkNotNullExpressionValue(seekBar, "binding.userLimitSeekbar"); int progress = seekBar.getProgress(); SeekBar seekBar2 = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).f2666b; m.checkNotNullExpressionValue(seekBar2, "binding.bitrateSeekbar"); int progress2 = seekBar2.getProgress(); StatefulViews access$getState$p3 = WidgetVoiceChannelSettings.access$getState$p(this.this$0); - TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).f; + TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).g; m.checkNotNullExpressionValue(textView, "binding.channelSettingsRegionOverride"); - WidgetVoiceChannelSettings.access$saveChannel(widgetVoiceChannelSettings, h, str, A, str2, progress, (Bitrate.MIN.getKbps() + progress2) * 1000, (String) access$getState$p3.get(textView.getId(), this.$this_configureUI.getChannel().x())); + WidgetVoiceChannelSettings.access$saveChannel(widgetVoiceChannelSettings, h, str, A, str2, valueOf, progress, (Bitrate.MIN.getKbps() + progress2) * 1000, (String) access$getState$p3.get(textView.getId(), this.$this_configureUI.getChannel().x())); } } diff --git a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$showRegionDialog$2.java b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$showRegionDialog$2.java index be8c133263..5a42229be9 100644 --- a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$showRegionDialog$2.java +++ b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings$showRegionDialog$2.java @@ -33,22 +33,22 @@ public final class WidgetVoiceChannelSettings$showRegionDialog$2 extends o imple public final void invoke(int i) { if (i == 0) { StatefulViews access$getState$p = WidgetVoiceChannelSettings.access$getState$p(this.this$0); - TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).f; + TextView textView = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).g; m.checkNotNullExpressionValue(textView, "binding.channelSettingsRegionOverride"); access$getState$p.put(textView.getId(), null); - TextView textView2 = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).f; + TextView textView2 = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).g; m.checkNotNullExpressionValue(textView2, "binding.channelSettingsRegionOverride"); textView2.setText(b.k(this.this$0, R.string.automatic_region, new Object[0], null, 4)); } else { StatefulViews access$getState$p2 = WidgetVoiceChannelSettings.access$getState$p(this.this$0); - TextView textView3 = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).f; + TextView textView3 = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).g; m.checkNotNullExpressionValue(textView3, "binding.channelSettingsRegionOverride"); int i2 = i - 1; access$getState$p2.put(textView3.getId(), ((ModelVoiceRegion) this.$regions.get(i2)).getId()); - TextView textView4 = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).f; + TextView textView4 = WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).g; m.checkNotNullExpressionValue(textView4, "binding.channelSettingsRegionOverride"); textView4.setText(((ModelVoiceRegion) this.$regions.get(i2)).getName()); } - WidgetVoiceChannelSettings.access$getState$p(this.this$0).configureSaveActionView(WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).i); + WidgetVoiceChannelSettings.access$getState$p(this.this$0).configureSaveActionView(WidgetVoiceChannelSettings.access$getBinding$p(this.this$0).j); } } diff --git a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings.java b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings.java index 7c066e149c..cac7316e7c 100644 --- a/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings.java +++ b/app/src/main/java/com/discord/widgets/voice/settings/WidgetVoiceChannelSettings.java @@ -40,6 +40,8 @@ import com.discord.utilities.view.extensions.ViewExtensions; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; import com.discord.utilities.voice.Bitrate; +import com.discord.views.CheckedSetting; +import com.discord.widgets.chat.list.TextInVoiceFeatureFlag; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.textfield.TextInputLayout; import d0.t.u; @@ -60,7 +62,7 @@ public final class WidgetVoiceChannelSettings extends AppFragment { public static final Companion Companion = new Companion(null); private static final String INTENT_EXTRA_CHANNEL_ID = "INTENT_EXTRA_CHANNEL_ID"; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetVoiceChannelSettings$binding$2.INSTANCE, null, 2, null); - private final StatefulViews state = new StatefulViews(R.id.channel_settings_edit_name, R.id.channel_settings_edit_topic, R.id.current_user_limit_display, R.id.current_bitrate_display, R.id.channel_settings_region_override); + private final StatefulViews state = new StatefulViews(R.id.channel_settings_edit_name, R.id.channel_settings_edit_topic, R.id.current_user_limit_display, R.id.current_bitrate_display, R.id.channel_settings_region_override, R.id.channel_settings_nsfw); /* compiled from: WidgetVoiceChannelSettings.kt */ public static final class Companion { @@ -282,8 +284,8 @@ public final class WidgetVoiceChannelSettings extends AppFragment { return widgetVoiceChannelSettings.getUserLimitDisplayString(i); } - public static final /* synthetic */ void access$saveChannel(WidgetVoiceChannelSettings widgetVoiceChannelSettings, long j, String str, int i, String str2, int i2, int i3, String str3) { - widgetVoiceChannelSettings.saveChannel(j, str, i, str2, i2, i3, str3); + public static final /* synthetic */ void access$saveChannel(WidgetVoiceChannelSettings widgetVoiceChannelSettings, long j, String str, int i, String str2, Boolean bool, int i2, int i3, String str3) { + widgetVoiceChannelSettings.saveChannel(j, str, i, str2, bool, i2, i3, str3); } public static final /* synthetic */ void access$showRegionDialog(WidgetVoiceChannelSettings widgetVoiceChannelSettings, List list) { @@ -291,14 +293,14 @@ public final class WidgetVoiceChannelSettings extends AppFragment { } private final void configureRegionOverrideVisibility(boolean z2) { - View view = getBinding().m; + View view = getBinding().o; m.checkNotNullExpressionValue(view, "binding.regionOverrideDivider"); int i = 0; view.setVisibility(z2 ? 0 : 8); - LinearLayout linearLayout = getBinding().g; + LinearLayout linearLayout = getBinding().h; m.checkNotNullExpressionValue(linearLayout, "binding.channelSettingsRegionOverrideContainer"); linearLayout.setVisibility(z2 ? 0 : 8); - TextView textView = getBinding().h; + TextView textView = getBinding().i; m.checkNotNullExpressionValue(textView, "binding.channelSettingsRegionOverrideHelp"); if (!z2) { i = 8; @@ -317,34 +319,34 @@ public final class WidgetVoiceChannelSettings extends AppFragment { } return; } + boolean z2 = true; this.state.clear(true); - int i = 0; AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null); setActionBarTitle(R.string.channel_settings); setActionBarSubtitle(ChannelUtils.e(model.getChannel(), requireContext(), false, 2)); AppFragment.setActionBarOptionsMenu$default(this, R.menu.menu_voice_channel_settings, new WidgetVoiceChannelSettings$configureUI$1(this, model), null, 4, null); - TextView textView = getBinding().l; + TextView textView = getBinding().n; m.checkNotNullExpressionValue(textView, "binding.currentUserLimitDisplay"); StatefulViews statefulViews = this.state; - TextView textView2 = getBinding().l; + TextView textView2 = getBinding().n; m.checkNotNullExpressionValue(textView2, "binding.currentUserLimitDisplay"); textView.setText((CharSequence) statefulViews.get(textView2.getId(), getUserLimitDisplayString(model.getChannel().B()))); - TextView textView3 = getBinding().p; + TextView textView3 = getBinding().r; m.checkNotNullExpressionValue(textView3, "binding.settingsUserLimitHelp"); b.a.k.b.n(textView3, R.string.form_help_user_limit, new Object[0], null, 4); - SeekBar seekBar = getBinding().r; + SeekBar seekBar = getBinding().t; m.checkNotNullExpressionValue(seekBar, "binding.userLimitSeekbar"); seekBar.setProgress(model.getChannel().B()); - getBinding().r.setOnSeekBarChangeListener(new WidgetVoiceChannelSettings$configureUI$2(this)); + getBinding().t.setOnSeekBarChangeListener(new WidgetVoiceChannelSettings$configureUI$2(this)); configureUserLimitVisibility(model.getChannel().A() == 2); int c = model.getChannel().c() / 1000; - TextView textView4 = getBinding().k; + TextView textView4 = getBinding().m; m.checkNotNullExpressionValue(textView4, "binding.currentBitrateDisplay"); StatefulViews statefulViews2 = this.state; - TextView textView5 = getBinding().k; + TextView textView5 = getBinding().m; m.checkNotNullExpressionValue(textView5, "binding.currentBitrateDisplay"); textView4.setText((CharSequence) statefulViews2.get(textView5.getId(), getBitrateDisplayString(c))); - TextView textView6 = getBinding().n; + TextView textView6 = getBinding().p; m.checkNotNullExpressionValue(textView6, "binding.settingsBitrateHelp"); b.a.k.b.n(textView6, R.string.form_help_bitrate, new Object[]{"64"}, null, 4); SeekBar seekBar2 = getBinding().f2666b; @@ -357,7 +359,7 @@ public final class WidgetVoiceChannelSettings extends AppFragment { seekBar3.setProgress(c - bitrate.getKbps()); getBinding().f2666b.setOnSeekBarChangeListener(new WidgetVoiceChannelSettings$configureUI$3(this)); StatefulViews statefulViews3 = this.state; - TextView textView7 = getBinding().f; + TextView textView7 = getBinding().g; m.checkNotNullExpressionValue(textView7, "binding.channelSettingsRegionOverride"); String str2 = (String) statefulViews3.get(textView7.getId(), model.getChannel().x()); Iterator it = model.getRegions().iterator(); @@ -376,13 +378,13 @@ public final class WidgetVoiceChannelSettings extends AppFragment { str = getString(R.string.automatic_region); m.checkNotNullExpressionValue(str, "getString(R.string.automatic_region)"); } - TextView textView8 = getBinding().f; + TextView textView8 = getBinding().g; m.checkNotNullExpressionValue(textView8, "binding.channelSettingsRegionOverride"); textView8.setText(str); - TextView textView9 = getBinding().h; + TextView textView9 = getBinding().i; m.checkNotNullExpressionValue(textView9, "binding.channelSettingsRegionOverrideHelp"); b.a.k.b.n(textView9, R.string.form_help_region_override, new Object[0], null, 4); - getBinding().g.setOnClickListener(new WidgetVoiceChannelSettings$configureUI$4(this, model)); + getBinding().h.setOnClickListener(new WidgetVoiceChannelSettings$configureUI$4(this, model)); configureRegionOverrideVisibility(model.getCanManageChannel()); TextInputLayout textInputLayout = getBinding().c; m.checkNotNullExpressionValue(textInputLayout, "binding.channelSettingsEditName"); @@ -392,6 +394,7 @@ public final class WidgetVoiceChannelSettings extends AppFragment { ViewExtensions.setText(textInputLayout, (CharSequence) statefulViews4.get(textInputLayout2.getId(), ChannelUtils.c(model.getChannel()))); TextInputLayout textInputLayout3 = getBinding().d; m.checkNotNullExpressionValue(textInputLayout3, "binding.channelSettingsEditTopic"); + int i = 8; textInputLayout3.setVisibility(8); TextInputLayout textInputLayout4 = getBinding().d; m.checkNotNullExpressionValue(textInputLayout4, "binding.channelSettingsEditTopic"); @@ -399,34 +402,47 @@ public final class WidgetVoiceChannelSettings extends AppFragment { TextInputLayout textInputLayout5 = getBinding().d; m.checkNotNullExpressionValue(textInputLayout5, "binding.channelSettingsEditTopic"); int id2 = textInputLayout5.getId(); - String z2 = model.getChannel().z(); - if (z2 == null) { - z2 = ""; + String z3 = model.getChannel().z(); + if (z3 == null) { + z3 = ""; } - ViewExtensions.setText(textInputLayout4, (CharSequence) statefulViews5.get(id2, z2)); - LinearLayout linearLayout = getBinding().j; + ViewExtensions.setText(textInputLayout4, (CharSequence) statefulViews5.get(id2, z3)); + LinearLayout linearLayout = getBinding().l; m.checkNotNullExpressionValue(linearLayout, "binding.channelSettingsSectionUserManagement"); - if (!model.getCanManagePermissions()) { - i = 8; + linearLayout.setVisibility(model.getCanManagePermissions() ? 0 : 8); + getBinding().f.setOnClickListener(new WidgetVoiceChannelSettings$configureUI$5(this, model)); + LinearLayout linearLayout2 = getBinding().k; + m.checkNotNullExpressionValue(linearLayout2, "binding.channelSettingsSectionPrivacySafety"); + if (!model.getCanManageChannel() || !ChannelUtils.E(model.getChannel()) || !TextInVoiceFeatureFlag.Companion.getINSTANCE().isEnabled(Long.valueOf(model.getChannel().f()))) { + z2 = false; } - linearLayout.setVisibility(i); - getBinding().e.setOnClickListener(new WidgetVoiceChannelSettings$configureUI$5(this, model)); - getBinding().i.setOnClickListener(new WidgetVoiceChannelSettings$configureUI$6(this, model)); - this.state.configureSaveActionView(getBinding().i); + linearLayout2.setVisibility(z2 ? 0 : 8); + CheckedSetting checkedSetting = getBinding().e; + m.checkNotNullExpressionValue(checkedSetting, "binding.channelSettingsNsfw"); + if (model.getCanManageChannel()) { + i = 0; + } + checkedSetting.setVisibility(i); + StatefulViews statefulViews6 = this.state; + CheckedSetting checkedSetting2 = getBinding().e; + m.checkNotNullExpressionValue(checkedSetting2, "binding.channelSettingsNsfw"); + getBinding().e.g(((Boolean) statefulViews6.get(checkedSetting2.getId(), Boolean.valueOf(model.getChannel().o()))).booleanValue(), false); + getBinding().j.setOnClickListener(new WidgetVoiceChannelSettings$configureUI$6(this, model)); + this.state.configureSaveActionView(getBinding().j); } private final void configureUserLimitVisibility(boolean z2) { - View view = getBinding().q; + View view = getBinding().f2667s; m.checkNotNullExpressionValue(view, "binding.userLimitDivider"); int i = 0; view.setVisibility(z2 ? 0 : 8); - TextView textView = getBinding().f2667s; + TextView textView = getBinding().u; m.checkNotNullExpressionValue(textView, "binding.userLimitTitle"); textView.setVisibility(z2 ? 0 : 8); - LinearLayout linearLayout = getBinding().o; + LinearLayout linearLayout = getBinding().q; m.checkNotNullExpressionValue(linearLayout, "binding.settingsUserLimit"); linearLayout.setVisibility(z2 ? 0 : 8); - TextView textView2 = getBinding().p; + TextView textView2 = getBinding().r; m.checkNotNullExpressionValue(textView2, "binding.settingsUserLimitHelp"); if (!z2) { i = 8; @@ -476,8 +492,12 @@ public final class WidgetVoiceChannelSettings extends AppFragment { Companion.launch(j, context); } - private final void saveChannel(long j, String str, int i, String str2, int i2, int i3, String str3) { - ObservableExtensionsKt.ui$default(RestAPI.Companion.getApiSerializeNulls().editVoiceChannel(j, str, str2, Integer.valueOf(i), Integer.valueOf(i3), Integer.valueOf(i2), str3), this, null, 2, null).k(o.a.g(getContext(), new WidgetVoiceChannelSettings$saveChannel$1(this), null)); + private final void saveChannel(long j, String str, int i, String str2, Boolean bool, int i2, int i3, String str3) { + ObservableExtensionsKt.ui$default(RestAPI.Companion.getApiSerializeNulls().editVoiceChannel(j, str, str2, bool, Integer.valueOf(i), Integer.valueOf(i3), Integer.valueOf(i2), str3), this, null, 2, null).k(o.a.g(getContext(), new WidgetVoiceChannelSettings$saveChannel$1(this), null)); + } + + public static /* synthetic */ void saveChannel$default(WidgetVoiceChannelSettings widgetVoiceChannelSettings, long j, String str, int i, String str2, Boolean bool, int i2, int i3, String str3, int i4, Object obj) { + widgetVoiceChannelSettings.saveChannel(j, str, i, str2, (i4 & 16) != 0 ? null : bool, i2, i3, str3); } private final void showRegionDialog(List list) { @@ -506,20 +526,22 @@ public final class WidgetVoiceChannelSettings extends AppFragment { m.checkNotNullExpressionValue(textInputLayout, "binding.channelSettingsEditTopic"); statefulViews.addOptionalFields(textInputLayout); StatefulViews statefulViews2 = this.state; - TextView textView = getBinding().f; + TextView textView = getBinding().g; m.checkNotNullExpressionValue(textView, "binding.channelSettingsRegionOverride"); statefulViews2.addOptionalFields(textView); StatefulViews statefulViews3 = this.state; - FloatingActionButton floatingActionButton = getBinding().i; + FloatingActionButton floatingActionButton = getBinding().j; TextInputLayout textInputLayout2 = getBinding().c; m.checkNotNullExpressionValue(textInputLayout2, "binding.channelSettingsEditName"); TextInputLayout textInputLayout3 = getBinding().d; m.checkNotNullExpressionValue(textInputLayout3, "binding.channelSettingsEditTopic"); - TextView textView2 = getBinding().l; + TextView textView2 = getBinding().n; m.checkNotNullExpressionValue(textView2, "binding.currentUserLimitDisplay"); - TextView textView3 = getBinding().k; + TextView textView3 = getBinding().m; m.checkNotNullExpressionValue(textView3, "binding.currentBitrateDisplay"); - statefulViews3.setupTextWatcherWithSaveAction(this, floatingActionButton, textInputLayout2, textInputLayout3, textView2, textView3); + CheckedSetting checkedSetting = getBinding().e; + m.checkNotNullExpressionValue(checkedSetting, "binding.channelSettingsNsfw"); + statefulViews3.setupTextWatcherWithSaveAction(this, floatingActionButton, textInputLayout2, textInputLayout3, textView2, textView3, checkedSetting); TextInputLayout textInputLayout4 = getBinding().d; m.checkNotNullExpressionValue(textInputLayout4, "binding.channelSettingsEditTopic"); ViewExtensions.interceptScrollWhenInsideScrollable(textInputLayout4); diff --git a/app/src/main/res/drawable-anydpi-v24/ic_voice_nsfw.xml b/app/src/main/res/drawable-anydpi-v24/ic_voice_nsfw.xml new file mode 100644 index 0000000000..7f7ea3c3f9 --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_voice_nsfw.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable-hdpi/ic_voice_nsfw.png b/app/src/main/res/drawable-hdpi/ic_voice_nsfw.png new file mode 100644 index 0000000000..4c9b32ce1b Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_voice_nsfw.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_voice_nsfw.png b/app/src/main/res/drawable-ldpi/ic_voice_nsfw.png new file mode 100644 index 0000000000..1caaf39233 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/ic_voice_nsfw.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_voice_nsfw.png b/app/src/main/res/drawable-mdpi/ic_voice_nsfw.png new file mode 100644 index 0000000000..0dfa75f484 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_voice_nsfw.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_voice_nsfw.png b/app/src/main/res/drawable-xhdpi/ic_voice_nsfw.png new file mode 100644 index 0000000000..5f3c3d9d7b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_voice_nsfw.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_voice_nsfw.png b/app/src/main/res/drawable-xxhdpi/ic_voice_nsfw.png new file mode 100644 index 0000000000..02615c366c Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_voice_nsfw.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_voice_nsfw.png b/app/src/main/res/drawable-xxxhdpi/ic_voice_nsfw.png new file mode 100644 index 0000000000..84139ce7f2 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_voice_nsfw.png differ diff --git a/app/src/main/res/layout/widget_voice_channel_settings.xml b/app/src/main/res/layout/widget_voice_channel_settings.xml index f5f2ff7abc..0d7dd99111 100644 --- a/app/src/main/res/layout/widget_voice_channel_settings.xml +++ b/app/src/main/res/layout/widget_voice_channel_settings.xml @@ -36,6 +36,11 @@ + + + + + diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index d3dc54fcee..0fa464a14e 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -103,6 +103,9 @@ ‏‮Active‬‏ ‏‮Threads‬‏ ‏‮More‬‏ ‏‮Active‬‏ ‏‮Threads‬‏ ‏‮See‬‏ ‏‮All‬‏ + ‏‮Learn‬‏ ‏‮more‬‏ ‏‮here‬‏ + ‏‮In‬‏ ‏‮the‬‏ ‏‮next‬‏ ‏‮few‬‏ ‏‮weeks‬‏ ‏‮Activities‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮temporarily‬‏ ‏‮unavailable‬‏ ‏‮as‬‏ ‏‮we‬‏ ‏‮make‬‏ ‏‮some‬‏ ‏‮improvements.‬‏ ‏‮Thanks‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮patience!‬‏ + ‏‮Hang‬‏ ‏‮tight,‬‏ ‏‮Activities‬‏ ‏‮fans‬‏ ‏‮Activity‬‏ ‏‮Yes,‬‏ ‏‮count‬‏ ‏‮me‬‏ ‏‮in!‬‏ ‏‮When‬‏ ‏‮a‬‏ ‏‮friend‬‏ ‏‮starts‬‏ ‏‮an‬‏ ‏‮activity—like‬‏ ‏‮playing‬‏ ‏‮a‬‏ ‏‮game‬‏ ‏‮or‬‏ ‏‮hanging‬‏ ‏‮out‬‏ ‏‮on‬‏ ‏‮voice—we’ll‬‏ ‏‮show‬‏ ‏‮it‬‏ ‏‮here!‬‏ @@ -657,6 +660,7 @@ ‏‮Applications‬‏ ‏‮and‬‏ ‏‮Connections‬‏ ‏‮Here\'s‬‏ ‏‮all‬‏ ‏‮the‬‏ ‏‮apps‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮doing‬‏ ‏‮super‬‏ ‏‮cool‬‏ ‏‮things‬‏ ‏‮to‬‏ ‏‮make‬‏ ‏‮your‬‏ ‏‮Discord‬‏ ‏‮experience‬‏ ‏‮super‬‏ ‏‮cooler.‬‏ ‏‮If‬‏ ‏‮it‬‏ ‏‮gets‬‏ ‏‮too‬‏ ‏‮chilly,‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮remove‬‏ ‏‮them‬‏ ‏‮at‬‏ ‏‮any‬‏ ‏‮time.‬‏ ‏‮Apps‬‏ + ‏‮Archive‬‏ ‏‮&‬‏ ‏‮Lock‬‏ ‏‮Thread‬‏ ‏‮Archive‬‏ ‏‮Now‬‏ ‏‮Archive‬‏ ‏‮Settings‬‏ ‏‮Archive‬‏ ‏‮Thread‬‏ @@ -3240,7 +3244,8 @@ ‏‮Looks‬‏ ‏‮like‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮isn’t‬‏ ‏‮quite‬‏ ‏‮ready‬‏ ‏‮to‬‏ ‏‮see‬‏ ‏‮full‬‏ ‏‮insights.‬‏ ‏‮You‬‏ ‏‮will‬‏ ‏‮only‬‏ ‏‮have‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮Announcement‬‏ ‏‮Channels‬‏ ‏‮and‬‏ ‏‮Welcome‬‏ ‏‮Screen‬‏ ‏‮analytics.‬‏ ‏‮Uh‬‏ ‏‮oh!‬‏ ‏‮Looks‬‏ ‏‮like‬‏ ‏‮something‬‏ ‏‮broke.‬‏ ‏‮Please‬‏ ‏‮refresh‬‏ ‏‮the‬‏ ‏‮application‬‏ ‏‮and‬‏ ‏‮try‬‏ ‏‮again.‬‏ ‏‮From‬‏ ‏‮the‬‏ ‏‮most‬‏ ‏‮recent‬‏ ‏‮week‬‏ - ‏‮Do‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮a‬‏ ‏‮sweet‬‏ ‏‮banner‬‏ ‏‮like‬‏ ‏‮this‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮server?‬‏ ‏‮You‬‏ ‏‮only‬‏ ‏‮need‬‏ ‏‮**‬‏‏‮{boostsNeeded}‬‏ ‏‮more‬‏ ‏‮{boostsNeeded}‬‏‏‮!**‬‏ + ‏‮Want‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮to‬‏ ‏‮feel‬‏ ‏‮unique?‬‏ ‏‮Set‬‏ ‏‮a‬‏ ‏‮server‬‏ ‏‮banner‬‏ ‏‮with‬‏ ‏‮**‬‏‏‮{boostsNeeded}‬‏ ‏‮more‬‏ ‏‮{boostsNeeded}‬‏‏‮.**‬‏ + ‏‮Boost‬‏ ‏‮This‬‏ ‏‮Server‬‏ ‏‮You’ll‬‏ ‏‮also‬‏ ‏‮help‬‏ ‏‮unlock‬‏ ‏‮more‬‏ ‏‮customization‬‏ ‏‮features‬‏ ‏‮and‬‏ ‏‮utility‬‏ ‏‮upgrades‬‏ ‏‮for‬‏ ‏‮everyone‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮like:‬‏ ‏‮Boost‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮to‬‏ ‏‮{targetLevelOrPlan}‬‏ ‏‮to‬‏ ‏‮apply‬‏ ‏‮your‬‏ ‏‮new‬‏ ‏‮animated‬‏ ‏‮server‬‏ ‏‮banner.‬‏ ‏‮Boost‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮{targetLevelOrPlan}‬‏ ‏‮plan‬‏ ‏‮to‬‏ ‏‮apply‬‏ ‏‮your‬‏ ‏‮new‬‏ ‏‮animated‬‏ ‏‮server‬‏ ‏‮banner.‬‏ @@ -5888,8 +5893,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‬‏ @@ -6432,6 +6437,7 @@ ‏‮Payment‬‏ ‏‮Canceled‬‏ ‏‮Payment‬‏ ‏‮Authentication‬‏ ‏‮Failed‬‏ ‏‮Payment‬‏ ‏‮Authenticated‬‏ + ‏‮Currency‬‏ ‏‮Paying‬‏ ‏‮in‬‏ ‏‮Unable‬‏ ‏‮to‬‏ ‏‮confirm‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮Get‬‏ ‏‮!!‬‏‏‮{planPremiumType}‬‏‏‮!!‬‏ @@ -6569,6 +6575,8 @@ ‏‮Stay‬‏ ‏‮On‬‏ ‏‮Top‬‏ ‏‮\"‬‏%1$s‏‮\"‬‏ ‏‮copied‬‏ ‏‮to‬‏ ‏‮clipboard.‬‏ ‏‮Nitro‬‏ + ‏‮They‬‏ ‏‮grow‬‏ ‏‮up‬‏ ‏‮so‬‏ ‏‮fast‬‏ ‏‮:\')‬‏ ‏‮and‬‏ ‏‮we‬‏ ‏‮couldn\'t‬‏ ‏‮have‬‏ ‏‮done‬‏ ‏‮it‬‏ ‏‮without‬‏ ‏‮subscribers‬‏ ‏‮like‬‏ ‏‮you.‬‏ ‏‮Watch‬‏ ‏‮out‬‏ ‏‮for‬‏ ‏‮more‬‏ ‏‮Nitro‬‏ ‏‮goodies‬‏ ‏‮this‬‏ ‏‮year,‬‏ ‏‮and‬‏ ‏‮thanks‬‏ ‏‮for‬‏ ‏‮being‬‏ ‏‮awesome.‬‏ + ‏‮Happy‬‏ ‏‮5th‬‏ ‏‮Birthday‬‏ ‏‮Nitro!‬‏ ‏‮Nitro‬‏ ‏‮Activated‬‏ ‏‮Oops,‬‏ ‏‮something‬‏ ‏‮went‬‏ ‏‮wrong…‬‏ ‏‮Subscriber‬‏ ‏‮since‬‏ ‏‮{date}‬‏ @@ -7944,8 +7952,6 @@ ‏‮Search‬‏ ‏‮Tenor‬‏ ‏‮Search‬‏ ‏‮with‬‏ ‏‮Google‬‏ ‏‮Searching…‬‏ - ‏‮Decorates‬‏ ‏‮the‬‏ ‏‮app‬‏ ‏‮for‬‏ ‏‮a‬‏ ‏‮special‬‏ ‏‮occasion.‬‏ ‏‮Disable‬‏ ‏‮to‬‏ ‏‮switch‬‏ ‏‮back‬‏ ‏‮to‬‏ ‏‮normal.‬‏ - ‏‮Show‬‏ ‏‮Seasonal‬‏ ‏‮Theme‬‏ ‏‮Customize‬‏ ‏‮your‬‏ ‏‮gift‬‏ ‏‮BOX:‬‏ ‏‮Your‬‏ ‏‮friend‬‏ ‏‮will‬‏ ‏‮see‬‏ ‏‮this‬‏ ‏‮image‬‏ ‏‮when‬‏ ‏‮they‬‏ ‏‮receive‬‏ ‏‮their‬‏ ‏‮gift.‬‏ ‏‮Open‬‏ ‏‮Gift‬‏ @@ -8229,10 +8235,6 @@ ‏‮Sky‬‏ ‏‮blue‬‏ ‏‮An‬‏ ‏‮SMS‬‏ ‏‮was‬‏ ‏‮sent‬‏ ‏‮to‬‏ ‏‮!!‬‏‏‮{phone}‬‏‏‮!!.‬‏ ‏‮Enter‬‏ ‏‮your‬‏ ‏‮confirmation‬‏ ‏‮code‬‏ - ‏‮Snowsgiving‬‏ - ‏‮**We‬‏ ‏‮got‬‏ ‏‮you‬‏ ‏‮something…**‬‏ - ‏‮Visit‬‏ ‏‮discord.com‬‏ ‏‮for‬‏ ‏‮today’s‬‏ ‏‮surprise‬‏ ‏‮$[linkIcon](linkIconHook)‬‏ - ‏‮Seasonal‬‏ ‏‮Event‬‏ ‏‮By‬‏ ‏‮providing‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮information‬‏ ‏‮and‬‏ ‏‮confirming‬‏ ‏‮this‬‏ ‏‮payment,‬‏ ‏‮you‬‏ ‏‮authorise‬‏ ‏‮(A)‬‏ ‏‮Discord‬‏ ‏‮and‬‏ ‏‮Stripe,‬‏ ‏‮our‬‏ ‏‮payment‬‏ ‏‮service‬‏ ‏‮provider‬‏ ‏‮and/or‬‏ ‏‮PPRO,‬‏ ‏‮its‬‏ ‏‮local‬‏ ‏‮service‬‏ ‏‮provider,‬‏ ‏‮to‬‏ ‏‮send‬‏ ‏‮instructions‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮bank‬‏ ‏‮to‬‏ ‏‮debit‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮and‬‏ ‏‮(B)‬‏ ‏‮your‬‏ ‏‮bank‬‏ ‏‮to‬‏ ‏‮debit‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮in‬‏ ‏‮accordance‬‏ ‏‮with‬‏ ‏‮those‬‏ ‏‮instructions.‬‏ ‏‮As‬‏ ‏‮part‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮rights,‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮entitled‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮refund‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮bank‬‏ ‏‮under‬‏ ‏‮the‬‏ ‏‮terms‬‏ ‏‮and‬‏ ‏‮conditions‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮agreement‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮bank.‬‏ ‏‮A‬‏ ‏‮refund‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮claimed‬‏ ‏‮within‬‏ ‏‮8‬‏ ‏‮weeks‬‏ ‏‮starting‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮date‬‏ ‏‮on‬‏ ‏‮which‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮was‬‏ ‏‮debited.‬‏ ‏‮Your‬‏ ‏‮rights‬‏ ‏‮are‬‏ ‏‮explained‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮statement‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮obtain‬‏ ‏‮from‬‏ ‏‮your‬‏ ‏‮bank.‬‏ ‏‮You‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮receive‬‏ ‏‮notifications‬‏ ‏‮for‬‏ ‏‮future‬‏ ‏‮debits‬‏ ‏‮up‬‏ ‏‮to‬‏ ‏‮2‬‏ ‏‮days‬‏ ‏‮before‬‏ ‏‮they‬‏ ‏‮occur.‬‏ ‏‮Sort‬‏ ‏‮Sorting‬‏ @@ -8257,7 +8259,6 @@ ‏‮Chaos‬‏ ‏‮Classic‬‏ ‏‮Sound‬‏ ‏‮Pack‬‏ - ‏‮Snowsgiving‬‏ ‏‮My‬‏ ‏‮Uncle‬‏ ‏‮Lil‬‏ ‏‮Yachty‬‏ ‏‮Sounds‬‏ @@ -9500,10 +9501,6 @@ ‏‮Had‬‏ ‏‮an‬‏ ‏‮issue?‬‏ ‏‮Thanks‬‏ ‏‮for‬‏ ‏‮reporting‬‏ ‏‮your‬‏ ‏‮issue!‬‏ ‏‮Feedback‬‏ ‏‮like‬‏ ‏‮yours‬‏ ‏‮helps‬‏ ‏‮us‬‏ ‏‮improve‬‏ ‏‮Video‬‏ ‏‮Backgrounds‬‏ ‏‮Remove‬‏ ‏‮Background‬‏ - ‏‮Blurple‬‏ ‏‮Blizzard‬‏ - ‏‮Winter‬‏ ‏‮Wilderness‬‏ - ‏‮Cracklin‬‏ ‏‮\'n\'‬‏ ‏‮Cozy‬‏ - ‏‮Snowsgiving‬‏ ‏‮Edition‬‏ ‏‮Get‬‏ ‏‮more‬‏ ‏‮customization‬‏ ‏‮by‬‏ ‏‮uploading‬‏ ‏‮your‬‏ ‏‮own‬‏ ‏‮video‬‏ ‏‮background,‬‏ ‏‮custom‬‏ ‏‮global‬‏ ‏‮emojis,‬‏ ‏‮[and‬‏ ‏‮more‬‏ ‏‮with‬‏ ‏‮Discord‬‏ ‏‮Nitro!](onLearnMore)‬‏ ‏‮Wanna‬‏ ‏‮upload‬‏ ‏‮your‬‏ ‏‮own‬‏ ‏‮background?‬‏ ‏‮Focus‬‏ diff --git a/app/src/main/res/values-bg/plurals.xml b/app/src/main/res/values-bg/plurals.xml index fdc34c5d57..a1ecf5e66a 100644 --- a/app/src/main/res/values-bg/plurals.xml +++ b/app/src/main/res/values-bg/plurals.xml @@ -528,10 +528,6 @@ Трябва да премахнеш 1 приятел. Трябва да премахнеш {number} приятели. - - усилване - усилвания - 1 **{category}** общност {count} **{category}** общности diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index ef32a84c39..ae99eed4d6 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -3122,7 +3122,6 @@ Изглежда сървърът ти не е готов за пълни показатели. Ще имаш достъп дамо до данни за канали за обяви и приветстващ екран. О, не! Изглежда, че нещо се счупи. Моля, обнови приложението и опитай отново. От предходната седмица - Искаш ли готин банер като този за сървъра си? Трябва ти само още **{boostsNeeded} {boostsNeeded}!** Също така ще помогнеш за отключването на повече персонализирани функции и надграждания за всички в сървър, като например: Подсили сървъра си до {targetLevelOrPlan}, за да приложиш новия си анимиран банер за сървър. Подсили сървъра си до план {targetLevelOrPlan}, за да приложиш новия анимиран банер за сървър. @@ -5979,6 +5978,7 @@ Отменено плащане Неуспешно удостоверяване на плащане Плащане удостоверено + Валута Плащане в Не можем да потвърдим метода на плащане Вземи !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Небесно синьо Изпратихме SMS на !!{phone}!!. Въведи кода си за потвърждение - Снегодарността - **Имаме нещо за теб…** - Посети discord.com за днешната изненада $[linkIcon](linkIconHook) - Сезонно събитие Като предоставиш информацията си за плащане и потвърдиш това плащане, ти упълномощаваш (A) Discord и Stripe, нашия доставчик на платежни услуги и/или PPRO, техния местен доставчик на услуги, да изпраща инструкции до твоята банка за дебитиране на сметката ти и (Б) твоята банка да дебитира сметката ти в съответствие с тези инструкции. Като част от своите права имаш право на възстановяване на средства от банката ти съгласно условията на твоето споразумение с нея. Възстановяването на средства трябва да бъде заявено в рамките на 8 седмици, считано от датата, на която сметката ти е била дебитирана. Твоите права са разяснени в изявление, което можеш да получиш от банката си. Ти приемаш да получаваш известия за бъдещи дебити до 2 дни, преди те да възникнат. Сортирай Сортиране @@ -8919,10 +8915,6 @@ Имаше проблем? Благодарим ти, че докладва за проблема си! Обратните връзки като тази ни помагат да подобряваме видео фоновете Премахване на фона - Синкаво-лилава виелица - Зимно зънзикане - Уют и пукот - Версия за Снегодарността Сдобий се с повече персонализации, като качиш свой собствен видеофон, персонализирани глобални емоджита и [много други с Discord Nitro!](onLearnMore) Искаш ли да качиш свой собствен фон? Фокус diff --git a/app/src/main/res/values-cs/plurals.xml b/app/src/main/res/values-cs/plurals.xml index ae6667c3e3..b33537dab7 100644 --- a/app/src/main/res/values-cs/plurals.xml +++ b/app/src/main/res/values-cs/plurals.xml @@ -613,10 +613,6 @@ Musíš odznačit {number} přátele. Musíš odznačit {number} přátel. - - vylepšení - vylepšení - 1 **{category}** komunita {count} **{category}** komunity diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9f9bca262f..7f3ee40639 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -3127,7 +3127,6 @@ Vypadá to, že tvůj server ještě není úplně připraven na úplné přehledy. Zatím máš přístup ke statistikám pro kanály oznámení a uvítací obrazovku. Ajaj! Něco se asi rozbilo. Obnov prosím aplikaci a zkus to znovu. Za aktuální týden - Chceš mít na svém serveru podobně suprový banner, jako je tento? Potřebuješ přidat už jenom **{boostsNeeded} {boostsNeeded}!** Budeš taky moct odemknout další funkce pro přizpůsobení a vylepšení nástrojů pro všechny členy tvého serveru. Například: Vylepši svůj server na úroveň {targetLevelOrPlan} a použij nový animovaný banner serveru. Vylepši svůj server na plán {targetLevelOrPlan} a použij nový animovaný banner serveru. @@ -5983,6 +5982,7 @@ Platba zrušena Ověření platby se nezdařilo Platba ověřena + Měna Platba v měně Nepodařilo se potvrdit platební metodu Získat !!{planPremiumType}!! @@ -7707,10 +7707,6 @@ Blankytně modrá Poslali jsme SMS na !!{phone}!!. Zadej svůj ověřovací kód - Sněhovzdání - **Něco pro tebe máme…** - Na discord.com dnes najdeš překvapení $[linkIcon](linkIconHook) - Sezónní událost Poskytnutím svých platebních údajů a potvrzením této platby udělujete oprávnění (A) společnostem Discord a Stripe, našemu poskytovateli platebních služeb, anebo PPRO, místnímu poskytovateli služeb pro Stripe, aby vaší bance odeslaly pokyny k provedení platby z vašeho účtu, a (B) vaší bance, aby z vašeho účtu na základě těchto pokynů platbu provedla. V rámci svých práv máte nárok na vrácení peněz od své banky v souladu s podmínkami smlouvy, kterou jste se svou bankou uzavřeli. Požadavek na vrácení peněz musí být vznesen do 8 týdnů ode dne, kdy byla platba odečtena z vašeho účtu. Vaše práva jsou vysvětlena ve vyjádření, které můžete získat od své banky. Souhlasíte s tím, že budete dostávat oznámení o budoucích platbách až 2 dny před jejich provedením. Seřadit Řazení @@ -8923,10 +8919,6 @@ Narazil jsi na problém? Děkujeme za oznámení problému! Tvoje zpětná vazba nám pomůže pozadí videa vylepšovat Odebrat pozadí - Modrofialová vánice - Zimní divočina - Praskání v krbu - Edice Sněhovzdání Pořiď si vlastní přizpůsobené pozadí videa, vlastní globální smajlíky [a další výhody s předplatným Discord Nitro!](onLearnMore) Chceš nahrát vlastní pozadí? Zaostření diff --git a/app/src/main/res/values-da/plurals.xml b/app/src/main/res/values-da/plurals.xml index c2d59c451a..4dea35bf22 100644 --- a/app/src/main/res/values-da/plurals.xml +++ b/app/src/main/res/values-da/plurals.xml @@ -528,10 +528,6 @@ Du skal fravælge 1 ven. Du skal fravælge {number} venner. - - boost - boosts - 1 **{category}** community {count} **{category}** communities diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 6fddd561c9..e9db7cde9a 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -3122,7 +3122,6 @@ Det ser ud til, at din server ikke er helt klar til at få vist det fulde indblik. Du vil kun have adgang til bekendtgørelseskanaler og analyser for velkomstskærmen. Åh åååh! Det ser ud, som om noget er gået i stykker. Genstart programmet og prøv igen. Fra den seneste uge - Vil du have et lækkert banner som dette til din server? Du behøver kun **{boostsNeeded} flere {boostsNeeded}!** Du vil også hjælpe til med at låse op til flere tilpasningsfunktioner og opgraderinger for alle på serveren, f.eks: Boost din Animeret server til {targetLevelOrPlan} for at anvende dit nye serverbanner. Boost din Animeret server til {targetLevelOrPlan}-abonnementet for at anvende dit nye serverbanner. @@ -5978,6 +5977,7 @@ Betaling annulleret Betalingsgodkendelse mislykkedes Betaling godkendt + Valuta Betaler i Kan ikke bekræfte betalingsmetode Hent !!{planPremiumType}!! @@ -7701,10 +7701,6 @@ Himmelblå Der blev sendt en SMS til !!{phone}!!. Indtast din bekræftelseskode - Snowsgiving - **Vi har noget til dig…** - Besøg discord.com for dagens overraskelse $[linkIkon](linkIconHook) - Jule-event Ved at give dine betalingsoplysninger og bekræfte denne betaling giver du (A) Discord og Stripe, vores betalingstjenesteudbyder og/eller PPRO, dennes lokale tjenesteudbyder, tilladelse til at sende instruktioner til din bank om at debitere din konto, og (B) din bank til at debitere din konto i overensstemmelse med disse instruktioner. Som en del af dine rettigheder er du berettiget til en tilbagebetaling fra din bank i henhold til vilkårene og betingelserne i din aftale med din bank. Du skal kræve tilbagebetaling inden for 8 uger fra den dato, hvor din konto blev debiteret. Dine rettigheder er forklaret i en erklæring, som du kan få udleveret af din bank. Du accepterer at modtage meddelelser om fremtidige debiteringer op til 2 dage før de finder sted. Sorter Sorterer @@ -8917,10 +8913,6 @@ Havde du et problem? Tak, fordi du rapporterede dit problem! Feedback som din hjælper os med at forbedre videobaggrunde Fjern baggrund - Sløret snestorm - Vinter-vildmark - Knitrende hyggeligt - Snowsgiving Edition Få mere tilpasning ved at uploade din egen videobaggrund, tilpassede globale emojier og meget mere med [Discord Nitro!](onLearnMore) Vil du uploade din egen baggrund? Fokuseret diff --git a/app/src/main/res/values-de/plurals.xml b/app/src/main/res/values-de/plurals.xml index ebec281e51..d0eafe5768 100644 --- a/app/src/main/res/values-de/plurals.xml +++ b/app/src/main/res/values-de/plurals.xml @@ -528,10 +528,6 @@ Du musst einen Freund aus der Auswahl entfernen. Du musst {number} Freunde aus der Auswahl entfernen. - - Boost - Booster - 1 **{category}**Community {count} **{category}** Communities diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d81e2014a4..c17eff0aa9 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3132,7 +3132,6 @@ Sieht so aus, als wäre dein Server noch nicht ganz bereit für die vollständigen Server-Einblicke. Du hast momentan nur Zugriff auf die Statistiken des Ankündigungskanals und des Willkommensbildschirms. Oh-oh! Etwas scheint kaputtgegangen zu sein. Bitte starte die Anwendung neu und versuche es noch einmal. Die Zahlen der Woche - Möchtest du auch so ein tolles Banner für deinen Server? Dafür brauchst du noch **{boostsNeeded} {boostsNeeded}!** Dabei hilfst du gleichzeitig, benutzerdefinierte Features und nützliche Upgrades für alle auf dem Server freizuschalten, darunter: Booste deinen Server auf {targetLevelOrPlan}, um dein neues animiertes Serverbanner zu nutzen. Booste deinen Server auf das {targetLevelOrPlan}-Abo, um dein neues animiertes Serverbanner zu nutzen. @@ -5989,6 +5988,7 @@ Zahlung storniert Authentifizierung der Zahlung fehlgeschlagen Zahlung authentifiziert + Währung Wird bezahlt in Zahlungsmethode konnte nicht bestätigt werden. !!{planPremiumType}!! holen @@ -7712,10 +7712,6 @@ Azurblau Eine SMS wurde an !!{phone}!! gesendet. Gib deinen Bestätigungscode ein. - Snowsgiving - **Wir haben da was für dich …** - Besuche discord.com für die heutige Überraschung $[linkIcon](linkIconHook) - Saisonales Event Durch die Bereitstellung deiner Zahlungsinformationen und Bestätigung dieser Zahlung autorisierst du (A) Discord und Stripe, unseren Zahlungsdienstleister, und/oder PPRO, seinen lokalen Dienstleister, Anweisungen an deine Bank zu senden, um dein Konto zu belasten und (B) deine Bank, dein Konto gemäß den Anweisungen zu belasten. Als Teil deiner Rechte hast du Anspruch auf eine Rückerstattung von deiner Bank gemäß den Geschäftsbedingungen mit deiner Bank. Eine Rückerstattung muss innerhalb von 8 Wochen ab dem Tag, an dem dein Konto belastet wurde, angefordert werden. Deine Rechte sind in einer Erklärung erläutert, die du von deiner Bank erhalten kannst. Du stimmst zu, Mitteilungen über zukünftige Lastschriften bis zu zwei Tage vor der Abbuchung zu erhalten. Sortieren Sortierung @@ -8931,10 +8927,6 @@ Gab es ein Problem? Danke, dass du das Problem gemeldet hast! Dein Feedback hilft uns dabei, unsere Video-Hintergründe zu verbessern. Hintergrund entfernen - Blauoletter Blizzard - Winterliche Wildnis - Warm und gemütlich - Snowsgiving-Edition Mit Discord Nitro kannst du unter anderem einen personalisierten Videohintergrund, personalisierte globale Emojis [und mehr](onLearnMore) hochladen! Du willst deinen eigenen Hintergrund hochladen? Zentriert diff --git a/app/src/main/res/values-el/plurals.xml b/app/src/main/res/values-el/plurals.xml index 9c7eae748c..cc26e45846 100644 --- a/app/src/main/res/values-el/plurals.xml +++ b/app/src/main/res/values-el/plurals.xml @@ -528,10 +528,6 @@ Πρέπει να αποεπιλέξεις 1 φίλο. Πρέπει να αποεπιλέξεις {number} φίλους. - - ενίσχυση - ενισχύσεις - 1 **{category}** κοινότητα {count} **{category}** κοινότητες diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 70c354b881..c3ab282ff1 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -3122,7 +3122,6 @@ Φαίνεται ότι ο διακομιστής σου δεν είναι έτοιμος ακόμα για να έχεις πρόσβαση σε όλα τα Insights. Έχεις πρόσβαση μόνο στα κανάλια ανακοινώσεων και στις στατιστικές αναλύσεις της οθόνης καλωσορίσματος. Ωχ! Φαίνεται ότι κάτι χάλασε. Ανανέωσε την εφαρμογή και προσπάθησε ξανά. Από την τελευταία εβδομάδα - Θέλεις ένα ωραίο banner σαν κι αυτό για τον διακομιστή σου; Χρειάζεσαι μόνο **{boostsNeeded} ακόμα {boostsNeeded}!** Θα συνεισφέρεις επίσης στο να ξεκλειδώσουν περισσότερα χαρακτηριστικά προσαρμογής και αναβαθμίσεις βοηθητικών προγραμμάτων για όλους στον διακομιστή όπως: Ενίσχυσε τον διακομιστή σου σε {targetLevelOrPlan} για να εφαρμόσεις το νέο κινούμενο banner διακομιστή σου. Ενίσχυσε τον διακομιστή σου στο πρόγραμμα {targetLevelOrPlan} για να εφαρμόσεις το νέο κινούμενο banner διακομιστή σου. @@ -5979,6 +5978,7 @@ Η πληρωμή ακυρώθηκε Απέτυχε η επαλήθευση της πληρωμής Η πληρωμή επαληθεύτηκε + Νόμισμα Πληρωμή σε Δεν είναι δυνατή η επιβεβαίωση του τρόπου πληρωμής Πάρε το !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Γαλάζιο Στάλθηκε ένα SMS στο !!{phone}!!. Καταχώρισε τον κωδικό επιβεβαίωσης - Snowsgiving - **Έχουμε κάτι για σένα…** - Επισκέψου το discord.com για τη σημερινή έκπληξη $[linkIcon](linkIconHook) - Εποχιακή εκδήλωση Παρέχοντας τα στοιχεία πληρωμής σου και επιβεβαιώνοντας αυτήν την πληρωμή, εξουσιοδοτείς την (A) Discord and Stripe, τον πάροχο υπηρεσιών πληρωμών μας ή/και την PPRO, τον τοπικό πάροχο υπηρεσιών της, να στείλει οδηγίες στην τράπεζά σου για χρέωση του λογαριασμού σου και (Β) την τράπεζά σου να χρεώσει τον λογαριασμό σου σύμφωνα με αυτές τις οδηγίες. Ως μέρος των δικαιωμάτων σου, δικαιούσαι επιστροφή χρημάτων από την τράπεζά σου σύμφωνα με τους όρους και τις προϋποθέσεις της συμφωνίας σου με την τράπεζά σου. Η αξίωση της επιστροφής χρημάτων πρέπει να υποβληθεί εντός 8 εβδομάδων από την ημερομηνία χρέωσης του λογαριασμού σου. Τα δικαιώματά σου εξηγούνται σε μια δήλωση που μπορείς να λάβεις από την τράπεζά σου. Συμφωνείς να λαμβάνεις ειδοποιήσεις για μελλοντικές χρεώσεις έως και 2 ημέρες πριν πραγματοποιηθούν. Ταξινόμηση Ταξινόμηση @@ -8919,10 +8915,6 @@ Είχες κάποιο πρόβλημα; Ευχαριστούμε για την αναφορά του προβλήματός σου! Σχόλια σαν τα δικά σου μας βοηθούν να βελτιώσουμε τα φόντα βίντεο Αφαίρεση φόντου - Μπλε-μωβ χιονοθύελλα - Χειμερινή άγρια φύση - Αναμμένο τζάκι - Έκδοση Snowsgiving Απόκτησε περισσότερες δυνατότητες προσαρμογής μεταφορτώνοντας το δικό σου φόντο βίντεο, προσαρμοσμένα emoji παντού [και πολλά άλλα με το Discord Nitro!](onLearnMore) Θες να μεταφορτώσεις το δικό σου φόντο; Εστίαση diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index a60d624a4e..6b29925158 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -103,6 +103,9 @@ [ÅçţîVé Ţĥŕéåðš one two three] [Ḿöŕé ÅçţîVé Ţĥŕéåðš one two three] [Šéé Åļļ one two] + [Ļéåŕñ ḿöŕé ĥéŕé one two three] + [Îñ ţĥé ñéхţ ƒéŵ ŵééķš ÅçţîVîţîéš ŵîļļ ɓé ţéḿþöŕåŕîļý ûñåVåîļåɓļé åš ŵé ḿåķé šöḿé îḿþŕöVéḿéñţš. Ţĥåñķš ƒöŕ ýöûŕ þåţîéñçé¡ one two three four five six seven eight nine ten eleven twelve] + [Ĥåñĝ ţîĝĥţ, ÅçţîVîţîéš ƒåñš one two three four] [ÅçţîVîţý one two] [Ýéš, çöûñţ ḿé îñ¡ one two three] [Ŵĥéñ å ƒŕîéñð šţåŕţš åñ åçţîVîţý—ļîķé þļåýîñĝ å ĝåḿé öŕ ĥåñĝîñĝ öûţ öñ Vöîçé—ŵé’ļļ šĥöŵ îţ ĥéŕé¡ one two three four five six seven eight nine ten eleven] @@ -657,6 +660,7 @@ [Åþþļîçåţîöñš åñð Çöññéçţîöñš one two three four] [Ĥéŕé\'š åļļ ţĥé åþþš ţĥåţ åŕé ðöîñĝ šûþéŕ çööļ ţĥîñĝš ţö ḿåķé ýöûŕ Ðîšçöŕð éхþéŕîéñçé šûþéŕ çööļéŕ. ΃ îţ ĝéţš ţöö çĥîļļý, ýöû çåñ ŕéḿöVé ţĥéḿ åţ åñý ţîḿé. 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] + [ÅŕçĥîVé & Ļöçķ Ţĥŕéåð one two three] [ÅŕçĥîVé Ñöŵ one two] [ÅŕçĥîVé Šéţţîñĝš one two three] [ÅŕçĥîVé Ţĥŕéåð one two three] @@ -3240,7 +3244,8 @@ [Ļööķš ļîķé ýöûŕ šéŕVéŕ îšñ’ţ Qûîţé ŕéåðý ţö šéé ƒûļļ îñšîĝĥţš. Ýöû ŵîļļ öñļý ĥåVé åççéšš ţö Åññöûñçéḿéñţ Çĥåññéļš åñð Ŵéļçöḿé Šçŕééñ åñåļýţîçš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Ûĥ öĥ¡ Ļööķš ļîķé šöḿéţĥîñĝ ɓŕöķé. Þļéåšé ŕéƒŕéšĥ ţĥé åþþļîçåţîöñ åñð ţŕý åĝåîñ. one two three four five six seven eight nine] [Fŕöḿ ţĥé ḿöšţ ŕéçéñţ ŵééķ one two three] - [Ðö ýöû ŵåñţ å šŵééţ ɓåññéŕ ļîķé ţĥîš ƒöŕ ýöûŕ šéŕVéŕ¿ Ýöû öñļý ñééð **»{boostsNeeded}« ḿöŕé »{boostsNeeded}«¡** one two three four five six seven eight nine] + [Ŵåñţ ýöûŕ šéŕVéŕ ţö ƒééļ ûñîQûé¿ Šéţ å šéŕVéŕ ɓåññéŕ ŵîţĥ **»{boostsNeeded}« ḿöŕé »{boostsNeeded}«.** one two three four five six seven eight] + [βööšţ Ţĥîš ŠéŕVéŕ one two three] [Ýöû’ļļ åļšö ĥéļþ ûñļöçķ ḿöŕé çûšţöḿîžåţîöñ ƒéåţûŕéš åñð ûţîļîţý ûþĝŕåðéš ƒöŕ éVéŕýöñé îñ ţĥé šéŕVéŕ ļîķé: one two three four five six seven eight nine ten eleven] [βööšţ ýöûŕ šéŕVéŕ ţö »{targetLevelOrPlan}« ţö åþþļý ýöûŕ ñéŵ åñîḿåţéð šéŕVéŕ ɓåññéŕ. one two three four five six seven] [βööšţ ýöûŕ šéŕVéŕ ţö ţĥé »{targetLevelOrPlan}« þļåñ ţö åþþļý ýöûŕ ñéŵ åñîḿåţéð šéŕVéŕ ɓåññéŕ. one two three four five six seven eight] @@ -5888,8 +5893,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] @@ -6432,6 +6437,7 @@ [Þåýḿéñţ Çåñçéļéð one two three] [Þåýḿéñţ Åûţĥéñţîçåţîöñ Fåîļéð one two three four] [Þåýḿéñţ Åûţĥéñţîçåţéð one two three] + [Çûŕŕéñçý one two] [Þåýîñĝ îñ one two] [Ûñåɓļé ţö çöñƒîŕḿ þåýḿéñţ ḿéţĥöð one two three four] [Ĝéţ ¡¡»{planPremiumType}«¡¡ one two] @@ -6569,6 +6575,8 @@ [Šţåý Öñ Ţöþ one two] [\"%1$s\" çöþîéð ţö çļîþɓöåŕð. one two three] [Ñîţŕö one] + [Ţĥéý ĝŕöŵ ûþ šö ƒåšţ :\') åñð ŵé çöûļðñ\'ţ ĥåVé ðöñé îţ ŵîţĥöûţ šûɓšçŕîɓéŕš ļîķé ýöû. Ŵåţçĥ öûţ ƒöŕ ḿöŕé Ñîţŕö ĝööðîéš ţĥîš ýéåŕ, åñð ţĥåñķš ƒöŕ ɓéîñĝ åŵéšöḿé. 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] + [Ĥåþþý 5ţĥ βîŕţĥðåý Ñîţŕö¡ one two three] [Ñîţŕö ÅçţîVåţéð one two three] [Ööþš, šöḿéţĥîñĝ ŵéñţ ŵŕöñĝ… one two three four] [Šûɓšçŕîɓéŕ šîñçé »{date}« one two three] @@ -7944,8 +7952,6 @@ [Šéåŕçĥ Ţéñöŕ one two] [Šéåŕçĥ ŵîţĥ Ĝööĝļé one two three] [Šéåŕçĥîñĝ… one two] - [Ðéçöŕåţéš ţĥé åþþ ƒöŕ å šþéçîåļ öççåšîöñ. Ðîšåɓļé ţö šŵîţçĥ ɓåçķ ţö ñöŕḿåļ. one two three four five six seven eight] - [Šĥöŵ Šéåšöñåļ Ţĥéḿé one two three] [Çûšţöḿîžé ýöûŕ ĝîƒţ βÖ×: one two three] [Ýöûŕ ƒŕîéñð ŵîļļ šéé ţĥîš îḿåĝé ŵĥéñ ţĥéý ŕéçéîVé ţĥéîŕ ĝîƒţ. one two three four five six seven] [Öþéñ Ĝîƒţ one two] @@ -8229,10 +8235,6 @@ [Šķý ɓļûé one two] [Åñ ŠḾŠ ŵåš šéñţ ţö ¡¡»{phone}«¡¡. one two three] [Éñţéŕ ýöûŕ çöñƒîŕḿåţîöñ çöðé one two three four] - [ŠñöŵšĝîVîñĝ one two] - [**Ŵé ĝöţ ýöû šöḿéţĥîñĝ…** one two three] - [νîšîţ ðîšçöŕð.çöḿ ƒöŕ ţöðåý’š šûŕþŕîšé €[ļîñķÎçöñ](ļîñķÎçöñĤööķ) one two three four five six seven] - [Šéåšöñåļ ÉVéñţ one two three] [βý þŕöVîðîñĝ ýöûŕ þåýḿéñţ îñƒöŕḿåţîöñ åñð çöñƒîŕḿîñĝ ţĥîš þåýḿéñţ, ýöû åûţĥöŕîšé (Å) Ðîšçöŕð åñð Šţŕîþé, öûŕ þåýḿéñţ šéŕVîçé þŕöVîðéŕ åñð/öŕ ÞÞŔÖ, îţš ļöçåļ šéŕVîçé þŕöVîðéŕ, ţö šéñð îñšţŕûçţîöñš ţö ýöûŕ ɓåñķ ţö ðéɓîţ ýöûŕ åççöûñţ åñð (β) ýöûŕ ɓåñķ ţö ðéɓîţ ýöûŕ åççöûñţ îñ åççöŕðåñçé ŵîţĥ ţĥöšé îñšţŕûçţîöñš. Åš þåŕţ öƒ ýöûŕ ŕîĝĥţš, ýöû åŕé éñţîţļéð ţö å ŕéƒûñð ƒŕöḿ ýöûŕ ɓåñķ ûñðéŕ ţĥé ţéŕḿš åñð çöñðîţîöñš öƒ ýöûŕ åĝŕééḿéñţ ŵîţĥ ýöûŕ ɓåñķ. Å ŕéƒûñð ḿûšţ ɓé çļåîḿéð ŵîţĥîñ 8 ŵééķš šţåŕţîñĝ ƒŕöḿ ţĥé ðåţé öñ ŵĥîçĥ ýöûŕ åççöûñţ ŵåš ðéɓîţéð. Ýöûŕ ŕîĝĥţš åŕé éхþļåîñéð îñ å šţåţéḿéñţ ţĥåţ ýöû çåñ öɓţåîñ ƒŕöḿ ýöûŕ ɓåñķ. Ýöû åĝŕéé ţö ŕéçéîVé ñöţîƒîçåţîöñš ƒöŕ ƒûţûŕé ðéɓîţš ûþ ţö 2 ðåýš ɓéƒöŕé ţĥéý öççûŕ. 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 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] [Šöŕţ one] [Šöŕţîñĝ one two] @@ -8257,7 +8259,6 @@ [Çĥåöš one] [Çļåššîç one two] [Šöûñð Þåçķ one two] - [ŠñöŵšĝîVîñĝ one two] [Ḿý Ûñçļé one two] [Ļîļ Ýåçĥţý one two] [Šöûñðš one two] @@ -9500,10 +9501,6 @@ [Ĥåð åñ îššûé¿ one two] [Ţĥåñķš ƒöŕ ŕéþöŕţîñĝ ýöûŕ îššûé¡ Fééðɓåçķ ļîķé ýöûŕš ĥéļþš ûš îḿþŕöVé νîðéö βåçķĝŕöûñðš one two three four five six seven eight nine] [ŔéḿöVé βåçķĝŕöûñð one two three] - [βļûŕþļé βļîžžåŕð one two three] - [Ŵîñţéŕ Ŵîļðéŕñéšš one two three] - [Çŕåçķļîñ \'ñ\' Çöžý one two three] - [ŠñöŵšĝîVîñĝ Éðîţîöñ one two three] [Ĝéţ ḿöŕé çûšţöḿîžåţîöñ ɓý ûþļöåðîñĝ ýöûŕ öŵñ Vîðéö ɓåçķĝŕöûñð, çûšţöḿ ĝļöɓåļ éḿöĵîš, [åñð ḿöŕé ŵîţĥ Ðîšçöŕð Ñîţŕö¡](öñĻéåŕñḾöŕé) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two] [Ŵåññå ûþļöåð ýöûŕ öŵñ ɓåçķĝŕöûñð¿ one two three four] [Föçûš one] diff --git a/app/src/main/res/values-es-rES/plurals.xml b/app/src/main/res/values-es-rES/plurals.xml index 833d6f0179..b32867ba5f 100644 --- a/app/src/main/res/values-es-rES/plurals.xml +++ b/app/src/main/res/values-es-rES/plurals.xml @@ -520,10 +520,6 @@ Debes deseleccionar 1 amigo. Debes deseleccionar {number} amigos. - - mejora - mejoras - 1 comunidad de **{category}** {count} comunidades de **{category}** diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index a3d8084432..ae664f8afc 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -3018,7 +3018,6 @@ Parece que tu servidor no está listo del todo para ver la información al completo. Solo tendrás acceso a las estadísticas de los canales de anuncios y la pantalla de bienvenida. ¡Oh, no! Algo se ha roto. Reinicia la aplicación y vuelve a intentarlo. De esta semana - ¿Quieres un cartel así de chulo en tu servidor? ¡Solo necesitas **{boostsNeeded} {boostsNeeded} más!** También ayudarás a desbloquear más funciones de personalización y mejoras de los servicios para todos los miembros del servidor: Mejora tu servidor a {targetLevelOrPlan} para aplicar el cartel de servidor animado nuevo. Mejora tu servidor al plan {targetLevelOrPlan} para aplicar el cartel de servidor animado nuevo. @@ -5824,6 +5823,7 @@ Pago cancelado Autenticación de pago fallida Pago autenticado + Divisa Pagando en No se puede confirmar el método de pago Consigue !!{planPremiumType}!! @@ -7546,10 +7546,6 @@ Azul cielo Se ha enviado un SMS al !!{phone}!!. Introduce el código de autenticación - Acción de Nieves - **Tenemos algo para ti…** - Visita discord.com para descubrir la sorpresa de hoy $[linkIcon](linkIconHook) - Evento de temporada Al proporcionar la información de pago y confirmar este, autorizas (A) a Discord y Stripe, nuestro proveedor de servicios de pago y/o a PPRO, su proveedor de servicios locales, para enviar instrucciones a tu banco para realizar cargos en tu cuenta y (B) a tu banco para que realice cargos en tu cuenta de acuerdo con dichas instrucciones. Como parte de tus derechos, tienes derecho a obtener un reembolso de tu banco bajo los términos y condiciones de tu acuerdo con la entidad. Dicho reembolso debe emitirse en un plazo de 8 semanas a partir de la fecha en la que se realizaron los cargos en tu cuenta. Tus derechos aparecen explicados en una declaración que puedes pedir a tu banco. Aceptas recibir notificaciones de cargos futuros hasta 2 días antes de que se hagan efectivos. Ordenar Ordenación @@ -8758,10 +8754,6 @@ ¿Has tenido un problema? ¡Gracias por informarnos de tu problema! Opiniones como la tuya nos ayudan a mejorar los fondos de vídeo. Eliminar fondo - Ventisca azul violácea - Naturaleza invernal - Crepitante y calentito - Edición Acción de Nieves Para conseguir un estilo personalizado, sube tu propio fondo de vídeo, emojis globales personalizados [y más con Discord Nitro.](onLearnMore) ¿Quieres subir tu propio fondo? Centrar diff --git a/app/src/main/res/values-fi/plurals.xml b/app/src/main/res/values-fi/plurals.xml index 1697b088d9..c05ee087dc 100644 --- a/app/src/main/res/values-fi/plurals.xml +++ b/app/src/main/res/values-fi/plurals.xml @@ -528,10 +528,6 @@ Sinun pitää poistaa 1 kaverin valinta. Sinun pitää poistaa {number} kaverin valinta. - - nostatuksen - nostatusta - 1 luokan **{category}** yhteisö {count} luokan **{category}** yhteisöä diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 8369135b0e..350f5f4ade 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -3122,7 +3122,6 @@ Palvelimesi ei ole vielä aivan valmis aivan kaikkien analyysitietojen keräämistä varten. Käytettävissäsi ovat vain tiedotekanavien ja tervetuloruudun analyysitiedot. Oho! Jokin taitaa olla rikki. Päivitä tämä sovellusnäkymä ja yritä uudelleen. Viimeisimmältä viikolta - Haluatko tällaisen tyylikkään bannerin omalle palvelimellesi? Tarvitset vain **{boostsNeeded} {boostsNeeded} lisää!** Saat lisäksi avattua kaikille palvelimen jäsenille muita mukautustoimintoja ja päivityksiä, kuten esimerkiksi nämä edut: Nostata palvelimesi tasolle {targetLevelOrPlan}, niin voit käyttää uutta animoitua palvelinbanneriasi. Nostata palvelimesi tilaukseksi {targetLevelOrPlan}, niin voit käyttää uutta animoitua palvelinbanneriasi. @@ -5979,6 +5978,7 @@ Maksu peruutettu Maksun todennus epäonnistui Maksu todennettu + Valuutta Maksuvaluutta Maksutapaa ei voi vahvistaa Hanki !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Taivaansininen Tekstiviesti on lähetetty numeroon !!{phone}!!. Anna vahvistuskoodisi - Talvijuhlahumu - **Meillä on jotain sinulle…** - Tarkista tämänpäiväinen $[linkIcon](linkIconHook)-yllätys discord.comissa - Kausitapahtuma Antamalla maksutietosi ja vahvistamalla tämän maksun valtuutat (A) Discordin sekä maksupalvelujen tarjoajamme Stripen ja sen paikallisen palveluntarjoajan PPROn lähettämään pankillesi tilisi veloituspyynnön ja (B) pankkisi veloittamaan tämän pyynnön mukaisen summan tililtäsi. Sinulla on oikeus pyytää pankkiasi tekemään maksupalautus pankkisi kanssa tekemän sopimuksen ehtojen mukaisesti. Maksunpalautuspyyntö on tehtävä kahdeksan (8) viikon kuluessa tilisi veloituspäivästä. Oikeutesi on selitetty pankiltasi saatavana olevassa selvityksessä. Hyväksyt, että sinulle ilmoitetaan tulevista veloituksista kaksi (2) päivää ennakkoon. Järjestä Lajittelu @@ -8923,10 +8919,6 @@ Onko sinulla ongelmia? Kiitos ongelmasta ilmoittamisesta! Kaltaisesi palautteen antajat auttavat meitä parantamaan videokuvan taustoja Poista tausta - Sinipurppurainen lumimyrsky - Talvinen erämaa - Lämmin tunnelma - Talvijuhlahumun versio [Discord Nitrolla](onLearnMore) voit mukauttaa tilisi entistä yksilöllisemmäksi lataamalla palvelimelle oman videokuvan taustan ja mukautettuja emojeja yleiseen käyttöön ja hyödyntämällä monia muita mukautusmahdollisuuksia! Haluatko ladata oman taustan palvelimelle? Tarkenna diff --git a/app/src/main/res/values-fr/plurals.xml b/app/src/main/res/values-fr/plurals.xml index b881c47fb5..7bd686f903 100644 --- a/app/src/main/res/values-fr/plurals.xml +++ b/app/src/main/res/values-fr/plurals.xml @@ -528,10 +528,6 @@ Tu dois désélectionner 1 ami. Tu dois désélectionner {number} amis. - - boost - boosts - 1 communauté **{category}** {count} communautés **{category}** diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 652a05fcc2..089828e86e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -3127,7 +3127,6 @@ On dirait que ton serveur n’est pas tout à fait prêt pour toutes les analyses. Tu n’as accès qu’aux analyses de salons des annonces et d’écran d\'accueil. Oh, oh ! On dirait que quelque chose s\'est cassé. Merci de rafraîchir l\'application et de réessayer. Cette dernière semaine - Tu veux une jolie bannière comme celle-ci pour ton serveur ? Il te faut seulement **{boostsNeeded} {boostsNeeded}de plus !** Tu aideras aussi à débloquer plus de fonctionnalités de personnalisation et d\'amélioration d\'utilisation dont tout le monde sur le serveur pourra profiter, comme : Booste ton serveur jusqu\'à {targetLevelOrPlan} pour utiliser ta nouvelle bannière de serveur animée. Booste ton serveur jusqu\'à l\'abonnement {targetLevelOrPlan} pour utiliser ta nouvelle bannière de serveur animée. @@ -5983,6 +5982,7 @@ Paiement annulé Échec de l\'authentification du paiement Paiement authentifié + Monnaie Payer en Impossible de confirmer ce mode de paiement Obtenir !!{planPremiumType}!! @@ -7705,10 +7705,6 @@ Bleu ciel Un SMS a été envoyé au !!{phone}!!. Saisis ton code de confirmation - Snowsgiving - **Nous avons une surprise pour toi…** - Rends-toi sur discord.com pour découvrir la $[linkIcon](linkIconHook) surprise d’aujourd’hui - Événement de saison En fournissant vos informations de paiement, vous autorisez (A) Discord et Stripe, notre prestataire de services de paiement et/ou PPRO, son fournisseur de services locaux, à envoyer des instructions à votre banque pour débiter votre compte, et (B) votre banque à débiter votre compte conformément à ces instructions. Vous bénéficiez d’un droit à un remboursement par votre banque selon les conditions décrites dans la convention que vous avez passée avec elle. Toute demande de remboursement doit être présentée dans les huit semaines suivant la date de débit de votre compte. Vos droits sont expliqués dans un document que vous pouvez obtenir auprès de votre banque. Vous acceptez de recevoir des notifications de futurs débits jusqu\'à deux jours avant qu\'ils adviennent. Trier Tri @@ -8924,10 +8920,6 @@ Tu as eu un problème ? Merci d\'avoir signalé ton problème ! Les commentaires comme le tien nous aident à améliorer les arrière-plans de vidéo Supprimer l\'arrière-plan - Blizzard bleu-violet - Nature hivernale - Bien au chaud - Édition Snowsgiving Augmente ton degré de personnalisation en uploadant ton propre arrière-plan vidéo, des émojis personnalisés, [et bien plus avec Discord Nitro !](onLearnMore) Tu veux uploader ton propre arrière-plan ? Focalisation diff --git a/app/src/main/res/values-hi/plurals.xml b/app/src/main/res/values-hi/plurals.xml index 41fc87fbe2..f3c644050e 100644 --- a/app/src/main/res/values-hi/plurals.xml +++ b/app/src/main/res/values-hi/plurals.xml @@ -528,10 +528,6 @@ आपको 1 फ्रेंड से सलेक्ट हटाना होगा. आपको फ्रेंड से{number} सलेक्ट हटाना होगा. - - बूस्ट - बूस्ट्स - 1 **{category}** कम्युनिटी {count} **{category}** कम्युनिटी diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 716ee5359e..5c40977305 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -3122,7 +3122,6 @@ लगता है आपका सर्वर पूरी इनसाइट देखने के लिए एकदम तैयार नहीं है. आपको सिर्फ़ अनाउंसमेंट चैनल और वेलकम स्क्रीन एनालिटिक्स को एक्सेस करने की अनुमति होगी. अह ओह! लगता है कुछ खराब हो गया है. कृपया ऐप्लिकेशन को रीफ्रेश करें और फिर से कोशिश करें. हाल ही के सप्ताह से - क्या आपको अपने सर्वर के लिए ऐसा कोई सुन्दर बैनर चाहिए? आपको सिर्फ़ **{boostsNeeded} ज़्यादा {boostsNeeded}की ज़रूरत है!** आप सर्वर में सभी के लिए और ज़्यादा कस्टमाइज़ेशन फीचर्स और यूटिलिटी अपग्रेड को अनलॉक करने में मदद भी करेंगे जैसे: अपने नए एनिमेटेड सर्वर बैनर को अप्लाई करने के लिए अपने सर्वर को {targetLevelOrPlan} पर बूस्ट करें. अपने नए एनिमेटेड सर्वर बैनर को अप्लाई करने के लिए अपने सर्वर को {targetLevelOrPlan} प्लान पर बूस्ट करें. @@ -5979,6 +5978,7 @@ पेमेंट कैंसल हो गया पेमेंट ऑथेंटिकेशन विफल हो गया पेमेंट ऑथेंटिकेट हो गया + करेंसी जिसमें भुगतान किया जा रहा है पेमेंट का तरीका कन्फ़र्म नहीं हो पा रहा है !!{planPremiumType}!! पाएं @@ -7703,10 +7703,6 @@ आसमानी नीला SMS !!{phone}!! पर भेज दिया गया था. अपना कन्फर्मेशन कोड एंटर करें - स्नोज़गिविंग - **हमारे पास आपके लिए कुछ है…** - आज के सरप्राइज़ के लिए discord.com पर $[linkIcon](linkIconHook) पर जाएं - सीज़नल इवेंट अपनी पेमेंट की जानकारी देकर और इस पेमेंट को कन्फ़र्म करके, आप इस बातों को ऑथराइज़ करते हैं (A) Discord और Stripe, हमारे पेमेंट सर्विस प्रोवाइडर और/या PPRO, इसके लोकल सर्विस प्रोवाइडर को आपके अकाउंट में से डेबिट करने के लिए आपके बैंक को निर्देश भेजने के लिए और (B) अपने अकाउंट को उन निर्देशों के मुताबिक डेबिट करने के लिए अपने बैंक को. आपके अधिकार के तौर पर, आप अपने बैंक के साथ किए गए करार के नियम और शर्तों के तहत अपने बैंक से रिफंड पाने के लिए पात्र हैं. रिफंड को आपके अकाउंट को डेबिट की गई तारीख से 8 हफ़्तों में क्लेम करना होगा. आपके अधिकार एक स्टेटमेंट में साफ़ किए गए हैं जो आप अपने बैंक से ले सकते हैं. आप भविष्य में होने वाले डेबिट से जुड़े नोटिफिकेशन को इनके होने के 2 दिन रिसीव करने के लिए सहमत हैं. सॉर्ट करें सॉर्ट किया जा रहा है @@ -8919,10 +8915,6 @@ कोई समस्या थी? अपनी समस्या रिपोर्ट करने के लिए आपका धन्यवाद! आपके जैसे फ़ीडबैक हमें वीडियो बैकग्राउंड में सुधार करने में सहायता करते हैं बैकग्राउंड रिमूव करें - ब्लरपल ब्लिज़र्ड - विंटर वाइल्डरनेस - क्रैक्लिंग और कोज़ी - स्नोज़गिविंग एडिशन [Discord Nitro](onLearnMore) के साथ अपना खुद का वीडियो बैकग्राउंड, कस्टम किए गए ग्लोबल इमोजी और भी बहुत सी चीज़ें अपलोड करके और ज़्यादा कस्टमाइज़ेशन पाएं! अपना खुद का बैकग्राउंड अपलोड करना चाहते हैं? फोकस diff --git a/app/src/main/res/values-hr/plurals.xml b/app/src/main/res/values-hr/plurals.xml index 8aa0cb1e8b..c9bf37ca16 100644 --- a/app/src/main/res/values-hr/plurals.xml +++ b/app/src/main/res/values-hr/plurals.xml @@ -618,11 +618,6 @@ Moraš odznačiti jednog prijatelja. Moraš odznačiti {number} prijatelja. - - boost - boosta - boostova - 1 **{category}** zajednica {count} **{category}** zajednice diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 9d2d681cc0..94b44d02af 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -3122,7 +3122,6 @@ Reklo bi se da tvoj server nije sasvim spreman da se prikaže detaljna razrada njegovih podataka. Imat ćeš pristup samo analitikama Kanala za najave i Zaslona dobrodošlice. O, ne! Nešto negdje puklo jest. Hajde, lijepo te molimo da refrešaš aplikaciju pa probaš opet. Iz najsvježijeg tjedna - Želiš li možda jedan ovakav slatki banner za svoj server? Trebaš još samo **{boostsNeeded} {boostsNeeded}!** Također ćeš pomoći otključati više značajki prilagodbe i nadogradnje uslužnih programa za sve na serveru kao što su: Boostaj svoj server dok ne dosegne {targetLevelOrPlan} kako bi se mogao nalijepiti tvoj novi animirani banner servera. Boostaj svoj server dok ne dosegne model {targetLevelOrPlan} kako bi se mogao nalijepiti tvoj novi animirani banner servera. @@ -5979,6 +5978,7 @@ Plaćanje je otkazano Plaćanje nije autentificirano uspješno Plaćanje je autentificirano + Valuta Plaćanje u Način plaćanja nije moguće potvrditi Uzmi si !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Nebesko plava SMS je poslan na !!{phone}!!. Unesi svoj kod za potvrdu - Snowsgiving - **Imamo ti nešto…** - Posjetite discord.com za današnje iznenađenje $[linkIcon](linkIconHook) - Blagdanski događaj Pružanjem svojih podataka o plaćanju i potvrdom ove uplate, dajete svoje dopuštenje da (A) Discord i Stripe, naš pružatelj platnih usluga i/ili PPRO, njegov lokalni pružatelj usluga, pošalju upute vašoj banci da tereti vaš račun i da (B) vaša banka tereti vaš račun u skladu s tim uputama. Kao dio vaših prava, imate pravo na povrat od svoje banke prema uvjetima i odredbama vašeg ugovora s njom. Povrat se mora zatražiti u roku od 8 tjedana od datuma terećenja računa. Vaša prava objašnjena su u izjavi koju možete dobiti od svoje banke. Prihvaćate da ćete obavijesti o budućim terećenjima primiti do 2 dana prije njihovog izvršenja. Sortiraj Sortiranje @@ -8919,10 +8915,6 @@ Bilo je nekih problema? Hvala ti na ovoj informaciji! Zahvaljujući takvim povratnim informacijama mi možemo poboljšati video pozadine. Ukloni pozadinu - Mutna mećava - Zimska divljina - Udobnost pucketanja - Snowsgiving izdanje Nabavi si još mogućnosti da si urediš kako ti želiš, svoj video kao pozadinu, odabrani globalni emojiji i [još mnogo toga ako imaš Discord Nitro!](onLearnMore) Želiš li prenijeti svoju vlastitu pozadinu? Fokus diff --git a/app/src/main/res/values-hu/plurals.xml b/app/src/main/res/values-hu/plurals.xml index aa16caa280..6a4ad64855 100644 --- a/app/src/main/res/values-hu/plurals.xml +++ b/app/src/main/res/values-hu/plurals.xml @@ -528,10 +528,6 @@ 1 barát kiválasztását szüntesd meg. {number} barát kiválasztását szüntesd meg. - - gyorsítás - gyorsítás - 1 **{category}** közösség {count} **{category}** közösség diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index e3fd021f77..c51b9e5571 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -3122,7 +3122,6 @@ Úgy tűnik, hogy a szervered még nem áll készen a teljes betekintés szerzésére. Csak a bejelentési csatornák és a nyitóképernyő elemzéséhez férhetsz hozzá. O-ó! Úgy tűnik, valami elromlott. Frissítsd az alkalmazást, és próbálkozz újra. A legutóbbi hétről - Szeretnél egy ilyen édes bannert a szerveredre? Már csak **{boostsNeeded} {boostsNeeded}kell!** Ezzel segítesz további személyre szabási funkciókat és fejlesztéseket feloldani mindenkinek a szerveren, például: Gyorsítsd fel a szerveredet! A(z) {targetLevelOrPlan} szükséges az új animált szerverbannered beállításához. Gyorsítsd fel a szerveredet! A(z) {targetLevelOrPlan} csomag szükséges az új animált szerverbannered beállításához. @@ -5978,6 +5977,7 @@ Fizetés lemondva A fizetés hitelesítése sikertelen Fizetés hitelesítve + Pénznem Fizetés pénzneme: A fizetési mód megerősítése sikertelen !!{planPremiumType}!! megszerzése @@ -7702,10 +7702,6 @@ Égkék Küldtünk egy SMS-t a következő számra: !!{phone}!!. Add meg a megerősítő kódodat - Hóparádé - **Találtunk neked valamit….** - Látogass el a discord.com oldalra a mai meglepetésért $[linkIcon](linkIconHook) - Szezonális esemény Fizetési adataid megadásával és jelen fizetés megerősítésével engedélyezed (A) a Discord és fizetési szolgáltatónk, a Stripe, illetőleg helyi szolgáltatója, a PPRO részére, hogy utasítást küldjön a bankodnak a számlád terhelésére és (B) a bankod részére, hogy ezen utasításoknak megfelelően terhelje a számládat. Jogosultságaid része, hogy a bankoddal kötött megállapodásod szerződési feltételeinek megfelelően visszatérítést kérhetsz a bankodtól. A visszatérítést a számlád megterhelésének napjától számított 8 héten belül kell igényelned. A jogaidat egy nyilatkozat részletezi, amit a bankodtól szerezhetsz be. Hozzájárulsz, hogy értesítést kapj a jövőbeli megterhelésekről legfeljebb 2 nappal azok bekövetkezése előtt. Rendezés Rendezés @@ -8918,10 +8914,6 @@ Problémába ütköztél? Köszönjük, hogy jelentetted problémádat! Az ehhez hasonló visszajelzések segítenek fejleszteni a videóháttereket. Háttér eltávolítása - Kékeslila hóvihar - Téli vadon - Ropogó és otthonos - Hóparádé kiadás Szabj személyre minél több dolgot, töltsd fel saját videóhátteredet, globális emotikonjaidat [és sok minden mást a Discord Nitro-előfizetéssel!](onLearnMore) Szeretnéd feltölteni a saját hátteredet? Kiemelés diff --git a/app/src/main/res/values-it/plurals.xml b/app/src/main/res/values-it/plurals.xml index be8fdf88a9..30e608f589 100644 --- a/app/src/main/res/values-it/plurals.xml +++ b/app/src/main/res/values-it/plurals.xml @@ -528,10 +528,6 @@ Devi deselezionare 1 amico. Devi deselezionare {number} amici. - - potenziamento - potenziamenti - 1 community **{category}** {count} community **{category}** diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 06068a06c2..a268880742 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -3127,7 +3127,6 @@ Sembra che il tuo server non sia ancora del tutto pronto a visualizzare gli approfondimenti completi. Hai accesso solo ai dati dei Canali delle notizie e della Schermata di benvenuto. Ops! Sembra che qualcosa sia andato storto. Ricarica l\'applicazione e riprova. Dalla settimana più recente - Lo vuoi un banner bello come questo per il tuo server? Hai bisogno ancora di **{boostsNeeded} {boostsNeeded}!** Aiuterai anche a sbloccare funzionalità per la personalizzazione e miglioramenti delle utility per tutti nel server, come: Potenzia il tuo server al {targetLevelOrPlan} per applicare il nuovo banner del server animato. Potenzia il tuo server al piano {targetLevelOrPlan} per applicare il nuovo banner del server animato. @@ -5984,6 +5983,7 @@ Pagamento annullato Verifica del pagamento non riuscita Pagamento verificato + Valuta Pagamento in Impossibile confermare il metodo di pagamento Ottieni !!{planPremiumType}!! @@ -7708,10 +7708,6 @@ Azzurro È stato inviato un SMS al numero !!{phone}!!. Inserisci il tuo codice di conferma - Balocchi di neve - **Abbiamo qualcosa per te…** - Vai su discord.com per le sorprese del giorno $[linkIcon](linkIconHook) - Evento stagionale Fornendo i propri dati di pagamento e confermando il presente pagamento, l\'acquirente autorizza: (A) Discord, Stripe (il fornitore di servizi di pagamento di Discord) e/o PPRO (il fornitore locale di servizi di Stripe) a inviare direttive alla propria banca per l\'addebito sul proprio conto corrente e (B) la banca ad addebitare sul proprio conto corrente in conformità con suddette direttive. L\'acquirente ha diritto di ottenere il rimborso dalla propria banca secondo gli accordi e alle condizioni che regolano il rapporto con quest\'ultima. L\'eventuale rimborso deve essere richiesto nel termine di 8 settimane a decorrere dalla data di addebito sul conto. I diritti dell\'acquirente sono elencati in una dichiarazione che è possibile richiedere alla propria banca. L\'acquirente acconsente alla ricezione di comunicazioni circa futuri addebiti fino a 2 giorni precedenti la data prevista dell\'addebito. Ordina Ordine in corso @@ -8927,10 +8923,6 @@ Hai qualche problema? Grazie per averci segnalato questo problema! I tuoi suggerimenti ci aiutano a migliorare gli sfondi video Rimuovi sfondo - Bufera Blurple - Natura invernale - Caldo e crepitante - Edizione Balocchi di neve Personalizza ancora di più caricando i tuoi sfondi video, emoji globali personalizzate [e molto altro ancora con Discord Nitro!](onLearnMore) Vuoi caricare un tuo sfondo? In primo piano diff --git a/app/src/main/res/values-ja/plurals.xml b/app/src/main/res/values-ja/plurals.xml index ee36729210..f0489af14b 100644 --- a/app/src/main/res/values-ja/plurals.xml +++ b/app/src/main/res/values-ja/plurals.xml @@ -528,10 +528,6 @@ あと1人フレンドの選択を外す必要があります。 あと{number}人フレンドの選択を外す必要があります。 - - - - 1 件の **{category}** コミュニティ {count} 件の **{category}** コミュニティ diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index bf40ce2ba4..afb1721b11 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -3132,7 +3132,6 @@ 全てのインサイトを見るためのサーバー準備が整っていないようですね。アナウンスチャンネルとようこそ画面の分析のみアクセスできます。 困りましたね。何かが壊れたみたいです。 アプリケーションをリフレッシュしてから、もう一度お試しください。 直近の週 - 自分のサーバーにも、こんな素敵なバナーがほしい? あとたったの**{boostsNeeded}ブースト{boostsNeeded}だけでゲットできますよ!** また、サーバーのみんなが使えるカスタマイズや便利な機能アップグレードもアンロックできちゃいます。例えば…… サーバーを {targetLevelOrPlan} にブーストして新しいアニメサーバーバナーを使っちゃいましょう。 サーバーを {targetLevelOrPlan} プランにブーストして新しいアニメサーバーバナーを使っちゃいましょう。 @@ -5989,6 +5988,7 @@ キャンセルされた支払い 認証に失敗した支払い 認証済みの支払い + 通貨 支払い通貨: お支払い方法を確認できませんでした !!{planPremiumType}!!を入手 @@ -7713,10 +7713,6 @@ スカイブルー SMSを !!{phone}!! に送信しました。 確認コードを入力してください - スノーギビング - **あなたにさしあげたいものが……** - discord.com で今日のサプライズをチェック! $[linkIcon](linkIconHook) - 季節のイベント お客様のお支払い情報をご提供いただき、このお支払いを確定することで、お客様は (A) Discord、および Discord のお支払いサービスプロバイダである Stripe および/または Stripe のローカルサービスプロバイダである PPRO が、お客様がご利用の銀行に、お客様の口座から引き落としを行うよう指示を送ること、ならびに (B) お客様がご利用の銀行が、上記の指示に従ってお客様の口座から引き落としを行うこと、を承諾するものとします。お客様は、権利の一部として、銀行と合意した規約や条件に基づき、銀行から返金を受けることができます。返金の申し立ては、お客様の口座から引き落としが行われた日から 8 週間以内に行われる必要があります。お客様の権利は、銀行から入手可能なステートメントにて説明されています。またお客様は、今後の引き落としが行われる 2 日前までに通知を受け取ることに同意します。 並べ替え 並べ替え @@ -8930,10 +8926,6 @@ 問題がありましたか? 問題のご報告ありがとうございます! いただいたフィードバックはビデオ背景の改善に活用いたします 背景を削除 - ブループル・ブリザード - ウィンター・ウィルダーネス - クラックル・コージー - スノーギビング・エディション [Discord Nitro](onLearnMore) なら、自分だけのビデオ背景や、どこでも使えるカスタム絵文字などをアップロードして、オリジナリティをバリバリ発揮できます! オリジナルの背景をアップロードしたい? フォーカス diff --git a/app/src/main/res/values-ko/plurals.xml b/app/src/main/res/values-ko/plurals.xml index 7fc1d048a0..ff2c05331d 100644 --- a/app/src/main/res/values-ko/plurals.xml +++ b/app/src/main/res/values-ko/plurals.xml @@ -528,10 +528,6 @@ 1명 더 취소해야 해요. {number}명 더 취소해야 해요. - - - - **{category}** 커뮤니티 1개 **{category}** 커뮤니티 {count}개 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index c13e8b6eed..28b940fc5b 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -3127,7 +3127,6 @@ 모든 인사이트를 확인하기엔 서버가 아직 준비되지 않은 모양이에요. 지금은 공지 채널과 환영 화면 분석 자료만 볼 수 있어요. 앗! 뭔가 잘못됐나 봐요. 애플리케이션을 새로 고친 후 다시 시도해보세요. 최근 한 주 - 서버에 이런 멋진 배너를 달고 싶으신가요? 부스트 **{boostsNeeded} {boostsNeeded}만 더 있으면 돼요!** 또한 서버 내 모두를 위해 다음과 같은 유틸리티 업그레이드나 더 많은 맞춤 설정 기능을 잠금 해제할 수 있답니다. 서버의 레벨을 {targetLevelOrPlan}까지 부스트하면 새로운 움직이는 서버 배너를 적용할 수 있어요. 서버를 {targetLevelOrPlan} 플랜까지 부스트하면 새로운 움직이는 서버 배너를 적용할 수 있어요. @@ -5984,6 +5983,7 @@ 결제 취소됨 결제 인증 실패 결제 인증 완료 + 통화 결제 통화 결제 수단을 확인할 수 없어요 !!{planPremiumType}!! 구독하기 @@ -7708,10 +7708,6 @@ 하늘색 !!{phone}!!(으)로 SMS가 전송되었어요. 확인 코드를 입력해주세요 - 눈꽃나눔 - **드릴 게 있어요…** - Discord.com을 방문하시면 오늘의 깜짝 선물 $[linkIcon](linkIconHook)을(를) 드려요 - 계절 이벤트 결제 정보를 제공하고 해당 결제를 확인함으로써, 귀하는 (가) Discord 및 당사의 결제 서비스 제공사인 Stripe, 현지 서비스 제공사인 PPRO가 귀하의 은행 계좌에서 인출하기 위하여 은행에 지시사항을 전송하며, (나) 귀하의 은행은 해당 지시사항에 따라 귀하의 계좌에서 인출함을 허용합니다. 귀하의 권리 중 일부로써, 귀하는 은행과 동의한 이용약관하에 귀하의 계좌를 통해 환불을 받을 자격이 있습니다. 환불은 귀하의 계좌가 인출된 날짜로부터 8주 이내에 요청해야 합니다. 귀하의 권리는 은행에서 제공하는 명세서에 명시되어 있습니다. 귀하는 향후 인출에 관하여 인출 이행까지 최대 이틀 전에 통지를 받는 것에 동의합니다. 정렬 분류 중 @@ -8927,10 +8923,6 @@ 문제가 있었나요? 문제를 알려주셔서 감사합니다! 이런 피드백이 영상 배경을 개선할 수 있어요 배경 제거 - 파랑보라 눈보라 - 겨울 황무지 - 나무 타는 소리와 아늑함 - 눈꽃나눔 에디션 [Discord Nitro](onLearnMore)가 있으면 나만의 영상 배경, 사용자 지정 글로벌 이모티콘 등을 업로드해서 나만의 방식으로 꾸밀 수 있어요! 나만의 배경을 업로드해볼래요? 포커스 diff --git a/app/src/main/res/values-lt/plurals.xml b/app/src/main/res/values-lt/plurals.xml index 4b0a1a3a8e..388b0d3c8f 100644 --- a/app/src/main/res/values-lt/plurals.xml +++ b/app/src/main/res/values-lt/plurals.xml @@ -573,10 +573,6 @@ {number} draugus {number} draugų - - stiprinimo - stiprinimų - 1 **{category}** bendruomenė, atitinkanti bendruomenės, atitinkančios diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 8fbdc2a1ed..5d88786ce8 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -3122,7 +3122,6 @@ Atrodo, kad tavo serveris dar nepasiruošęs išsamioms įžvalgoms. Turėsi prieigą tik prie pranešimų kanalų ir pasveikinimo ekrano analizės. Oi! Atrodo, kad kažkas sugedo. Atnaujink programą ir pabandyk dar kartą. Pastarosios savaitės - Norėtum tokios puikios reklamjuostės savo serveriui? Tau tereikia dar **{boostsNeeded} {boostsNeeded}!** Padėsi suteikti daugiau tinkinimo galimybių ir naujinimų kiekvienam šio serverio naudotojui, pvz.: Stiprink savo serverį iki {targetLevelOrPlan}, kad galėtum naudoti savo animuotą serverio reklamjuostę. Stiprink savo serverį iki plano {targetLevelOrPlan}, kad galėtum naudoti savo animuotą serverio reklamjuostę. @@ -5979,6 +5978,7 @@ Mokėjimas atšauktas Nepavyko autentifikuoti mokėjimo Mokėjimas autentifikuotas + Valiuta Mokama Nepavyko patvirtinti mokėjimo būdo Gauti !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Žydras Telefono numeriu !!{phone}!! išsiuntėme SMS žinutę. Įvesk patvirtinimo kodą - Žiemos šventės konkursas - **Kai ką tau paruošėme…** - Apsilankyk discord.com ir rask šios dienos staigmeną $[linkIcon](linkIconHook) - Sezoninis renginys Pateikdamas (-a) mokėjimo informaciją ir patvirtindamas (-a) šį mokėjimą, suteiki leidimą (A) Discord ir mūsų mokėjimo paslaugų tiekėjui Stripe ir (arba) jo vietos paslaugų tiekėjui PRO siųsti nurodymą tavo bankui dėl lėšų nuskaitymo iš tavo sąskaitos ir (B) tavo bankui nuskaityti lėšas iš tavo sąskaitos pagal šį nurodymą. Į tavo teises įeina galimybė susigrąžinti lėšas iš banko pagal tavo sutarties su banku sąlygas. Lėšų grąžinimo turi būti pareikalauta ne vėliau nei per 8 savaites nuo lėšų nuskaitymo iš tavo sąskaitos dienos. Tavo teisės paaiškinamos išraše, kurį gali gauti iš savo banko. Sutinki gauti pranešimus apie lėšų nuskaitymus ateityje likus iki 2 dienų prieš jų vykdymą. Rūšiuoti Rūšiavimas @@ -8919,10 +8915,6 @@ Kilo problema? Dėkui, kad pranešei apie problemą! Tokie atsiliepimai mums padeda tobulinti vaizdo įrašų fonus Šalinti foną - Mėlynai violetinis Blizzard - Žiemiški laukai - Spragsėjimas ir jaukumas - Žiemos šventės konkurso leidimas Įkelk savo pasirinktą vaizdo įrašo foną, tinkintus visuotinius jaustukus [ir dar daugiau, naudodamas (-a) Discord Nitro!](onLearnMore) Nori įkelti savo foną? Fokusavimas diff --git a/app/src/main/res/values-nl/plurals.xml b/app/src/main/res/values-nl/plurals.xml index 401b332fa9..c34f13c480 100644 --- a/app/src/main/res/values-nl/plurals.xml +++ b/app/src/main/res/values-nl/plurals.xml @@ -528,10 +528,6 @@ Je moet 1 vriend deselecteren. Je moet {number} vrienden deselecteren. - - boost - boosts - 1 **{category}** community {count} **{category}** community's diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index ffd6d5dc93..45d2e59896 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -3127,7 +3127,6 @@ Zo te zien is je server nog niet klaar voor volledige serverinzichten. Je hebt alleen toegang tot statistieken over je aankondigingskanalen en welkomstscherm. O, jee! Zo te zien is er iets kapot. Vernieuw de applicatie en probeer het opnieuw. Van de recentste week - Wil je een vette banner als deze voor je server? Je hebt nog maar **{boostsNeeded} {boostsNeeded} nodig!** Je helpt ook bij het ontgrendelen van meer aanpassingsopties en nuttige upgrades voor iedereen op de server, zoals: Boost je server naar {targetLevelOrPlan} om je nieuwe geanimeerde serverbanner toe te passen. Boost je server naar het {targetLevelOrPlan}-abonnement om je nieuwe geanimeerde serverbanner toe te passen. @@ -5983,6 +5982,7 @@ Betaling geannuleerd Goedkeuring van betaling mislukt Betaling goedgekeurd + Valuta Betaalt met Bevestigen betalingsmethode mislukt Koop !!{planPremiumType}!! @@ -7706,10 +7706,6 @@ Hemelblauw Er is een sms verstuurd naar !!{phone}!!. Voer je bevestigingscode in - Snowsgiving - **We hebben iets voor je…** - Ga naar discord.com voor de verrassing van vandaag $[linkIcon](linkIconHook) - Seizoensevenement Als je je betalingsinformatie opgeeft en deze betaling bevestigt, geef je toestemming aan (A) Discord en Stripe, onze betalingsserviceprovider en/of PPRO, diens plaatselijke serviceprovider, om instructies naar je bank te sturen om kosten van je rekening af te schrijven, en (B) je bank om volgens deze instructies kosten van je rekening af te schrijven. Je hebt recht op terugbetaling van je bank volgens de voorwaarden van je overeenkomst met je bank. Een restitutie moet aangevraagd worden binnen 8 weken na de datum waarop het bedrag van je rekening is afgeschreven. Je rechten worden uitgelegd in een verklaring die verkrijgbaar is bij je bank. Je stemt ermee in om voor toekomstige afschrijvingen meldingen te ontvangen tot twee dagen voordat ze plaatsvinden. Sorteren Bezig met sorteren @@ -8925,10 +8921,6 @@ Had je een probleem? Bedankt voor het melden van je probleem! Met feedback kunnen we de videoachtergronden verbeteren Achtergrond verwijderen - Blurplesneeuwstorm - Winterwildernis - Knisperend en knus - Snowsgiving-editie Maak meer aanpassingen mogelijk door je eigen video-achtergrond, aangepaste wereldwijde emoji\'s [en meer te uploaden met Discord Nitro!](onLearnMore) Wil je je eigen achtergrond uploaden? Focus diff --git a/app/src/main/res/values-no/plurals.xml b/app/src/main/res/values-no/plurals.xml index 33a3f530d5..50793e3871 100644 --- a/app/src/main/res/values-no/plurals.xml +++ b/app/src/main/res/values-no/plurals.xml @@ -520,10 +520,6 @@ Du må fjerne merkingen på 1 venn. Du må fjerne merkingen på {number} venner. - - boost - booster - 1 **{category}**-fellesskap {count} **{category}** fellesskap diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index 06d821f814..80e9f171c4 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -3013,7 +3013,6 @@ Serveren din er visst ikke helt klar for full innsikt. Du vil bare ha tilgang til kunngjøringskanaler og analyse av velkomstskjermen. Å nei! Det ser ut til at noe er ødelagt. Oppfrisk applikasjonene og prøv på nytt. Fra den seneste uken - Vil du ha et fint banner som dette på serveren din? Du trenger bare **{boostsNeeded} {boostsNeeded} til!** Du bidrar også til å låse opp flere verktøy og muligheter for tilpasning for alle på serveren. Noen eksempler: Boost serveren din til {targetLevelOrPlan} for å bruke ditt nye animerte serverbanner. Boost serveren din til {targetLevelOrPlan}-abonnementet for å bruke ditt nye animerte serverbanner. @@ -5820,6 +5819,7 @@ Betaling kansellert Autentisering av betaling mislyktes Betaling autentisert + Valuta Betales i Kan ikke bekrefte betalingsmåte Få !!{planPremiumType}!! @@ -7542,10 +7542,6 @@ Himmelblå En SMS ble sendt til !!{phone}!!. Angi bekreftelseskoden - Snøsember - **Vi har noe til deg …** - Gå til discord.com for å få dagens overraskelse $[linkIcon](linkIconHook) - Sesongevent Ved å oppgi betalingsopplysningene og bekrefte denne betalingen tillater du (A) Discord og Stripe, vår leverandør av betalingstjenester, og/eller PPRO, selskapets lokale tjenesteleverandør, å sende instruksjoner til banken din om å debitere kontoen din, og (B) banken din å debitere kontoen i henhold til disse instruksjonene. Du har rett til å få betalt tilbake penger fra banken din i henhold til vilkårene i avtalen din med banken. Tilbakebetaling må kreves innen 8 uker etter datoen da kontoen din ble debitert. Rettighetene dine forklares i en erklæring som du kan få fra banken din. Du godtar å motta varsler for fremtidige debiteringer i opptil 2 dager før de inntreffer. Sorter Sorterer @@ -8754,10 +8750,6 @@ Har du et problem? Takk for at du meldte fra om problemet! Slike tilbakemeldinger hjelper oss å forbedre videobakgrunnene Fjern bakgrunn - Blurple Blizzard - Winter Wilderness - Cracklin \'n\' Cozy - Snowsgiving Edition Sett et personlig preg på Discord ved å laste opp en egen videobakgrunn, egendefinerte globale emojier [og annet med Discord Nitro!](onLearnMore) Vil du laste opp en egen bakgrunn? Fokus diff --git a/app/src/main/res/values-pl/plurals.xml b/app/src/main/res/values-pl/plurals.xml index 3ca38a67f9..015ce1884a 100644 --- a/app/src/main/res/values-pl/plurals.xml +++ b/app/src/main/res/values-pl/plurals.xml @@ -595,10 +595,6 @@ Musisz odznaczyć jednego znajomego. Musisz odznaczyć {number} znajomych. - - ulepszenia - ulepszeń - 1 **{category}** społeczność {count} **{category}** społeczności diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 1955faefb4..3a86d61f06 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -3132,7 +3132,6 @@ Wygląda na to, że Twój serwer nie udostępnia jeszcze pełnego przeglądu. Będziesz mieć dostęp tylko do statystyk kanałów ogłoszeniowych oraz ekranu powitalnego. O nie! Coś się chyba zepsuło. Odśwież aplikację i spróbuj ponownie. Z bieżącego tygodnia - Chcesz fajny baner serwera taki jak ten? Potrzebujesz jeszcze tylko **{boostsNeeded} {boostsNeeded}!** Pomożesz również wszystkim użytkownikom serwera w odblokowaniu kolejnych elementów personalizacji oraz ulepszeń funkcji: Aby zastosować nowy animowany baner serwera, ulepsz swój serwer do poziomu {targetLevelOrPlan}. Aby zastosować nowy animowany baner serwera, ulepsz swój serwer do planu {targetLevelOrPlan}. @@ -5988,6 +5987,7 @@ Anulowano płatność Uwierzytelnianie płatności nie powiodło się Płatność uwierzytelniona + Waluta Płacisz w: Nie można potwierdzić metody płatności Zdobądź !!{planPremiumType}!! @@ -7712,10 +7712,6 @@ Błękitny Wysłano SMS na numer !!{phone}!!. Wprowadź swój kod potwierdzający - Świąteczn|y - **Mamy coś dla Ciebie…** - Odwiedź stronę discord.com, aby zobaczyć dzisiejszą niespodziankę $[linkIcon](linkIconHook) - Wydarzenie sezonowe Podając informacje dotyczące płatności i potwierdzając tę płatność, upoważniasz (A) firmy Discord i Stripe, naszego dostawcę usług płatniczych i/lub PPRO, lokalnego dostawcę usług tej firmy, do wysłania poleceń Twojemu bankowi, by obciążył Twoje konto, oraz (B) swój bank, by obciążył Twoje konto zgodnie z tymi poleceniami. W ramach swoich praw możesz otrzymać zwrot od swojego banku na podstawie warunków umowy z zawartej z bankiem. Zwrot musi zostać zgłoszony w ciągu 8 tygodni od dnia, w którym obciążono konto. Twoje prawa są wyjaśnione w dokumencie, który możesz otrzymać ze swojego banku. Wyrażasz zgodę, by otrzymywać powiadomienia o przyszłych obciążeniach do 2 dni przed ich naliczeniem. Sortowanie Sortowanie @@ -8928,10 +8924,6 @@ Wystąpił problem? Dziękujemy za zgłoszenie problemu! Informacje zwrotne takie jak Twoja pomagają nam usprawnić tła wideo Usuń tło - Niebieskofioletowa śnieżyca - Zimowe odludzie - Przytulnie przy kominku - Edycja świąteczna Zyskaj więcej opcji personalizacji, przesyłając własne tło wideo, globalne emoji [i nie tylko dzięki Discord Nitro!](onLearnMore) Chcesz przesłać własne tło? Przybliżenie diff --git a/app/src/main/res/values-pt-rBR/plurals.xml b/app/src/main/res/values-pt-rBR/plurals.xml index f9a29fc9a7..f3f44b589e 100644 --- a/app/src/main/res/values-pt-rBR/plurals.xml +++ b/app/src/main/res/values-pt-rBR/plurals.xml @@ -520,10 +520,6 @@ Você deve desmarcar 1 amigo. Você deve desmarcar {number} amigos. - - - impulsos - 1 comunidade de **{category}** {count} comunidades de **{category}** diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ec7eb8e6a3..45638d7d0b 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -3075,7 +3075,6 @@ Parece que o seu servidor ainda não está pronto para ter todas as análises. Você vai poder acessar apenas as análises de canais de anúncio e da tela de boas-vindas. Eita pega! Parece que algo quebrou. Reinicie o app e tente novamente. Da semana atual - Você quer uma faixa legal como essa no seu servidor? Você só precisa de mais **{boostsNeeded} impulso {boostsNeeded}!** Você também ajudará a desbloquear mais recursos de personalização e atualizações utilitárias para todos no servidor, tais como: Impulsione seu servidor para o nível {targetLevelOrPlan} para aplicar sua nova faixa de servidor animada. Impulsione seu servidor para o plano {targetLevelOrPlan} para aplicar sua nova faixa de servidor animada. @@ -5931,6 +5930,7 @@ Pagamento cancelado Falha de autenticação no pagamento Pagamento autenticado + Moeda Pagando em Não foi possível confirmar o métodos de pagamento Obter !!{planPremiumType}!! @@ -7654,10 +7654,6 @@ Azul céu Um SMS foi enviado para !!{phone}!!. Insira seu código de confirmação - Ação de Neves - **Trouxemos uma coisa para você…** - Visite Discord.com para a surpresa de hoje $[linkIcon](linkIconHook) - Evento da estação Ao fornecer suas informações de pagamento e confirmando seu pagamento, você autoriza (A) Discord and Stripe, nosso provedor de serviços de pagamento e / ou PPRO, seu provedor de serviços local, a enviar instruções ao seu banco para debitar na sua conta e (B) ao seu banco, para debitar na sua conta de acordo com essas instruções. Como parte de seus direitos, você tem direito a um reembolso de seu banco de acordo com os termos e condições de seu contrato com seu banco. O reembolso deve ser solicitado dentro de 8 semanas a partir da data em que sua conta foi debitada. Seus direitos são explicados em uma declaração que você pode obter do seu banco. Você concorda em receber notificações para débitos futuros até 2 dias antes que ocorram. Ordenar Ordenando @@ -8870,10 +8866,6 @@ Teve algum problema? Obrigado por informar seu problema! Comentários como o seu nos ajudam a melhorar os fundos de vídeo. Remover fundo - Nevasca Azoxa - Inverno Selvagem - Crepitante e Aconchegante - Edição Ação de Neves Tenha mais opções de personalização carregando seu próprio vídeo de fundo, emoji globais personalizados [e muito mais com o Discord Nitro!](onLearnMore) Quer enviar seu próprio fundo? Foco diff --git a/app/src/main/res/values-ro/plurals.xml b/app/src/main/res/values-ro/plurals.xml index a90dcef8ab..f9fc70fc32 100644 --- a/app/src/main/res/values-ro/plurals.xml +++ b/app/src/main/res/values-ro/plurals.xml @@ -530,10 +530,6 @@ Trebuie să deselectezi 1 prieten. Trebuie să deselectezi {number} prieteni. - - boost - boost-uri - 1 **{category}** comunitate {count} **{category}** comunități diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 3d24c0e07d..bbc4a73fe4 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -3122,7 +3122,6 @@ Se pare că serverul tău încă nu e gata să vizualizeze analiza completă. Vei avea acces doar la datele analitice despre canalele pentru anunțuri și despre ecranul de bun venit. Vai! Se pare că ceva nu a mers bine. Te rugăm să reîmprospătezi aplicația și să încerci din nou. Din cea mai recentă săptămână - Vrei și tu un banner la fel de ca lumea pentru serverul tău? Îți mai trebuie doar **{boostsNeeded} {boostsNeeded}!** Vei contribui și la deblocarea mai multor funcții de personalizare și upgrade-uri utilitare pentru toată lumea de pe server, de exemplu: Stimulează-ți serverul până la {targetLevelOrPlan} pentru a-ți putea folosi noul banner animat pentru server. Stimulează-ți serverul până la abonamentul {targetLevelOrPlan} pentru a-ți putea folosi noul banner animat pentru server. @@ -5979,6 +5978,7 @@ Plată anulată Autentificare plată nereușită Plată autentificată + Monedă Plata se efectuează în Nu s-a putut confirma metoda de plată Obține !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Azuriu S-a trimis un SMS la !!{phone}!!. Introdu codul de confirmare - Cadouri de iarnă - **Avem ceva pentru tine…** - Vizitează discord.com pentru surpriza de azi $[linkIcon](linkIconHook) - Eveniment de sezon Prin furnizarea informațiilor de plată și confirmarea acestei plăți, autorizezi atât (A) Discord și Stripe, furnizorul nostru de servicii de plată și/sau PPRO, furnizorul său local de servicii, să trimită instrucțiuni către banca ta pentru a-ți debita contul, cât și (B) banca ta să-ți debiteze contul conform instrucțiunilor respective. Ai dreptul la o restituire a fondurilor din partea băncii tale în conformitate cu clauzele și condițiile contractului încheiat cu aceasta. Restituirea trebuie revendicată în termen de 8 săptămâni de la data debitării contului. Drepturile tale sunt descrise într-un document pe care îl poți obține de la bancă. Ești de acord să primești notificări cu privire la orice debitări viitoare cu maximum 2 zile înainte de efectuarea acestora. Sortează Se sortează @@ -8919,10 +8915,6 @@ Ai întâmpinat o problemă? Îți mulțumim că ai raportat problema întâmpinată! Feedback-ul ne ajută să îmbunătățim fundalurile video Elimină fundalul - Viscol albastrolet - Iarnă în sălbăticie - La gura sobei - Ediție Cadouri de iarnă Obține mai multe opțiuni de personalizare, printre care și posibilitatea de a-ți încărca propriul fundal video, emoji-uri globale personalizate [și multe altele cu Discord Nitro!](onLearnMore) Vrei să-ți încarci propriul fundal? Focalizare diff --git a/app/src/main/res/values-ru/plurals.xml b/app/src/main/res/values-ru/plurals.xml index 2ab4fdf2ff..05cc07d181 100644 --- a/app/src/main/res/values-ru/plurals.xml +++ b/app/src/main/res/values-ru/plurals.xml @@ -602,11 +602,6 @@ 1 друга {number} друзей - - буст - буста - бустов - 1 сообщество (**{category}**) {count} сообщества (**{category}**) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a7d27303dc..4e6ad004bc 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -3132,7 +3132,6 @@ Похоже, мы пока не можем собрать всю аналитику вашего сервера. Пока что вам доступна только аналитика канала с объявлениями и экрана с приветствием. Ой! Кажется, что-то сломалось. Обновите приложение и попробуйте ещё раз. За последнюю неделю - Хотите такой же прикольный баннер себе на сервер? Осталось получить всего **{boostsNeeded} {boostsNeeded}!** Вы также обеспечите всем участникам сервера новые возможности персонализации и всякие полезные функции, например: Сделайте буст сервера до уровня {targetLevelOrPlan}, и сможете использовать новый анимированный баннер сервера. Сделайте буст сервера до тарифа {targetLevelOrPlan}, и сможете использовать новый анимированный баннер сервера. @@ -5989,6 +5988,7 @@ Платёж отменён Ошибка подтверждения платежа Платёж подтверждён + Валюта Оплата в валюте: Не удаётся подтвердить способ оплаты Подписаться на !!{planPremiumType}!! @@ -7713,10 +7713,6 @@ Небесно-голубой Мы отправили сообщение на !!{phone}!!. Введите код подтверждения - Снегодарение - **У нас для вас кое-что есть…** - Заходите на discord.com, чтобы увидеть сегодняшний сюрприз $[linkIcon](linkIconHook) - Сезонное событие Предоставляя свою платёжную информацию и подтверждая этот платёж, вы разрешаете (A) Discord и Stripe, нашему поставщику платёжных услуг, и/или PPRO, его местному поставщику услуг, отправлять предписания в ваш банк для списания средств с вашего счёта и (B) вашему банку списывать средства с вашего счёта в соответствии с этими предписаниями. Вы имеете право на возврат средств вашим банком в соответствии с условиями вашего соглашения с этим банком. Возврат средств необходимо запросить в течение 8 недель с даты списания средств с вашего счёта. Ваши права изложены в выписке по банковскому счёту, которую вы можете получить в своём банке. Вы соглашаетесь получать уведомления о будущих списаниях за 2 дня до того, как они произойдут. Сортировать Сортировка @@ -8929,10 +8925,6 @@ Возникли проблемы? Спасибо за сообщение об ошибке! Ваши отзывы помогают нам улучшить фоны видео. Удалить фон - Синелетовый буран - Зимняя чаща - Тепло и уют - Серия «Снегодарение» Загрузите собственный фон видео, свои эмодзи и [откройте другие возможности для персонализации с подпиской Discord Nitro!](onLearnMore) Хотите загрузить собственный фон? Фокусировка diff --git a/app/src/main/res/values-sv-rSE/plurals.xml b/app/src/main/res/values-sv-rSE/plurals.xml index 020d6acd9c..fd39c80e7b 100644 --- a/app/src/main/res/values-sv-rSE/plurals.xml +++ b/app/src/main/res/values-sv-rSE/plurals.xml @@ -520,10 +520,6 @@ Du måste avmarkera 1 vän. Du måste avmarkera {number} vänner. - - boost - boostar - 1 **{category}** community {count} **{category}** communityn diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 06c2cd2af7..ddb2143c09 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -3018,7 +3018,6 @@ Det verkar som att din server inte är riktigt redo för en full inblick. Du får endast åtkomst till analys av meddelandekanaler och välkomstskärm. Åh nej! Det verkar som att något gick sönder. Ladda om appen och försök igen. Från den senaste veckan - Vill du ha en snygg banner som den här till din server? Du behöver endast **{boostsNeeded} till {boostsNeeded}!** Du hjälper även till att låsa upp fler anpassningsfunktioner och uppgraderade funktioner för alla på servern, t.ex. följande: Boosta din server till {targetLevelOrPlan} för att använda din nya animerade serverbanner. Boosta din server till {targetLevelOrPlan}-planen för att använda din nya animerade serverbanner. @@ -5824,6 +5823,7 @@ Betalning avbruten Betalningsautentisering misslyckades Betalning autentiserad + Valuta Betalar i Det gick inte att bekräfta betalningsmetod Skaffa !!{planPremiumType}!! @@ -7546,10 +7546,6 @@ Himmelsblå Ett sms skickades till !!{phone}!!. Ange din bekräftelsekod - Vinterklappen - **Vi har något till dig …** - Gå till discord.com för dagens överraskning $[linkIcon](linkIconHook) - Högtidsevent Genom att lämna din betalningsinformation och bekräfta denna betalning bemyndigar du (A) Discord och Stripe, vår leverantör av betaltjänster och/eller PRO, dess lokala tjänsteleverantör, att instruera din bank att debitera ditt konto och bemyndigar (B) din bank att debitera ditt konto i enlighet med dessa instruktioner. Som en del av dina rättigheter har du rätt till en återbetalning från din bank enligt villkoren i ditt avtal med din bank. En återbetalning ska begäras inom 8 veckor från och med det datum då ditt konto debiterades. Dina rättigheter förklaras i ett meddelande som du kan få från din bank. Du samtycker till att få aviseringar om framtida debiteringar upp till 2 dagar innan de görs. Sortera Sortering @@ -8758,10 +8754,6 @@ Problem? Tack för att du rapporterar! Det är sådan här feedback som gör att vi kan förbättra videobakgrunderna Ta bort bakgrund - Blålila snöstorm - Vilda vintern - Sprakande mys - Vinterklappen-utgåva Få fler anpassningsmöjligheter – ladda upp en egen videobakgrund och egna globala emojier med mera [med Discord Nitro!](onLearnMore) Vill du ladda upp en egen bakgrund? Fokusera diff --git a/app/src/main/res/values-th/plurals.xml b/app/src/main/res/values-th/plurals.xml index 5beabec8fd..b918197050 100644 --- a/app/src/main/res/values-th/plurals.xml +++ b/app/src/main/res/values-th/plurals.xml @@ -528,10 +528,6 @@ คุณต้องเลือกเพื่อนออก 1 คน คุณต้องเลือกเพื่อนออก {number} คน - - บูสต์ - บูสต์ - 1 **{category}** ชุมชน {count} **{category}** ชุมชน diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 0473a2f794..17a3938bd6 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -3122,7 +3122,6 @@ ดูเหมือนว่าเซิร์ฟเวอร์ของคุณยังไม่พร้อมที่จะดูข้อมูลเชิงลึกอย่างเต็มรูปแบบ คุณจะสามารถเข้าถึงได้เพียงการวิเคราะห์ช่องประกาศและหน้าจอต้อนรับเท่านั้น แย่แล้ว เหมือนจะมีอะไรบางอย่างเสียหาย โปรดรีเฟรชแอปพลิเคชั่นและลองใหม่อีกครั้ง จากสัปดาห์ล่าสุด - คุณอยากได้แบนเนอร์สวย ๆ แบบนี้ไว้ในในเซิร์ฟเวอร์ตัวเองไหม คุณเพียงต้องใช้อีกแค่ **{boostsNeeded} {boostsNeeded}** คุณยังได้ช่วยปลดล็อกฟีเจอร์การปรับแต่งและการอัปเกรดการใช้งานเพิ่มเติมสำหรับทุกคนในเซิร์ฟเวอร์ อย่างเช่น บูสต์เซิร์ฟเวอร์เป็น {targetLevelOrPlan} เพื่อใช้แบนเนอร์เซิร์ฟเวอร์ใหม่แบบเคลื่อนไหวของคุณ บูสต์เซิร์ฟเวอร์เป็นแผน {targetLevelOrPlan} เพื่อใช้แบนเนอร์เซิร์ฟเวอร์ใหม่แบบเคลื่อนไหวของคุณ @@ -5979,6 +5978,7 @@ การชำระเงินถูกยกเลิก การยืนยันตัวตนการชำระเงินผิดพลาด ยืนยันการชำระเงินแล้ว + สกุลเงิน จ่ายด้วย ไม่สามารถยืนยันวิธีการชำระเงิน เอา !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ สีฟ้า เราได้ส่ง SMS ไปที่ !!{phone}!! แล้ว ป้อนรหัสยืนยัน - Snowsgiving - **เรามีบางอย่างให้คุณ…** - เข้าไปที่ discord.com เพื่อดูเซอร์ไพรส์สำหรับวันนี้ $[linkIcon](linkIconHook) - กิจกรรมตามเทศกาล เมื่อให้ข้อมูลการชำระเงินและยืนยันการชำระเงินนี้ จะถือว่าคุณอนุญาตให้ (ก) Discord และ Stripe ผู้ให้บริการการชำระเงินของเรา และ/หรือ PPRO ผู้ให้บริการในท้องถิ่น ส่งคำสั่งให้ธนาคารของคุณหักเงินจากบัญชีของคุณ และ (ข) ธนาคารของคุณหักเงินจากบัญชีของคุณตามคำสั่งดังกล่าว ตามสิทธิ์แล้ว คุณมีสิทธิ์ขอคืนเงินจากธนาคารของคุณภายใต้ข้อกำหนดและเงื่อนไขของข้อตกลงที่คุณทำร่วมกับธนาคาร การขอคืนเงินต้องร้องขอภายใน 8 สัปดาห์นับตั้งแต่วันที่เงินในบัญชีของคุณถูกหัก สิทธิ์ของคุณมีคำอธิบายอยู่ในรายการเดินบัญชีซึ่งคุณสามารถขอจากธนาคารของคุณได้ คุณยินยอมที่จะรับการแจ้งเตือนการหักเงินในอนาคตภายในระยะเวลาสูงสุด 2 วันก่อนที่การหักเงินดังกล่าวจะเกิดขึ้น เรียงลำดับ เรียงลำดับ @@ -8919,10 +8915,6 @@ มีปัญหาเหรอ? ขอบคุณที่รายงานปัญหาที่คุณเจอ! คำติชมของคุณช่วยให้เราปรับปรุงพื้นหลังวิดีโอได้ ลบพื้นหลัง - Blurple Blizzard - Winter Wilderness - Cracklin \'n\' Cozy - Snowsgiving Edition ปรับแต่งได้มากขึ้นด้วยการอัปโหลดพื้นหลังวิดีโอของคุณเอง ปรับแต่งอีโมจิแบบทั่วไป [และอื่น ๆ อีกมากมายด้วย Discord Nitro!](onLearnMore) ต้องการอัปโหลดพื้นหลังของคุณเองหรือไม่ โฟกัส diff --git a/app/src/main/res/values-tr/plurals.xml b/app/src/main/res/values-tr/plurals.xml index 245f48d3d8..fb4adaf690 100644 --- a/app/src/main/res/values-tr/plurals.xml +++ b/app/src/main/res/values-tr/plurals.xml @@ -528,10 +528,6 @@ 1 arkadaş seçimini kaldırmalısın. {number} arkadaş seçimini kaldırmalısın. - - takviyeye - takviyeye - 1 **{category}** topluluğu {count} **{category}** topluluğu diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 8348ceab81..f7cb95c659 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -3132,7 +3132,6 @@ Görünüşe göre sunucun tüm bilgilerin gösterilmesi için hazır değil. Yalnızca Duyuru Kanalları ve Hoş Geldin Ekranı verilerine erişebileceksin. Olamaz! Galiba bir şey bozuldu. Lütfen uygulamayı yenile ve tekrar dene. Mevcut haftadan - Sunucunda bunun gibi hoş bir afiş ister misin? Yalnızca **{boostsNeeded} {boostsNeeded} daha ihtiyacın var!** Ayrıca sunucudaki herkes için şunlar gibi daha fazla özelleştirme özellikleri ve yararlı yükseltmeler açmaya yardım edeceksin: Yeni hareketli sunucu afişini uygulamak için sunucuna takviye yaparak {targetLevelOrPlan} seviyesine yükselt. Yeni hareketli sunucu afişini uygulamak için sunucuna takviye yaparak {targetLevelOrPlan} planına yükselt. @@ -5988,6 +5987,7 @@ Ödeme İptal Edildi Ödeme Doğrulaması Başarısız Ödeme Doğrulandı + Para Birimi Ödeme birimi Ödeme yöntemi onaylanamıyor !!{planPremiumType}!! al @@ -7712,10 +7712,6 @@ Gök mavisi !!{phone}!! numaralı telefona SMS gönderildi. Onay kodunu gir. - Kışa Merhaba - **Sana bir sürprizimiz var…** - Bugünün $[linkIcon](linkIconHook) sürprizini görmek için discord.com adresini ziyaret et - Mevsim Etkinliği Ödeme bilgilerini sağlayarak ve bu ödemeyi onaylayarak (A) Discord\'u ve ödeme hizmeti sağlayıcımız Stripe\'ı ve/veya yerel hizmet sağlayıcısı PPRO\'yu hesabına ödeme tanımlamak için bankana talimat göndermek üzere ve (B) bankanı, bu talimatlara göre hesabına ödeme tanımlamak üzere yetkilendirirsin. Bankanla anlaşmandaki şartlar ve koşullara göre bankandan iade talep etme hakkın bulunur. İade talebi, hesabına ödeme tanımlandığı tarihten sonraki 8 hafta içinde yapılmalıdır. Hakların bankandan alabileceğin bir beyannamede açıklanır. Gelecekteki ödeme tanımlamaları yapılmadan 2 gün önce bildirim almayı kabul edersin. Sırala Sınıflandırılıyor @@ -8928,10 +8924,6 @@ Bir sorun mu yaşadın? Yaşadığın sorunu bildirdiğin için teşekkürler! Bu tarz geri bildirimler Video Arka Planlarını geliştirmemize yardımcı oluyor Arka Planı Kaldır - Mavimor Fırtına - Kış Vahşiliği - Çıtırtılı ve Sıcak Ateş - Kışa Merhaba Sürümü Kendi video arka planın ve özel küresel emojilerin gibi özelleştirmelere [ve daha fazlasına Discord Nitro](onLearnMore) ile eriş! Kendi arka planını yüklemek ister misin? Odakla diff --git a/app/src/main/res/values-uk/plurals.xml b/app/src/main/res/values-uk/plurals.xml index 52c46d400b..af9c592e10 100644 --- a/app/src/main/res/values-uk/plurals.xml +++ b/app/src/main/res/values-uk/plurals.xml @@ -605,11 +605,6 @@ Ти маєш скасувати вибір 1 друга. Ти маєш скасувати вибір {number} друзів. - - буст - бусти - бустів - 1 **{category}** спільнота {#} спільноти diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index bd7fd37192..2e69197d3f 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -3122,7 +3122,6 @@ Здається, твій сервер ще не зовсім готовий для перегляду повної аналітики. Поки ти матимеш доступ тільки до аналітики для каналів оголошень та вітального екрану. Овва! Здається, щось зламалося. Онови програму та спробуй ще раз. На цьому тижні - Хочете чудовий банер такого типу для свого сервера? Вам треба **{boostsNeeded} ще {boostsNeeded}!** Ви також допоможете відкрити більше індивідуальних функцій та корисних покращень для всіх користувачів сервера, наприклад: Покращте сервер бустами до {targetLevelOrPlan}, щоби застосувати новий анімований банер. Покращте сервер бустами до передплати {targetLevelOrPlan}, щоби застосувати новий анімований банер. @@ -5979,6 +5978,7 @@ Оплату скасовано Помилка підтвердження оплати Оплату підтверджено + Валюта Оплата в Не вдалося підтвердити платіжний метод Отримати !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Блакитний На номер !!{phone}!! було відправлено СМС-повідомлення. Введи свій код підтвердження - День снігу - **У нас для вас дещо є…** - Відвідайте discord.com, щоби побачити сюрприз $[linkIcon](linkIconHook) - Сезонна подія Надаючи інформацію про спосіб оплати та підтверджуючи оплату, ви надаєте право (A) Discord та Stripe, постачальнику послуг з обробки платежів, та/або PPRO, місцевому постачальнику послуг, надіслати вказівку вашому банку зняти кошти з вашого рахунку та (B) вашому банку зняти кошти з вашого рахунку відповідно до цієї вказівки. Ви маєте право на повернення коштів вашим банком згідно з умовами та положеннями договору з вашим банком. Запит на повернення коштів необхідно подати протягом 8 тижнів після списання коштів з вашого рахунку. Ваші права роз\'яснено в документі, який ви можете отримати у своєму банку. Ви погоджуєтеся отримувати сповіщення про наступні зняття коштів за 2 дні до здійснення платежу. Сортувати Cортування @@ -8919,10 +8915,6 @@ Виникла проблема? Дякуємо за повідомлення про проблему! Такі відгуки допомагають нам покращувати функцію тла для відео. Видалити тло - Синьо-фіолетова заметіль - Зимова завірюха - Затишні посиденьки - Видання «День снігу» Отримайте більше індивідуальних можливостей, завантаживши власне тло, особливі емодзі [та багато іншого з Discord Nitro!](onLearnMore) Хочете завантажити власне тло? Фокус diff --git a/app/src/main/res/values-vi/plurals.xml b/app/src/main/res/values-vi/plurals.xml index 35d6a0ce14..e7e3186c3d 100644 --- a/app/src/main/res/values-vi/plurals.xml +++ b/app/src/main/res/values-vi/plurals.xml @@ -528,10 +528,6 @@ Bạn phải bỏ chọn 1 người bạn. Bạn phải bỏ chọn {number} người bạn. - - nâng cấp - nâng cấp - 1 **{category}** cộng đồng {count} **{category}** cộng đồng diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index b6597ab68a..8ff547b81e 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -3122,7 +3122,6 @@ Có vẻ như máy chủ của bạn vẫn chưa có đủ dữ liệu để xem thống kê đầy đủ. Bạn chỉ có quyền xem dữ liệu phân tích của Kênh Thông Báo và Màn Hình Chào Mừng. Ôi không! Có vẻ như xảy ra lỗi rồi. Hãy làm mới ứng dụng và thử lại xem. Từ tuần gần nhất - Bạn có muốn có một biểu ngữ ngọt ngào như này trong máy chủ của mình không? Bạn chỉ cần **{boostsNeeded} thêm {boostsNeeded}nữa thôi!** Bạn cũng sẽ giúp mở khóa thêm các tính năng tùy chỉnh và nâng cấp tiện ích cho mọi người trong máy chủ như: Nâng cấp máy chủ của bạn lên cấp {targetLevelOrPlan} để áp dụng biểu ngữ máy chủ hoạt hình mới. Nâng cấp máy chủ của bạn lên gói cấp {targetLevelOrPlan} để áp dụng biểu ngữ máy chủ hoạt hình mới. @@ -5979,6 +5978,7 @@ Thanh Toán Bị Hủy Xác Thực Thanh Toán Thất Bại Xác Thực Thanh Toán Thành Công + Tiền tệ Thanh toán bằng Không thể xác nhận phương thức thanh toán Nhận !!{planPremiumType}!! @@ -7703,10 +7703,6 @@ Xanh da trời Một tin nhắn SMS đã được gửi đến !!{phone}!!. Nhập mã xác minh của bạn - Tuyết Tặng Quà - **Chúng tôi có thứ này cho bạn…** - Hãy truy cập discord.com hôm nay để nhận được $[linkIcon](linkIconHook) - Sự Kiện Mùa Bằng việc cung cấp thông tin thanh toán của bạn và xác nhận thanh toán, bạn cho phép (A) Discord và Stripe, nhà cung cấp dịch vụ thanh toán của chúng tôi và/hoặc PPRO, nhà cung cấp dịch vụ thanh toán địa phương, gửi hướng dẫn cho ngân hàng để ghi nợ tài khoản của bạn và (B) ngân hàng của bạn để ghi nợ tài khoản của bạn theo các hướng dẫn đó. Là một phần trong quyền lợi của bạn, bạn được quyền nhận hoàn tiền từ ngân hàng theo các điều khoản và điều kiện trong thỏa thuận với ngân hàng của bạn. Khoản hoàn tiền phải được yêu cầu trong vòng 8 tuần kể từ ngày tài khoản của bạn bắt đầu bị ghi nợ. Quyền lợi của bạn được giải thích trong tuyên bố mà bạn có thể nhận được từ ngân hàng của bạn. Bạn đồng ý nhận thông báo cho các khoản ghi nợ trong tương lai tối đa 2 ngày trước bị ghi nợ. Sắp xếp Đang sắp xếp @@ -8919,10 +8915,6 @@ Gặp lỗi? Cảm ơn bạn đã báo lỗi! Phản hồi của bạn sẽ giúp chúng tôi cải thiện Video Nền tốt hơn Gỡ bỏ nền - Bão Tuyết Mịt Mù - Mùa Đông Hoang Vu - Ấm Áp Đêm Đông - Phiên Bản Tuyết Tặng Quà Nhận nhiều tùy chỉnh hơn bằng cách tải lên nền video của riêng bạn, emoji tùy chỉnh toàn cầu, [và hơn thế nữa với Discord Nitro!](onLearnMore) Muốn tải lên nền của riêng bạn? Dạng tiêu điểm diff --git a/app/src/main/res/values-zh-rCN/plurals.xml b/app/src/main/res/values-zh-rCN/plurals.xml index 6dc4971221..3a5dc8969b 100644 --- a/app/src/main/res/values-zh-rCN/plurals.xml +++ b/app/src/main/res/values-zh-rCN/plurals.xml @@ -528,10 +528,6 @@ 您必须取消选择1位朋友。 您必须取消选择{number}位朋友。 - - 个助力 - 个助力 - 1个**{category}**社区 {count}个**{category}**社区 diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 501edcdb04..cdd92f8b6e 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -3127,7 +3127,6 @@ 看起来您的服务器还没有准备好让您来查看它的完整信息。您目前只能访问公告频道和欢迎界面分析数据。 啊哦!看来出故障啦。请刷新APP,然后再试一次。 来自最近一周 - 您也想给自己的服务器来一个这样的炫酷横幅吗?只要再有 **{boostsNeeded} {boostsNeeded}就可以了!** 您还可以帮助服务器的所有成员解锁更多个性化功能和实用性升级,比如: 助力您的服务器至 {targetLevelOrPlan},即可使用新的动画服务器横幅。 助力您的服务器完成“{targetLevelOrPlan}”方案,即可使用新的动画服务器横幅。 @@ -5983,6 +5982,7 @@ 支付已取消 支付认证失败 支付已认证 + 货币 支付 无法确认付款方式 获得 !!{planPremiumType}!! @@ -7707,10 +7707,6 @@ 天蓝色 一条 SMS 已发送至!!{phone}!!。 请输入您的确认码 - 雪悦节 - **我们有东西要给您……** - 前往 discord.com 查看今日惊喜$[链接图标](linkIconHook) - 季节活动 提供您的支付信息并确认此付款,即视为您授权 (A) Discord、我们的支付服务提供商:Stripe,以及/或者 PPRO,及其本地服务提供商,向您的银行发送指示以从您的账户扣除款项,且视为您授权 (B) 您的银行根据前述指示进行相应扣款操作。作为您权利的一部分,您有权根据自身与银行所签订的合同条款,从您的银行处获得退款。退款必须在您账户被扣款之日起 8 周内提出。您可以从您的银行对账单处获取关于您权利的解释。您同意在未来扣款发生至多 2 天前接收提示信息。 排序 排序中 @@ -8923,10 +8919,6 @@ 遇到了问题? 感谢您报告自己遇到的问题!您的用户反馈能帮助我们不断改善视频背景功能 移除背景 - Blurple 暴雪 - 冬日原野 - 慵懒炉火 - 雪悦节版本 通过上传自己的视频背景、自定义通用表情符号,来让自己独具一格吧,[更多功能尽在 Discord Nitro!](onLearnMore) 想要上传您自己的背景图片? 聚焦一人 diff --git a/app/src/main/res/values-zh-rTW/plurals.xml b/app/src/main/res/values-zh-rTW/plurals.xml index 43dfae9ef6..fe8e7183a0 100644 --- a/app/src/main/res/values-zh-rTW/plurals.xml +++ b/app/src/main/res/values-zh-rTW/plurals.xml @@ -528,10 +528,6 @@ 你必須取消選取 1 位好友。 你必須取消選取 {number} 位好友。 - - - - 1 **{category}**個社群 {count} **{category}** 個社群 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 2dff7309ff..c285f197d0 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3127,7 +3127,6 @@ 看來您的伺服器還無法看到所有內容,您只能存取公告頻道和歡迎畫面的分析資料。 呃喔!看來出了點問題。請更新應用程式,再試一次。 最近一星期 - 您想在伺服器上放這樣的吸睛橫幅廣告嗎?您只需要**{boostsNeeded}加強{boostsNeeded}!** 您也可以為伺服器的所有人解鎖,讓每個人享有更多自訂功能和功能升級,例如: 將您的伺服器加成至 {targetLevelOrPlan},套用您的全新動態伺服器橫幅。 將您的伺服器加成至 {targetLevelOrPlan} 方案,套用您的全新動態伺服器橫幅。 @@ -5983,6 +5982,7 @@ 付款已取消 付款授權失敗 付款已授權 + 貨幣 付款方式 無法確認付款方式 取得 !!{planPremiumType}!! @@ -7707,10 +7707,6 @@ 天藍色 已傳送簡訊至 !!{phone}!!。 請輸入您的確認代碼 - 獻雪節 - **我們有些東西給您……** - 前往 discord.com 以獲得今天的驚喜 $[linkIcon](linkIconHook) - 季節活動 提供您的付款資訊並確認此付款即代表您授權 (A) Discord、我們的付款服務提供者 Stripe 及/或其本地服務提供者 PPRO 傳送指示給您的銀行以向您的帳戶收款,並授權 (B) 您的銀行根據該指示向您的帳戶收款。作為您的權利之一,您有權根據您與銀行的條款與條件協議,向您的銀行申請退款。退款必須於帳戶扣款當日算起 8 週內提出。您可以向您的銀行取得說明權利的聲明書。您同意於扣款前 2 日接收下次扣款的通知。 排序 排序中 @@ -8928,10 +8924,6 @@ 遇上問題了嗎? 感謝您回報問題!像您這樣的意見回饋有助於我們改善視訊背景 移除背景 - 藍紫暴風雪 - 冬季荒野 - 劈啪舒爽 - 獻雪節版 取得 Discord Nitro,即可獲得專屬視訊背景上傳、自訂通用表情符號等自訂功能,還能盡享[更多精彩內容!](onLearnMore) 想要上傳您專屬的背景嗎? 專注模式 diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index a87e5e9536..4d3f8cf4f8 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -4869,313 +4869,314 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14723,9594 +14724,9591 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7f48a6646a..231f414268 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -103,6 +103,9 @@ Active Threads More Active Threads See All + Learn more here + In the next few weeks Activities will be temporarily unavailable as we make some improvements. Thanks for your patience! + Hang tight, Activities fans Activity Yes, count me in! When a friend starts an activity—like playing a game or hanging out on voice—we’ll show it here! @@ -658,6 +661,7 @@ Applications and Connections Here\'s all the apps that are doing super cool things to make your Discord experience super cooler. If it gets too chilly, you can remove them at any time. Apps + Archive & Lock Thread Archive Now Archive Settings Archive Thread @@ -1447,7 +1451,7 @@ Custom Presets Use Default - 3e7c720cee004ddd8e9709813fa4a03c + c11fef90b73544f1b93b473189780048 Slash command application {applicationName} {applicationName} application {applicationName} application selected @@ -3256,7 +3260,8 @@ Looks like your server isn’t quite ready to see full insights. You will only have access to Announcement Channels and Welcome Screen analytics. Uh oh! Looks like something broke. Please refresh the application and try again. From the most recent week - Do you want a sweet banner like this for your server? You only need **{boostsNeeded} more {boostsNeeded}!** + Want your server to feel unique? Set a server banner with **{boostsNeeded} more {boostsNeeded}.** + Boost This Server You’ll also help unlock more customization features and utility upgrades for everyone in the server like: Boost your server to {targetLevelOrPlan} to apply your new animated server banner. Boost your server to the {targetLevelOrPlan} plan to apply your new animated server banner. @@ -5907,8 +5912,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 @@ -6458,6 +6463,7 @@ Payment Canceled Payment Authentication Failed Payment Authenticated + Currency Paying in Unable to confirm payment method Get !!{planPremiumType}!! @@ -6595,6 +6601,8 @@ Stay On Top \"%1$s\" copied to clipboard. Nitro + They grow up so fast :\') and we couldn\'t have done it without subscribers like you. Watch out for more Nitro goodies this year, and thanks for being awesome. + Happy 5th Birthday Nitro! Nitro Activated Oops, something went wrong… Subscriber since {date} @@ -7971,8 +7979,6 @@ Search Tenor Search with Google Searching… - Decorates the app for a special occasion. Disable to switch back to normal. - Show Seasonal Theme Customize your gift BOX: Your friend will see this image when they receive their gift. Open Gift @@ -8256,10 +8262,6 @@ Sky blue An SMS was sent to !!{phone}!!. Enter your confirmation code - Snowsgiving - **We got you something…** - Visit discord.com for today’s surprise $[linkIcon](linkIconHook) - Seasonal Event By providing your payment information and confirming this payment, you authorise (A) Discord and Stripe, our payment service provider and/or PPRO, its local service provider, to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with those instructions. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights are explained in a statement that you can obtain from your bank. You agree to receive notifications for future debits up to 2 days before they occur. Sort Sorting @@ -8284,7 +8286,6 @@ Chaos Classic Sound Pack - Snowsgiving My Uncle Lil Yachty Sounds @@ -9529,10 +9530,6 @@ Had an issue? Thanks for reporting your issue! Feedback like yours helps us improve Video Backgrounds Remove Background - Blurple Blizzard - Winter Wilderness - Cracklin \'n\' Cozy - Snowsgiving Edition Get more customization by uploading your own video background, custom global emojis, [and more with Discord Nitro!](onLearnMore) Wanna upload your own background? Focus