diff --git a/app/build.gradle b/app/build.gradle index ae7e928c57..f92b48d33a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 29 - versionCode 94201 - versionName "94.1 - Alpha" + versionCode 94202 + versionName "94.2 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 551f66afb6..832760da95 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/c/i/e/p/b/a.java b/app/src/main/java/c/i/e/p/b/a.java index fac09ccf85..764fc2f5d0 100644 --- a/app/src/main/java/c/i/e/p/b/a.java +++ b/app/src/main/java/c/i/e/p/b/a.java @@ -5,10 +5,9 @@ import androidx.core.view.InputDeviceCompat; import androidx.media.AudioAttributesCompat; import com.discord.utilities.font.FontUtils; import com.discord.utilities.voice.ScreenShareManager; -import com.discord.widgets.guildscheduledevent.GuildScheduledEventSettingsViewModel; import com.google.android.material.behavior.HideBottomViewOnScrollBehavior; import com.google.android.material.snackbar.BaseTransientBottomBar; /* compiled from: BitMatrixParser */ public final class a { - public static final int[][] a = {new int[]{121, 120, 127, 126, 133, 132, 139, 138, 145, 144, 151, FontUtils.MAX_FONT_SCALING, 157, 156, 163, 162, 169, 168, HideBottomViewOnScrollBehavior.EXIT_ANIMATION_DURATION, 174, 181, BaseTransientBottomBar.ANIMATION_FADE_DURATION, 187, 186, 193, 192, 199, 198, -2, -2}, new int[]{123, 122, 129, 128, 135, 134, 141, 140, 147, 146, 153, 152, 159, 158, 165, 164, 171, 170, 177, 176, 183, 182, 189, 188, 195, 194, 201, 200, 816, -3}, new int[]{125, 124, 131, 130, 137, 136, 143, 142, 149, 148, 155, 154, 161, 160, 167, 166, 173, 172, 179, 178, 185, 184, 191, 190, 197, 196, 203, 202, 818, 817}, new int[]{283, 282, 277, 276, 271, 270, 265, 264, 259, 258, 253, 252, 247, 246, 241, 240, 235, 234, 229, 228, 223, 222, 217, 216, 211, 210, 205, 204, 819, -3}, new int[]{285, 284, 279, 278, AudioAttributesCompat.FLAG_ALL_PUBLIC, 272, 267, 266, 261, 260, 255, 254, 249, 248, 243, 242, 237, 236, 231, 230, HideBottomViewOnScrollBehavior.ENTER_ANIMATION_DURATION, 224, 219, 218, 213, 212, 207, 206, 821, 820}, new int[]{287, 286, 281, 280, 275, 274, 269, 268, 263, 262, 257, 256, 251, 250, 245, 244, 239, 238, 233, 232, 227, 226, 221, 220, 215, 214, 209, 208, 822, -3}, new int[]{289, ScreenShareManager.THUMBNAIL_HEIGHT_PX, 295, 294, 301, 300, 307, 306, 313, 312, 319, 318, 325, 324, 331, 330, 337, 336, 343, 342, 349, 348, 355, 354, 361, 360, 367, 366, 824, 823}, new int[]{291, 290, 297, 296, 303, 302, 309, 308, 315, 314, 321, 320, 327, 326, 333, 332, 339, 338, 345, 344, 351, 350, 357, 356, 363, 362, 369, 368, 825, -3}, new int[]{293, 292, 299, 298, 305, 304, 311, 310, 317, 316, 323, 322, 329, 328, 335, 334, 341, 340, 347, 346, 353, 352, 359, 358, 365, 364, 371, 370, 827, 826}, new int[]{409, 408, 403, 402, 397, 396, 391, 390, 79, 78, -2, -2, 13, 12, 37, 36, 2, -1, 44, 43, 109, 108, 385, 384, 379, 378, GuildScheduledEventSettingsViewModel.SAMPLE_USER_COUNT, 372, 828, -3}, new int[]{411, 410, 405, 404, 399, 398, 393, 392, 81, 80, 40, -2, 15, 14, 39, 38, 3, -1, -1, 45, 111, 110, 387, 386, 381, 380, 375, 374, 830, 829}, new int[]{413, 412, 407, 406, 401, 400, 395, 394, 83, 82, 41, -3, -3, -3, -3, -3, 5, 4, 47, 46, 113, 112, 389, 388, 383, 382, 377, 376, 831, -3}, new int[]{415, 414, 421, 420, 427, 426, 103, 102, 55, 54, 16, -3, -3, -3, -3, -3, -3, -3, 20, 19, 85, 84, 433, 432, 439, 438, 445, 444, 833, 832}, new int[]{417, 416, 423, 422, 429, 428, 105, 104, 57, 56, -3, -3, -3, -3, -3, -3, -3, -3, 22, 21, 87, 86, 435, 434, 441, 440, 447, 446, 834, -3}, new int[]{419, 418, 425, 424, 431, 430, 107, 106, 59, 58, -3, -3, -3, -3, -3, -3, -3, -3, -3, 23, 89, 88, 437, 436, 443, 442, 449, 448, 836, 835}, new int[]{481, 480, 475, 474, 469, 468, 48, -2, 30, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, 0, 53, 52, 463, 462, 457, 456, 451, 450, 837, -3}, new int[]{483, 482, 477, 476, 471, 470, 49, -1, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1, 465, 464, 459, 458, 453, 452, 839, 838}, new int[]{485, 484, 479, 478, 473, 472, 51, 50, 31, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, 1, -2, 42, 467, 466, 461, 460, 455, 454, 840, -3}, new int[]{487, 486, 493, 492, 499, 498, 97, 96, 61, 60, -3, -3, -3, -3, -3, -3, -3, -3, -3, 26, 91, 90, 505, 504, FrameMetricsAggregator.EVERY_DURATION, 510, 517, 516, 842, 841}, new int[]{489, 488, 495, 494, 501, 500, 99, 98, 63, 62, -3, -3, -3, -3, -3, -3, -3, -3, 28, 27, 93, 92, 507, 506, InputDeviceCompat.SOURCE_DPAD, 512, 519, 518, 843, -3}, new int[]{491, 490, 497, 496, 503, 502, 101, 100, 65, 64, 17, -3, -3, -3, -3, -3, -3, -3, 18, 29, 95, 94, 509, 508, 515, 514, 521, 520, 845, 844}, new int[]{559, 558, 553, 552, 547, 546, 541, 540, 73, 72, 32, -3, -3, -3, -3, -3, -3, 10, 67, 66, 115, 114, 535, 534, 529, 528, 523, 522, 846, -3}, new int[]{561, 560, 555, 554, 549, 548, 543, 542, 75, 74, -2, -1, 7, 6, 35, 34, 11, -2, 69, 68, 117, 116, 537, 536, 531, 530, 525, 524, 848, 847}, new int[]{563, 562, 557, 556, 551, 550, 545, 544, 77, 76, -2, 33, 9, 8, 25, 24, -1, -2, 71, 70, 119, 118, 539, 538, 533, 532, 527, 526, 849, -3}, new int[]{565, 564, 571, 570, 577, 576, 583, 582, 589, 588, 595, 594, 601, 600, 607, 606, 613, 612, 619, 618, 625, 624, 631, 630, 637, 636, 643, 642, 851, 850}, new int[]{567, 566, 573, 572, 579, 578, 585, 584, 591, 590, 597, 596, 603, 602, 609, 608, 615, 614, 621, 620, 627, 626, 633, 632, 639, 638, 645, 644, 852, -3}, new int[]{569, 568, 575, 574, 581, 580, 587, 586, 593, 592, 599, 598, 605, 604, 611, 610, 617, 616, 623, 622, 629, 628, 635, 634, 641, 640, 647, 646, 854, 853}, new int[]{727, 726, 721, 720, 715, 714, 709, 708, 703, 702, 697, 696, 691, 690, 685, 684, 679, 678, 673, 672, 667, 666, 661, 660, 655, 654, 649, 648, 855, -3}, new int[]{729, 728, 723, 722, 717, 716, 711, 710, 705, 704, 699, 698, 693, 692, 687, 686, 681, 680, 675, 674, 669, 668, 663, 662, 657, 656, 651, 650, 857, 856}, new int[]{731, 730, 725, 724, 719, 718, 713, 712, 707, 706, 701, 700, 695, 694, 689, 688, 683, 682, 677, 676, 671, 670, 665, 664, 659, 658, 653, 652, 858, -3}, new int[]{733, 732, 739, 738, 745, 744, 751, 750, 757, 756, 763, 762, 769, 768, 775, 774, 781, 780, 787, 786, 793, 792, 799, 798, 805, 804, 811, 810, 860, 859}, new int[]{735, 734, 741, 740, 747, 746, 753, 752, 759, 758, 765, 764, 771, 770, 777, 776, 783, 782, 789, 788, 795, 794, 801, 800, 807, 806, 813, 812, 861, -3}, new int[]{737, 736, 743, 742, 749, 748, 755, 754, 761, 760, 767, 766, 773, 772, 779, 778, 785, 784, 791, 790, 797, 796, 803, 802, 809, 808, 815, 814, 863, 862}}; + public static final int[][] a = {new int[]{121, 120, 127, 126, 133, 132, 139, 138, 145, 144, 151, FontUtils.MAX_FONT_SCALING, 157, 156, 163, 162, 169, 168, HideBottomViewOnScrollBehavior.EXIT_ANIMATION_DURATION, 174, 181, BaseTransientBottomBar.ANIMATION_FADE_DURATION, 187, 186, 193, 192, 199, 198, -2, -2}, new int[]{123, 122, 129, 128, 135, 134, 141, 140, 147, 146, 153, 152, 159, 158, 165, 164, 171, 170, 177, 176, 183, 182, 189, 188, 195, 194, 201, 200, 816, -3}, new int[]{125, 124, 131, 130, 137, 136, 143, 142, 149, 148, 155, 154, 161, 160, 167, 166, 173, 172, 179, 178, 185, 184, 191, 190, 197, 196, 203, 202, 818, 817}, new int[]{283, 282, 277, 276, 271, 270, 265, 264, 259, 258, 253, 252, 247, 246, 241, 240, 235, 234, 229, 228, 223, 222, 217, 216, 211, 210, 205, 204, 819, -3}, new int[]{285, 284, 279, 278, AudioAttributesCompat.FLAG_ALL_PUBLIC, 272, 267, 266, 261, 260, 255, 254, 249, 248, 243, 242, 237, 236, 231, 230, HideBottomViewOnScrollBehavior.ENTER_ANIMATION_DURATION, 224, 219, 218, 213, 212, 207, 206, 821, 820}, new int[]{287, 286, 281, 280, 275, 274, 269, 268, 263, 262, 257, 256, 251, 250, 245, 244, 239, 238, 233, 232, 227, 226, 221, 220, 215, 214, 209, 208, 822, -3}, new int[]{289, ScreenShareManager.THUMBNAIL_HEIGHT_PX, 295, 294, 301, 300, 307, 306, 313, 312, 319, 318, 325, 324, 331, 330, 337, 336, 343, 342, 349, 348, 355, 354, 361, 360, 367, 366, 824, 823}, new int[]{291, 290, 297, 296, 303, 302, 309, 308, 315, 314, 321, 320, 327, 326, 333, 332, 339, 338, 345, 344, 351, 350, 357, 356, 363, 362, 369, 368, 825, -3}, new int[]{293, 292, 299, 298, 305, 304, 311, 310, 317, 316, 323, 322, 329, 328, 335, 334, 341, 340, 347, 346, 353, 352, 359, 358, 365, 364, 371, 370, 827, 826}, new int[]{409, 408, 403, 402, 397, 396, 391, 390, 79, 78, -2, -2, 13, 12, 37, 36, 2, -1, 44, 43, 109, 108, 385, 384, 379, 378, 373, 372, 828, -3}, new int[]{411, 410, 405, 404, 399, 398, 393, 392, 81, 80, 40, -2, 15, 14, 39, 38, 3, -1, -1, 45, 111, 110, 387, 386, 381, 380, 375, 374, 830, 829}, new int[]{413, 412, 407, 406, 401, 400, 395, 394, 83, 82, 41, -3, -3, -3, -3, -3, 5, 4, 47, 46, 113, 112, 389, 388, 383, 382, 377, 376, 831, -3}, new int[]{415, 414, 421, 420, 427, 426, 103, 102, 55, 54, 16, -3, -3, -3, -3, -3, -3, -3, 20, 19, 85, 84, 433, 432, 439, 438, 445, 444, 833, 832}, new int[]{417, 416, 423, 422, 429, 428, 105, 104, 57, 56, -3, -3, -3, -3, -3, -3, -3, -3, 22, 21, 87, 86, 435, 434, 441, 440, 447, 446, 834, -3}, new int[]{419, 418, 425, 424, 431, 430, 107, 106, 59, 58, -3, -3, -3, -3, -3, -3, -3, -3, -3, 23, 89, 88, 437, 436, 443, 442, 449, 448, 836, 835}, new int[]{481, 480, 475, 474, 469, 468, 48, -2, 30, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, 0, 53, 52, 463, 462, 457, 456, 451, 450, 837, -3}, new int[]{483, 482, 477, 476, 471, 470, 49, -1, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1, 465, 464, 459, 458, 453, 452, 839, 838}, new int[]{485, 484, 479, 478, 473, 472, 51, 50, 31, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, 1, -2, 42, 467, 466, 461, 460, 455, 454, 840, -3}, new int[]{487, 486, 493, 492, 499, 498, 97, 96, 61, 60, -3, -3, -3, -3, -3, -3, -3, -3, -3, 26, 91, 90, 505, 504, FrameMetricsAggregator.EVERY_DURATION, 510, 517, 516, 842, 841}, new int[]{489, 488, 495, 494, 501, 500, 99, 98, 63, 62, -3, -3, -3, -3, -3, -3, -3, -3, 28, 27, 93, 92, 507, 506, InputDeviceCompat.SOURCE_DPAD, 512, 519, 518, 843, -3}, new int[]{491, 490, 497, 496, 503, 502, 101, 100, 65, 64, 17, -3, -3, -3, -3, -3, -3, -3, 18, 29, 95, 94, 509, 508, 515, 514, 521, 520, 845, 844}, new int[]{559, 558, 553, 552, 547, 546, 541, 540, 73, 72, 32, -3, -3, -3, -3, -3, -3, 10, 67, 66, 115, 114, 535, 534, 529, 528, 523, 522, 846, -3}, new int[]{561, 560, 555, 554, 549, 548, 543, 542, 75, 74, -2, -1, 7, 6, 35, 34, 11, -2, 69, 68, 117, 116, 537, 536, 531, 530, 525, 524, 848, 847}, new int[]{563, 562, 557, 556, 551, 550, 545, 544, 77, 76, -2, 33, 9, 8, 25, 24, -1, -2, 71, 70, 119, 118, 539, 538, 533, 532, 527, 526, 849, -3}, new int[]{565, 564, 571, 570, 577, 576, 583, 582, 589, 588, 595, 594, 601, 600, 607, 606, 613, 612, 619, 618, 625, 624, 631, 630, 637, 636, 643, 642, 851, 850}, new int[]{567, 566, 573, 572, 579, 578, 585, 584, 591, 590, 597, 596, 603, 602, 609, 608, 615, 614, 621, 620, 627, 626, 633, 632, 639, 638, 645, 644, 852, -3}, new int[]{569, 568, 575, 574, 581, 580, 587, 586, 593, 592, 599, 598, 605, 604, 611, 610, 617, 616, 623, 622, 629, 628, 635, 634, 641, 640, 647, 646, 854, 853}, new int[]{727, 726, 721, 720, 715, 714, 709, 708, 703, 702, 697, 696, 691, 690, 685, 684, 679, 678, 673, 672, 667, 666, 661, 660, 655, 654, 649, 648, 855, -3}, new int[]{729, 728, 723, 722, 717, 716, 711, 710, 705, 704, 699, 698, 693, 692, 687, 686, 681, 680, 675, 674, 669, 668, 663, 662, 657, 656, 651, 650, 857, 856}, new int[]{731, 730, 725, 724, 719, 718, 713, 712, 707, 706, 701, 700, 695, 694, 689, 688, 683, 682, 677, 676, 671, 670, 665, 664, 659, 658, 653, 652, 858, -3}, new int[]{733, 732, 739, 738, 745, 744, 751, 750, 757, 756, 763, 762, 769, 768, 775, 774, 781, 780, 787, 786, 793, 792, 799, 798, 805, 804, 811, 810, 860, 859}, new int[]{735, 734, 741, 740, 747, 746, 753, 752, 759, 758, 765, 764, 771, 770, 777, 776, 783, 782, 789, 788, 795, 794, 801, 800, 807, 806, 813, 812, 861, -3}, new int[]{737, 736, 743, 742, 749, 748, 755, 754, 761, 760, 767, 766, 773, 772, 779, 778, 785, 784, 791, 790, 797, 796, 803, 802, 809, 808, 815, 814, 863, 862}}; } diff --git a/app/src/main/java/c/i/e/r/a.java b/app/src/main/java/c/i/e/r/a.java index 1a8fe7d571..8083c56bbd 100644 --- a/app/src/main/java/c/i/e/r/a.java +++ b/app/src/main/java/c/i/e/r/a.java @@ -10,7 +10,6 @@ import com.discord.restapi.RestAPIAbortCodes; import com.discord.utilities.font.FontUtils; import com.discord.utilities.guilds.GuildConstantsKt; import com.discord.utilities.voice.ScreenShareManager; -import com.discord.widgets.guildscheduledevent.GuildScheduledEventSettingsViewModel; import com.discord.widgets.settings.profile.WidgetSettingsUserProfile; import com.google.android.material.behavior.HideBottomViewOnScrollBehavior; import com.google.android.material.snackbar.BaseTransientBottomBar; @@ -22,7 +21,7 @@ public final class a { public static final int[] b = {66142, 66170, 66206, 66236, 66290, 66292, 66350, 66382, 66396, 66454, 66470, 66476, 66594, 66600, 66614, 66626, 66628, 66632, 66640, 66654, 66662, 66668, 66682, 66690, 66718, 66720, 66748, 66758, 66776, 66798, 66802, 66804, 66820, 66824, 66832, 66846, 66848, 66876, 66880, 66936, 66950, 66956, 66968, 66992, 67006, 67022, 67036, 67042, 67044, 67048, 67062, 67118, 67150, 67164, 67214, 67228, 67256, 67294, 67322, 67350, 67366, 67372, 67398, 67404, 67416, 67438, 67474, 67476, 67490, 67492, 67496, 67510, 67618, 67624, 67650, 67656, 67664, 67678, 67686, 67692, 67706, 67714, 67716, 67728, 67742, 67744, 67772, 67782, 67788, 67800, 67822, 67826, 67828, 67842, 67848, 67870, 67872, 67900, 67904, 67960, 67974, 67992, 68016, 68030, 68046, 68060, 68066, 68068, 68072, 68086, 68104, 68112, 68126, 68128, 68156, 68160, 68216, 68336, 68358, 68364, 68376, 68400, 68414, 68448, 68476, 68494, 68508, 68536, 68546, 68548, 68552, 68560, 68574, 68582, 68588, 68654, 68686, 68700, 68706, 68708, 68712, 68726, 68750, 68764, 68792, 68802, 68804, 68808, 68816, 68830, 68838, 68844, 68858, 68878, 68892, 68920, 68976, 68990, 68994, 68996, 69000, 69008, 69022, 69024, 69052, 69062, 69068, 69080, 69102, 69106, 69108, 69142, 69158, 69164, 69190, 69208, 69230, 69254, 69260, 69272, 69296, 69310, 69326, 69340, 69386, 69394, 69396, 69410, 69416, 69430, 69442, 69444, 69448, 69456, 69470, 69478, 69484, 69554, 69556, 69666, 69672, 69698, 69704, 69712, 69726, 69754, 69762, 69764, 69776, 69790, 69792, 69820, 69830, 69836, 69848, 69870, 69874, 69876, 69890, 69918, 69920, 69948, 69952, 70008, 70022, 70040, 70064, 70078, 70094, 70108, 70114, 70116, 70120, 70134, 70152, 70174, 70176, 70264, 70384, 70412, 70448, 70462, 70496, 70524, 70542, 70556, 70584, 70594, 70600, 70608, 70622, 70630, 70636, 70664, 70672, 70686, 70688, 70716, 70720, 70776, 70896, 71136, 71180, 71192, 71216, 71230, 71264, 71292, 71360, 71416, 71452, 71480, 71536, 71550, 71554, 71556, 71560, 71568, 71582, 71584, 71612, 71622, 71628, 71640, 71662, 71726, 71732, 71758, 71772, 71778, 71780, 71784, 71798, 71822, 71836, 71864, 71874, 71880, 71888, 71902, 71910, 71916, 71930, 71950, 71964, 71992, 72048, 72062, 72066, 72068, 72080, 72094, 72096, 72124, 72134, 72140, 72152, 72174, 72178, 72180, 72206, 72220, 72248, 72304, 72318, 72416, 72444, 72456, 72464, 72478, 72480, 72508, 72512, 72568, 72588, 72600, 72624, 72638, 72654, 72668, 72674, 72676, 72680, 72694, 72726, 72742, 72748, 72774, 72780, 72792, 72814, 72838, 72856, 72880, 72894, 72910, 72924, 72930, 72932, 72936, 72950, 72966, 72972, 72984, 73008, 73022, 73056, 73084, 73102, 73116, 73144, 73156, 73160, 73168, 73182, 73190, 73196, 73210, 73226, 73234, 73236, 73250, 73252, 73256, 73270, 73282, 73284, 73296, 73310, 73318, 73324, 73346, 73348, 73352, 73360, 73374, 73376, 73404, 73414, 73420, 73432, 73454, 73498, 73518, 73522, 73524, 73550, 73564, 73570, 73572, 73576, 73590, 73800, 73822, 73858, 73860, 73872, 73886, 73888, 73916, 73944, 73970, 73972, 73992, 74014, 74016, 74044, 74048, 74104, 74118, 74136, 74160, 74174, 74210, 74212, 74216, 74230, 74244, 74256, 74270, 74272, 74360, 74480, 74502, 74508, 74544, 74558, 74592, 74620, 74638, 74652, 74680, 74690, 74696, 74704, 74726, 74732, 74782, 74784, 74812, 74992, 75232, 75288, 75326, 75360, 75388, 75456, 75512, 75576, 75632, 75646, 75650, 75652, 75664, 75678, 75680, 75708, 75718, 75724, 75736, 75758, 75808, 75836, 75840, 75896, 76016, 76256, 76736, 76824, 76848, 76862, 76896, 76924, 76992, 77048, 77296, 77340, 77368, 77424, 77438, 77536, 77564, 77572, 77576, 77584, 77600, 77628, 77632, 77688, 77702, 77708, 77720, 77744, 77758, 77774, 77788, 77870, 77902, 77916, 77922, 77928, 77966, 77980, 78008, 78018, 78024, 78032, 78046, 78060, 78074, 78094, 78136, 78192, 78206, 78210, 78212, 78224, 78238, 78240, 78268, 78278, 78284, 78296, 78322, 78324, 78350, 78364, 78448, 78462, 78560, 78588, 78600, 78622, 78624, 78652, 78656, 78712, 78726, 78744, 78768, 78782, 78798, 78812, 78818, 78820, 78824, 78838, 78862, 78876, 78904, 78960, 78974, 79072, 79100, 79296, 79352, 79368, 79376, 79390, 79392, 79420, 79424, 79480, 79600, 79628, 79640, 79664, 79678, 79712, 79740, 79772, 79800, 79810, 79812, 79816, 79824, 79838, 79846, 79852, 79894, 79910, 79916, 79942, 79948, 79960, 79982, 79988, 80006, 80024, 80048, 80062, 80078, 80092, 80098, 80100, 80104, 80134, 80140, 80176, 80190, 80224, 80252, 80270, 80284, 80312, 80328, 80336, 80350, 80358, 80364, 80378, 80390, 80396, 80408, 80432, 80446, 80480, 80508, 80576, 80632, 80654, 80668, 80696, 80752, 80766, 80776, 80784, 80798, 80800, 80828, 80844, 80856, 80878, 80882, 80884, 80914, 80916, 80930, 80932, 80936, 80950, 80962, 80968, 80976, 80990, 80998, 81004, 81026, 81028, 81040, 81054, 81056, 81084, 81094, 81100, 81112, 81134, 81154, 81156, 81160, 81168, 81182, 81184, 81212, 81216, 81272, 81286, 81292, 81304, 81328, 81342, 81358, 81372, 81380, 81384, 81398, 81434, 81454, 81458, 81460, 81486, 81500, 81506, 81508, 81512, 81526, 81550, 81564, 81592, 81602, 81604, 81608, 81616, 81630, 81638, 81644, 81702, 81708, 81722, 81734, 81740, 81752, 81774, 81778, 81780, 82050, 82078, 82080, 82108, 82180, 82184, 82192, 82206, 82208, 82236, 82240, 82296, 82316, 82328, 82352, 82366, 82402, 82404, 82408, 82440, 82448, 82462, 82464, 82492, 82496, 82552, 82672, 82694, 82700, 82712, 82736, 82750, 82784, 82812, 82830, 82882, 82884, 82888, 82896, 82918, 82924, 82952, 82960, 82974, 82976, 83004, 83008, 83064, 83184, 83424, 83468, 83480, 83504, 83518, 83552, 83580, 83648, 83704, 83740, 83768, 83824, 83838, 83842, 83844, 83848, 83856, 83872, 83900, 83910, 83916, 83928, 83950, 83984, 84000, 84028, 84032, 84088, 84208, 84448, 84928, 85040, 85054, 85088, 85116, 85184, 85240, 85488, 85560, 85616, 85630, 85728, 85756, 85764, 85768, 85776, 85790, 85792, 85820, 85824, 85880, 85894, 85900, 85912, 85936, 85966, 85980, 86048, 86080, 86136, 86256, 86496, 86976, 88160, 88188, 88256, 88312, 88560, 89056, 89200, 89214, 89312, 89340, 89536, 89592, 89608, 89616, 89632, 89664, 89720, 89840, 89868, 89880, 89904, 89952, 89980, 89998, 90012, 90040, 90190, 90204, 90254, 90268, 90296, 90306, 90308, 90312, 90334, 90382, 90396, 90424, 90480, 90494, 90500, 90504, 90512, 90526, 90528, 90556, 90566, 90572, 90584, 90610, 90612, 90638, 90652, 90680, 90736, 90750, 90848, 90876, 90884, 90888, 90896, 90910, 90912, 90940, 90944, 91000, 91014, 91020, 91032, 91056, 91070, 91086, 91100, 91106, 91108, 91112, 91126, 91150, 91164, 91192, 91248, 91262, 91360, 91388, 91584, 91640, 91664, 91678, 91680, 91708, 91712, 91768, 91888, 91928, 91952, 91966, 92000, 92028, 92046, 92060, 92088, 92098, 92100, 92104, 92112, 92126, 92134, 92140, 92188, 92216, 92272, 92384, 92412, 92608, 92664, 93168, 93200, 93214, 93216, 93244, 93248, 93304, 93424, 93664, 93720, 93744, 93758, 93792, 93820, 93888, 93944, 93980, 94008, 94064, 94078, 94084, 94088, 94096, 94110, 94112, 94140, 94150, 94156, 94168, 94246, 94252, 94278, 94284, 94296, 94318, 94342, 94348, 94360, 94384, 94398, 94414, 94428, 94440, 94470, 94476, 94488, 94512, 94526, 94560, 94588, 94606, 94620, 94648, 94658, 94660, 94664, 94672, 94686, 94694, 94700, 94714, 94726, 94732, 94744, 94768, 94782, 94816, 94844, 94912, 94968, 94990, 95004, 95032, 95088, 95102, 95112, 95120, 95134, 95136, 95164, 95180, 95192, 95214, 95218, 95220, 95244, 95256, 95280, 95294, 95328, 95356, 95424, 95480, 95728, 95758, 95772, 95800, 95856, 95870, 95968, 95996, 96008, 96016, 96030, 96032, 96060, 96064, 96120, 96152, 96176, 96190, 96220, 96226, 96228, 96232, 96290, 96292, 96296, 96310, 96322, 96324, 96328, 96336, 96350, 96358, 96364, 96386, 96388, 96392, 96400, 96414, 96416, 96444, 96454, 96460, 96472, 96494, 96498, 96500, 96514, 96516, 96520, 96528, 96542, 96544, 96572, 96576, 96632, 96646, 96652, 96664, 96688, 96702, 96718, 96732, 96738, 96740, 96744, 96758, 96772, 96776, 96784, 96798, 96800, 96828, 96832, 96888, 97008, 97030, 97036, 97048, 97072, 97086, 97120, 97148, 97166, 97180, 97208, 97220, 97224, 97232, 97246, 97254, 97260, 97326, 97330, 97332, 97358, 97372, 97378, 97380, 97384, 97398, 97422, 97436, 97464, 97474, 97476, 97480, 97488, 97502, 97510, 97516, 97550, 97564, 97592, 97648, 97666, 97668, 97672, 97680, 97694, 97696, 97724, 97734, 97740, 97752, 97774, 97830, 97836, 97850, 97862, 97868, 97880, 97902, 97906, 97908, 97926, 97932, 97944, 97968, 97998, 98012, 98018, 98020, 98024, 98038, 98618, 98674, 98676, 98838, 98854, 98874, 98892, 98904, 98926, 98930, 98932, 98968, 99006, 99042, 99044, 99048, 99062, 99166, 99194, 99246, 99286, 99350, 99366, 99372, 99386, 99398, 99416, 99438, 99442, 99444, 99462, 99504, 99518, 99534, 99548, 99554, 99556, 99560, 99574, 99590, 99596, 99608, 99632, 99646, 99680, 99708, 99726, 99740, 99768, 99778, 99780, 99784, 99792, 99806, 99814, 99820, 99834, 99858, 99860, 99874, 99880, 99894, 99906, 99920, 99934, 99962, 99970, 99972, 99976, 99984, 99998, 100000, 100028, 100038, 100044, 100056, 100078, 100082, 100084, 100142, 100174, 100188, 100246, 100262, 100268, 100306, 100308, 100390, 100396, 100410, 100422, 100428, 100440, 100462, 100466, 100468, 100486, 100504, 100528, 100542, 100558, 100572, 100578, 100580, 100584, 100598, 100620, 100656, 100670, 100704, 100732, 100750, 100792, 100802, 100808, 100816, 100830, 100838, 100844, 100858, 100888, 100912, 100926, 100960, 100988, 101056, 101112, 101148, 101176, 101232, 101246, 101250, 101252, 101256, 101264, 101278, 101280, 101308, 101318, 101324, 101336, 101358, 101362, 101364, 101410, 101412, 101416, 101430, 101442, 101448, 101456, 101470, 101478, 101498, 101506, 101508, 101520, 101534, 101536, 101564, 101580, 101618, 101620, 101636, 101640, 101648, 101662, 101664, 101692, 101696, 101752, 101766, 101784, 101838, 101858, 101860, 101864, 101934, 101938, 101940, 101966, 101980, 101986, 101988, 101992, 102030, 102044, 102072, 102082, 102084, 102088, 102096, 102138, 102166, 102182, 102188, 102214, 102220, 102232, 102254, 102282, 102290, 102292, 102306, 102308, 102312, 102326, 102444, 102458, 102470, 102476, 102488, 102514, 102516, 102534, 102552, 102576, 102590, 102606, 102620, 102626, 102632, 102646, 102662, 102668, 102704, 102718, 102752, 102780, 102798, 102812, 102840, 102850, 102856, 102864, 102878, 102886, 102892, 102906, 102936, 102974, 103008, 103036, 103104, 103160, 103224, 103280, 103294, 103298, 103300, 103312, 103326, 103328, 103356, 103366, 103372, 103384, 103406, 103410, 103412, 103472, 103486, 103520, 103548, 103616, 103672, 103920, 103992, 104048, 104062, 104160, 104188, 104194, 104196, 104200, 104208, 104224, 104252, 104256, 104312, 104326, 104332, 104344, 104368, 104382, 104398, 104412, 104418, 104420, 104424, 104482, 104484, 104514, 104520, 104528, 104542, 104550, 104570, 104578, 104580, 104592, 104606, 104608, 104636, 104652, 104690, 104692, 104706, 104712, 104734, 104736, 104764, 104768, 104824, 104838, 104856, 104910, 104930, 104932, 104936, 104968, 104976, 104990, 104992, 105020, 105024, 105080, 105200, 105240, 105278, 105312, 105372, 105410, 105412, 105416, 105424, 105446, 105518, 105524, 105550, 105564, 105570, 105572, 105576, 105614, 105628, 105656, 105666, 105672, 105680, 105702, 105722, 105742, 105756, 105784, 105840, 105854, 105858, 105860, 105864, 105872, 105888, 105932, 105970, 105972, 106006, 106022, 106028, 106054, 106060, 106072, 106100, 106118, 106124, 106136, 106160, 106174, 106190, 106210, 106212, 106216, 106250, 106258, 106260, 106274, 106276, 106280, 106306, 106308, 106312, 106320, 106334, 106348, 106394, 106414, 106418, 106420, 106566, 106572, 106610, 106612, 106630, 106636, 106648, 106672, 106686, 106722, 106724, 106728, 106742, 106758, 106764, 106776, 106800, 106814, 106848, 106876, 106894, 106908, 106936, 106946, 106948, 106952, 106960, 106974, 106982, 106988, 107032, 107056, 107070, 107104, 107132, 107200, 107256, 107292, 107320, 107376, 107390, 107394, 107396, 107400, 107408, 107422, 107424, 107452, 107462, 107468, 107480, 107502, 107506, 107508, 107544, 107568, 107582, 107616, 107644, 107712, 107768, 108016, 108060, 108088, 108144, 108158, 108256, 108284, 108290, 108292, 108296, 108304, 108318, 108320, 108348, 108352, 108408, 108422, 108428, 108440, 108464, 108478, 108494, 108508, 108514, 108516, 108520, 108592, 108640, 108668, 108736, 108792, 109040, 109536, 109680, 109694, 109792, 109820, 110016, 110072, 110084, 110088, 110096, 110112, 110140, 110144, 110200, 110320, 110342, 110348, 110360, 110384, 110398, 110432, 110460, 110478, 110492, 110520, 110532, 110536, 110544, 110558, 110658, 110686, 110714, 110722, 110724, 110728, 110736, 110750, 110752, 110780, 110796, 110834, 110836, 110850, 110852, 110856, 110864, 110878, 110880, 110908, 110912, 110968, 110982, RestAPIAbortCodes.SEARCH_INDEXING, 111054, 111074, 111076, 111080, 111108, 111112, 111120, 111134, 111136, 111164, 111168, 111224, 111344, 111372, 111422, 111456, 111516, 111554, 111556, 111560, 111568, 111590, 111632, 111646, 111648, 111676, 111680, 111736, 111856, 112096, 112152, 112224, 112252, 112320, 112440, 112514, 112516, 112520, 112528, 112542, 112544, 112588, 112686, 112718, 112732, 112782, 112796, 112824, 112834, 112836, 112840, 112848, 112870, 112890, 112910, 112924, 112952, 113008, 113022, 113026, 113028, 113032, 113040, 113054, 113056, 113100, 113138, 113140, 113166, 113180, 113208, 113264, 113278, 113376, 113404, 113416, 113424, 113440, 113468, 113472, 113560, 113614, 113634, 113636, 113640, 113686, 113702, 113708, 113734, 113740, 113752, 113778, 113780, 113798, 113804, 113816, 113840, 113854, 113870, 113890, 113892, 113896, 113926, 113932, 113944, 113968, 113982, 114016, 114044, 114076, 114114, 114116, 114120, 114128, 114150, 114170, 114194, 114196, 114210, 114212, 114216, 114242, 114244, 114248, 114256, 114270, 114278, 114306, 114308, 114312, 114320, 114334, 114336, 114364, 114380, 114420, 114458, 114478, 114482, 114484, 114510, 114524, 114530, 114532, 114536, 114842, 114866, 114868, 114970, 114994, 114996, 115042, 115044, 115048, 115062, 115130, 115226, 115250, 115252, 115278, 115292, 115298, 115300, 115304, 115318, 115342, 115394, 115396, 115400, 115408, 115422, 115430, 115436, 115450, 115478, 115494, 115514, 115526, 115532, 115570, 115572, 115738, 115758, 115762, 115764, 115790, 115804, 115810, 115812, 115816, 115830, 115854, 115868, 115896, 115906, 115912, 115920, 115934, 115942, 115948, 115962, 115996, 116024, 116080, 116094, 116098, 116100, 116104, 116112, 116126, 116128, 116156, 116166, 116172, 116184, 116206, 116210, 116212, 116246, 116262, 116268, 116282, 116294, 116300, 116312, 116334, 116338, 116340, 116358, 116364, 116376, 116400, 116414, 116430, 116444, 116450, 116452, 116456, 116498, 116500, 116514, 116520, 116534, 116546, 116548, 116552, 116560, 116574, 116582, 116588, 116602, 116654, 116694, 116714, 116762, 116782, 116786, 116788, 116814, 116828, 116834, 116836, 116840, 116854, 116878, 116892, 116920, 116930, 116936, 116944, 116958, 116966, 116972, 116986, 117006, 117048, 117104, 117118, 117122, 117124, 117136, 117150, 117152, 117180, 117190, 117196, 117208, 117230, 117234, 117236, 117304, 117360, 117374, 117472, 117500, 117506, 117508, 117512, 117520, 117536, 117564, 117568, 117624, 117638, 117644, 117656, 117680, 117694, 117710, 117724, 117730, 117732, 117736, 117750, 117782, 117798, 117804, 117818, 117830, 117848, 117874, 117876, 117894, 117936, 117950, 117966, 117986, 117988, 117992, 118022, 118028, 118040, 118064, 118078, 118112, 118140, 118172, 118210, 118212, 118216, 118224, 118238, 118246, 118266, 118306, 118312, 118338, 118352, 118366, 118374, 118394, 118402, 118404, 118408, 118416, 118430, 118432, 118460, 118476, 118514, 118516, 118574, 118578, 118580, 118606, 118620, 118626, 118628, 118632, 118678, 118694, 118700, 118730, 118738, 118740, 118830, 118834, 118836, 118862, 118876, 118882, 118884, 118888, 118902, 118926, 118940, 118968, 118978, 118980, 118984, 118992, 119006, 119014, 119020, 119034, 119068, 119096, 119152, 119166, 119170, 119172, 119176, 119184, 119198, 119200, 119228, 119238, 119244, 119256, 119278, 119282, 119284, 119324, 119352, 119408, 119422, 119520, 119548, 119554, 119556, 119560, 119568, 119582, 119584, 119612, 119616, 119672, 119686, 119692, 119704, 119728, 119742, 119758, 119772, 119778, 119780, 119784, 119798, 119920, 119934, 120032, 120060, 120256, 120312, 120324, 120328, 120336, 120352, 120384, 120440, 120560, 120582, 120588, 120600, 120624, 120638, 120672, 120700, 120718, 120732, 120760, 120770, 120772, 120776, 120784, 120798, 120806, 120812, 120870, 120876, 120890, 120902, 120908, 120920, 120946, 120948, 120966, 120972, 120984, 121008, 121022, 121038, 121058, 121060, 121064, 121078, 121100, 121112, 121136, 121150, 121184, 121212, 121244, 121282, 121284, 121288, 121296, 121318, 121338, 121356, 121368, 121392, 121406, 121440, 121468, 121536, 121592, 121656, 121730, 121732, 121736, 121744, 121758, 121760, 121804, 121842, 121844, 121890, 121922, 121924, 121928, 121936, 121950, 121958, 121978, 121986, 121988, 121992, 122000, 122014, 122016, 122044, 122060, 122098, 122100, 122116, 122120, 122128, 122142, 122144, 122172, 122176, 122232, 122246, 122264, 122318, 122338, 122340, 122344, 122414, 122418, 122420, 122446, 122460, 122466, 122468, 122472, 122510, 122524, 122552, 122562, 122564, 122568, 122576, 122598, 122618, 122646, 122662, 122668, 122694, 122700, 122712, 122738, 122740, 122762, 122770, 122772, 122786, 122788, 122792, 123018, 123026, 123028, 123042, 123044, 123048, 123062, 123098, 123146, 123154, 123156, 123170, 123172, 123176, 123190, 123202, 123204, 123208, 123216, 123238, 123244, 123258, 123290, 123314, 123316, 123402, 123410, 123412, 123426, 123428, 123432, 123446, 123458, 123464, 123472, 123486, 123494, 123500, 123514, 123522, 123524, 123528, 123536, 123552, 123580, 123590, 123596, 123608, 123630, 123634, 123636, 123674, 123698, 123700, 123740, 123746, 123748, 123752, 123834, 123914, 123922, 123924, 123938, 123944, 123958, 123970, 123976, 123984, 123998, 124006, 124012, 124026, 124034, 124036, 124048, 124062, 124064, 124092, 124102, 124108, 124120, 124142, 124146, 124148, 124162, 124164, 124168, 124176, 124190, 124192, 124220, 124224, 124280, 124294, 124300, 124312, 124336, 124350, 124366, 124380, 124386, 124388, 124392, 124406, 124442, 124462, 124466, 124468, 124494, 124508, 124514, 124520, 124558, 124572, 124600, 124610, 124612, 124616, 124624, 124646, 124666, 124694, 124710, 124716, 124730, 124742, 124748, 124760, 124786, 124788, 124818, 124820, 124834, 124836, 124840, 124854, 124946, 124948, 124962, 124964, 124968, 124982, 124994, 124996, 125000, 125008, 125022, 125030, 125036, 125050, 125058, 125060, 125064, 125072, 125086, 125088, 125116, 125126, 125132, 125144, 125166, 125170, 125172, 125186, 125188, 125192, 125200, 125216, 125244, 125248, 125304, 125318, 125324, 125336, 125360, 125374, 125390, 125404, 125410, 125412, 125416, 125430, 125444, 125448, 125456, 125472, 125504, 125560, 125680, 125702, 125708, 125720, 125744, 125758, 125792, 125820, 125838, 125852, 125880, 125890, 125892, 125896, 125904, 125918, 125926, 125932, 125978, 125998, 126002, 126004, 126030, 126044, 126050, 126052, 126056, 126094, 126108, 126136, 126146, 126148, 126152, 126160, 126182, 126202, 126222, 126236, 126264, 126320, 126334, 126338, 126340, 126344, 126352, 126366, 126368, 126412, 126450, 126452, 126486, 126502, 126508, 126522, 126534, 126540, 126552, 126574, 126578, 126580, 126598, 126604, 126616, 126640, 126654, 126670, 126684, 126690, 126692, 126696, 126738, 126754, 126756, 126760, 126774, 126786, 126788, 126792, 126800, 126814, 126822, 126828, 126842, 126894, 126898, 126900, 126934, 127126, 127142, 127148, 127162, 127178, 127186, 127188, 127254, 127270, 127276, 127290, 127302, 127308, 127320, 127342, 127346, 127348, 127370, 127378, 127380, 127394, 127396, 127400, 127450, 127510, 127526, 127532, 127546, 127558, 127576, 127598, 127602, 127604, 127622, 127628, 127640, 127664, 127678, 127694, 127708, 127714, 127716, 127720, 127734, 127754, 127762, 127764, 127778, 127784, 127810, 127812, 127816, 127824, 127838, 127846, 127866, 127898, 127918, 127922, 127924, 128022, 128038, 128044, 128058, 128070, 128076, 128088, 128110, 128114, 128116, 128134, 128140, 128152, 128176, 128190, 128206, 128220, 128226, 128228, 128232, 128246, 128262, 128268, 128280, 128304, 128318, 128352, 128380, 128398, 128412, 128440, 128450, 128452, 128456, 128464, 128478, 128486, 128492, 128506, 128522, 128530, 128532, 128546, 128548, 128552, 128566, 128578, 128580, 128584, 128592, 128606, 128614, 128634, 128642, 128644, 128648, 128656, 128670, 128672, 128700, 128716, 128754, 128756, 128794, 128814, 128818, 128820, 128846, 128860, 128866, 128868, 128872, 128886, 128918, 128934, 128940, 128954, 128978, 128980, 129178, 129198, 129202, 129204, 129238, 129258, 129306, 129326, 129330, 129332, 129358, 129372, 129378, 129380, 129384, 129398, 129430, 129446, 129452, 129466, 129482, 129490, 129492, 129562, 129582, 129586, 129588, 129614, 129628, 129634, 129636, 129640, 129654, 129678, 129692, 129720, 129730, 129732, 129736, 129744, 129758, 129766, 129772, 129814, 129830, 129836, 129850, 129862, 129868, 129880, 129902, 129906, 129908, 129930, 129938, 129940, 129954, 129956, 129960, 129974, 130010}; /* renamed from: c reason: collision with root package name */ - public static final int[] f1448c = {2627, 1819, 2622, 2621, 1813, 1812, 2729, 2724, 2723, 2779, 2774, 2773, 902, 896, 908, 868, 865, 861, 859, 2511, 873, 871, 1780, 835, 2493, 825, 2491, 842, 837, 844, 1764, 1762, 811, 810, 809, 2483, 807, 2482, 806, 2480, 815, 814, 813, 812, 2484, 817, 816, 1745, 1744, 1742, 1746, 2655, 2637, 2635, 2626, 2625, 2623, 2628, 1820, 2752, 2739, 2737, 2728, 2727, 2725, 2730, 2785, 2783, 2778, 2777, 2775, 2780, 787, 781, 747, 739, 736, 2413, 754, 752, 1719, 692, 689, 681, 2371, 678, 2369, 700, 697, 694, 703, 1688, 1686, 642, 638, 2343, 631, 2341, 627, 2338, 651, 646, 643, 2345, 654, 652, 1652, 1650, 1647, 1654, 601, 599, 2322, 596, 2321, 594, 2319, 2317, 611, 610, 608, 606, 2324, 603, 2323, 615, 614, 612, 1617, 1616, 1614, 1612, 616, 1619, 1618, 2575, 2538, 2536, 905, 901, 898, 909, 2509, 2507, 2504, 870, 867, 864, 860, 2512, 875, 872, 1781, 2490, 2489, 2487, 2485, 1748, 836, 834, 832, 830, 2494, 827, 2492, 843, 841, 839, 845, 1765, 1763, 2701, 2676, 2674, 2653, 2648, 2656, 2634, 2633, 2631, 2629, 1821, 2638, 2636, 2770, 2763, 2761, 2750, 2745, 2753, 2736, 2735, 2733, 2731, 1848, 2740, 2738, 2786, 2784, 591, 588, 576, 569, 566, 2296, 1590, 537, 534, 526, 2276, 522, 2274, 545, 542, 539, 548, 1572, 1570, 481, 2245, 466, 2242, 462, 2239, 492, 485, 482, 2249, 496, 494, 1534, 1531, 1528, 1538, 413, 2196, 406, 2191, 2188, 425, 419, 2202, 415, 2199, 432, 430, 427, 1472, 1467, 1464, 433, 1476, 1474, 368, 367, 2160, 365, 2159, 362, 2157, 2155, 2152, 378, 377, 375, 2166, 372, 2165, 369, 2162, 383, 381, 379, 2168, 1419, 1418, 1416, 1414, 385, 1411, 384, 1423, 1422, 1420, 1424, 2461, 802, 2441, 2439, 790, 786, 783, 794, 2409, 2406, 2403, 750, 742, 738, 2414, 756, 753, 1720, 2367, 2365, 2362, 2359, 1663, 693, 691, 684, 2373, 680, 2370, 702, 699, 696, 704, 1690, 1687, 2337, 2336, 2334, 2332, 1624, 2329, 1622, 640, 637, 2344, 634, 2342, 630, 2340, 650, 648, 645, 2346, 655, 653, 1653, 1651, 1649, 1655, 2612, 2597, 2595, 2571, 2568, 2565, 2576, 2534, 2529, 2526, 1787, 2540, 2537, 907, 904, 900, 910, 2503, 2502, GuildConstantsKt.MAX_GUILD_MEMBERS_NOTIFY_ALL_MESSAGES, 2498, 1768, 2495, 1767, 2510, 2508, 2506, 869, 866, 863, 2513, 876, 874, 1782, 2720, 2713, 2711, 2697, 2694, 2691, 2702, 2672, 2670, 2664, 1828, 2678, 2675, 2647, 2646, 2644, 2642, 1823, 2639, 1822, 2654, 2652, 2650, 2657, 2771, 1855, 2765, 2762, 1850, 1849, 2751, 2749, 2747, 2754, 353, 2148, 344, 342, 336, 2142, 332, 2140, 345, 1375, 1373, 306, 2130, 299, 2128, 295, 2125, 319, 314, 311, 2132, 1354, 1352, 1349, 1356, 262, 257, 2101, 253, 2096, 2093, 274, AudioAttributesCompat.FLAG_ALL_PUBLIC, 267, 2107, 263, 2104, 280, 278, 275, 1316, 1311, 1308, 1320, 1318, 2052, 202, 2050, 2044, 2040, 219, 2063, 212, 2060, 208, 2055, 224, 221, 2066, 1260, 1258, 1252, 231, 1248, 229, 1266, 1264, 1261, 1268, 155, 1998, 153, 1996, 1994, 1991, 1988, 165, 164, 2007, 162, 2006, 159, 2003, 2000, 172, 171, 169, 2012, 166, 2010, 1186, 1184, 1182, 1179, HideBottomViewOnScrollBehavior.EXIT_ANIMATION_DURATION, 1176, 173, 1192, 1191, 1189, 1187, 176, 1194, 1193, 2313, 2307, 2305, 592, 589, 2294, 2292, 2289, 578, 572, 568, 2297, 580, 1591, 2272, 2267, 2264, 1547, 538, 536, 529, 2278, 525, 2275, 547, 544, 541, 1574, 1571, 2237, 2235, 2229, 1493, 2225, 1489, 478, 2247, 470, 2244, 465, 2241, 493, 488, 484, 2250, 498, 495, 1536, 1533, 1530, 1539, 2187, 2186, 2184, 2182, 1432, 2179, 1430, 2176, 1427, 414, 412, 2197, 409, 2195, 405, 2193, 2190, 426, 424, 421, 2203, 418, 2201, 431, 429, 1473, 1471, 1469, 1466, 434, 1477, 1475, 2478, 2472, 2470, 2459, 2457, 2454, 2462, 803, 2437, 2432, 2429, 1726, 2443, 2440, 792, 789, 785, 2401, 2399, 2393, 1702, 2389, 1699, 2411, 2408, 2405, 745, 741, 2415, 758, 755, 1721, 2358, 2357, 2355, 2353, 1661, 2350, 1660, 2347, 1657, 2368, 2366, 2364, 2361, 1666, 690, 687, 2374, 683, 2372, 701, 698, 705, 1691, 1689, 2619, 2617, 2610, 2608, 2605, 2613, 2593, 2588, 2585, 1803, 2599, 2596, 2563, 2561, 2555, 1797, 2551, 1795, 2573, 2570, 2567, 2577, 2525, 2524, 2522, 2520, 1786, 2517, 1785, 2514, 1783, 2535, 2533, 2531, 2528, 1788, 2541, 2539, 906, 903, 911, 2721, 1844, 2715, 2712, 1838, 1836, 2699, 2696, 2693, 2703, 1827, 1826, 1824, 2673, 2671, 2669, 2666, 1829, 2679, 2677, 1858, 1857, 2772, 1854, 1853, 1851, 1856, 2766, 2764, 143, 1987, 139, 1986, 135, 133, 131, 1984, 128, 1983, 125, 1981, 138, 137, 136, 1985, 1133, 1132, 1130, 112, 110, 1974, 107, 1973, 104, 1971, 1969, 122, 121, 119, 117, 1977, 114, 1976, 124, 1115, 1114, 1112, 1110, 1117, 1116, 84, 83, 1953, 81, 1952, 78, 1950, 1948, 1945, 94, 93, 91, 1959, 88, 1958, 85, 1955, 99, 97, 95, 1961, 1086, 1085, 1083, 1081, 1078, 100, 1090, 1089, 1087, 1091, 49, 47, 1917, 44, 1915, 1913, 1910, 1907, 59, 1926, 56, 1925, 53, 1922, 1919, 66, 64, 1931, 61, 1929, 1042, 1040, 1038, 71, 1035, 70, 1032, 68, 1048, 1047, 1045, 1043, 1050, 1049, 12, 10, 1869, 1867, 1864, 1861, 21, 1880, 19, 1877, 1874, 1871, 28, 1888, 25, 1886, 22, 1883, 982, 980, 977, 974, 32, 30, 991, 989, 987, 984, 34, 995, 994, 992, 2151, 2150, 2147, 2146, 2144, 356, 355, 354, 2149, 2139, 2138, 2136, 2134, 1359, 343, 341, 338, 2143, 335, 2141, 348, 347, 346, 1376, 1374, 2124, 2123, 2121, 2119, 1326, 2116, 1324, 310, 308, 305, 2131, 302, 2129, 298, 2127, 320, 318, 316, 313, 2133, 322, 321, 1355, 1353, 1351, 1357, 2092, 2091, 2089, 2087, 1276, 2084, 1274, 2081, 1271, 259, 2102, 256, 2100, 252, 2098, 2095, 272, 269, 2108, 266, 2106, 281, 279, 277, 1317, 1315, 1313, 1310, 282, 1321, 1319, 2039, 2037, 2035, 2032, 1203, 2029, 1200, 1197, 207, 2053, 205, 2051, 201, 2049, 2046, 2043, 220, 218, 2064, 215, 2062, 211, 2059, 228, 226, 223, 2069, 1259, 1257, 1254, 232, 1251, 230, 1267, 1265, 1263, 2316, 2315, 2312, 2311, 2309, 2314, 2304, 2303, 2301, 2299, 1593, 2308, 2306, 590, 2288, 2287, 2285, 2283, 1578, 2280, 1577, 2295, 2293, 2291, 579, 577, 574, 571, 2298, 582, 581, 1592, 2263, 2262, 2260, 2258, 1545, 2255, 1544, 2252, 1541, 2273, 2271, 2269, 2266, 1550, 535, 532, 2279, 528, 2277, 546, 543, 549, 1575, 1573, 2224, 2222, 2220, 1486, 2217, 1485, 2214, 1482, 1479, 2238, 2236, 2234, 2231, 1496, 2228, 1492, 480, 477, 2248, 473, 2246, 469, 2243, 490, 487, 2251, 497, 1537, 1535, 1532, 2477, 2476, 2474, 2479, 2469, 2468, 2466, 2464, 1730, 2473, 2471, 2453, 2452, 2450, 2448, 1729, 2445, 1728, 2460, 2458, 2456, 2463, 805, 804, 2428, 2427, 2425, 2423, 1725, 2420, 1724, 2417, 1722, 2438, 2436, 2434, 2431, 1727, 2444, 2442, 793, 791, 788, 795, 2388, 2386, 2384, 1697, 2381, 1696, 2378, 1694, 1692, 2402, 2400, 2398, 2395, 1703, 2392, 1701, 2412, 2410, 2407, 751, 748, 744, 2416, 759, 757, 1807, 2620, 2618, 1806, 1805, 2611, 2609, 2607, 2614, 1802, 1801, 1799, 2594, 2592, 2590, 2587, 1804, 2600, 2598, 1794, 1793, 1791, 1789, 2564, 2562, 2560, 2557, 1798, 2554, 1796, 2574, 2572, 2569, 2578, 1847, 1846, 2722, 1843, 1842, 1840, 1845, 2716, 2714, 1835, 1834, 1832, 1830, 1839, 1837, 2700, 2698, 2695, 2704, 1817, 1811, 1810, 897, 862, 1777, 829, 826, 838, 1760, 1758, 808, 2481, 1741, 1740, 1738, 1743, 2624, 1818, 2726, 2776, 782, 740, 737, 1715, 686, 679, 695, 1682, 1680, 639, 628, 2339, 647, 644, 1645, 1643, 1640, 1648, 602, 600, 597, 595, 2320, 593, 2318, 609, 607, 604, 1611, 1610, 1608, 1606, 613, 1615, 1613, 2328, 926, 924, 892, 886, 899, 857, 850, 2505, 1778, 824, 823, 821, 819, 2488, 818, 2486, 833, 831, 828, 840, 1761, 1759, 2649, 2632, 2630, 2746, 2734, 2732, 2782, 2781, 570, 567, 1587, 531, 527, 523, 540, 1566, 1564, 476, 467, 463, 2240, 486, 483, 1524, 1521, 1518, 1529, 411, 403, 2192, 399, 2189, 423, 416, 1462, 1457, 1454, 428, 1468, 1465, 2210, 366, 363, 2158, 360, 2156, 357, 2153, 376, GuildScheduledEventSettingsViewModel.SAMPLE_USER_COUNT, 370, 2163, 1410, 1409, 1407, 1405, 382, 1402, 380, 1417, 1415, 1412, 1421, 2175, 2174, 777, 774, 771, 784, 732, 725, 722, 2404, 743, 1716, 676, 674, 668, 2363, 665, 2360, 685, 1684, 1681, 626, 624, 622, 2335, 620, 2333, 617, 2330, 641, 635, 649, 1646, 1644, 1642, 2566, 928, 925, 2530, 2527, 894, 891, 888, 2501, 2499, 2496, 858, 856, 854, 851, 1779, 2692, 2668, 2665, 2645, 2643, 2640, 2651, 2768, 2759, 2757, 2744, 2743, 2741, 2748, 352, 1382, 340, 337, 333, 1371, 1369, 307, 300, 296, 2126, 315, 312, 1347, 1342, 1350, 261, 258, 250, 2097, 246, 2094, 271, 268, 264, 1306, 1301, 1298, 276, 1312, 1309, 2115, 203, 2048, 195, 2045, 191, 2041, 213, 209, 2056, 1246, 1244, 1238, HideBottomViewOnScrollBehavior.ENTER_ANIMATION_DURATION, 1234, 222, 1256, 1253, 1249, 1262, 2080, 2079, 154, 1997, FontUtils.MAX_FONT_SCALING, 1995, 147, 1992, 1989, 163, 160, 2004, 156, 2001, 1175, 1174, 1172, 1170, 1167, 170, 1164, 167, 1185, 1183, 1180, 1177, 174, 1190, 1188, 2025, 2024, 2022, 587, 586, 564, 559, 556, 2290, 573, 1588, 520, 518, 512, 2268, 508, 2265, 530, 1568, 1565, 461, 457, 2233, 450, 2230, 446, 2226, 479, 471, 489, 1526, 1523, 1520, 397, 395, 2185, 392, 2183, 389, 2180, 2177, 410, 2194, 402, 422, 1463, 1461, 1459, 1456, 1470, 2455, 799, 2433, 2430, 779, 776, 773, 2397, 2394, 2390, 734, 728, 724, 746, 1717, 2356, 2354, 2351, 2348, 1658, 677, 675, 673, 670, 667, 688, 1685, 1683, 2606, 2589, 2586, 2559, 2556, 2552, 927, 2523, 2521, 2518, 2515, 1784, 2532, 895, 893, 890, 2718, 2709, 2707, 2689, 2687, 2684, 2663, 2662, 2660, 2658, 1825, 2667, 2769, 1852, 2760, 2758, 142, 141, 1139, 1138, 134, 132, 129, 126, 1982, 1129, 1128, 1126, 1131, 113, 111, 108, 105, 1972, 101, 1970, 120, 118, 115, 1109, 1108, 1106, 1104, 123, 1113, 1111, 82, 79, 1951, 75, 1949, 72, 1946, 92, 89, 86, 1956, 1077, 1076, 1074, 1072, 98, 1069, 96, 1084, 1082, 1079, 1088, 1968, 1967, 48, 45, 1916, 42, 1914, 39, 1911, 1908, 60, 57, 54, 1923, 50, 1920, 1031, 1030, 1028, 1026, 67, AudioAttributesCompat.FLAG_ALL, 65, PointerIconCompat.TYPE_GRAB, 62, 1041, 1039, 1036, 1033, 69, 1046, 1044, 1944, 1943, 1941, 11, 9, 1868, 7, 1865, 1862, 1859, 20, 1878, 16, 1875, 13, 1872, 970, 968, 966, 963, 29, 960, 26, 23, 983, 981, 978, 975, 33, 971, 31, 990, 988, 985, 1906, 1904, 1902, 993, 351, 2145, 1383, 331, 330, 328, 326, 2137, 323, 2135, 339, 1372, 1370, 294, 293, 291, 289, 2122, 286, 2120, 283, 2117, 309, 303, 317, 1348, 1346, 1344, 245, 244, 242, 2090, 239, 2088, 236, 2085, 2082, 260, 2099, 249, 270, 1307, 1305, 1303, 1300, 1314, 189, 2038, 186, 2036, 183, 2033, 2030, 2026, 206, 198, 2047, 194, 216, 1247, 1245, 1243, 1240, 227, 1237, 1255, 2310, 2302, 2300, 2286, 2284, 2281, 565, 563, 561, 558, 575, 1589, 2261, 2259, 2256, 2253, 1542, 521, 519, 517, 514, 2270, FrameMetricsAggregator.EVERY_DURATION, 533, 1569, 1567, 2223, 2221, 2218, 2215, 1483, 2211, 1480, 459, 456, 453, 2232, 449, 474, 491, 1527, 1525, 1522, 2475, 2467, 2465, 2451, 2449, 2446, 801, 800, 2426, 2424, 2421, 2418, 1723, 2435, 780, 778, 775, 2387, 2385, 2382, 2379, 1695, 2375, 1693, 2396, 735, 733, 730, 727, 749, 1718, 2616, 2615, 2604, 2603, 2601, 2584, 2583, 2581, 2579, ModelInvite.Settings.HALF_HOUR, 2591, 2550, 2549, 2547, 2545, 1792, 2542, 1790, 2558, 929, 2719, 1841, 2710, 2708, 1833, 1831, 2690, 2688, 2686, 1815, 1809, 1808, 1774, 1756, 1754, 1737, 1736, 1734, 1739, 1816, 1711, 1676, 1674, 633, 629, 1638, 1636, 1633, 1641, 598, 1605, 1604, 1602, 1600, 605, 1609, 1607, 2327, 887, 853, 1775, 822, 820, 1757, 1755, 1584, 524, 1560, 1558, 468, 464, 1514, 1511, 1508, 1519, 408, 404, 400, 1452, 1447, 1444, 417, 1458, 1455, 2208, 364, 361, 358, 2154, 1401, 1400, 1398, 1396, 374, 1393, 371, 1408, 1406, 1403, 1413, 2173, 2172, 772, 726, 723, 1712, 672, 669, 666, 682, 1678, 1675, 625, 623, 621, 618, 2331, 636, 632, 1639, 1637, 1635, 920, 918, 884, 880, 889, 849, 848, 847, 846, 2497, 855, 852, 1776, 2641, 2742, 2787, 1380, 334, 1367, 1365, 301, 297, 1340, 1338, 1335, 1343, 255, 251, 247, 1296, 1291, 1288, 265, 1302, 1299, 2113, 204, 196, 192, 2042, 1232, 1230, 1224, 214, 1220, 210, 1242, 1239, 1235, 1250, 2077, 2075, 151, 148, 1993, 144, 1990, 1163, 1162, 1160, 1158, 1155, 161, 1152, 157, 1173, 1171, 1168, 1165, 168, 1181, 1178, 2021, 2020, 2018, 2023, 585, 560, 557, 1585, 516, 509, 1562, 1559, 458, 447, 2227, 472, 1516, 1513, 1510, 398, 396, 393, 390, 2181, 386, 2178, 407, 1453, 1451, 1449, 1446, 420, 1460, 2209, 769, 764, 720, 712, 2391, 729, 1713, 664, 663, 661, 659, 2352, 656, 2349, 671, 1679, 1677, 2553, 922, 919, 2519, 2516, 885, 883, 881, 2685, 2661, 2659, 2767, 2756, 2755, 140, 1137, 1136, 130, 127, 1125, 1124, 1122, 1127, 109, 106, 102, 1103, 1102, 1100, 1098, 116, 1107, 1105, 1980, 80, 76, 73, 1947, 1068, 1067, 1065, 1063, 90, 1060, 87, 1075, 1073, 1070, WidgetSettingsUserProfile.MAX_BANNER_IMAGE_SIZE, 1966, 1965, 46, 43, 40, 1912, 36, 1909, PointerIconCompat.TYPE_ZOOM_OUT, PointerIconCompat.TYPE_ZOOM_IN, PointerIconCompat.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW, PointerIconCompat.TYPE_HORIZONTAL_DOUBLE_ARROW, 58, PointerIconCompat.TYPE_COPY, 55, PointerIconCompat.TYPE_TEXT, 51, 1029, 1027, 1024, PointerIconCompat.TYPE_GRABBING, 63, 1037, 1034, 1940, 1939, 1937, 1942, 8, 1866, 4, 1863, 1, 1860, 956, 954, 952, 949, 946, 17, 14, 969, 967, 964, 961, 27, 957, 24, 979, 976, 972, 1901, 1900, 1898, 1896, 986, 1905, 1903, 350, 349, 1381, 329, 327, 324, 1368, 1366, 292, 290, 287, 284, 2118, 304, 1341, 1339, 1337, 1345, 243, 240, 237, 2086, 233, 2083, 254, 1297, 1295, 1293, 1290, 1304, 2114, 190, 187, 184, 2034, BaseTransientBottomBar.ANIMATION_FADE_DURATION, 2031, 177, 2027, 199, 1233, 1231, 1229, 1226, 217, 1223, 1241, 2078, 2076, 584, 555, 554, 552, 550, 2282, 562, 1586, 507, 506, 504, 502, 2257, 499, 2254, 515, 1563, 1561, 445, 443, 441, 2219, 438, 2216, 435, 2212, 460, 454, 475, 1517, 1515, 1512, 2447, 798, 797, 2422, 2419, 770, 768, 766, 2383, 2380, 2376, 721, 719, 717, 714, 731, 1714, 2602, 2582, 2580, 2548, 2546, 2543, 923, 921, 2717, 2706, 2705, 2683, 2682, 2680, 1771, 1752, 1750, 1733, 1732, 1731, 1735, 1814, 1707, 1670, 1668, 1631, 1629, 1626, 1634, 1599, 1598, 1596, 1594, 1603, 1601, 2326, 1772, 1753, 1751, 1581, 1554, 1552, 1504, 1501, 1498, 1509, 1442, 1437, 1434, 401, 1448, 1445, 2206, 1392, 1391, 1389, 1387, 1384, 359, 1399, 1397, 1394, 1404, 2171, 2170, 1708, 1672, 1669, 619, 1632, 1630, 1628, 1773, 1378, 1363, 1361, 1333, 1328, 1336, 1286, 1281, 1278, 248, 1292, 1289, 2111, 1218, 1216, 1210, 197, 1206, 193, 1228, 1225, 1221, 1236, 2073, 2071, 1151, 1150, 1148, 1146, 152, 1143, 149, 1140, 145, 1161, 1159, 1156, 1153, 158, 1169, 1166, 2017, 2016, 2014, 2019, 1582, 510, 1556, 1553, 452, 448, 1506, 1500, 394, 391, 387, 1443, 1441, 1439, 1436, 1450, 2207, 765, 716, 713, 1709, 662, 660, 657, 1673, 1671, 916, 914, 879, 878, 877, 882, 1135, 1134, 1121, 1120, 1118, 1123, 1097, 1096, 1094, 1092, 103, 1101, 1099, 1979, 1059, 1058, 1056, 1054, 77, 1051, 74, 1066, 1064, 1061, 1071, 1964, 1963, PointerIconCompat.TYPE_CROSSHAIR, PointerIconCompat.TYPE_CELL, PointerIconCompat.TYPE_WAIT, PointerIconCompat.TYPE_HAND, RoomDatabase.MAX_BIND_PARAMETER_CNT, 41, 996, 37, PointerIconCompat.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW, PointerIconCompat.TYPE_VERTICAL_DOUBLE_ARROW, PointerIconCompat.TYPE_NO_DROP, PointerIconCompat.TYPE_VERTICAL_TEXT, 52, InputDeviceCompat.SOURCE_GAMEPAD, 1022, 1936, 1935, 1933, 1938, 942, 940, 938, 935, 932, 5, 2, 955, 953, 950, 947, 18, 943, 15, 965, 962, 958, 1895, 1894, 1892, 1890, 973, 1899, 1897, 1379, 325, 1364, 1362, ScreenShareManager.THUMBNAIL_HEIGHT_PX, 285, 1334, 1332, 1330, 241, 238, 234, 1287, 1285, 1283, 1280, 1294, 2112, 188, 185, 181, 178, 2028, 1219, 1217, 1215, 1212, 200, 1209, 1227, 2074, 2072, 583, 553, 551, 1583, 505, 503, 500, InputDeviceCompat.SOURCE_DPAD, 1557, 1555, 444, 442, 439, 436, 2213, 455, 451, 1507, 1505, 1502, 796, 763, 762, 760, 767, 711, 710, 708, 706, 2377, 718, 715, 1710, 2544, 917, 915, 2681, 1627, 1597, 1595, 2325, 1769, 1749, 1747, 1499, 1438, 1435, 2204, 1390, 1388, 1385, 1395, 2169, 2167, 1704, 1665, 1662, 1625, 1623, 1620, 1770, 1329, 1282, 1279, 2109, 1214, 1207, 1222, 2068, 2065, 1149, 1147, 1144, 1141, 146, 1157, 1154, 2013, 2011, 2008, 2015, 1579, 1549, 1546, 1495, 1487, 1433, 1431, 1428, 1425, 388, 1440, 2205, 1705, 658, 1667, 1664, 1119, 1095, 1093, 1978, 1057, 1055, 1052, 1062, 1962, 1960, 1005, PointerIconCompat.TYPE_HELP, 1000, 997, 38, PointerIconCompat.TYPE_ALL_SCROLL, PointerIconCompat.TYPE_ALIAS, 1932, 1930, 1927, 1934, 941, 939, 936, 933, 6, 930, 3, 951, 948, 944, 1889, 1887, 1884, 1881, 959, 1893, 1891, 35, 1377, 1360, 1358, 1327, 1325, 1322, 1331, 1277, 1275, 1272, 1269, 235, 1284, 2110, 1205, 1204, 1201, 1198, 182, 1195, 179, 1213, 2070, 2067, 1580, 501, 1551, 1548, 440, 437, 1497, 1494, 1490, 1503, 761, 709, 707, 1706, 913, 912, 2198, 1386, 2164, 2161, 1621, 1766, 2103, 1208, 2058, 2054, 1145, 1142, 2005, 2002, 1999, 2009, 1488, 1429, 1426, 2200, 1698, 1659, 1656, 1975, 1053, 1957, 1954, PointerIconCompat.TYPE_CONTEXT_MENU, 998, 1924, 1921, 1918, 1928, 937, 934, 931, 1879, 1876, 1873, 1870, 945, 1885, 1882, 1323, 1273, 1270, 2105, 1202, 1199, 1196, 1211, 2061, 2057, 1576, 1543, 1540, 1484, 1481, 1478, 1491, 1700}; + public static final int[] f1448c = {2627, 1819, 2622, 2621, 1813, 1812, 2729, 2724, 2723, 2779, 2774, 2773, 902, 896, 908, 868, 865, 861, 859, 2511, 873, 871, 1780, 835, 2493, 825, 2491, 842, 837, 844, 1764, 1762, 811, 810, 809, 2483, 807, 2482, 806, 2480, 815, 814, 813, 812, 2484, 817, 816, 1745, 1744, 1742, 1746, 2655, 2637, 2635, 2626, 2625, 2623, 2628, 1820, 2752, 2739, 2737, 2728, 2727, 2725, 2730, 2785, 2783, 2778, 2777, 2775, 2780, 787, 781, 747, 739, 736, 2413, 754, 752, 1719, 692, 689, 681, 2371, 678, 2369, 700, 697, 694, 703, 1688, 1686, 642, 638, 2343, 631, 2341, 627, 2338, 651, 646, 643, 2345, 654, 652, 1652, 1650, 1647, 1654, 601, 599, 2322, 596, 2321, 594, 2319, 2317, 611, 610, 608, 606, 2324, 603, 2323, 615, 614, 612, 1617, 1616, 1614, 1612, 616, 1619, 1618, 2575, 2538, 2536, 905, 901, 898, 909, 2509, 2507, 2504, 870, 867, 864, 860, 2512, 875, 872, 1781, 2490, 2489, 2487, 2485, 1748, 836, 834, 832, 830, 2494, 827, 2492, 843, 841, 839, 845, 1765, 1763, 2701, 2676, 2674, 2653, 2648, 2656, 2634, 2633, 2631, 2629, 1821, 2638, 2636, 2770, 2763, 2761, 2750, 2745, 2753, 2736, 2735, 2733, 2731, 1848, 2740, 2738, 2786, 2784, 591, 588, 576, 569, 566, 2296, 1590, 537, 534, 526, 2276, 522, 2274, 545, 542, 539, 548, 1572, 1570, 481, 2245, 466, 2242, 462, 2239, 492, 485, 482, 2249, 496, 494, 1534, 1531, 1528, 1538, 413, 2196, 406, 2191, 2188, 425, 419, 2202, 415, 2199, 432, 430, 427, 1472, 1467, 1464, 433, 1476, 1474, 368, 367, 2160, 365, 2159, 362, 2157, 2155, 2152, 378, 377, 375, 2166, 372, 2165, 369, 2162, 383, 381, 379, 2168, 1419, 1418, 1416, 1414, 385, 1411, 384, 1423, 1422, 1420, 1424, 2461, 802, 2441, 2439, 790, 786, 783, 794, 2409, 2406, 2403, 750, 742, 738, 2414, 756, 753, 1720, 2367, 2365, 2362, 2359, 1663, 693, 691, 684, 2373, 680, 2370, 702, 699, 696, 704, 1690, 1687, 2337, 2336, 2334, 2332, 1624, 2329, 1622, 640, 637, 2344, 634, 2342, 630, 2340, 650, 648, 645, 2346, 655, 653, 1653, 1651, 1649, 1655, 2612, 2597, 2595, 2571, 2568, 2565, 2576, 2534, 2529, 2526, 1787, 2540, 2537, 907, 904, 900, 910, 2503, 2502, GuildConstantsKt.MAX_GUILD_MEMBERS_NOTIFY_ALL_MESSAGES, 2498, 1768, 2495, 1767, 2510, 2508, 2506, 869, 866, 863, 2513, 876, 874, 1782, 2720, 2713, 2711, 2697, 2694, 2691, 2702, 2672, 2670, 2664, 1828, 2678, 2675, 2647, 2646, 2644, 2642, 1823, 2639, 1822, 2654, 2652, 2650, 2657, 2771, 1855, 2765, 2762, 1850, 1849, 2751, 2749, 2747, 2754, 353, 2148, 344, 342, 336, 2142, 332, 2140, 345, 1375, 1373, 306, 2130, 299, 2128, 295, 2125, 319, 314, 311, 2132, 1354, 1352, 1349, 1356, 262, 257, 2101, 253, 2096, 2093, 274, AudioAttributesCompat.FLAG_ALL_PUBLIC, 267, 2107, 263, 2104, 280, 278, 275, 1316, 1311, 1308, 1320, 1318, 2052, 202, 2050, 2044, 2040, 219, 2063, 212, 2060, 208, 2055, 224, 221, 2066, 1260, 1258, 1252, 231, 1248, 229, 1266, 1264, 1261, 1268, 155, 1998, 153, 1996, 1994, 1991, 1988, 165, 164, 2007, 162, 2006, 159, 2003, 2000, 172, 171, 169, 2012, 166, 2010, 1186, 1184, 1182, 1179, HideBottomViewOnScrollBehavior.EXIT_ANIMATION_DURATION, 1176, 173, 1192, 1191, 1189, 1187, 176, 1194, 1193, 2313, 2307, 2305, 592, 589, 2294, 2292, 2289, 578, 572, 568, 2297, 580, 1591, 2272, 2267, 2264, 1547, 538, 536, 529, 2278, 525, 2275, 547, 544, 541, 1574, 1571, 2237, 2235, 2229, 1493, 2225, 1489, 478, 2247, 470, 2244, 465, 2241, 493, 488, 484, 2250, 498, 495, 1536, 1533, 1530, 1539, 2187, 2186, 2184, 2182, 1432, 2179, 1430, 2176, 1427, 414, 412, 2197, 409, 2195, 405, 2193, 2190, 426, 424, 421, 2203, 418, 2201, 431, 429, 1473, 1471, 1469, 1466, 434, 1477, 1475, 2478, 2472, 2470, 2459, 2457, 2454, 2462, 803, 2437, 2432, 2429, 1726, 2443, 2440, 792, 789, 785, 2401, 2399, 2393, 1702, 2389, 1699, 2411, 2408, 2405, 745, 741, 2415, 758, 755, 1721, 2358, 2357, 2355, 2353, 1661, 2350, 1660, 2347, 1657, 2368, 2366, 2364, 2361, 1666, 690, 687, 2374, 683, 2372, 701, 698, 705, 1691, 1689, 2619, 2617, 2610, 2608, 2605, 2613, 2593, 2588, 2585, 1803, 2599, 2596, 2563, 2561, 2555, 1797, 2551, 1795, 2573, 2570, 2567, 2577, 2525, 2524, 2522, 2520, 1786, 2517, 1785, 2514, 1783, 2535, 2533, 2531, 2528, 1788, 2541, 2539, 906, 903, 911, 2721, 1844, 2715, 2712, 1838, 1836, 2699, 2696, 2693, 2703, 1827, 1826, 1824, 2673, 2671, 2669, 2666, 1829, 2679, 2677, 1858, 1857, 2772, 1854, 1853, 1851, 1856, 2766, 2764, 143, 1987, 139, 1986, 135, 133, 131, 1984, 128, 1983, 125, 1981, 138, 137, 136, 1985, 1133, 1132, 1130, 112, 110, 1974, 107, 1973, 104, 1971, 1969, 122, 121, 119, 117, 1977, 114, 1976, 124, 1115, 1114, 1112, 1110, 1117, 1116, 84, 83, 1953, 81, 1952, 78, 1950, 1948, 1945, 94, 93, 91, 1959, 88, 1958, 85, 1955, 99, 97, 95, 1961, 1086, 1085, 1083, 1081, 1078, 100, 1090, 1089, 1087, 1091, 49, 47, 1917, 44, 1915, 1913, 1910, 1907, 59, 1926, 56, 1925, 53, 1922, 1919, 66, 64, 1931, 61, 1929, 1042, 1040, 1038, 71, 1035, 70, 1032, 68, 1048, 1047, 1045, 1043, 1050, 1049, 12, 10, 1869, 1867, 1864, 1861, 21, 1880, 19, 1877, 1874, 1871, 28, 1888, 25, 1886, 22, 1883, 982, 980, 977, 974, 32, 30, 991, 989, 987, 984, 34, 995, 994, 992, 2151, 2150, 2147, 2146, 2144, 356, 355, 354, 2149, 2139, 2138, 2136, 2134, 1359, 343, 341, 338, 2143, 335, 2141, 348, 347, 346, 1376, 1374, 2124, 2123, 2121, 2119, 1326, 2116, 1324, 310, 308, 305, 2131, 302, 2129, 298, 2127, 320, 318, 316, 313, 2133, 322, 321, 1355, 1353, 1351, 1357, 2092, 2091, 2089, 2087, 1276, 2084, 1274, 2081, 1271, 259, 2102, 256, 2100, 252, 2098, 2095, 272, 269, 2108, 266, 2106, 281, 279, 277, 1317, 1315, 1313, 1310, 282, 1321, 1319, 2039, 2037, 2035, 2032, 1203, 2029, 1200, 1197, 207, 2053, 205, 2051, 201, 2049, 2046, 2043, 220, 218, 2064, 215, 2062, 211, 2059, 228, 226, 223, 2069, 1259, 1257, 1254, 232, 1251, 230, 1267, 1265, 1263, 2316, 2315, 2312, 2311, 2309, 2314, 2304, 2303, 2301, 2299, 1593, 2308, 2306, 590, 2288, 2287, 2285, 2283, 1578, 2280, 1577, 2295, 2293, 2291, 579, 577, 574, 571, 2298, 582, 581, 1592, 2263, 2262, 2260, 2258, 1545, 2255, 1544, 2252, 1541, 2273, 2271, 2269, 2266, 1550, 535, 532, 2279, 528, 2277, 546, 543, 549, 1575, 1573, 2224, 2222, 2220, 1486, 2217, 1485, 2214, 1482, 1479, 2238, 2236, 2234, 2231, 1496, 2228, 1492, 480, 477, 2248, 473, 2246, 469, 2243, 490, 487, 2251, 497, 1537, 1535, 1532, 2477, 2476, 2474, 2479, 2469, 2468, 2466, 2464, 1730, 2473, 2471, 2453, 2452, 2450, 2448, 1729, 2445, 1728, 2460, 2458, 2456, 2463, 805, 804, 2428, 2427, 2425, 2423, 1725, 2420, 1724, 2417, 1722, 2438, 2436, 2434, 2431, 1727, 2444, 2442, 793, 791, 788, 795, 2388, 2386, 2384, 1697, 2381, 1696, 2378, 1694, 1692, 2402, 2400, 2398, 2395, 1703, 2392, 1701, 2412, 2410, 2407, 751, 748, 744, 2416, 759, 757, 1807, 2620, 2618, 1806, 1805, 2611, 2609, 2607, 2614, 1802, 1801, 1799, 2594, 2592, 2590, 2587, 1804, 2600, 2598, 1794, 1793, 1791, 1789, 2564, 2562, 2560, 2557, 1798, 2554, 1796, 2574, 2572, 2569, 2578, 1847, 1846, 2722, 1843, 1842, 1840, 1845, 2716, 2714, 1835, 1834, 1832, 1830, 1839, 1837, 2700, 2698, 2695, 2704, 1817, 1811, 1810, 897, 862, 1777, 829, 826, 838, 1760, 1758, 808, 2481, 1741, 1740, 1738, 1743, 2624, 1818, 2726, 2776, 782, 740, 737, 1715, 686, 679, 695, 1682, 1680, 639, 628, 2339, 647, 644, 1645, 1643, 1640, 1648, 602, 600, 597, 595, 2320, 593, 2318, 609, 607, 604, 1611, 1610, 1608, 1606, 613, 1615, 1613, 2328, 926, 924, 892, 886, 899, 857, 850, 2505, 1778, 824, 823, 821, 819, 2488, 818, 2486, 833, 831, 828, 840, 1761, 1759, 2649, 2632, 2630, 2746, 2734, 2732, 2782, 2781, 570, 567, 1587, 531, 527, 523, 540, 1566, 1564, 476, 467, 463, 2240, 486, 483, 1524, 1521, 1518, 1529, 411, 403, 2192, 399, 2189, 423, 416, 1462, 1457, 1454, 428, 1468, 1465, 2210, 366, 363, 2158, 360, 2156, 357, 2153, 376, 373, 370, 2163, 1410, 1409, 1407, 1405, 382, 1402, 380, 1417, 1415, 1412, 1421, 2175, 2174, 777, 774, 771, 784, 732, 725, 722, 2404, 743, 1716, 676, 674, 668, 2363, 665, 2360, 685, 1684, 1681, 626, 624, 622, 2335, 620, 2333, 617, 2330, 641, 635, 649, 1646, 1644, 1642, 2566, 928, 925, 2530, 2527, 894, 891, 888, 2501, 2499, 2496, 858, 856, 854, 851, 1779, 2692, 2668, 2665, 2645, 2643, 2640, 2651, 2768, 2759, 2757, 2744, 2743, 2741, 2748, 352, 1382, 340, 337, 333, 1371, 1369, 307, 300, 296, 2126, 315, 312, 1347, 1342, 1350, 261, 258, 250, 2097, 246, 2094, 271, 268, 264, 1306, 1301, 1298, 276, 1312, 1309, 2115, 203, 2048, 195, 2045, 191, 2041, 213, 209, 2056, 1246, 1244, 1238, HideBottomViewOnScrollBehavior.ENTER_ANIMATION_DURATION, 1234, 222, 1256, 1253, 1249, 1262, 2080, 2079, 154, 1997, FontUtils.MAX_FONT_SCALING, 1995, 147, 1992, 1989, 163, 160, 2004, 156, 2001, 1175, 1174, 1172, 1170, 1167, 170, 1164, 167, 1185, 1183, 1180, 1177, 174, 1190, 1188, 2025, 2024, 2022, 587, 586, 564, 559, 556, 2290, 573, 1588, 520, 518, 512, 2268, 508, 2265, 530, 1568, 1565, 461, 457, 2233, 450, 2230, 446, 2226, 479, 471, 489, 1526, 1523, 1520, 397, 395, 2185, 392, 2183, 389, 2180, 2177, 410, 2194, 402, 422, 1463, 1461, 1459, 1456, 1470, 2455, 799, 2433, 2430, 779, 776, 773, 2397, 2394, 2390, 734, 728, 724, 746, 1717, 2356, 2354, 2351, 2348, 1658, 677, 675, 673, 670, 667, 688, 1685, 1683, 2606, 2589, 2586, 2559, 2556, 2552, 927, 2523, 2521, 2518, 2515, 1784, 2532, 895, 893, 890, 2718, 2709, 2707, 2689, 2687, 2684, 2663, 2662, 2660, 2658, 1825, 2667, 2769, 1852, 2760, 2758, 142, 141, 1139, 1138, 134, 132, 129, 126, 1982, 1129, 1128, 1126, 1131, 113, 111, 108, 105, 1972, 101, 1970, 120, 118, 115, 1109, 1108, 1106, 1104, 123, 1113, 1111, 82, 79, 1951, 75, 1949, 72, 1946, 92, 89, 86, 1956, 1077, 1076, 1074, 1072, 98, 1069, 96, 1084, 1082, 1079, 1088, 1968, 1967, 48, 45, 1916, 42, 1914, 39, 1911, 1908, 60, 57, 54, 1923, 50, 1920, 1031, 1030, 1028, 1026, 67, AudioAttributesCompat.FLAG_ALL, 65, PointerIconCompat.TYPE_GRAB, 62, 1041, 1039, 1036, 1033, 69, 1046, 1044, 1944, 1943, 1941, 11, 9, 1868, 7, 1865, 1862, 1859, 20, 1878, 16, 1875, 13, 1872, 970, 968, 966, 963, 29, 960, 26, 23, 983, 981, 978, 975, 33, 971, 31, 990, 988, 985, 1906, 1904, 1902, 993, 351, 2145, 1383, 331, 330, 328, 326, 2137, 323, 2135, 339, 1372, 1370, 294, 293, 291, 289, 2122, 286, 2120, 283, 2117, 309, 303, 317, 1348, 1346, 1344, 245, 244, 242, 2090, 239, 2088, 236, 2085, 2082, 260, 2099, 249, 270, 1307, 1305, 1303, 1300, 1314, 189, 2038, 186, 2036, 183, 2033, 2030, 2026, 206, 198, 2047, 194, 216, 1247, 1245, 1243, 1240, 227, 1237, 1255, 2310, 2302, 2300, 2286, 2284, 2281, 565, 563, 561, 558, 575, 1589, 2261, 2259, 2256, 2253, 1542, 521, 519, 517, 514, 2270, FrameMetricsAggregator.EVERY_DURATION, 533, 1569, 1567, 2223, 2221, 2218, 2215, 1483, 2211, 1480, 459, 456, 453, 2232, 449, 474, 491, 1527, 1525, 1522, 2475, 2467, 2465, 2451, 2449, 2446, 801, 800, 2426, 2424, 2421, 2418, 1723, 2435, 780, 778, 775, 2387, 2385, 2382, 2379, 1695, 2375, 1693, 2396, 735, 733, 730, 727, 749, 1718, 2616, 2615, 2604, 2603, 2601, 2584, 2583, 2581, 2579, ModelInvite.Settings.HALF_HOUR, 2591, 2550, 2549, 2547, 2545, 1792, 2542, 1790, 2558, 929, 2719, 1841, 2710, 2708, 1833, 1831, 2690, 2688, 2686, 1815, 1809, 1808, 1774, 1756, 1754, 1737, 1736, 1734, 1739, 1816, 1711, 1676, 1674, 633, 629, 1638, 1636, 1633, 1641, 598, 1605, 1604, 1602, 1600, 605, 1609, 1607, 2327, 887, 853, 1775, 822, 820, 1757, 1755, 1584, 524, 1560, 1558, 468, 464, 1514, 1511, 1508, 1519, 408, 404, 400, 1452, 1447, 1444, 417, 1458, 1455, 2208, 364, 361, 358, 2154, 1401, 1400, 1398, 1396, 374, 1393, 371, 1408, 1406, 1403, 1413, 2173, 2172, 772, 726, 723, 1712, 672, 669, 666, 682, 1678, 1675, 625, 623, 621, 618, 2331, 636, 632, 1639, 1637, 1635, 920, 918, 884, 880, 889, 849, 848, 847, 846, 2497, 855, 852, 1776, 2641, 2742, 2787, 1380, 334, 1367, 1365, 301, 297, 1340, 1338, 1335, 1343, 255, 251, 247, 1296, 1291, 1288, 265, 1302, 1299, 2113, 204, 196, 192, 2042, 1232, 1230, 1224, 214, 1220, 210, 1242, 1239, 1235, 1250, 2077, 2075, 151, 148, 1993, 144, 1990, 1163, 1162, 1160, 1158, 1155, 161, 1152, 157, 1173, 1171, 1168, 1165, 168, 1181, 1178, 2021, 2020, 2018, 2023, 585, 560, 557, 1585, 516, 509, 1562, 1559, 458, 447, 2227, 472, 1516, 1513, 1510, 398, 396, 393, 390, 2181, 386, 2178, 407, 1453, 1451, 1449, 1446, 420, 1460, 2209, 769, 764, 720, 712, 2391, 729, 1713, 664, 663, 661, 659, 2352, 656, 2349, 671, 1679, 1677, 2553, 922, 919, 2519, 2516, 885, 883, 881, 2685, 2661, 2659, 2767, 2756, 2755, 140, 1137, 1136, 130, 127, 1125, 1124, 1122, 1127, 109, 106, 102, 1103, 1102, 1100, 1098, 116, 1107, 1105, 1980, 80, 76, 73, 1947, 1068, 1067, 1065, 1063, 90, 1060, 87, 1075, 1073, 1070, WidgetSettingsUserProfile.MAX_BANNER_IMAGE_SIZE, 1966, 1965, 46, 43, 40, 1912, 36, 1909, PointerIconCompat.TYPE_ZOOM_OUT, PointerIconCompat.TYPE_ZOOM_IN, PointerIconCompat.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW, PointerIconCompat.TYPE_HORIZONTAL_DOUBLE_ARROW, 58, PointerIconCompat.TYPE_COPY, 55, PointerIconCompat.TYPE_TEXT, 51, 1029, 1027, 1024, PointerIconCompat.TYPE_GRABBING, 63, 1037, 1034, 1940, 1939, 1937, 1942, 8, 1866, 4, 1863, 1, 1860, 956, 954, 952, 949, 946, 17, 14, 969, 967, 964, 961, 27, 957, 24, 979, 976, 972, 1901, 1900, 1898, 1896, 986, 1905, 1903, 350, 349, 1381, 329, 327, 324, 1368, 1366, 292, 290, 287, 284, 2118, 304, 1341, 1339, 1337, 1345, 243, 240, 237, 2086, 233, 2083, 254, 1297, 1295, 1293, 1290, 1304, 2114, 190, 187, 184, 2034, BaseTransientBottomBar.ANIMATION_FADE_DURATION, 2031, 177, 2027, 199, 1233, 1231, 1229, 1226, 217, 1223, 1241, 2078, 2076, 584, 555, 554, 552, 550, 2282, 562, 1586, 507, 506, 504, 502, 2257, 499, 2254, 515, 1563, 1561, 445, 443, 441, 2219, 438, 2216, 435, 2212, 460, 454, 475, 1517, 1515, 1512, 2447, 798, 797, 2422, 2419, 770, 768, 766, 2383, 2380, 2376, 721, 719, 717, 714, 731, 1714, 2602, 2582, 2580, 2548, 2546, 2543, 923, 921, 2717, 2706, 2705, 2683, 2682, 2680, 1771, 1752, 1750, 1733, 1732, 1731, 1735, 1814, 1707, 1670, 1668, 1631, 1629, 1626, 1634, 1599, 1598, 1596, 1594, 1603, 1601, 2326, 1772, 1753, 1751, 1581, 1554, 1552, 1504, 1501, 1498, 1509, 1442, 1437, 1434, 401, 1448, 1445, 2206, 1392, 1391, 1389, 1387, 1384, 359, 1399, 1397, 1394, 1404, 2171, 2170, 1708, 1672, 1669, 619, 1632, 1630, 1628, 1773, 1378, 1363, 1361, 1333, 1328, 1336, 1286, 1281, 1278, 248, 1292, 1289, 2111, 1218, 1216, 1210, 197, 1206, 193, 1228, 1225, 1221, 1236, 2073, 2071, 1151, 1150, 1148, 1146, 152, 1143, 149, 1140, 145, 1161, 1159, 1156, 1153, 158, 1169, 1166, 2017, 2016, 2014, 2019, 1582, 510, 1556, 1553, 452, 448, 1506, 1500, 394, 391, 387, 1443, 1441, 1439, 1436, 1450, 2207, 765, 716, 713, 1709, 662, 660, 657, 1673, 1671, 916, 914, 879, 878, 877, 882, 1135, 1134, 1121, 1120, 1118, 1123, 1097, 1096, 1094, 1092, 103, 1101, 1099, 1979, 1059, 1058, 1056, 1054, 77, 1051, 74, 1066, 1064, 1061, 1071, 1964, 1963, PointerIconCompat.TYPE_CROSSHAIR, PointerIconCompat.TYPE_CELL, PointerIconCompat.TYPE_WAIT, PointerIconCompat.TYPE_HAND, RoomDatabase.MAX_BIND_PARAMETER_CNT, 41, 996, 37, PointerIconCompat.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW, PointerIconCompat.TYPE_VERTICAL_DOUBLE_ARROW, PointerIconCompat.TYPE_NO_DROP, PointerIconCompat.TYPE_VERTICAL_TEXT, 52, InputDeviceCompat.SOURCE_GAMEPAD, 1022, 1936, 1935, 1933, 1938, 942, 940, 938, 935, 932, 5, 2, 955, 953, 950, 947, 18, 943, 15, 965, 962, 958, 1895, 1894, 1892, 1890, 973, 1899, 1897, 1379, 325, 1364, 1362, ScreenShareManager.THUMBNAIL_HEIGHT_PX, 285, 1334, 1332, 1330, 241, 238, 234, 1287, 1285, 1283, 1280, 1294, 2112, 188, 185, 181, 178, 2028, 1219, 1217, 1215, 1212, 200, 1209, 1227, 2074, 2072, 583, 553, 551, 1583, 505, 503, 500, InputDeviceCompat.SOURCE_DPAD, 1557, 1555, 444, 442, 439, 436, 2213, 455, 451, 1507, 1505, 1502, 796, 763, 762, 760, 767, 711, 710, 708, 706, 2377, 718, 715, 1710, 2544, 917, 915, 2681, 1627, 1597, 1595, 2325, 1769, 1749, 1747, 1499, 1438, 1435, 2204, 1390, 1388, 1385, 1395, 2169, 2167, 1704, 1665, 1662, 1625, 1623, 1620, 1770, 1329, 1282, 1279, 2109, 1214, 1207, 1222, 2068, 2065, 1149, 1147, 1144, 1141, 146, 1157, 1154, 2013, 2011, 2008, 2015, 1579, 1549, 1546, 1495, 1487, 1433, 1431, 1428, 1425, 388, 1440, 2205, 1705, 658, 1667, 1664, 1119, 1095, 1093, 1978, 1057, 1055, 1052, 1062, 1962, 1960, 1005, PointerIconCompat.TYPE_HELP, 1000, 997, 38, PointerIconCompat.TYPE_ALL_SCROLL, PointerIconCompat.TYPE_ALIAS, 1932, 1930, 1927, 1934, 941, 939, 936, 933, 6, 930, 3, 951, 948, 944, 1889, 1887, 1884, 1881, 959, 1893, 1891, 35, 1377, 1360, 1358, 1327, 1325, 1322, 1331, 1277, 1275, 1272, 1269, 235, 1284, 2110, 1205, 1204, 1201, 1198, 182, 1195, 179, 1213, 2070, 2067, 1580, 501, 1551, 1548, 440, 437, 1497, 1494, 1490, 1503, 761, 709, 707, 1706, 913, 912, 2198, 1386, 2164, 2161, 1621, 1766, 2103, 1208, 2058, 2054, 1145, 1142, 2005, 2002, 1999, 2009, 1488, 1429, 1426, 2200, 1698, 1659, 1656, 1975, 1053, 1957, 1954, PointerIconCompat.TYPE_CONTEXT_MENU, 998, 1924, 1921, 1918, 1928, 937, 934, 931, 1879, 1876, 1873, 1870, 945, 1885, 1882, 1323, 1273, 1270, 2105, 1202, 1199, 1196, 1211, 2061, 2057, 1576, 1543, 1540, 1484, 1481, 1478, 1491, 1700}; public static int a(int i) { int binarySearch = Arrays.binarySearch(b, i & 262143); diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumChangelogCtaClicked.java b/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumChangelogCtaClicked.java new file mode 100644 index 0000000000..e41985c076 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumChangelogCtaClicked.java @@ -0,0 +1,37 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackPremiumChangelogCtaClicked.kt */ +public final class TrackPremiumChangelogCtaClicked implements AnalyticsSchema, TrackBaseReceiver { + private final CharSequence action = null; + private final transient String analyticsSchemaTypeName = "premium_changelog_cta_clicked"; + private TrackBase trackBase; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this != obj) { + return (obj instanceof TrackPremiumChangelogCtaClicked) && m.areEqual(this.action, ((TrackPremiumChangelogCtaClicked) obj).action); + } + return true; + } + + public int hashCode() { + CharSequence charSequence = this.action; + if (charSequence != null) { + return charSequence.hashCode(); + } + return 0; + } + + public String toString() { + return a.D(a.P("TrackPremiumChangelogCtaClicked(action="), this.action, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumChangelogCtaClickedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumChangelogCtaClickedReceiver.java new file mode 100644 index 0000000000..dc149be500 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumChangelogCtaClickedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackPremiumChangelogCtaClicked.kt */ +public interface TrackPremiumChangelogCtaClickedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumUpsellViewed.java b/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumUpsellViewed.java index 72dd3f7620..6c0acab0ae 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumUpsellViewed.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackPremiumUpsellViewed.java @@ -12,6 +12,7 @@ import d0.z.d.m; /* compiled from: TrackPremiumUpsellViewed.kt */ public final class TrackPremiumUpsellViewed implements AnalyticsSchema, TrackBaseReceiver, TrackLocationMetadataReceiver, TrackSourceMetadataReceiver { private final transient String analyticsSchemaTypeName = "premium_upsell_viewed"; + private final Float duration = null; private final Boolean hasPremiumStreamFps = null; private final Boolean hasPremiumStreamResolution = null; private final Boolean hasSearchQuery = null; @@ -35,7 +36,7 @@ public final class TrackPremiumUpsellViewed implements AnalyticsSchema, TrackBas return false; } TrackPremiumUpsellViewed trackPremiumUpsellViewed = (TrackPremiumUpsellViewed) obj; - return m.areEqual(this.type, trackPremiumUpsellViewed.type) && m.areEqual(this.isAnimated, trackPremiumUpsellViewed.isAnimated) && m.areEqual(this.isExternal, trackPremiumUpsellViewed.isExternal) && m.areEqual(this.hasSearchQuery, trackPremiumUpsellViewed.hasSearchQuery) && m.areEqual(this.hasPremiumStreamFps, trackPremiumUpsellViewed.hasPremiumStreamFps) && m.areEqual(this.hasPremiumStreamResolution, trackPremiumUpsellViewed.hasPremiumStreamResolution); + return m.areEqual(this.type, trackPremiumUpsellViewed.type) && m.areEqual(this.isAnimated, trackPremiumUpsellViewed.isAnimated) && m.areEqual(this.isExternal, trackPremiumUpsellViewed.isExternal) && m.areEqual(this.hasSearchQuery, trackPremiumUpsellViewed.hasSearchQuery) && m.areEqual(this.hasPremiumStreamFps, trackPremiumUpsellViewed.hasPremiumStreamFps) && m.areEqual(this.hasPremiumStreamResolution, trackPremiumUpsellViewed.hasPremiumStreamResolution) && m.areEqual(this.duration, trackPremiumUpsellViewed.duration); } public int hashCode() { @@ -51,10 +52,12 @@ public final class TrackPremiumUpsellViewed implements AnalyticsSchema, TrackBas Boolean bool4 = this.hasPremiumStreamFps; int hashCode5 = (hashCode4 + (bool4 != null ? bool4.hashCode() : 0)) * 31; Boolean bool5 = this.hasPremiumStreamResolution; - if (bool5 != null) { - i = bool5.hashCode(); + int hashCode6 = (hashCode5 + (bool5 != null ? bool5.hashCode() : 0)) * 31; + Float f = this.duration; + if (f != null) { + i = f.hashCode(); } - return hashCode5 + i; + return hashCode6 + i; } public String toString() { @@ -69,6 +72,10 @@ public final class TrackPremiumUpsellViewed implements AnalyticsSchema, TrackBas P.append(", hasPremiumStreamFps="); P.append(this.hasPremiumStreamFps); P.append(", hasPremiumStreamResolution="); - return a.C(P, this.hasPremiumStreamResolution, ")"); + P.append(this.hasPremiumStreamResolution); + P.append(", duration="); + P.append(this.duration); + P.append(")"); + return P.toString(); } } diff --git a/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventLocationSelectBinding.java b/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventLocationSelectBinding.java index 8a444b1248..42b2f95fa4 100644 --- a/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventLocationSelectBinding.java +++ b/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventLocationSelectBinding.java @@ -25,41 +25,38 @@ public final class WidgetGuildScheduledEventLocationSelectBinding implements Vie @NonNull public final ImageView d; @NonNull - public final View e; + public final TextInputEditText e; @NonNull - public final TextInputEditText f; + public final TextInputLayout f; @NonNull - public final TextInputLayout g; + public final CheckedSetting g; @NonNull - public final CheckedSetting h; + public final TextView h; @NonNull - public final TextView i; + public final MaterialButton i; @NonNull - public final MaterialButton j; + public final CheckedSetting j; @NonNull - public final CheckedSetting k; + public final TextView k; @NonNull - public final TextView l; + public final View l; @NonNull - public final View m; - @NonNull - public final CheckedSetting n; + public final CheckedSetting m; public WidgetGuildScheduledEventLocationSelectBinding(@NonNull ConstraintLayout constraintLayout, @NonNull TextInputEditText textInputEditText, @NonNull TextInputLayout textInputLayout, @NonNull ImageView imageView, @NonNull View view, @NonNull TextInputEditText textInputEditText2, @NonNull TextInputLayout textInputLayout2, @NonNull CheckedSetting checkedSetting, @NonNull NestedScrollView nestedScrollView, @NonNull TextView textView, @NonNull LinearLayout linearLayout, @NonNull MaterialButton materialButton, @NonNull CheckedSetting checkedSetting2, @NonNull TextView textView2, @NonNull ScreenTitleView screenTitleView, @NonNull ConstraintLayout constraintLayout2, @NonNull View view2, @NonNull CheckedSetting checkedSetting3) { this.a = constraintLayout; this.b = textInputEditText; this.f1877c = textInputLayout; this.d = imageView; - this.e = view; - this.f = textInputEditText2; - this.g = textInputLayout2; - this.h = checkedSetting; - this.i = textView; - this.j = materialButton; - this.k = checkedSetting2; - this.l = textView2; - this.m = view2; - this.n = checkedSetting3; + this.e = textInputEditText2; + this.f = textInputLayout2; + this.g = checkedSetting; + this.h = textView; + this.i = materialButton; + this.j = checkedSetting2; + this.k = textView2; + this.l = view2; + this.m = checkedSetting3; } @Override // androidx.viewbinding.ViewBinding diff --git a/app/src/main/java/com/discord/databinding/WidgetSettingsBinding.java b/app/src/main/java/com/discord/databinding/WidgetSettingsBinding.java index 67bd1e2d18..3ca5686e0b 100644 --- a/app/src/main/java/com/discord/databinding/WidgetSettingsBinding.java +++ b/app/src/main/java/com/discord/databinding/WidgetSettingsBinding.java @@ -13,15 +13,15 @@ public final class WidgetSettingsBinding implements ViewBinding { @NonNull public final TextView A; @NonNull - public final TextView B; + public final LinearLayout B; @NonNull - public final LinearLayout C; + public final TextView C; @NonNull public final TextView D; @NonNull - public final TextView E; + public final StatusView E; @NonNull - public final StatusView F; + public final TextView F; @NonNull public final TextView G; @NonNull @@ -29,11 +29,9 @@ public final class WidgetSettingsBinding implements ViewBinding { @NonNull public final TextView I; @NonNull - public final TextView J; + public final UserProfileHeaderView J; @NonNull - public final UserProfileHeaderView K; - @NonNull - public final TextView L; + public final TextView K; @NonNull public final CoordinatorLayout a; @NonNull @@ -95,9 +93,9 @@ public final class WidgetSettingsBinding implements ViewBinding { @NonNull /* renamed from: z reason: collision with root package name */ - public final LinearLayout f2004z; + public final TextView f2004z; - public WidgetSettingsBinding(@NonNull CoordinatorLayout coordinatorLayout, @NonNull TextView textView, @NonNull TextView textView2, @NonNull TextView textView3, @NonNull TextView textView4, @NonNull TextView textView5, @NonNull TextView textView6, @NonNull TextView textView7, @NonNull TextView textView8, @NonNull TextView textView9, @NonNull TextView textView10, @NonNull TextView textView11, @NonNull TextView textView12, @NonNull View view, @NonNull TextView textView13, @NonNull TextView textView14, @NonNull TextView textView15, @NonNull TextView textView16, @NonNull TextView textView17, @NonNull LinearLayout linearLayout, @NonNull TextView textView18, @NonNull LinearLayout linearLayout2, @NonNull LinearLayout linearLayout3, @NonNull MaterialButton materialButton, @NonNull TextView textView19, @NonNull TextView textView20, @NonNull LinearLayout linearLayout4, @NonNull TextView textView21, @NonNull TextView textView22, @NonNull TextView textView23, @NonNull LinearLayout linearLayout5, @NonNull TextView textView24, @NonNull TextView textView25, @NonNull TextView textView26, @NonNull StatusView statusView, @NonNull TextView textView27, @NonNull TextView textView28, @NonNull TextView textView29, @NonNull TextView textView30, @NonNull UserProfileHeaderView userProfileHeaderView, @NonNull TextView textView31) { + public WidgetSettingsBinding(@NonNull CoordinatorLayout coordinatorLayout, @NonNull TextView textView, @NonNull TextView textView2, @NonNull TextView textView3, @NonNull TextView textView4, @NonNull TextView textView5, @NonNull TextView textView6, @NonNull TextView textView7, @NonNull TextView textView8, @NonNull TextView textView9, @NonNull TextView textView10, @NonNull TextView textView11, @NonNull TextView textView12, @NonNull View view, @NonNull TextView textView13, @NonNull TextView textView14, @NonNull TextView textView15, @NonNull TextView textView16, @NonNull TextView textView17, @NonNull LinearLayout linearLayout, @NonNull TextView textView18, @NonNull LinearLayout linearLayout2, @NonNull LinearLayout linearLayout3, @NonNull MaterialButton materialButton, @NonNull TextView textView19, @NonNull TextView textView20, @NonNull TextView textView21, @NonNull TextView textView22, @NonNull LinearLayout linearLayout4, @NonNull TextView textView23, @NonNull TextView textView24, @NonNull TextView textView25, @NonNull StatusView statusView, @NonNull TextView textView26, @NonNull TextView textView27, @NonNull TextView textView28, @NonNull TextView textView29, @NonNull UserProfileHeaderView userProfileHeaderView, @NonNull TextView textView30) { this.a = coordinatorLayout; this.b = textView; this.f2000c = textView2; @@ -123,19 +121,18 @@ public final class WidgetSettingsBinding implements ViewBinding { this.w = materialButton; this.f2002x = textView19; this.f2003y = textView20; - this.f2004z = linearLayout4; - this.A = textView21; - this.B = textView23; - this.C = linearLayout5; + this.f2004z = textView21; + this.A = textView22; + this.B = linearLayout4; + this.C = textView24; this.D = textView25; - this.E = textView26; - this.F = statusView; + this.E = statusView; + this.F = textView26; this.G = textView27; this.H = textView28; this.I = textView29; - this.J = textView30; - this.K = userProfileHeaderView; - this.L = textView31; + this.J = userProfileHeaderView; + this.K = textView30; } @Override // androidx.viewbinding.ViewBinding diff --git a/app/src/main/java/com/discord/models/domain/NonceGenerator.java b/app/src/main/java/com/discord/models/domain/NonceGenerator.java index b8866f2204..ae2494297b 100644 --- a/app/src/main/java/com/discord/models/domain/NonceGenerator.java +++ b/app/src/main/java/com/discord/models/domain/NonceGenerator.java @@ -26,9 +26,10 @@ public final class NonceGenerator { return companion.computeNonce(clock); } - public final long computeNonce(Clock clock) { + public final synchronized long computeNonce(Clock clock) { + long currentTimeMillis; m.checkNotNullParameter(clock, "clock"); - long currentTimeMillis = ((clock.currentTimeMillis() + 1471228928) - SnowflakeUtils.DISCORD_EPOCH) << 22; + currentTimeMillis = ((clock.currentTimeMillis() + 1471228928) - SnowflakeUtils.DISCORD_EPOCH) << 22; if (currentTimeMillis <= NonceGenerator.access$getPreviousNonce$cp()) { currentTimeMillis = NonceGenerator.access$getPreviousNonce$cp() + 1; } @@ -45,8 +46,12 @@ public final class NonceGenerator { previousNonce = j; } - public static final long computeNonce(Clock clock) { - return Companion.computeNonce(clock); + public static final synchronized long computeNonce(Clock clock) { + long computeNonce; + synchronized (NonceGenerator.class) { + computeNonce = Companion.computeNonce(clock); + } + return computeNonce; } public final long nonce() { diff --git a/app/src/main/java/com/discord/models/guild/Guild.java b/app/src/main/java/com/discord/models/guild/Guild.java index 685e1f52ed..50c0e05a8e 100644 --- a/app/src/main/java/com/discord/models/guild/Guild.java +++ b/app/src/main/java/com/discord/models/guild/Guild.java @@ -537,7 +537,7 @@ public final class Guild { } public final boolean isHub() { - return this.features.contains(GuildFeature.HUB); + return hasFeature(GuildFeature.HUB); } public final boolean isOwner(long j) { diff --git a/app/src/main/java/com/discord/stores/StoreMessages.java b/app/src/main/java/com/discord/stores/StoreMessages.java index e8d41111db..b1d4776c57 100644 --- a/app/src/main/java/com/discord/stores/StoreMessages.java +++ b/app/src/main/java/com/discord/stores/StoreMessages.java @@ -451,9 +451,9 @@ public final class StoreMessages extends Store { } public final Observable> getAllDetached() { - Observable> detachedChannelSubject = this.holder.getDetachedChannelSubject(); - m.checkNotNullExpressionValue(detachedChannelSubject, "holder\n .detachedChannelSubject"); - return ObservableExtensionsKt.computationLatest(detachedChannelSubject); + Observable> detachedChannelsSubject = this.holder.getDetachedChannelsSubject(); + m.checkNotNullExpressionValue(detachedChannelsSubject, "holder\n .detachedChannelsSubject"); + return ObservableExtensionsKt.computationLatest(detachedChannelsSubject); } @StoreThread diff --git a/app/src/main/java/com/discord/stores/StoreMessagesHolder.java b/app/src/main/java/com/discord/stores/StoreMessagesHolder.java index 2fe3e60c22..d012f1e878 100644 --- a/app/src/main/java/com/discord/stores/StoreMessagesHolder.java +++ b/app/src/main/java/com/discord/stores/StoreMessagesHolder.java @@ -37,7 +37,6 @@ public class StoreMessagesHolder { private static final int CACHE_PERSIST_INTERVAL = 60000; private static final int MAX_MESSAGES_PER_CHANNEL = 200; private static final int MAX_MESSAGES_PER_CHANNEL_TRIM = 100; - private final Object $lock = new Object[0]; private final Set activeChannels = new HashSet(); private final Persister>> cache = new Persister<>("STORE_MESSAGES_CACHE_V36", new HashMap()); private boolean cacheEnabled; @@ -45,7 +44,7 @@ public class StoreMessagesHolder { private long cachePersistedAt = ClockFactory.get().currentTimeMillis(); private Map> cacheSnapshot = Collections.emptyMap(); private final Set detachedChannels; - private Subject, Set> detachedChannelsSubject; + private final Subject, Set> detachedChannelsSubject; private final Map messageNonceIds = new HashMap(); private final LinkedHashMap> messages = new LinkedHashMap<>(); private final Subject>, Map>> messagesPublisher = new SerializedSubject(BehaviorSubject.j0()); @@ -113,26 +112,24 @@ public class StoreMessagesHolder { return this.detachedChannels.contains(Long.valueOf(j)); } - private void messageCacheTryPersist() { - synchronized (this.$lock) { - if (this.cacheEnabled) { - long currentTimeMillis = ClockFactory.get().currentTimeMillis(); - long j = this.cachePersistedAt + 60000; - if (j < currentTimeMillis) { - this.cachePersistedAt = currentTimeMillis; - Map> computeMessagesCache = computeMessagesCache(); - if (!this.cacheSnapshot.equals(computeMessagesCache)) { - this.cacheSnapshot = computeMessagesCache; - this.cache.set(computeMessagesCache); - } - } else { - long j2 = (j - currentTimeMillis) + 1000; - Subscription subscription = this.cachePersistSubscription; - if (subscription != null) { - subscription.unsubscribe(); - } - this.cachePersistSubscription = new j(null).q(j2, TimeUnit.MILLISECONDS).V(new b(this), a.i); + private synchronized void messageCacheTryPersist() { + if (this.cacheEnabled) { + long currentTimeMillis = ClockFactory.get().currentTimeMillis(); + long j = this.cachePersistedAt + 60000; + if (j < currentTimeMillis) { + this.cachePersistedAt = currentTimeMillis; + Map> computeMessagesCache = computeMessagesCache(); + if (!this.cacheSnapshot.equals(computeMessagesCache)) { + this.cacheSnapshot = computeMessagesCache; + this.cache.set(computeMessagesCache); } + } else { + long j2 = (j - currentTimeMillis) + 1000; + Subscription subscription = this.cachePersistSubscription; + if (subscription != null) { + subscription.unsubscribe(); + } + this.cachePersistSubscription = new j(null).q(j2, TimeUnit.MILLISECONDS).V(new b(this), a.i); } } } @@ -223,152 +220,161 @@ public class StoreMessagesHolder { messageCacheTryPersist(); } - public void addMessages(@NonNull List list) { + public synchronized void addMessages(@NonNull List list) { boolean z2; - synchronized (this.$lock) { - for (Message message : list) { - long channelId = message.getChannelId(); - TreeMap treeMap = this.messages.get(Long.valueOf(channelId)); - if (isChannelActive(channelId) && !isChannelDetached(channelId)) { - String nonce = message.getNonce(); - if (message.isLocal()) { - this.messageNonceIds.put(nonce, Long.valueOf(message.getId())); - } else { - Long l = this.messageNonceIds.get(nonce); - if (l != null) { - this.messageNonceIds.remove(nonce); - if (treeMap.containsKey(l)) { - treeMap.remove(l); - z2 = true; - treeMap.put(Long.valueOf(message.getId()), message); - if (!updateDetachedState(channelId, treeMap, false, true, false) || !z2) { - this.updatedChannels.add(Long.valueOf(channelId)); - } + for (Message message : list) { + long channelId = message.getChannelId(); + TreeMap treeMap = this.messages.get(Long.valueOf(channelId)); + if (isChannelActive(channelId) && !isChannelDetached(channelId)) { + String nonce = message.getNonce(); + if (message.isLocal()) { + this.messageNonceIds.put(nonce, Long.valueOf(message.getId())); + } else { + Long l = this.messageNonceIds.get(nonce); + if (l != null) { + this.messageNonceIds.remove(nonce); + if (treeMap.containsKey(l)) { + treeMap.remove(l); + z2 = true; + treeMap.put(Long.valueOf(message.getId()), message); + if (!updateDetachedState(channelId, treeMap, false, true, false) || !z2) { + this.updatedChannels.add(Long.valueOf(channelId)); } } } - z2 = false; - treeMap.put(Long.valueOf(message.getId()), message); - if (!updateDetachedState(channelId, treeMap, false, true, false)) { - } - this.updatedChannels.add(Long.valueOf(channelId)); } + z2 = false; + treeMap.put(Long.valueOf(message.getId()), message); + if (!updateDetachedState(channelId, treeMap, false, true, false)) { + } + this.updatedChannels.add(Long.valueOf(channelId)); } - publishIfUpdated(); } + publishIfUpdated(); } - public void deleteMessages(long j, @Nullable List list) { - synchronized (this.$lock) { - TreeMap treeMap = this.messages.get(Long.valueOf(j)); - if (isChannelActive(j) && list != null) { - if (!list.isEmpty()) { - for (Long l : list) { - long longValue = l.longValue(); - if (treeMap.containsKey(Long.valueOf(longValue))) { - treeMap.remove(Long.valueOf(longValue)); - this.updatedChannels.add(Long.valueOf(j)); - } + public synchronized void deleteMessages(long j, @Nullable List list) { + TreeMap treeMap = this.messages.get(Long.valueOf(j)); + if (isChannelActive(j) && list != null) { + if (!list.isEmpty()) { + for (Long l : list) { + long longValue = l.longValue(); + if (treeMap.containsKey(Long.valueOf(longValue))) { + treeMap.remove(Long.valueOf(longValue)); + this.updatedChannels.add(Long.valueOf(j)); } - publishIfUpdated(); } + publishIfUpdated(); } } } - public Observable> getDetachedChannelSubject() { + public Observable> getDetachedChannelsSubject() { return this.detachedChannelsSubject; } @Nullable - public TreeMap getMessagesForChannel(Long l) { - TreeMap treeMap; - synchronized (this.$lock) { - treeMap = this.messages.get(l); - } - return treeMap; + public synchronized TreeMap getMessagesForChannel(Long l) { + return this.messages.get(l); } public Observable>> getMessagesPublisher() { return this.messagesPublisher; } - public void init(boolean z2) { - synchronized (this.$lock) { - if (z2) { - for (Map.Entry> entry : this.cache.get().entrySet()) { - if (entry != null) { - if (entry.getKey() != null) { - long longValue = entry.getKey().longValue(); - this.messages.put(Long.valueOf(longValue), new TreeMap<>(MessageUtils.getSORT_BY_IDS_COMPARATOR())); - TreeMap treeMap = this.messages.get(Long.valueOf(longValue)); - for (Message message : entry.getValue()) { - this.staleMessages.add(Long.valueOf(message.getId())); - treeMap.put(Long.valueOf(message.getId()), message); - } - this.updatedChannels.add(Long.valueOf(longValue)); + public synchronized void init(boolean z2) { + if (z2) { + for (Map.Entry> entry : this.cache.get().entrySet()) { + if (entry != null) { + if (entry.getKey() != null) { + long longValue = entry.getKey().longValue(); + this.messages.put(Long.valueOf(longValue), new TreeMap<>(MessageUtils.getSORT_BY_IDS_COMPARATOR())); + TreeMap treeMap = this.messages.get(Long.valueOf(longValue)); + for (Message message : entry.getValue()) { + this.staleMessages.add(Long.valueOf(message.getId())); + treeMap.put(Long.valueOf(message.getId()), message); + } + this.updatedChannels.add(Long.valueOf(longValue)); + } + } + } + } + this.cacheEnabled = z2; + publishIfUpdated(true); + } + + public synchronized void invalidate() { + for (Map.Entry> entry : this.messages.entrySet()) { + for (Map.Entry entry2 : entry.getValue().entrySet()) { + this.staleMessages.add(Long.valueOf(entry2.getValue().getId())); + } + } + this.activeChannels.clear(); + this.activeChannels.add(Long.valueOf(this.selectedChannelId)); + } + + public synchronized void loadMessageChunks(@NonNull List list) { + for (StoreMessagesLoader.ChannelChunk channelChunk : list) { + List messages = channelChunk.getMessages(); + long channelId = channelChunk.getChannelId(); + if (this.activeChannels.contains(Long.valueOf(channelId))) { + TreeMap treeMap = this.messages.get(Long.valueOf(channelId)); + boolean isChannelDetached = isChannelDetached(channelId); + boolean isJump = channelChunk.isJump(); + boolean isInitial = channelChunk.isInitial(); + boolean isPresent = channelChunk.isPresent(); + if (isInitial || isJump) { + Iterator> it = treeMap.entrySet().iterator(); + while (it.hasNext()) { + Long valueOf = Long.valueOf(it.next().getValue().getId()); + if (this.staleMessages.contains(valueOf) || isChannelDetached || isJump) { + it.remove(); + this.staleMessages.remove(valueOf); } } } - } - this.cacheEnabled = z2; - publishIfUpdated(true); - } - } - - public void invalidate() { - synchronized (this.$lock) { - for (Map.Entry> entry : this.messages.entrySet()) { - for (Map.Entry entry2 : entry.getValue().entrySet()) { - this.staleMessages.add(Long.valueOf(entry2.getValue().getId())); + for (Message message : messages) { + treeMap.put(Long.valueOf(message.getId()), message); } + updateDetachedState(channelId, treeMap, channelChunk.isAppendingTop(), isPresent, isJump); + this.updatedChannels.add(Long.valueOf(channelId)); + } + } + publishIfUpdated(); + } + + public synchronized void removeAllReactions(@NonNull MessageReactionUpdate messageReactionUpdate) { + long a = messageReactionUpdate.a(); + if (isChannelActive(a)) { + long c2 = messageReactionUpdate.c(); + TreeMap treeMap = this.messages.get(Long.valueOf(a)); + Message message = treeMap.get(Long.valueOf(c2)); + if (message != null) { + treeMap.put(Long.valueOf(c2), LocalMessageCreatorsKt.createWithReactions(message, null)); + this.updatedChannels.add(Long.valueOf(a)); + publishIfUpdated(); } - this.activeChannels.clear(); - this.activeChannels.add(Long.valueOf(this.selectedChannelId)); } } - public void loadMessageChunks(@NonNull List list) { - synchronized (this.$lock) { - for (StoreMessagesLoader.ChannelChunk channelChunk : list) { - List messages = channelChunk.getMessages(); - long channelId = channelChunk.getChannelId(); - if (this.activeChannels.contains(Long.valueOf(channelId))) { - TreeMap treeMap = this.messages.get(Long.valueOf(channelId)); - boolean isChannelDetached = isChannelDetached(channelId); - boolean isJump = channelChunk.isJump(); - boolean isInitial = channelChunk.isInitial(); - boolean isPresent = channelChunk.isPresent(); - if (isInitial || isJump) { - Iterator> it = treeMap.entrySet().iterator(); - while (it.hasNext()) { - Long valueOf = Long.valueOf(it.next().getValue().getId()); - if (this.staleMessages.contains(valueOf) || isChannelDetached || isJump) { - it.remove(); - this.staleMessages.remove(valueOf); - } + public synchronized void removeEmojiReactions(@NonNull MessageReactionUpdate messageReactionUpdate) { + long a = messageReactionUpdate.a(); + if (isChannelActive(a)) { + long c2 = messageReactionUpdate.c(); + TreeMap treeMap = this.messages.get(Long.valueOf(a)); + Message message = treeMap.get(Long.valueOf(c2)); + if (message != null) { + String c3 = messageReactionUpdate.b().c(); + Map reactionsMap = message.getReactionsMap(); + if (reactionsMap.containsKey(c3)) { + LinkedHashMap linkedHashMap = new LinkedHashMap(); + for (Map.Entry entry : reactionsMap.entrySet()) { + String key = entry.getKey(); + if (!key.equals(c3)) { + linkedHashMap.put(key, entry.getValue()); } } - for (Message message : messages) { - treeMap.put(Long.valueOf(message.getId()), message); - } - updateDetachedState(channelId, treeMap, channelChunk.isAppendingTop(), isPresent, isJump); - this.updatedChannels.add(Long.valueOf(channelId)); - } - } - publishIfUpdated(); - } - } - - public void removeAllReactions(@NonNull MessageReactionUpdate messageReactionUpdate) { - synchronized (this.$lock) { - long a = messageReactionUpdate.a(); - if (isChannelActive(a)) { - long c2 = messageReactionUpdate.c(); - TreeMap treeMap = this.messages.get(Long.valueOf(a)); - Message message = treeMap.get(Long.valueOf(c2)); - if (message != null) { - treeMap.put(Long.valueOf(c2), LocalMessageCreatorsKt.createWithReactions(message, null)); + treeMap.put(Long.valueOf(c2), LocalMessageCreatorsKt.createWithReactions(message, linkedHashMap)); this.updatedChannels.add(Long.valueOf(a)); publishIfUpdated(); } @@ -376,86 +382,53 @@ public class StoreMessagesHolder { } } - public void removeEmojiReactions(@NonNull MessageReactionUpdate messageReactionUpdate) { - synchronized (this.$lock) { - long a = messageReactionUpdate.a(); - if (isChannelActive(a)) { - long c2 = messageReactionUpdate.c(); - TreeMap treeMap = this.messages.get(Long.valueOf(a)); - Message message = treeMap.get(Long.valueOf(c2)); - if (message != null) { - String c3 = messageReactionUpdate.b().c(); - Map reactionsMap = message.getReactionsMap(); - if (reactionsMap.containsKey(c3)) { - LinkedHashMap linkedHashMap = new LinkedHashMap(); - for (Map.Entry entry : reactionsMap.entrySet()) { - String key = entry.getKey(); - if (!key.equals(c3)) { - linkedHashMap.put(key, entry.getValue()); - } - } - treeMap.put(Long.valueOf(c2), LocalMessageCreatorsKt.createWithReactions(message, linkedHashMap)); - this.updatedChannels.add(Long.valueOf(a)); - publishIfUpdated(); - } - } - } - } - } - public void setMyUserId(long j) { this.myUserId = j; } - public void setSelectedChannelId(long j) { - synchronized (this.$lock) { - this.selectedChannelId = j; - TreeMap treeMap = this.messages.get(Long.valueOf(j)); - if (treeMap != null) { - this.messages.remove(Long.valueOf(j)); - this.messages.put(Long.valueOf(j), treeMap); - } else { - this.messages.put(Long.valueOf(j), new TreeMap<>(MessageUtils.getSORT_BY_IDS_COMPARATOR())); - } - this.activeChannels.add(Long.valueOf(j)); + public synchronized void setSelectedChannelId(long j) { + this.selectedChannelId = j; + TreeMap treeMap = this.messages.get(Long.valueOf(j)); + if (treeMap != null) { + this.messages.remove(Long.valueOf(j)); + this.messages.put(Long.valueOf(j), treeMap); + } else { + this.messages.put(Long.valueOf(j), new TreeMap<>(MessageUtils.getSORT_BY_IDS_COMPARATOR())); } + this.activeChannels.add(Long.valueOf(j)); } - public void updateMessages(@NonNull com.discord.api.message.Message message) { - synchronized (this.$lock) { - long g = message.g(); - TreeMap treeMap = this.messages.get(Long.valueOf(g)); - if (isChannelActive(g)) { - Message message2 = treeMap.get(Long.valueOf(message.o())); - if (!isChannelDetached(g)) { - if (message2 != null) { - treeMap.put(Long.valueOf(message.o()), message2.merge(message)); - this.updatedChannels.add(Long.valueOf(g)); - } + public synchronized void updateMessages(@NonNull com.discord.api.message.Message message) { + long g = message.g(); + TreeMap treeMap = this.messages.get(Long.valueOf(g)); + if (isChannelActive(g)) { + Message message2 = treeMap.get(Long.valueOf(message.o())); + if (!isChannelDetached(g)) { + if (message2 != null) { + treeMap.put(Long.valueOf(message.o()), message2.merge(message)); + this.updatedChannels.add(Long.valueOf(g)); } - return; } - publishIfUpdated(); + return; } + publishIfUpdated(); } - public void updateReactions(@NonNull List list, boolean z2) { - synchronized (this.$lock) { - for (MessageReactionUpdate messageReactionUpdate : list) { - long a = messageReactionUpdate.a(); - if (isChannelActive(a)) { - long c2 = messageReactionUpdate.c(); - MessageReactionEmoji b = messageReactionUpdate.b(); - boolean z3 = messageReactionUpdate.d() == this.myUserId; - TreeMap treeMap = this.messages.get(Long.valueOf(a)); - Message message = treeMap.get(Long.valueOf(c2)); - if (message != null) { - treeMap.put(Long.valueOf(c2), z2 ? addReaction(message, b, z3) : removeReaction(message, b, z3)); - this.updatedChannels.add(Long.valueOf(a)); - } + public synchronized void updateReactions(@NonNull List list, boolean z2) { + for (MessageReactionUpdate messageReactionUpdate : list) { + long a = messageReactionUpdate.a(); + if (isChannelActive(a)) { + long c2 = messageReactionUpdate.c(); + MessageReactionEmoji b = messageReactionUpdate.b(); + boolean z3 = messageReactionUpdate.d() == this.myUserId; + TreeMap treeMap = this.messages.get(Long.valueOf(a)); + Message message = treeMap.get(Long.valueOf(c2)); + if (message != null) { + treeMap.put(Long.valueOf(c2), z2 ? addReaction(message, b, z3) : removeReaction(message, b, z3)); + this.updatedChannels.add(Long.valueOf(a)); } } - publishIfUpdated(); } + publishIfUpdated(); } } diff --git a/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java b/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java index 7dd414c6d6..cdeaab3495 100644 --- a/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java +++ b/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java @@ -24,6 +24,7 @@ import com.discord.stores.StoreStream; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.font.FontUtils; import com.discord.utilities.logging.Logger; +import com.discord.utilities.resources.DurationUtilsKt; import com.discord.utilities.resources.StringResourceUtilsKt; import com.discord.utilities.spans.TypefaceSpanCompat; import d0.f0.q; @@ -150,10 +151,9 @@ public final class AuditLogChangeUtils { (r15v30 java.lang.Object[]) (0 ??[int, short, byte, char]) (wrap: java.lang.CharSequence : 0x00e5: INVOKE (r1v74 java.lang.CharSequence) = - (r10v0 'this' com.discord.utilities.auditlogs.AuditLogChangeUtils A[IMMUTABLE_TYPE, THIS]) - (wrap: int : 0x00e4: CAST (r2v26 int) = (int) (wrap: long : 0x00e0: INVOKE (r1v73 long) = (wrap: java.lang.Long : 0x00de: CHECK_CAST (r1v72 java.lang.Long) = (java.lang.Long) (r1v71 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long)) (r11v0 android.content.Context) - type: DIRECT call: com.discord.utilities.auditlogs.AuditLogChangeUtils.getExpireAfterString(int, android.content.Context):java.lang.CharSequence) + (wrap: int : 0x00e4: CAST (r2v26 int) = (int) (wrap: long : 0x00e0: INVOKE (r1v73 long) = (wrap: java.lang.Long : 0x00de: CHECK_CAST (r1v72 java.lang.Long) = (java.lang.Long) (r1v71 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long)) + type: STATIC call: com.discord.utilities.resources.DurationUtilsKt.formatInviteExpireAfterString(android.content.Context, int):java.lang.CharSequence) */ /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x01d9: APUT (r1v50 java.lang.Object[]), (0 ??[int, short, byte, char]), (r15v23 java.lang.CharSequence) */ /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0200: APUT @@ -269,7 +269,7 @@ public final class AuditLogChangeUtils { Object[] objArr3 = new Object[1]; Object newValue3 = change.getNewValue(); if (newValue3 != null) { - objArr3[0] = getExpireAfterString((int) ((Long) newValue3).longValue(), context); + objArr3[0] = DurationUtilsKt.formatInviteExpireAfterString(context, (int) ((Long) newValue3).longValue()); return b.h(context, i, objArr3, null, 4); } throw new NullPointerException("null cannot be cast to non-null type kotlin.Long"); @@ -512,39 +512,6 @@ public final class AuditLogChangeUtils { return 0; } - private final CharSequence getExpireAfterString(int i, Context context) { - if (i == 0) { - return b.h(context, R.string.no_user_limit, new Object[0], null, 4); - } - if (i == 1800) { - Resources resources = context.getResources(); - m.checkNotNullExpressionValue(resources, "context.resources"); - return StringResourceUtilsKt.getQuantityString(resources, context, (int) R.plurals.duration_mins_mins, 30, 30); - } else if (i == 3600) { - Resources resources2 = context.getResources(); - m.checkNotNullExpressionValue(resources2, "context.resources"); - return StringResourceUtilsKt.getQuantityString(resources2, context, (int) R.plurals.duration_hours_hours, 1, 1); - } else if (i == 21600) { - Resources resources3 = context.getResources(); - m.checkNotNullExpressionValue(resources3, "context.resources"); - return StringResourceUtilsKt.getQuantityString(resources3, context, (int) R.plurals.duration_hours_hours, 6, 6); - } else if (i == 43200) { - Resources resources4 = context.getResources(); - m.checkNotNullExpressionValue(resources4, "context.resources"); - return StringResourceUtilsKt.getQuantityString(resources4, context, (int) R.plurals.duration_hours_hours, 12, 12); - } else if (i == 86400) { - Resources resources5 = context.getResources(); - m.checkNotNullExpressionValue(resources5, "context.resources"); - return StringResourceUtilsKt.getQuantityString(resources5, context, (int) R.plurals.duration_days_days, 1, 1); - } else if (i != 604800) { - return ""; - } else { - Resources resources6 = context.getResources(); - m.checkNotNullExpressionValue(resources6, "context.resources"); - return StringResourceUtilsKt.getQuantityString(resources6, context, (int) R.plurals.duration_days_days, 7, 7); - } - } - @StringRes private final int getGuildChangeString(ModelAuditLogEntry.Change change) { String key = change.getKey(); diff --git a/app/src/main/java/com/discord/utilities/fcm/NotificationData.java b/app/src/main/java/com/discord/utilities/fcm/NotificationData.java index 2cb11ff88f..1633c55acd 100644 --- a/app/src/main/java/com/discord/utilities/fcm/NotificationData.java +++ b/app/src/main/java/com/discord/utilities/fcm/NotificationData.java @@ -1089,6 +1089,12 @@ public final class NotificationData { return hashCode == 974015250 ? str.equals(TYPE_ACTIVITY_START) : !(hashCode != 998188116 || !str.equals(TYPE_MESSAGE_CREATE)); } + public final boolean getShouldUseBigText() { + String str = this.type; + int hashCode = str.hashCode(); + return hashCode == -1489275252 ? str.equals(TYPE_GUILD_SCHEDULED_EVENT_UPDATE) : !(hashCode != -1263316859 || !str.equals(TYPE_STAGE_INSTANCE_CREATE)); + } + public final int getSmallIcon() { String str = this.type; int hashCode = str.hashCode(); diff --git a/app/src/main/java/com/discord/utilities/fcm/NotificationRenderer.java b/app/src/main/java/com/discord/utilities/fcm/NotificationRenderer.java index a2fc4eab51..c09974a084 100644 --- a/app/src/main/java/com/discord/utilities/fcm/NotificationRenderer.java +++ b/app/src/main/java/com/discord/utilities/fcm/NotificationRenderer.java @@ -132,6 +132,9 @@ public final class NotificationRenderer { contentIntent.setNumber(extras.size()); contentIntent.setStyle(getMessageStyle(context, notificationData, extras, new MGImagesBitmap.CloseableBitmaps(h0.emptyMap()))); } + if (notificationData.getShouldUseBigText()) { + contentIntent.setStyle(new NotificationCompat.BigTextStyle().bigText(notificationData.getContent(context))); + } int i = Build.VERSION.SDK_INT; if (i < 26) { contentIntent.setPriority(notificationData.getNotificationPriority()).setVibrate(new long[]{0}); diff --git a/app/src/main/java/com/discord/utilities/gifting/GiftingUtils.java b/app/src/main/java/com/discord/utilities/gifting/GiftingUtils.java index 2b3d5fbcb1..b17fbc8bcc 100644 --- a/app/src/main/java/com/discord/utilities/gifting/GiftingUtils.java +++ b/app/src/main/java/com/discord/utilities/gifting/GiftingUtils.java @@ -15,7 +15,8 @@ import com.discord.utilities.analytics.Traits; import com.discord.utilities.billing.GooglePlayInAppSku; import com.discord.utilities.billing.GooglePlayInAppSkuKt; import com.discord.utilities.premium.PremiumUtils; -import com.discord.utilities.resources.StringResourceUtilsKt; +import com.discord.utilities.resources.DurationUnit; +import com.discord.utilities.resources.DurationUtilsKt; import com.discord.utilities.time.TimeUtils; import com.discord.utilities.user.UserUtils; import com.discord.widgets.notice.WidgetNoticeDialog; @@ -163,9 +164,8 @@ public final class GiftingUtils { TimeUtils timeUtils = TimeUtils.INSTANCE; int hoursFromMillis = timeUtils.getHoursFromMillis(j); if (hoursFromMillis > 0) { - return StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_hours_hours, hoursFromMillis, Integer.valueOf(hoursFromMillis)); + return DurationUtilsKt.formatDuration(context, DurationUnit.HOURS, hoursFromMillis); } - int minutesFromMillis = timeUtils.getMinutesFromMillis(j); - return StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_mins_mins, minutesFromMillis, Integer.valueOf(minutesFromMillis)); + return DurationUtilsKt.formatDuration(context, DurationUnit.MINS, timeUtils.getMinutesFromMillis(j)); } } diff --git a/app/src/main/java/com/discord/utilities/resources/DurationUnit.java b/app/src/main/java/com/discord/utilities/resources/DurationUnit.java new file mode 100644 index 0000000000..1b91291bf3 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/resources/DurationUnit.java @@ -0,0 +1,29 @@ +package com.discord.utilities.resources; + +import androidx.annotation.PluralsRes; +import androidx.annotation.StringRes; +import com.discord.R; +/* compiled from: DurationUtils.kt */ +public enum DurationUnit { + SECONDS(R.string.duration_seconds, R.plurals.duration_seconds_seconds), + MINUTES(R.string.duration_minutes, R.plurals.duration_minutes_minutes), + HOURS(R.string.duration_hours, R.plurals.duration_hours_hours), + DAYS(R.string.duration_days, R.plurals.duration_days_days), + MINS(R.string.duration_mins, R.plurals.duration_mins_mins); + + private final int quantityPluralRes; + private final int stringRes; + + private DurationUnit(@StringRes int i, @PluralsRes int i2) { + this.stringRes = i; + this.quantityPluralRes = i2; + } + + public final int getQuantityPluralRes$app_productionCanaryRelease() { + return this.quantityPluralRes; + } + + public final int getStringRes$app_productionCanaryRelease() { + return this.stringRes; + } +} diff --git a/app/src/main/java/com/discord/utilities/resources/DurationUtilsKt.java b/app/src/main/java/com/discord/utilities/resources/DurationUtilsKt.java new file mode 100644 index 0000000000..31af30fd04 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/resources/DurationUtilsKt.java @@ -0,0 +1,50 @@ +package com.discord.utilities.resources; + +import android.content.Context; +import android.widget.TextView; +import c.a.k.b; +import c.d.b.a.a; +import com.discord.R; +import d0.z.d.m; +/* compiled from: DurationUtils.kt */ +public final class DurationUtilsKt { + public static final CharSequence formatDuration(Context context, DurationUnit durationUnit, int i) { + m.checkNotNullParameter(context, "$this$formatDuration"); + m.checkNotNullParameter(durationUnit, "unit"); + return b.h(context, durationUnit.getStringRes$app_productionCanaryRelease(), new Object[]{StringResourceUtilsKt.getI18nPluralString(context, durationUnit.getQuantityPluralRes$app_productionCanaryRelease(), i, Integer.valueOf(i))}, null, 4); + } + + public static final CharSequence formatInviteExpireAfterString(Context context, int i) { + m.checkNotNullParameter(context, "$this$formatInviteExpireAfterString"); + if (i == 0) { + return b.h(context, R.string.no_user_limit, new Object[0], null, 4); + } + if (i == 1800) { + return formatDuration(context, DurationUnit.MINS, 30); + } + if (i == 3600) { + return formatDuration(context, DurationUnit.HOURS, 1); + } + if (i == 21600) { + return formatDuration(context, DurationUnit.HOURS, 6); + } + if (i == 43200) { + return formatDuration(context, DurationUnit.HOURS, 12); + } + if (i == 86400) { + return formatDuration(context, DurationUnit.DAYS, 1); + } + if (i == 604800) { + return formatDuration(context, DurationUnit.DAYS, 7); + } + throw new IllegalArgumentException(a.l("Invalid expiration duration ", i)); + } + + public static final void setDurationText(TextView textView, DurationUnit durationUnit, int i) { + m.checkNotNullParameter(textView, "$this$setDurationText"); + m.checkNotNullParameter(durationUnit, "unit"); + Context context = textView.getContext(); + m.checkNotNullExpressionValue(context, "context"); + textView.setText(formatDuration(context, durationUnit, i)); + } +} 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 3b7804874b..e12890ea98 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 @@ -333,7 +333,7 @@ public final class WidgetChannelListModel { return companion.guildListBuilder(j, guildChannelsInfo, map, map2, set, channel, j2, map3, map4, set2, set3, map5, map6, list, z2); } - private final ChannelListItemActiveEventData getChannelEventNoticeData(Map map, List list, Map> map2, Map map3) { + private final ChannelListItemActiveEventData getChannelEventNoticeData(GuildChannelsInfo guildChannelsInfo, Map map, List list, Map> map2, Map map3, long j) { Object obj; Channel channel; ArrayList arrayList; @@ -342,15 +342,19 @@ public final class WidgetChannelListModel { boolean z2; boolean z3; Channel channel2; + Long b; StageChannel stageChannel = (StageChannel) q.firstOrNull(q.filter(u.asSequence(map.values()), WidgetChannelListModel$Companion$getChannelEventNoticeData$1.INSTANCE)); + boolean z4 = false; String str = null; if (stageChannel != null) { Channel channel3 = stageChannel.getChannel(); int audienceSize = stageChannel.getAudienceSize(); List speakers = stageChannel.getSpeakers(); boolean containsMe = stageChannel.getContainsMe(); - StageRoles r13 = stageChannel.m44getMyRolestwRsX0(); - boolean z4 = r13 != null && StageRoles.m27isSpeakerimpl(r13.m29unboximpl()); + StageRoles r9 = stageChannel.m44getMyRolestwRsX0(); + if (r9 != null && StageRoles.m27isSpeakerimpl(r9.m29unboximpl())) { + z4 = true; + } StageInstance stageInstance = stageChannel.getStageInstance(); if (stageInstance != null) { str = stageInstance.f(); @@ -365,11 +369,11 @@ public final class WidgetChannelListModel { } obj = it.next(); GuildScheduledEvent guildScheduledEvent = (GuildScheduledEvent) obj; - if (guildScheduledEvent.k() == GuildScheduledEventStatus.ACTIVE && (channel2 = map3.get(guildScheduledEvent.b())) != null && channel2.A() == 2) { - z3 = true; + if (guildScheduledEvent.k() != GuildScheduledEventStatus.ACTIVE || (channel2 = map3.get(guildScheduledEvent.b())) == null || channel2.A() != 2 || !PermissionUtils.can(Permission.CONNECT, guildChannelsInfo.getChannelPermissions().get(guildScheduledEvent.b())) || ((b = guildScheduledEvent.b()) != null && b.longValue() == j)) { + z3 = false; continue; } else { - z3 = false; + z3 = true; continue; } if (z3) { @@ -412,9 +416,11 @@ public final class WidgetChannelListModel { } else { channelListItemVoiceUser = null; } - boolean z5 = channelListItemVoiceUser != null; - if (!z5) { - return new ChannelListItemActiveEventData(guildScheduledEvent2.h(), channel, 0, arrayList != null ? arrayList : n.emptyList(), z5, z5); + if (channelListItemVoiceUser != null) { + z4 = true; + } + if (!z4) { + return new ChannelListItemActiveEventData(guildScheduledEvent2.h(), channel, 0, arrayList != null ? arrayList : n.emptyList(), z4, z4); } } return null; @@ -452,7 +458,7 @@ public final class WidgetChannelListModel { */ private final java.util.List guildListBuilder(long r146, com.discord.utilities.channel.GuildChannelsInfo r148, java.util.Map r149, java.util.Map> r150, java.util.Set r151, com.discord.api.channel.Channel r152, long r153, java.util.Map> r155, java.util.Map r156, java.util.Set r157, java.util.Set r158, java.util.Map r159, java.util.Map r160, java.util.List r161, boolean r162) { /* - // Method dump skipped, instructions count: 1225 + // Method dump skipped, instructions count: 1246 */ throw new UnsupportedOperationException("Method not decompiled: com.discord.widgets.channels.list.WidgetChannelListModel.Companion.guildListBuilder(long, com.discord.utilities.channel.GuildChannelsInfo, java.util.Map, java.util.Map, java.util.Set, com.discord.api.channel.Channel, long, java.util.Map, java.util.Map, java.util.Set, java.util.Set, java.util.Map, java.util.Map, java.util.List, boolean):java.util.List"); } diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListItemChannelActions.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListItemChannelActions.java index 6238646ebc..cacb8f6c73 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListItemChannelActions.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListItemChannelActions.java @@ -173,7 +173,7 @@ public final class WidgetChannelsListItemChannelActions extends AppBottomSheet { public final CharSequence getMuteChannelText(Context context) { m.checkNotNullParameter(context, "context"); - return this.isMuted ? b.h(context, R.string.unmute, new Object[0], null, 4) : b.h(context, R.string.mute_channel, new Object[]{AnimatableValueParser.A0(this.channel, context, false, 2)}, null, 4); + return this.isMuted ? b.h(context, R.string.unmute_channel_generic, new Object[0], null, 4) : b.h(context, R.string.mute_channel_generic, new Object[0], null, 4); } public final int getMuteIconResId(Context context) { diff --git a/app/src/main/java/com/discord/widgets/channels/settings/WidgetTextChannelSettings.java b/app/src/main/java/com/discord/widgets/channels/settings/WidgetTextChannelSettings.java index 30f44c3f5e..83b4e1250a 100644 --- a/app/src/main/java/com/discord/widgets/channels/settings/WidgetTextChannelSettings.java +++ b/app/src/main/java/com/discord/widgets/channels/settings/WidgetTextChannelSettings.java @@ -33,6 +33,8 @@ import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.analytics.Traits; import com.discord.utilities.color.ColorCompatKt; import com.discord.utilities.premium.PremiumUtils; +import com.discord.utilities.resources.DurationUnit; +import com.discord.utilities.resources.DurationUtilsKt; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.stateful.StatefulViews; @@ -103,13 +105,13 @@ public final class WidgetTextChannelSettings extends AppFragment { if (i == 0) { textView.setText(context.getString(i2)); } else if (1 <= i && 60 > i) { - ViewExtensions.setPluralText(textView, R.plurals.duration_seconds_seconds, i, new Object[0]); + DurationUtilsKt.setDurationText(textView, DurationUnit.SECONDS, i); } else if (60 <= i && 3600 > i) { - ViewExtensions.setPluralText(textView, R.plurals.duration_mins_mins, i / 60, new Object[0]); + DurationUtilsKt.setDurationText(textView, DurationUnit.MINS, i / 60); } else if (3600 <= i && 86400 > i) { - ViewExtensions.setPluralText(textView, R.plurals.duration_hours_hours, i / 3600, new Object[0]); + DurationUtilsKt.setDurationText(textView, DurationUnit.HOURS, i / 3600); } else { - ViewExtensions.setPluralText(textView, R.plurals.duration_days_days, i / 86400, new Object[0]); + DurationUtilsKt.setDurationText(textView, DurationUnit.DAYS, i / 86400); } } } diff --git a/app/src/main/java/com/discord/widgets/chat/input/autocomplete/commands/AutocompleteCommandUtils.java b/app/src/main/java/com/discord/widgets/chat/input/autocomplete/commands/AutocompleteCommandUtils.java index e34549000c..40c8708c19 100644 --- a/app/src/main/java/com/discord/widgets/chat/input/autocomplete/commands/AutocompleteCommandUtils.java +++ b/app/src/main/java/com/discord/widgets/chat/input/autocomplete/commands/AutocompleteCommandUtils.java @@ -274,7 +274,7 @@ public final class AutocompleteCommandUtils { return null; } int intValue = findStartOfValue.intValue(); - Iterator it = Regex.findAll$default(new Regex(" ([\\w-_]*):"), charSequence.subSequence(intValue, charSequence.length()).toString(), 0, 2, null).iterator(); + Iterator it = Regex.findAll$default(new Regex(" ([\\p{L}-_]*):"), charSequence.subSequence(intValue, charSequence.length()).toString(), 0, 2, null).iterator(); while (true) { if (!it.hasNext()) { i = -1; @@ -334,7 +334,7 @@ public final class AutocompleteCommandUtils { List groupValues; String str; m.checkNotNullParameter(charSequence, "$this$getCommandPrefix"); - MatchResult find$default = Regex.find$default(new Regex("^(/([a-zA-Z0-9_-]+\\s*){0,3})"), charSequence, 0, 2, null); + MatchResult find$default = Regex.find$default(new Regex("^(/([\\p{L}-]+\\s*){0,3})"), charSequence, 0, 2, null); if (find$default == null || (groupValues = find$default.getGroupValues()) == null || (str = (String) u.getOrNull(groupValues, 1)) == null) { return null; } diff --git a/app/src/main/java/com/discord/widgets/directories/WidgetDirectoryChannel$onViewBound$5.java b/app/src/main/java/com/discord/widgets/directories/WidgetDirectoryChannel$onViewBound$5.java index 099f8a23e5..f7841b19f0 100644 --- a/app/src/main/java/com/discord/widgets/directories/WidgetDirectoryChannel$onViewBound$5.java +++ b/app/src/main/java/com/discord/widgets/directories/WidgetDirectoryChannel$onViewBound$5.java @@ -33,15 +33,16 @@ public final class WidgetDirectoryChannel$onViewBound$5 extends o implements Fun public final void invoke(long j) { Context context; StoreStream.Companion companion = StoreStream.Companion; - GuildMember member = companion.getGuilds().getMember(j, companion.getUsers().getMe().getId()); + long selectedGuildId = companion.getGuildSelected().getSelectedGuildId(); + GuildMember member = companion.getGuilds().getMember(selectedGuildId, companion.getUsers().getMe().getId()); String nick = member != null ? member.getNick() : null; if (nick == null) { nick = ""; } - Guild guild = companion.getGuilds().getGuild(j); + Guild guild = companion.getGuilds().getGuild(selectedGuildId); if (guild != null && (context = this.this$0.getContext()) != null) { m.checkNotNullExpressionValue(context, "context ?: return@appSubscribe"); - if (guild.isHub() && t.isBlank(nick) && !companion.getDirectories().getAndSetSeenNamePrompt(guild.getId())) { + if (selectedGuildId == j && guild.isHub() && t.isBlank(nick) && !companion.getDirectories().getAndSetSeenNamePrompt(selectedGuildId)) { j.d(context, WidgetHubAddName.class, new HubAddNameArgs(guild.getId())); } } diff --git a/app/src/main/java/com/discord/widgets/guilds/invite/ViewInviteSettingsSheet.java b/app/src/main/java/com/discord/widgets/guilds/invite/ViewInviteSettingsSheet.java index a5c5047e31..17f0d1d1d6 100644 --- a/app/src/main/java/com/discord/widgets/guilds/invite/ViewInviteSettingsSheet.java +++ b/app/src/main/java/com/discord/widgets/guilds/invite/ViewInviteSettingsSheet.java @@ -1,7 +1,6 @@ package com.discord.widgets.guilds.invite; import android.content.Context; -import android.content.res.Resources; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; @@ -22,13 +21,13 @@ import com.discord.api.channel.Channel; import com.discord.databinding.ViewGuildInviteBottomSheetBinding; import com.discord.models.domain.ModelInvite; import com.discord.utilities.dimen.DimenUtils; -import com.discord.utilities.resources.StringResourceUtilsKt; +import com.discord.utilities.resources.DurationUtilsKt; import com.discord.views.CheckedSetting; import d0.d0.f; import d0.t.c0; -import d0.t.o; import d0.z.d.k; import d0.z.d.m; +import d0.z.d.o; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; @@ -49,13 +48,19 @@ public final class ViewInviteSettingsSheet extends NestedScrollView { /* compiled from: ViewInviteSettingsSheet.kt */ /* renamed from: com.discord.widgets.guilds.invite.ViewInviteSettingsSheet$1 reason: invalid class name */ - public static final /* synthetic */ class AnonymousClass1 extends k implements Function1 { + public static final class AnonymousClass1 extends o implements Function1 { + public final /* synthetic */ ViewInviteSettingsSheet this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public AnonymousClass1(ViewInviteSettingsSheet viewInviteSettingsSheet) { - super(1, viewInviteSettingsSheet, ViewInviteSettingsSheet.class, "getExpireAfterString", "getExpireAfterString(I)Ljava/lang/CharSequence;", 0); + super(1); + this.this$0 = viewInviteSettingsSheet; } public final CharSequence invoke(int i) { - return ViewInviteSettingsSheet.access$getExpireAfterString((ViewInviteSettingsSheet) this.receiver, i); + Context context = this.this$0.getContext(); + m.checkNotNullExpressionValue(context, "context"); + return DurationUtilsKt.formatInviteExpireAfterString(context, i); } /* Return type fixed from 'java.lang.Object' to match base method */ @@ -245,10 +250,6 @@ public final class ViewInviteSettingsSheet extends NestedScrollView { return viewInviteSettingsSheet.channelsSpinnerAdapter; } - public static final /* synthetic */ CharSequence access$getExpireAfterString(ViewInviteSettingsSheet viewInviteSettingsSheet, int i) { - return viewInviteSettingsSheet.getExpireAfterString(i); - } - public static final /* synthetic */ String access$getMaxUsesString(ViewInviteSettingsSheet viewInviteSettingsSheet, int i) { return viewInviteSettingsSheet.getMaxUsesString(i); } @@ -289,51 +290,6 @@ public final class ViewInviteSettingsSheet extends NestedScrollView { } } - private final CharSequence getExpireAfterString(int i) { - if (i == 0) { - return b.j(this, R.string.no_user_limit, new Object[0], null, 4); - } - if (i == 1800) { - Resources resources = getResources(); - m.checkNotNullExpressionValue(resources, "resources"); - Context context = getContext(); - m.checkNotNullExpressionValue(context, "context"); - return StringResourceUtilsKt.getQuantityString(resources, context, (int) R.plurals.duration_mins_mins, 30, 30); - } else if (i == 3600) { - Resources resources2 = getResources(); - m.checkNotNullExpressionValue(resources2, "resources"); - Context context2 = getContext(); - m.checkNotNullExpressionValue(context2, "context"); - return StringResourceUtilsKt.getQuantityString(resources2, context2, (int) R.plurals.duration_hours_hours, 1, 1); - } else if (i == 21600) { - Resources resources3 = getResources(); - m.checkNotNullExpressionValue(resources3, "resources"); - Context context3 = getContext(); - m.checkNotNullExpressionValue(context3, "context"); - return StringResourceUtilsKt.getQuantityString(resources3, context3, (int) R.plurals.duration_hours_hours, 6, 6); - } else if (i == 43200) { - Resources resources4 = getResources(); - m.checkNotNullExpressionValue(resources4, "resources"); - Context context4 = getContext(); - m.checkNotNullExpressionValue(context4, "context"); - return StringResourceUtilsKt.getQuantityString(resources4, context4, (int) R.plurals.duration_hours_hours, 12, 12); - } else if (i == 86400) { - Resources resources5 = getResources(); - m.checkNotNullExpressionValue(resources5, "resources"); - Context context5 = getContext(); - m.checkNotNullExpressionValue(context5, "context"); - return StringResourceUtilsKt.getQuantityString(resources5, context5, (int) R.plurals.duration_days_days, 1, 1); - } else if (i != 604800) { - return ""; - } else { - Resources resources6 = getResources(); - m.checkNotNullExpressionValue(resources6, "resources"); - Context context6 = getContext(); - m.checkNotNullExpressionValue(context6, "context"); - return StringResourceUtilsKt.getQuantityString(resources6, context6, (int) R.plurals.duration_days_days, 7, 7); - } - } - private final String getMaxUsesString(int i) { return i != 0 ? String.valueOf(i) : "∞"; } @@ -376,7 +332,7 @@ public final class ViewInviteSettingsSheet extends NestedScrollView { RadioGroup radioGroup = this.binding.f1682c; m.checkNotNullExpressionValue(radioGroup, "binding.guildInviteExpiresAfterRadiogroup"); IntRange until = f.until(0, radioGroup.getChildCount()); - ArrayList arrayList = new ArrayList(o.collectionSizeOrDefault(until, 10)); + ArrayList arrayList = new ArrayList(d0.t.o.collectionSizeOrDefault(until, 10)); Iterator it2 = until.iterator(); while (it2.hasNext()) { View childAt = this.binding.f1682c.getChildAt(((c0) it2).nextInt()); @@ -412,7 +368,7 @@ public final class ViewInviteSettingsSheet extends NestedScrollView { RadioGroup radioGroup2 = this.binding.e; m.checkNotNullExpressionValue(radioGroup2, "binding.guildInviteMaxUsesRadiogroup"); IntRange until2 = f.until(0, radioGroup2.getChildCount()); - ArrayList arrayList2 = new ArrayList(o.collectionSizeOrDefault(until2, 10)); + ArrayList arrayList2 = new ArrayList(d0.t.o.collectionSizeOrDefault(until2, 10)); Iterator it4 = until2.iterator(); while (it4.hasNext()) { View childAt2 = this.binding.e.getChildAt(((c0) it4).nextInt()); diff --git a/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings$onViewBound$1.java b/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings$onViewBound$1.java index cb62eac647..0ad8a57077 100644 --- a/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings$onViewBound$1.java +++ b/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings$onViewBound$1.java @@ -1,5 +1,6 @@ package com.discord.widgets.guilds.invite; +import com.discord.utilities.resources.DurationUtilsKt; import d0.z.d.o; import kotlin.jvm.functions.Function1; /* compiled from: WidgetGuildInviteSettings.kt */ @@ -13,8 +14,7 @@ public final class WidgetGuildInviteSettings$onViewBound$1 extends o implements } public final CharSequence invoke(int i) { - WidgetGuildInviteSettings widgetGuildInviteSettings = this.this$0; - return WidgetGuildInviteSettings.access$getExpireAfterString(widgetGuildInviteSettings, i, widgetGuildInviteSettings.requireContext()); + return DurationUtilsKt.formatInviteExpireAfterString(this.this$0.requireContext(), i); } /* Return type fixed from 'java.lang.Object' to match base method */ diff --git a/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings.java b/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings.java index 6141264146..dfa86d78ea 100644 --- a/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings.java +++ b/app/src/main/java/com/discord/widgets/guilds/invite/WidgetGuildInviteSettings.java @@ -2,7 +2,6 @@ package com.discord.widgets.guilds.invite; import android.content.Context; import android.content.Intent; -import android.content.res.Resources; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -23,7 +22,6 @@ import c.a.d.f0; import c.a.d.h0; import c.a.d.j; import c.a.i.x; -import c.a.k.b; import c.d.b.a.a; import com.airbnb.lottie.parser.AnimatableValueParser; import com.discord.R; @@ -33,7 +31,6 @@ import com.discord.databinding.WidgetGuildInviteSettingsBinding; import com.discord.models.domain.ModelInvite; import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.dimen.DimenUtils; -import com.discord.utilities.resources.StringResourceUtilsKt; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; @@ -179,10 +176,6 @@ public final class WidgetGuildInviteSettings extends AppFragment { return channelsSpinnerAdapter; } - public static final /* synthetic */ CharSequence access$getExpireAfterString(WidgetGuildInviteSettings widgetGuildInviteSettings, int i, Context context) { - return widgetGuildInviteSettings.getExpireAfterString(i, context); - } - public static final /* synthetic */ String access$getMaxUsesString(WidgetGuildInviteSettings widgetGuildInviteSettings, int i) { return widgetGuildInviteSettings.getMaxUsesString(i); } @@ -227,39 +220,6 @@ public final class WidgetGuildInviteSettings extends AppFragment { return (WidgetGuildInviteSettingsBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]); } - private final CharSequence getExpireAfterString(int i, Context context) { - if (i == 0) { - return b.k(this, R.string.no_user_limit, new Object[0], null, 4); - } - if (i == 1800) { - Resources resources = getResources(); - m.checkNotNullExpressionValue(resources, "resources"); - return StringResourceUtilsKt.getQuantityString(resources, context, (int) R.plurals.duration_mins_mins, 30, 30); - } else if (i == 3600) { - Resources resources2 = getResources(); - m.checkNotNullExpressionValue(resources2, "resources"); - return StringResourceUtilsKt.getQuantityString(resources2, context, (int) R.plurals.duration_hours_hours, 1, 1); - } else if (i == 21600) { - Resources resources3 = getResources(); - m.checkNotNullExpressionValue(resources3, "resources"); - return StringResourceUtilsKt.getQuantityString(resources3, context, (int) R.plurals.duration_hours_hours, 6, 6); - } else if (i == 43200) { - Resources resources4 = getResources(); - m.checkNotNullExpressionValue(resources4, "resources"); - return StringResourceUtilsKt.getQuantityString(resources4, context, (int) R.plurals.duration_hours_hours, 12, 12); - } else if (i == 86400) { - Resources resources5 = getResources(); - m.checkNotNullExpressionValue(resources5, "resources"); - return StringResourceUtilsKt.getQuantityString(resources5, context, (int) R.plurals.duration_days_days, 1, 1); - } else if (i != 604800) { - return ""; - } else { - Resources resources6 = getResources(); - m.checkNotNullExpressionValue(resources6, "resources"); - return StringResourceUtilsKt.getQuantityString(resources6, context, (int) R.plurals.duration_days_days, 7, 7); - } - } - private final String getMaxUsesString(int i) { return i != 0 ? String.valueOf(i) : "∞"; } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/FreeFormEventsFeatureFlag$Companion$INSTANCE$2.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/FreeFormEventsFeatureFlag$Companion$INSTANCE$2.java deleted file mode 100644 index d8205b9ec0..0000000000 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/FreeFormEventsFeatureFlag$Companion$INSTANCE$2.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.discord.widgets.guildscheduledevent; - -import d0.z.d.o; -import kotlin.jvm.functions.Function0; -/* compiled from: FreeFormEventsFeatureFlag.kt */ -public final class FreeFormEventsFeatureFlag$Companion$INSTANCE$2 extends o implements Function0 { - public static final FreeFormEventsFeatureFlag$Companion$INSTANCE$2 INSTANCE = new FreeFormEventsFeatureFlag$Companion$INSTANCE$2(); - - public FreeFormEventsFeatureFlag$Companion$INSTANCE$2() { - super(0); - } - - @Override // kotlin.jvm.functions.Function0 - /* renamed from: invoke */ - public final FreeFormEventsFeatureFlag mo1invoke() { - return new FreeFormEventsFeatureFlag(); - } -} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/FreeFormEventsFeatureFlag.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/FreeFormEventsFeatureFlag.java deleted file mode 100644 index a47856d3b5..0000000000 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/FreeFormEventsFeatureFlag.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.discord.widgets.guildscheduledevent; - -import com.discord.stores.StoreStream; -import com.discord.utilities.user.UserUtils; -import d0.g; -import kotlin.Lazy; -import kotlin.jvm.internal.DefaultConstructorMarker; -/* compiled from: FreeFormEventsFeatureFlag.kt */ -public final class FreeFormEventsFeatureFlag { - public static final Companion Companion = new Companion(null); - private static final Lazy INSTANCE$delegate = g.lazy(FreeFormEventsFeatureFlag$Companion$INSTANCE$2.INSTANCE); - - /* compiled from: FreeFormEventsFeatureFlag.kt */ - public static final class Companion { - private Companion() { - } - - public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { - this(); - } - - public final FreeFormEventsFeatureFlag getINSTANCE() { - Lazy access$getINSTANCE$cp = FreeFormEventsFeatureFlag.access$getINSTANCE$cp(); - Companion companion = FreeFormEventsFeatureFlag.Companion; - return (FreeFormEventsFeatureFlag) access$getINSTANCE$cp.getValue(); - } - } - - public static final /* synthetic */ Lazy access$getINSTANCE$cp() { - return INSTANCE$delegate; - } - - public final boolean canCreateFreeFormEvents() { - return UserUtils.INSTANCE.isStaff(StoreStream.Companion.getUsers().getMe()); - } -} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/GuildScheduledEventSettingsViewModel.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/GuildScheduledEventSettingsViewModel.java index 950e581c2a..d4a7bdfd9c 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/GuildScheduledEventSettingsViewModel.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/GuildScheduledEventSettingsViewModel.java @@ -19,7 +19,7 @@ import kotlin.jvm.internal.DefaultConstructorMarker; /* compiled from: GuildScheduledEventSettingsViewModel.kt */ public final class GuildScheduledEventSettingsViewModel extends AppViewModel { public static final Companion Companion = new Companion(null); - public static final int SAMPLE_USER_COUNT = 373; + public static final int SAMPLE_USER_COUNT = 1; /* compiled from: GuildScheduledEventSettingsViewModel.kt */ public static final class Companion { @@ -139,6 +139,7 @@ public final class GuildScheduledEventSettingsViewModel extends AppViewModel generateAppropriateStartDateTime = GuildScheduledEventPickerDateTime.INSTANCE.generateAppropriateStartDateTime(); - updateViewState(new ViewState.Initialized(guildScheduledEventModel == null ? new GuildScheduledEventModel(j, null, l2, generateAppropriateStartDateTime.getFirst(), generateAppropriateStartDateTime.getSecond(), null, null, null, guildScheduledEventEntityType, GuildScheduledEventEntityMetadata.Companion.a(guildScheduledEventEntityType2, n.emptyList(), str), Integer.valueOf((int) SAMPLE_USER_COUNT)) : guildScheduledEventModel, guildScheduledEvent)); + updateViewState(new ViewState.Initialized(guildScheduledEventModel == null ? new GuildScheduledEventModel(j, null, l2, generateAppropriateStartDateTime.getFirst(), generateAppropriateStartDateTime.getSecond(), null, null, null, guildScheduledEventEntityType, GuildScheduledEventEntityMetadata.Companion.a(guildScheduledEventEntityType2, n.emptyList(), str), Integer.valueOf(i)) : guildScheduledEventModel, guildScheduledEvent)); } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java index 5f4f0dfbc9..403ad59d85 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java @@ -24,7 +24,6 @@ import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; import com.discord.views.CheckedSetting; import com.discord.widgets.channels.WidgetChannelSelector; -import com.discord.widgets.guildscheduledevent.FreeFormEventsFeatureFlag; import com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventLocationSelectViewModel; import com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventSettings; import com.google.android.material.button.MaterialButton; @@ -164,58 +163,51 @@ public final class WidgetGuildScheduledEventLocationSelect extends AppFragment { if (viewState instanceof WidgetGuildScheduledEventLocationSelectViewModel.ViewState.Valid) { WidgetGuildScheduledEventLocationSelectViewModel.ViewState.Valid valid = (WidgetGuildScheduledEventLocationSelectViewModel.ViewState.Valid) viewState; this.currentViewState = valid; - CheckedSetting checkedSetting = getBinding().k; + CheckedSetting checkedSetting = getBinding().j; m.checkNotNullExpressionValue(checkedSetting, "binding.stageChannelOption"); configureLocationOption(valid, checkedSetting, GuildScheduledEventEntityType.STAGE_INSTANCE, getDisabledMessageForChannelOption(valid.getAvailableStageChannelIds(), valid.getCanChangeChannel())); - CheckedSetting checkedSetting2 = getBinding().n; + CheckedSetting checkedSetting2 = getBinding().m; m.checkNotNullExpressionValue(checkedSetting2, "binding.voiceChannelOption"); configureLocationOption(valid, checkedSetting2, GuildScheduledEventEntityType.VOICE, getDisabledMessageForChannelOption(valid.getAvailableVoiceChannelIds(), valid.getCanChangeChannel())); - CheckedSetting checkedSetting3 = getBinding().h; + CheckedSetting checkedSetting3 = getBinding().g; m.checkNotNullExpressionValue(checkedSetting3, "binding.externalOption"); configureLocationOption(valid, checkedSetting3, GuildScheduledEventEntityType.EXTERNAL, getDisabledMessageForExternalOption(valid.getCanCreateExternalEvent(), valid.getCanChangeChannel())); - CheckedSetting checkedSetting4 = getBinding().h; - m.checkNotNullExpressionValue(checkedSetting4, "binding.externalOption"); - FreeFormEventsFeatureFlag.Companion companion = FreeFormEventsFeatureFlag.Companion; - checkedSetting4.setVisibility(companion.getINSTANCE().canCreateFreeFormEvents() ? 0 : 8); - View view = getBinding().e; - m.checkNotNullExpressionValue(view, "binding.externalDivider"); - view.setVisibility(companion.getINSTANCE().canCreateFreeFormEvents() ? 0 : 8); boolean z2 = (valid.getAvailableStageChannelIds().isEmpty() ^ true) || valid.getShowStageOptionIfUnavailable(); - CheckedSetting checkedSetting5 = getBinding().k; - m.checkNotNullExpressionValue(checkedSetting5, "binding.stageChannelOption"); - checkedSetting5.setVisibility(z2 ? 0 : 8); - View view2 = getBinding().m; - m.checkNotNullExpressionValue(view2, "binding.voiceChannelDivider"); - view2.setVisibility(z2 ? 0 : 8); + CheckedSetting checkedSetting4 = getBinding().j; + m.checkNotNullExpressionValue(checkedSetting4, "binding.stageChannelOption"); + checkedSetting4.setVisibility(z2 ? 0 : 8); + View view = getBinding().l; + m.checkNotNullExpressionValue(view, "binding.voiceChannelDivider"); + view.setVisibility(z2 ? 0 : 8); int ordinal = valid.getSelectedLocationOption().ordinal(); if (ordinal == 1 || ordinal == 2) { - TextView textView = getBinding().i; + TextView textView = getBinding().h; m.checkNotNullExpressionValue(textView, "binding.locationHeader"); ViewExtensions.setTextAndVisibilityBy(textView, getString(R.string.guild_event_location_voice_field_label)); TextInputLayout textInputLayout = getBinding().f1877c; m.checkNotNullExpressionValue(textInputLayout, "binding.channelLocationLayout"); textInputLayout.setVisibility(0); - TextInputLayout textInputLayout2 = getBinding().g; + TextInputLayout textInputLayout2 = getBinding().f; m.checkNotNullExpressionValue(textInputLayout2, "binding.externalLocationLayout"); textInputLayout2.setVisibility(8); } else if (ordinal != 3) { - TextView textView2 = getBinding().i; + TextView textView2 = getBinding().h; m.checkNotNullExpressionValue(textView2, "binding.locationHeader"); textView2.setVisibility(8); TextInputLayout textInputLayout3 = getBinding().f1877c; m.checkNotNullExpressionValue(textInputLayout3, "binding.channelLocationLayout"); textInputLayout3.setVisibility(8); - TextInputLayout textInputLayout4 = getBinding().g; + TextInputLayout textInputLayout4 = getBinding().f; m.checkNotNullExpressionValue(textInputLayout4, "binding.externalLocationLayout"); textInputLayout4.setVisibility(8); } else { - TextView textView3 = getBinding().i; + TextView textView3 = getBinding().h; m.checkNotNullExpressionValue(textView3, "binding.locationHeader"); ViewExtensions.setTextAndVisibilityBy(textView3, getString(R.string.guild_event_location_elsewhere_field_label)); TextInputLayout textInputLayout5 = getBinding().f1877c; m.checkNotNullExpressionValue(textInputLayout5, "binding.channelLocationLayout"); textInputLayout5.setVisibility(8); - TextInputLayout textInputLayout6 = getBinding().g; + TextInputLayout textInputLayout6 = getBinding().f; m.checkNotNullExpressionValue(textInputLayout6, "binding.externalLocationLayout"); textInputLayout6.setVisibility(0); } @@ -229,7 +221,7 @@ public final class WidgetGuildScheduledEventLocationSelect extends AppFragment { Channel selectedChannel2 = valid.getSelectedChannel(); textInputEditText.setText(selectedChannel2 != null ? selectedChannel2.m() : null); } - TextInputEditText textInputEditText2 = getBinding().f; + TextInputEditText textInputEditText2 = getBinding().e; Editable text2 = textInputEditText2.getText(); if (text2 != null) { str = text2.toString(); @@ -237,7 +229,7 @@ public final class WidgetGuildScheduledEventLocationSelect extends AppFragment { if (!m.areEqual(str, valid.getExternalLocation())) { textInputEditText2.setText(valid.getExternalLocation()); } - MaterialButton materialButton = getBinding().j; + MaterialButton materialButton = getBinding().i; m.checkNotNullExpressionValue(materialButton, "binding.nextButton"); materialButton.setEnabled(isNextEnabled(valid)); } @@ -314,18 +306,18 @@ public final class WidgetGuildScheduledEventLocationSelect extends AppFragment { public void onViewBound(View view) { m.checkNotNullParameter(view, "view"); super.onViewBound(view); - TextView textView = getBinding().l; + TextView textView = getBinding().k; m.checkNotNullExpressionValue(textView, "binding.stepText"); b.n(textView, R.string.guild_event_step_label, new Object[]{1, 3}, null, 4); getBinding().d.setOnClickListener(new WidgetGuildScheduledEventLocationSelect$onViewBound$1(this)); - TextInputEditText textInputEditText = getBinding().f; + TextInputEditText textInputEditText = getBinding().e; m.checkNotNullExpressionValue(textInputEditText, "binding.externalLocationInput"); textInputEditText.addTextChangedListener(new WidgetGuildScheduledEventLocationSelect$onViewBound$$inlined$addTextChangedListener$1(this)); getBinding().b.setOnClickListener(new WidgetGuildScheduledEventLocationSelect$onViewBound$3(this)); WidgetChannelSelector.Companion.registerForResult(this, GUILD_SCHEDULED_EVENT_LOCATION_SELECT_REQUEST_KEY, false, new WidgetGuildScheduledEventLocationSelect$onViewBound$4(this)); - TextInputLayout textInputLayout = getBinding().g; + TextInputLayout textInputLayout = getBinding().f; m.checkNotNullExpressionValue(textInputLayout, "binding.externalLocationLayout"); ViewExtensions.setOnImeActionDone$default(textInputLayout, false, new WidgetGuildScheduledEventLocationSelect$onViewBound$5(this), 1, null); - getBinding().j.setOnClickListener(new WidgetGuildScheduledEventLocationSelect$onViewBound$6(this)); + getBinding().i.setOnClickListener(new WidgetGuildScheduledEventLocationSelect$onViewBound$6(this)); } } diff --git a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java index b1f2325b88..7dd34debc5 100644 --- a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java +++ b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java @@ -571,135 +571,135 @@ public final class WidgetServerSettingsEditRole extends AppFragment { for (CheckedSetting checkedSetting : n.listOf((Object[]) new CheckedSetting[]{getBinding().g, getBinding().h, getBinding().i, getBinding().j, getBinding().m, getBinding().r, getBinding().u, getBinding().v, getBinding().f1821y, getBinding().C, getBinding().f1822z, getBinding().w, getBinding().A, getBinding().B, getBinding().D, getBinding().E, getBinding().H, getBinding().I, getBinding().N, getBinding().O, getBinding().o, getBinding().n, getBinding().P, getBinding().Q, getBinding().R, getBinding().S, getBinding().f, getBinding().T, getBinding().V, getBinding().Z, getBinding().f1817b0, getBinding().Y, getBinding().W, getBinding().X, getBinding().f1816a0, getBinding().G, getBinding().U, getBinding().J, getBinding().f1820x})) { m.checkNotNullExpressionValue(checkedSetting, "setting"); switch (checkedSetting.getId()) { - case R.id.role_settings_add_reactions /* 2131364793 */: + case R.id.role_settings_add_reactions /* 2131364791 */: j = 64; break; - case R.id.role_settings_administrator /* 2131364794 */: + case R.id.role_settings_administrator /* 2131364792 */: j = 8; break; - case R.id.role_settings_attach_files /* 2131364795 */: + case R.id.role_settings_attach_files /* 2131364793 */: j = Permission.ATTACH_FILES; break; - case R.id.role_settings_ban_members /* 2131364796 */: + case R.id.role_settings_ban_members /* 2131364794 */: j = 4; break; - case R.id.role_settings_change_nickname /* 2131364797 */: + case R.id.role_settings_change_nickname /* 2131364795 */: j = Permission.CHANGE_NICKNAME; break; - case R.id.role_settings_color_disabled_overlay /* 2131364798 */: - case R.id.role_settings_color_selector_container /* 2131364799 */: - case R.id.role_settings_current_color_display /* 2131364803 */: - case R.id.role_settings_edit_name_disabled_overlay /* 2131364804 */: - case R.id.role_settings_hoist_checkedsetting /* 2131364806 */: - case R.id.role_settings_icon_container /* 2131364807 */: - case R.id.role_settings_mentionable_checkedsetting /* 2131364819 */: - case R.id.role_settings_overview_scroll /* 2131364820 */: - case R.id.role_settings_role_icon /* 2131364825 */: - case R.id.role_settings_role_icon_divider /* 2131364826 */: - case R.id.role_settings_role_icon_header /* 2131364827 */: + case R.id.role_settings_color_disabled_overlay /* 2131364796 */: + case R.id.role_settings_color_selector_container /* 2131364797 */: + case R.id.role_settings_current_color_display /* 2131364801 */: + case R.id.role_settings_edit_name_disabled_overlay /* 2131364802 */: + case R.id.role_settings_hoist_checkedsetting /* 2131364804 */: + case R.id.role_settings_icon_container /* 2131364805 */: + case R.id.role_settings_mentionable_checkedsetting /* 2131364817 */: + case R.id.role_settings_overview_scroll /* 2131364818 */: + case R.id.role_settings_role_icon /* 2131364823 */: + case R.id.role_settings_role_icon_divider /* 2131364824 */: + case R.id.role_settings_role_icon_header /* 2131364825 */: default: j = 0; break; - case R.id.role_settings_create_instant_invite /* 2131364800 */: + case R.id.role_settings_create_instant_invite /* 2131364798 */: j = 1; break; - case R.id.role_settings_create_private_threads /* 2131364801 */: + case R.id.role_settings_create_private_threads /* 2131364799 */: j = Permission.CREATE_PRIVATE_THREADS; break; - case R.id.role_settings_create_public_threads /* 2131364802 */: + case R.id.role_settings_create_public_threads /* 2131364800 */: j = Permission.CREATE_PUBLIC_THREADS; break; - case R.id.role_settings_embed_links /* 2131364805 */: + case R.id.role_settings_embed_links /* 2131364803 */: j = Permission.EMBED_LINKS; break; - case R.id.role_settings_kick_members /* 2131364808 */: + case R.id.role_settings_kick_members /* 2131364806 */: j = 2; break; - case R.id.role_settings_manage_channels /* 2131364809 */: + case R.id.role_settings_manage_channels /* 2131364807 */: j = 16; break; - case R.id.role_settings_manage_emojis_and_stickers /* 2131364810 */: + case R.id.role_settings_manage_emojis_and_stickers /* 2131364808 */: j = Permission.MANAGE_EMOJIS_AND_STICKERS; break; - case R.id.role_settings_manage_events /* 2131364811 */: + case R.id.role_settings_manage_events /* 2131364809 */: j = Permission.MANAGE_EVENTS; break; - case R.id.role_settings_manage_messages /* 2131364812 */: + case R.id.role_settings_manage_messages /* 2131364810 */: j = Permission.MANAGE_MESSAGES; break; - case R.id.role_settings_manage_nicknames /* 2131364813 */: + case R.id.role_settings_manage_nicknames /* 2131364811 */: j = Permission.MANAGE_NICKNAMES; break; - case R.id.role_settings_manage_roles /* 2131364814 */: + case R.id.role_settings_manage_roles /* 2131364812 */: j = Permission.MANAGE_ROLES; break; - case R.id.role_settings_manage_server /* 2131364815 */: + case R.id.role_settings_manage_server /* 2131364813 */: j = 32; break; - case R.id.role_settings_manage_threads /* 2131364816 */: + case R.id.role_settings_manage_threads /* 2131364814 */: j = Permission.MANAGE_THREADS; break; - case R.id.role_settings_manage_webhooks /* 2131364817 */: + case R.id.role_settings_manage_webhooks /* 2131364815 */: j = Permission.MANAGE_WEBHOOKS; break; - case R.id.role_settings_mention_everyone /* 2131364818 */: + case R.id.role_settings_mention_everyone /* 2131364816 */: j = Permission.MENTION_EVERYONE; break; - case R.id.role_settings_priority_speaker /* 2131364821 */: + case R.id.role_settings_priority_speaker /* 2131364819 */: j = 256; break; - case R.id.role_settings_read_message_history /* 2131364822 */: + case R.id.role_settings_read_message_history /* 2131364820 */: j = Permission.READ_MESSAGE_HISTORY; break; - case R.id.role_settings_read_messages /* 2131364823 */: + case R.id.role_settings_read_messages /* 2131364821 */: j = Permission.VIEW_CHANNEL; break; - case R.id.role_settings_request_to_speak /* 2131364824 */: + case R.id.role_settings_request_to_speak /* 2131364822 */: j = Permission.REQUEST_TO_SPEAK; break; - case R.id.role_settings_send_messages /* 2131364828 */: + case R.id.role_settings_send_messages /* 2131364826 */: j = Permission.SEND_MESSAGES; break; - case R.id.role_settings_send_messages_in_threads /* 2131364829 */: + case R.id.role_settings_send_messages_in_threads /* 2131364827 */: j = Permission.SEND_MESSAGES_IN_THREADS; break; - case R.id.role_settings_send_tts_messages /* 2131364830 */: + case R.id.role_settings_send_tts_messages /* 2131364828 */: j = Permission.SEND_TTS_MESSAGES; break; - case R.id.role_settings_use_application_commands /* 2131364831 */: + case R.id.role_settings_use_application_commands /* 2131364829 */: j = Permission.USE_APPLICATION_COMMANDS; break; - case R.id.role_settings_use_external_emojis /* 2131364832 */: + case R.id.role_settings_use_external_emojis /* 2131364830 */: j = Permission.USE_EXTERNAL_EMOJIS; break; - case R.id.role_settings_use_external_stickers /* 2131364833 */: + case R.id.role_settings_use_external_stickers /* 2131364831 */: j = Permission.USE_EXTERNAL_STICKERS; break; - case R.id.role_settings_view_audit_log /* 2131364834 */: + case R.id.role_settings_view_audit_log /* 2131364832 */: j = 128; break; - case R.id.role_settings_view_guild_analytics /* 2131364835 */: + case R.id.role_settings_view_guild_analytics /* 2131364833 */: j = Permission.VIEW_GUILD_ANALYTICS; break; - case R.id.role_settings_voice_connect /* 2131364836 */: + case R.id.role_settings_voice_connect /* 2131364834 */: j = Permission.CONNECT; break; - case R.id.role_settings_voice_deafen_members /* 2131364837 */: + case R.id.role_settings_voice_deafen_members /* 2131364835 */: j = Permission.DEAFEN_MEMBERS; break; - case R.id.role_settings_voice_move_members /* 2131364838 */: + case R.id.role_settings_voice_move_members /* 2131364836 */: j = Permission.MOVE_MEMBERS; break; - case R.id.role_settings_voice_mute_members /* 2131364839 */: + case R.id.role_settings_voice_mute_members /* 2131364837 */: j = Permission.MUTE_MEMBERS; break; - case R.id.role_settings_voice_speak /* 2131364840 */: + case R.id.role_settings_voice_speak /* 2131364838 */: j = Permission.SPEAK; break; - case R.id.role_settings_voice_use_voice_activity /* 2131364841 */: + case R.id.role_settings_voice_use_voice_activity /* 2131364839 */: j = Permission.USE_VAD; break; - case R.id.role_settings_voice_video /* 2131364842 */: + case R.id.role_settings_voice_video /* 2131364840 */: j = 512; break; } diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings$binding$2.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings$binding$2.java index f7edd5422f..e7ee434b6b 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings$binding$2.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings$binding$2.java @@ -98,53 +98,45 @@ public final /* synthetic */ class WidgetSettings$binding$2 extends k implements TextView textView20 = (TextView) view.findViewById(R.id.privacy); if (textView20 != null) { i = R.id.profile; - LinearLayout linearLayout4 = (LinearLayout) view.findViewById(R.id.profile); - if (linearLayout4 != null) { - i = R.id.profile_new_badge; - TextView textView21 = (TextView) view.findViewById(R.id.profile_new_badge); - if (textView21 != null) { - i = R.id.profile_text; - TextView textView22 = (TextView) view.findViewById(R.id.profile_text); - if (textView22 != null) { - i = R.id.qr_scanner; - TextView textView23 = (TextView) view.findViewById(R.id.qr_scanner); + TextView textView21 = (TextView) view.findViewById(R.id.profile); + if (textView21 != null) { + i = R.id.qr_scanner; + TextView textView22 = (TextView) view.findViewById(R.id.qr_scanner); + if (textView22 != null) { + i = R.id.set_status_container; + LinearLayout linearLayout4 = (LinearLayout) view.findViewById(R.id.set_status_container); + if (linearLayout4 != null) { + i = R.id.settings_billing; + TextView textView23 = (TextView) view.findViewById(R.id.settings_billing); if (textView23 != null) { - i = R.id.set_status_container; - LinearLayout linearLayout5 = (LinearLayout) view.findViewById(R.id.set_status_container); - if (linearLayout5 != null) { - i = R.id.settings_billing; - TextView textView24 = (TextView) view.findViewById(R.id.settings_billing); - if (textView24 != null) { - i = R.id.settings_nitro; - TextView textView25 = (TextView) view.findViewById(R.id.settings_nitro); - if (textView25 != null) { - i = R.id.settings_presence_text; - TextView textView26 = (TextView) view.findViewById(R.id.settings_presence_text); + i = R.id.settings_nitro; + TextView textView24 = (TextView) view.findViewById(R.id.settings_nitro); + if (textView24 != null) { + i = R.id.settings_presence_text; + TextView textView25 = (TextView) view.findViewById(R.id.settings_presence_text); + if (textView25 != null) { + i = R.id.settings_status_view; + StatusView statusView = (StatusView) view.findViewById(R.id.settings_status_view); + if (statusView != null) { + i = R.id.support; + TextView textView26 = (TextView) view.findViewById(R.id.support); if (textView26 != null) { - i = R.id.settings_status_view; - StatusView statusView = (StatusView) view.findViewById(R.id.settings_status_view); - if (statusView != null) { - i = R.id.support; - TextView textView27 = (TextView) view.findViewById(R.id.support); - if (textView27 != null) { - i = R.id.text_images_settings; - TextView textView28 = (TextView) view.findViewById(R.id.text_images_settings); - if (textView28 != null) { - i = R.id.upload_debug_logs; - TextView textView29 = (TextView) view.findViewById(R.id.upload_debug_logs); - if (textView29 != null) { - i = R.id.user_settings_header; - TextView textView30 = (TextView) view.findViewById(R.id.user_settings_header); + i = R.id.text_images_settings; + TextView textView27 = (TextView) view.findViewById(R.id.text_images_settings); + if (textView27 != null) { + i = R.id.upload_debug_logs; + TextView textView28 = (TextView) view.findViewById(R.id.upload_debug_logs); + if (textView28 != null) { + i = R.id.user_settings_header; + TextView textView29 = (TextView) view.findViewById(R.id.user_settings_header); + if (textView29 != null) { + i = R.id.user_settings_profile_header_view; + UserProfileHeaderView userProfileHeaderView = (UserProfileHeaderView) view.findViewById(R.id.user_settings_profile_header_view); + if (userProfileHeaderView != null) { + i = R.id.voice; + TextView textView30 = (TextView) view.findViewById(R.id.voice); if (textView30 != null) { - i = R.id.user_settings_profile_header_view; - UserProfileHeaderView userProfileHeaderView = (UserProfileHeaderView) view.findViewById(R.id.user_settings_profile_header_view); - if (userProfileHeaderView != null) { - i = R.id.voice; - TextView textView31 = (TextView) view.findViewById(R.id.voice); - if (textView31 != null) { - return new WidgetSettingsBinding((CoordinatorLayout) view, textView, textView2, textView3, textView4, textView5, textView6, textView7, textView8, textView9, textView10, textView11, textView12, findViewById, textView13, textView14, textView15, textView16, textView17, linearLayout, textView18, linearLayout2, linearLayout3, materialButton, textView19, textView20, linearLayout4, textView21, textView22, textView23, linearLayout5, textView24, textView25, textView26, statusView, textView27, textView28, textView29, textView30, userProfileHeaderView, textView31); - } - } + return new WidgetSettingsBinding((CoordinatorLayout) view, textView, textView2, textView3, textView4, textView5, textView6, textView7, textView8, textView9, textView10, textView11, textView12, findViewById, textView13, textView14, textView15, textView16, textView17, linearLayout, textView18, linearLayout2, linearLayout3, materialButton, textView19, textView20, textView21, textView22, linearLayout4, textView23, textView24, textView25, statusView, textView26, textView27, textView28, textView29, userProfileHeaderView, textView30); } } } diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings$onViewBound$$inlined$with$lambda$5.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings$onViewBound$$inlined$with$lambda$5.java index 55cb25ada8..76509db801 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings$onViewBound$$inlined$with$lambda$5.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings$onViewBound$$inlined$with$lambda$5.java @@ -48,10 +48,10 @@ public final class WidgetSettings$onViewBound$$inlined$with$lambda$5 implements public final void invoke(boolean z2) { WidgetSettings widgetSettings; int i; - TextView textView = this.this$0.$this_with.I; + TextView textView = this.this$0.$this_with.H; m.checkNotNullExpressionValue(textView, "uploadDebugLogs"); textView.setEnabled(z2); - TextView textView2 = this.this$0.$this_with.I; + TextView textView2 = this.this$0.$this_with.H; m.checkNotNullExpressionValue(textView2, "uploadDebugLogs"); if (z2) { widgetSettings = this.this$0.this$0; 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 9b3795c114..44cf03c06d 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -29,7 +29,6 @@ import com.discord.utilities.user.UserUtils; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; import com.discord.widgets.notice.WidgetNoticeDialog; -import com.discord.widgets.settings.profile.WidgetSettingsUserProfile; import com.discord.widgets.tabs.NavigationTab; import com.discord.widgets.tabs.OnTabSelectedListener; import com.discord.widgets.tabs.WidgetTabsHost; @@ -225,7 +224,6 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi private final void configureUI(Model model) { MeUser meUser = model.getMeUser(); UserUtils userUtils = UserUtils.INSTANCE; - int i = 0; boolean z2 = userUtils.isStaff(meUser); boolean isVerified = meUser.isVerified(); boolean hasSubscription = userUtils.getHasSubscription(meUser); @@ -243,15 +241,15 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi LinearLayout linearLayout = binding.u; m.checkNotNullExpressionValue(linearLayout, "nitroSettingsContainer"); linearLayout.setVisibility(isVerified ? 0 : 8); - TextView textView3 = binding.D; + TextView textView3 = binding.C; m.checkNotNullExpressionValue(textView3, "settingsNitro"); textView3.setText(getString(hasSubscription ? R.string.billing_manage_subscription : R.string.premium_settings_subscribe_today)); TextView textView4 = binding.q; m.checkNotNullExpressionValue(textView4, "nitroBoosting"); textView4.setText(getString(hasSubscription ? R.string.premium_guild_perks_modal_manage_your_subscriptions : R.string.premium_settings_premium_guild_subscriptions)); Presence presence = model.getPresence(); - binding.F.setPresence(presence); - TextView textView5 = binding.E; + binding.E.setPresence(presence); + TextView textView5 = binding.D; m.checkNotNullExpressionValue(textView5, "settingsPresenceText"); textView5.setText(getString(PresenceUtils.INSTANCE.getStatusStringResForPresence(presence))); if (model.getPromoCount() > 0) { @@ -266,18 +264,11 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi TextView textView8 = binding.r; m.checkNotNullExpressionValue(textView8, "nitroGiftingBadge"); textView8.setVisibility(0); - } else { - TextView textView9 = binding.r; - m.checkNotNullExpressionValue(textView9, "nitroGiftingBadge"); - textView9.setVisibility(8); + return; } - boolean z3 = this.sharedPreferences.getBoolean(WidgetSettingsUserProfile.USER_PROFILE_SETTINGS_VIEWED_CACHE_KEY, false); - TextView textView10 = getBinding().A; - m.checkNotNullExpressionValue(textView10, "binding.profileNewBadge"); - if (!(!z3)) { - i = 8; - } - textView10.setVisibility(i); + TextView textView9 = binding.r; + m.checkNotNullExpressionValue(textView9, "nitroGiftingBadge"); + textView9.setVisibility(8); } private final WidgetSettingsBinding getBinding() { @@ -313,18 +304,18 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi widgetTabsHost.registerTabSelectionListener(NavigationTab.SETTINGS, this); } WidgetSettingsBinding binding = getBinding(); - binding.C.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$1(this)); - UserProfileHeaderView userProfileHeaderView = binding.K; + binding.B.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$1(this)); + UserProfileHeaderView userProfileHeaderView = binding.J; Badge.Companion companion = Badge.Companion; FragmentManager parentFragmentManager = getParentFragmentManager(); m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); userProfileHeaderView.setOnBadgeClick(companion.onBadgeClick(parentFragmentManager, requireContext())); - binding.K.setOnBannerPress(new WidgetSettings$onViewBound$$inlined$with$lambda$2(this)); + binding.J.setOnBannerPress(new WidgetSettings$onViewBound$$inlined$with$lambda$2(this)); TextView textView = binding.f; m.checkNotNullExpressionValue(textView, "appInfoHeader"); String string = getString(R.string.app_information); - textView.setText(string + " - 94.1 - Alpha (94201)"); - binding.B.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$3(this)); + textView.setText(string + " - 94.2 - Alpha (94202)"); + binding.A.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); binding.f2001s.setOnClickListener(WidgetSettings$onViewBound$1$7.INSTANCE); @@ -339,14 +330,14 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi binding.p.setOnClickListener(WidgetSettings$onViewBound$1$16.INSTANCE); binding.e.setOnClickListener(WidgetSettings$onViewBound$1$17.INSTANCE); binding.f2002x.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$4(this)); - binding.H.setOnClickListener(WidgetSettings$onViewBound$1$19.INSTANCE); - binding.L.setOnClickListener(WidgetSettings$onViewBound$1$20.INSTANCE); - binding.G.setOnClickListener(WidgetSettings$onViewBound$1$21.INSTANCE); - binding.I.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$5(binding, this)); + binding.G.setOnClickListener(WidgetSettings$onViewBound$1$19.INSTANCE); + binding.K.setOnClickListener(WidgetSettings$onViewBound$1$20.INSTANCE); + binding.F.setOnClickListener(WidgetSettings$onViewBound$1$21.INSTANCE); + binding.H.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$5(binding, this)); binding.d.setOnClickListener(WidgetSettings$onViewBound$1$23.INSTANCE); binding.k.setOnClickListener(WidgetSettings$onViewBound$1$24.INSTANCE); binding.w.setOnClickListener(WidgetSettings$onViewBound$1$25.INSTANCE); - for (TextView textView2 : n.listOf((Object[]) new TextView[]{binding.J, binding.t, binding.g, binding.o, binding.f})) { + for (TextView textView2 : n.listOf((Object[]) new TextView[]{binding.I, binding.t, binding.g, binding.o, binding.f})) { AccessibilityUtils accessibilityUtils = AccessibilityUtils.INSTANCE; m.checkNotNullExpressionValue(textView2, "header"); accessibilityUtils.setViewIsHeading(textView2); @@ -357,7 +348,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi public void onViewBoundOrOnResume() { super.onViewBoundOrOnResume(); UserProfileHeaderView.Companion companion = UserProfileHeaderView.Companion; - UserProfileHeaderView userProfileHeaderView = getBinding().K; + UserProfileHeaderView userProfileHeaderView = getBinding().J; m.checkNotNullExpressionValue(userProfileHeaderView, "binding.userSettingsProfileHeaderView"); companion.bind(userProfileHeaderView, this, getViewModelUserProfileHeader().observeViewState()); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.computationLatest(Model.Companion.get()), this, null, 2, null), WidgetSettings.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetSettings$onViewBoundOrOnResume$1(this), 62, (Object) null); diff --git a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$1.java b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$1.java new file mode 100644 index 0000000000..043f90cb21 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$1.java @@ -0,0 +1,25 @@ +package com.discord.widgets.settings.profile; + +import android.content.Context; +import android.view.View; +import com.discord.utilities.dimmer.DimmerView; +import d0.z.d.m; +/* compiled from: WidgetSettingsUserProfile.kt */ +public final class WidgetSettingsUserProfile$onViewBound$1 implements View.OnClickListener { + public final /* synthetic */ View $view; + public final /* synthetic */ WidgetSettingsUserProfile this$0; + + public WidgetSettingsUserProfile$onViewBound$1(WidgetSettingsUserProfile widgetSettingsUserProfile, View view) { + this.this$0 = widgetSettingsUserProfile; + this.$view = view; + } + + @Override // android.view.View.OnClickListener + public final void onClick(View view) { + SettingsUserProfileViewModel access$getViewModel$p = WidgetSettingsUserProfile.access$getViewModel$p(this.this$0); + Context context = this.$view.getContext(); + m.checkNotNullExpressionValue(context, "view.context"); + access$getViewModel$p.saveUserChanges(context); + DimmerView.setDimmed$default(WidgetSettingsUserProfile.access$getBinding$p(this.this$0).g, true, false, 2, null); + } +} diff --git a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$2.java b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$2.java index e6241a06a5..652c920311 100644 --- a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$2.java +++ b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$2.java @@ -1,25 +1,58 @@ package com.discord.widgets.settings.profile; -import android.content.Context; -import android.view.View; -import com.discord.utilities.dimmer.DimmerView; +import android.view.MotionEvent; +import androidx.cardview.widget.CardView; +import com.google.android.material.textfield.TextInputLayout; import d0.z.d.m; +import d0.z.d.o; +import kotlin.jvm.functions.Function1; /* compiled from: WidgetSettingsUserProfile.kt */ -public final class WidgetSettingsUserProfile$onViewBound$2 implements View.OnClickListener { - public final /* synthetic */ View $view; +public final class WidgetSettingsUserProfile$onViewBound$2 extends o implements Function1 { public final /* synthetic */ WidgetSettingsUserProfile this$0; - public WidgetSettingsUserProfile$onViewBound$2(WidgetSettingsUserProfile widgetSettingsUserProfile, View view) { + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetSettingsUserProfile$onViewBound$2(WidgetSettingsUserProfile widgetSettingsUserProfile) { + super(1); this.this$0 = widgetSettingsUserProfile; - this.$view = view; } - @Override // android.view.View.OnClickListener - public final void onClick(View view) { - SettingsUserProfileViewModel access$getViewModel$p = WidgetSettingsUserProfile.access$getViewModel$p(this.this$0); - Context context = this.$view.getContext(); - m.checkNotNullExpressionValue(context, "view.context"); - access$getViewModel$p.saveUserChanges(context); - DimmerView.setDimmed$default(WidgetSettingsUserProfile.access$getBinding$p(this.this$0).g, true, false, 2, null); + /* 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 */ Boolean invoke(MotionEvent motionEvent) { + return Boolean.valueOf(invoke(motionEvent)); + } + + public final boolean invoke(MotionEvent motionEvent) { + if (motionEvent == null) { + return false; + } + int actionMasked = motionEvent.getActionMasked(); + boolean z2 = true; + if (actionMasked == 1 || actionMasked == 3) { + float rawX = motionEvent.getRawX(); + float rawY = motionEvent.getRawY(); + TextInputLayout textInputLayout = WidgetSettingsUserProfile.access$getBinding$p(this.this$0).d; + m.checkNotNullExpressionValue(textInputLayout, "binding.bioEditorTextInputFieldWrap"); + int width = textInputLayout.getWidth(); + TextInputLayout textInputLayout2 = WidgetSettingsUserProfile.access$getBinding$p(this.this$0).d; + m.checkNotNullExpressionValue(textInputLayout2, "binding.bioEditorTextInputFieldWrap"); + int height = textInputLayout2.getHeight(); + int[] iArr = new int[2]; + WidgetSettingsUserProfile.access$getBinding$p(this.this$0).d.getLocationOnScreen(iArr); + int i = iArr[0]; + int i2 = iArr[1]; + if (rawX < ((float) i) || rawX > ((float) (i + width)) || rawY < ((float) i2) || rawY > ((float) (i2 + height))) { + CardView cardView = WidgetSettingsUserProfile.access$getBinding$p(this.this$0).b; + m.checkNotNullExpressionValue(cardView, "binding.bioEditorCard"); + if (cardView.getVisibility() != 0) { + z2 = false; + } + if (z2) { + WidgetSettingsUserProfile.access$setCurrentBioFromEditor(this.this$0); + } + } + } + return false; } } diff --git a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$3.java b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$3.java index f15756ce10..e780fdc36a 100644 --- a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$3.java +++ b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$3.java @@ -1,58 +1,16 @@ package com.discord.widgets.settings.profile; -import android.view.MotionEvent; -import androidx.cardview.widget.CardView; -import com.google.android.material.textfield.TextInputLayout; -import d0.z.d.m; -import d0.z.d.o; -import kotlin.jvm.functions.Function1; +import android.view.View; /* compiled from: WidgetSettingsUserProfile.kt */ -public final class WidgetSettingsUserProfile$onViewBound$3 extends o implements Function1 { +public final class WidgetSettingsUserProfile$onViewBound$3 implements View.OnClickListener { public final /* synthetic */ WidgetSettingsUserProfile this$0; - /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public WidgetSettingsUserProfile$onViewBound$3(WidgetSettingsUserProfile widgetSettingsUserProfile) { - super(1); this.this$0 = widgetSettingsUserProfile; } - /* 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 */ Boolean invoke(MotionEvent motionEvent) { - return Boolean.valueOf(invoke(motionEvent)); - } - - public final boolean invoke(MotionEvent motionEvent) { - if (motionEvent == null) { - return false; - } - int actionMasked = motionEvent.getActionMasked(); - boolean z2 = true; - if (actionMasked == 1 || actionMasked == 3) { - float rawX = motionEvent.getRawX(); - float rawY = motionEvent.getRawY(); - TextInputLayout textInputLayout = WidgetSettingsUserProfile.access$getBinding$p(this.this$0).d; - m.checkNotNullExpressionValue(textInputLayout, "binding.bioEditorTextInputFieldWrap"); - int width = textInputLayout.getWidth(); - TextInputLayout textInputLayout2 = WidgetSettingsUserProfile.access$getBinding$p(this.this$0).d; - m.checkNotNullExpressionValue(textInputLayout2, "binding.bioEditorTextInputFieldWrap"); - int height = textInputLayout2.getHeight(); - int[] iArr = new int[2]; - WidgetSettingsUserProfile.access$getBinding$p(this.this$0).d.getLocationOnScreen(iArr); - int i = iArr[0]; - int i2 = iArr[1]; - if (rawX < ((float) i) || rawX > ((float) (i + width)) || rawY < ((float) i2) || rawY > ((float) (i2 + height))) { - CardView cardView = WidgetSettingsUserProfile.access$getBinding$p(this.this$0).b; - m.checkNotNullExpressionValue(cardView, "binding.bioEditorCard"); - if (cardView.getVisibility() != 0) { - z2 = false; - } - if (z2) { - WidgetSettingsUserProfile.access$setCurrentBioFromEditor(this.this$0); - } - } - } - return false; + @Override // android.view.View.OnClickListener + public final void onClick(View view) { + WidgetSettingsUserProfile.access$getViewModel$p(this.this$0).updateIsEditingBio(true); } } diff --git a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$4.java b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$4.java index 667b83b536..71b70c18df 100644 --- a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$4.java +++ b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$4.java @@ -1,16 +1,28 @@ package com.discord.widgets.settings.profile; -import android.view.View; +import com.discord.utilities.color.ColorCompat; +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function1; /* compiled from: WidgetSettingsUserProfile.kt */ -public final class WidgetSettingsUserProfile$onViewBound$4 implements View.OnClickListener { +public final class WidgetSettingsUserProfile$onViewBound$4 extends o implements Function1 { public final /* synthetic */ WidgetSettingsUserProfile this$0; + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public WidgetSettingsUserProfile$onViewBound$4(WidgetSettingsUserProfile widgetSettingsUserProfile) { + super(1); this.this$0 = widgetSettingsUserProfile; } - @Override // android.view.View.OnClickListener - public final void onClick(View view) { - WidgetSettingsUserProfile.access$getViewModel$p(this.this$0).updateIsEditingBio(true); + /* 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(Integer num) { + invoke(num.intValue()); + return Unit.a; + } + + public final void invoke(int i) { + WidgetSettingsUserProfile.access$getAvatarRepresentativeColorHexSubject$p(this.this$0).onNext(ColorCompat.INSTANCE.getColorHexFromColorInt(i)); } } diff --git a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$5.java b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$5.java index c4f81e96a2..880e50fb2c 100644 --- a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$5.java +++ b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$5.java @@ -1,11 +1,13 @@ package com.discord.widgets.settings.profile; -import com.discord.utilities.color.ColorCompat; +import androidx.fragment.app.FragmentManager; +import com.discord.widgets.user.Badge; +import d0.z.d.m; import d0.z.d.o; import kotlin.Unit; import kotlin.jvm.functions.Function1; /* compiled from: WidgetSettingsUserProfile.kt */ -public final class WidgetSettingsUserProfile$onViewBound$5 extends o implements Function1 { +public final class WidgetSettingsUserProfile$onViewBound$5 extends o implements Function1 { public final /* synthetic */ WidgetSettingsUserProfile this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ @@ -17,12 +19,16 @@ public final class WidgetSettingsUserProfile$onViewBound$5 extends o implements /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 - public /* bridge */ /* synthetic */ Unit invoke(Integer num) { - invoke(num.intValue()); + public /* bridge */ /* synthetic */ Unit invoke(Badge badge) { + invoke(badge); return Unit.a; } - public final void invoke(int i) { - WidgetSettingsUserProfile.access$getAvatarRepresentativeColorHexSubject$p(this.this$0).onNext(ColorCompat.INSTANCE.getColorHexFromColorInt(i)); + public final void invoke(Badge badge) { + m.checkNotNullParameter(badge, "it"); + Badge.Companion companion = Badge.Companion; + FragmentManager parentFragmentManager = this.this$0.getParentFragmentManager(); + m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); + companion.onBadgeClick(parentFragmentManager, this.this$0.requireContext()); } } diff --git a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$6.java b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$6.java deleted file mode 100644 index e395ae7545..0000000000 --- a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile$onViewBound$6.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.discord.widgets.settings.profile; - -import androidx.fragment.app.FragmentManager; -import com.discord.widgets.user.Badge; -import d0.z.d.m; -import d0.z.d.o; -import kotlin.Unit; -import kotlin.jvm.functions.Function1; -/* compiled from: WidgetSettingsUserProfile.kt */ -public final class WidgetSettingsUserProfile$onViewBound$6 extends o implements Function1 { - public final /* synthetic */ WidgetSettingsUserProfile this$0; - - /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public WidgetSettingsUserProfile$onViewBound$6(WidgetSettingsUserProfile widgetSettingsUserProfile) { - super(1); - this.this$0 = widgetSettingsUserProfile; - } - - /* 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(Badge badge) { - invoke(badge); - return Unit.a; - } - - public final void invoke(Badge badge) { - m.checkNotNullParameter(badge, "it"); - Badge.Companion companion = Badge.Companion; - FragmentManager parentFragmentManager = this.this$0.getParentFragmentManager(); - m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); - companion.onBadgeClick(parentFragmentManager, this.this$0.requireContext()); - } -} diff --git a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile.java b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile.java index 8d88d01a5b..32b62f251e 100644 --- a/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile.java +++ b/app/src/main/java/com/discord/widgets/settings/profile/WidgetSettingsUserProfile.java @@ -2,7 +2,6 @@ package com.discord.widgets.settings.profile; import android.content.Context; import android.content.Intent; -import android.content.SharedPreferences; import android.net.Uri; import android.view.LayoutInflater; import android.view.View; @@ -24,7 +23,6 @@ import com.discord.databinding.WidgetSettingsUserProfileBinding; import com.discord.simpleast.core.node.Node; import com.discord.stores.StoreAnalytics; import com.discord.stores.StoreStream; -import com.discord.utilities.cache.SharedPreferencesProvider; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.dimmer.DimmerView; import com.discord.utilities.images.MGImages; @@ -61,7 +59,6 @@ public final class WidgetSettingsUserProfile extends AppFragment { public static final Companion Companion = new Companion(null); public static final int MAX_AVATAR_SIZE = 1024; public static final int MAX_BANNER_IMAGE_SIZE = 1080; - public static final String USER_PROFILE_SETTINGS_VIEWED_CACHE_KEY = "USER_PROFILE_SETTINGS_VIEWED_CACHE_KEY"; private final BehaviorSubject avatarRepresentativeColorHexSubject; private Function1 avatarSelectedResult = WidgetSettingsUserProfile$avatarSelectedResult$1.INSTANCE; private Function1 bannerSelectedResult = WidgetSettingsUserProfile$bannerSelectedResult$1.INSTANCE; @@ -331,19 +328,15 @@ public final class WidgetSettingsUserProfile extends AppFragment { public void onViewBound(View view) { m.checkNotNullParameter(view, "view"); super.onViewBound(view); - SharedPreferences.Editor edit = SharedPreferencesProvider.INSTANCE.get().edit(); - m.checkNotNullExpressionValue(edit, "editor"); - edit.putBoolean(USER_PROFILE_SETTINGS_VIEWED_CACHE_KEY, true); - edit.apply(); setActionBarTitle(R.string.user_settings_user_profile); setActionBarSubtitle(R.string.user_settings); AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null); - getBinding().h.setOnClickListener(new WidgetSettingsUserProfile$onViewBound$2(this, view)); - ((TouchInterceptingCoordinatorLayout) view).setOnInterceptTouchEvent(new WidgetSettingsUserProfile$onViewBound$3(this)); + getBinding().h.setOnClickListener(new WidgetSettingsUserProfile$onViewBound$1(this, view)); + ((TouchInterceptingCoordinatorLayout) view).setOnInterceptTouchEvent(new WidgetSettingsUserProfile$onViewBound$2(this)); getBinding().f2027c.setRawInputType(1); - getBinding().e.setOnClickListener(new WidgetSettingsUserProfile$onViewBound$4(this)); - getBinding().i.setOnAvatarRepresentativeColorUpdated(new WidgetSettingsUserProfile$onViewBound$5(this)); - getBinding().i.setOnBadgeClick(new WidgetSettingsUserProfile$onViewBound$6(this)); + getBinding().e.setOnClickListener(new WidgetSettingsUserProfile$onViewBound$3(this)); + getBinding().i.setOnAvatarRepresentativeColorUpdated(new WidgetSettingsUserProfile$onViewBound$4(this)); + getBinding().i.setOnBadgeClick(new WidgetSettingsUserProfile$onViewBound$5(this)); } @Override // com.discord.app.AppFragment diff --git a/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$1.java b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$1.java new file mode 100644 index 0000000000..dd24e4e942 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$1.java @@ -0,0 +1,29 @@ +package com.discord.widgets.user; + +import android.content.Context; +import c.a.k.b; +import com.discord.R; +import com.discord.utilities.resources.StringResourceUtilsKt; +import d0.z.d.m; +import d0.z.d.o; +import kotlin.jvm.functions.Function2; +/* compiled from: WidgetPruneUsers.kt */ +public final class WidgetPruneUsers$onViewBound$1 extends o implements Function2 { + public static final WidgetPruneUsers$onViewBound$1 INSTANCE = new WidgetPruneUsers$onViewBound$1(); + + public WidgetPruneUsers$onViewBound$1() { + super(2); + } + + public final CharSequence invoke(Context context, int i) { + m.checkNotNullParameter(context, "$this$formatLastSeenDays"); + return b.h(context, R.string.last_seen, new Object[]{StringResourceUtilsKt.getI18nPluralString(context, R.plurals.last_seen_days, i, Integer.valueOf(i))}, null, 4); + } + + /* Return type fixed from 'java.lang.Object' to match base method */ + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object] */ + @Override // kotlin.jvm.functions.Function2 + public /* bridge */ /* synthetic */ CharSequence invoke(Context context, Integer num) { + return invoke(context, num.intValue()); + } +} diff --git a/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$4.java b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$4.java index 39f35d6ad0..c5058b7588 100644 --- a/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$4.java +++ b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$4.java @@ -11,6 +11,6 @@ public final class WidgetPruneUsers$onViewBound$4 implements View.OnClickListene @Override // android.view.View.OnClickListener public final void onClick(View view) { - WidgetPruneUsers.access$getViewModel$p(this.this$0).pruneClicked(); + this.this$0.dismiss(); } } diff --git a/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$3.java b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$5.java similarity index 62% rename from app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$3.java rename to app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$5.java index eddf696d3a..0fe6eeb96f 100644 --- a/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$3.java +++ b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers$onViewBound$5.java @@ -2,15 +2,15 @@ package com.discord.widgets.user; import android.view.View; /* compiled from: WidgetPruneUsers.kt */ -public final class WidgetPruneUsers$onViewBound$3 implements View.OnClickListener { +public final class WidgetPruneUsers$onViewBound$5 implements View.OnClickListener { public final /* synthetic */ WidgetPruneUsers this$0; - public WidgetPruneUsers$onViewBound$3(WidgetPruneUsers widgetPruneUsers) { + public WidgetPruneUsers$onViewBound$5(WidgetPruneUsers widgetPruneUsers) { this.this$0 = widgetPruneUsers; } @Override // android.view.View.OnClickListener public final void onClick(View view) { - this.this$0.dismiss(); + WidgetPruneUsers.access$getViewModel$p(this.this$0).pruneClicked(); } } diff --git a/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers.java b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers.java index 74b2476f0a..7d06feefb7 100644 --- a/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers.java +++ b/app/src/main/java/com/discord/widgets/user/WidgetPruneUsers.java @@ -210,18 +210,19 @@ public final class WidgetPruneUsers extends AppDialog { public void onViewBound(View view) { m.checkNotNullParameter(view, "view"); super.onViewBound(view); + WidgetPruneUsers$onViewBound$1 widgetPruneUsers$onViewBound$1 = WidgetPruneUsers$onViewBound$1.INSTANCE; CheckedSetting checkedSetting = getBinding().f; Context context = checkedSetting.getContext(); m.checkNotNullExpressionValue(context, "context"); - checkedSetting.setText(StringResourceUtilsKt.getI18nPluralString(context, R.plurals.last_seen_days, 7, 7)); + checkedSetting.setText(widgetPruneUsers$onViewBound$1.invoke(context, 7)); checkedSetting.e(new WidgetPruneUsers$onViewBound$$inlined$apply$lambda$1(this)); CheckedSetting checkedSetting2 = getBinding().g; Context context2 = checkedSetting2.getContext(); m.checkNotNullExpressionValue(context2, "context"); - checkedSetting2.setText(StringResourceUtilsKt.getI18nPluralString(context2, R.plurals.last_seen_days, 30, 30)); + checkedSetting2.setText(widgetPruneUsers$onViewBound$1.invoke(context2, 30)); checkedSetting2.e(new WidgetPruneUsers$onViewBound$$inlined$apply$lambda$2(this)); - getBinding().b.setOnClickListener(new WidgetPruneUsers$onViewBound$3(this)); - getBinding().d.setOnClickListener(new WidgetPruneUsers$onViewBound$4(this)); + getBinding().b.setOnClickListener(new WidgetPruneUsers$onViewBound$4(this)); + getBinding().d.setOnClickListener(new WidgetPruneUsers$onViewBound$5(this)); } @Override // com.discord.app.AppDialog diff --git a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$apply$lambda$1.java b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$apply$lambda$1.java deleted file mode 100644 index 1b5d00a530..0000000000 --- a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$apply$lambda$1.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.discord.widgets.voice.fullscreen; - -import android.view.View; -import androidx.fragment.app.FragmentManager; -import com.discord.api.guildscheduledevent.GuildScheduledEvent; -import com.discord.views.calls.VoiceCallActiveEventView; -import com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventDetailsBottomSheet; -import com.discord.widgets.voice.fullscreen.WidgetCallFullscreenViewModel; -import d0.z.d.m; -/* compiled from: WidgetCallFullscreen.kt */ -public final class WidgetCallFullscreen$configureActionBar$$inlined$apply$lambda$1 implements View.OnClickListener { - public final /* synthetic */ GuildScheduledEvent $activeEvent; - public final /* synthetic */ VoiceCallActiveEventView $this_apply$inlined; - public final /* synthetic */ WidgetCallFullscreenViewModel.ViewState.Valid $viewState$inlined; - public final /* synthetic */ WidgetCallFullscreen this$0; - - public WidgetCallFullscreen$configureActionBar$$inlined$apply$lambda$1(GuildScheduledEvent guildScheduledEvent, VoiceCallActiveEventView voiceCallActiveEventView, WidgetCallFullscreen widgetCallFullscreen, WidgetCallFullscreenViewModel.ViewState.Valid valid) { - this.$activeEvent = guildScheduledEvent; - this.$this_apply$inlined = voiceCallActiveEventView; - this.this$0 = widgetCallFullscreen; - this.$viewState$inlined = valid; - } - - @Override // android.view.View.OnClickListener - public final void onClick(View view) { - WidgetGuildScheduledEventDetailsBottomSheet.Companion companion = WidgetGuildScheduledEventDetailsBottomSheet.Companion; - FragmentManager parentFragmentManager = this.this$0.getParentFragmentManager(); - m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); - companion.show(parentFragmentManager, this.$activeEvent.g()); - } -} diff --git a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1.java b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1.java index 8d284392ce..752ec4a2f7 100644 --- a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1.java +++ b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1.java @@ -1,26 +1,28 @@ package com.discord.widgets.voice.fullscreen; import android.view.View; -import androidx.activity.OnBackPressedDispatcher; -import com.discord.app.AppActivity; -import com.discord.models.guild.Guild; +import androidx.fragment.app.FragmentManager; +import com.discord.api.guildscheduledevent.GuildScheduledEvent; +import com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventDetailsBottomSheet; +import com.discord.widgets.voice.fullscreen.WidgetCallFullscreenViewModel; +import d0.z.d.m; /* compiled from: WidgetCallFullscreen.kt */ public final class WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1 implements View.OnClickListener { - public final /* synthetic */ Guild $guild$inlined; + public final /* synthetic */ GuildScheduledEvent $activeEvent$inlined; + public final /* synthetic */ WidgetCallFullscreenViewModel.ViewState.Valid $viewState$inlined; public final /* synthetic */ WidgetCallFullscreen this$0; - public WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1(Guild guild, WidgetCallFullscreen widgetCallFullscreen) { - this.$guild$inlined = guild; + public WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1(GuildScheduledEvent guildScheduledEvent, WidgetCallFullscreen widgetCallFullscreen, WidgetCallFullscreenViewModel.ViewState.Valid valid) { + this.$activeEvent$inlined = guildScheduledEvent; this.this$0 = widgetCallFullscreen; + this.$viewState$inlined = valid; } @Override // android.view.View.OnClickListener public final void onClick(View view) { - OnBackPressedDispatcher onBackPressedDispatcher; - WidgetCallFullscreen.access$getViewModel$p(this.this$0).onVisitCommunityButtonClicked(this.$guild$inlined.getId()); - AppActivity appActivity = this.this$0.getAppActivity(); - if (appActivity != null && (onBackPressedDispatcher = appActivity.getOnBackPressedDispatcher()) != null) { - onBackPressedDispatcher.onBackPressed(); - } + WidgetGuildScheduledEventDetailsBottomSheet.Companion companion = WidgetGuildScheduledEventDetailsBottomSheet.Companion; + FragmentManager parentFragmentManager = this.this$0.getParentFragmentManager(); + m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); + companion.show(parentFragmentManager, this.$activeEvent$inlined.g()); } } diff --git a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$2.java b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$2.java new file mode 100644 index 0000000000..4de54ee02f --- /dev/null +++ b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$2.java @@ -0,0 +1,26 @@ +package com.discord.widgets.voice.fullscreen; + +import android.view.View; +import androidx.activity.OnBackPressedDispatcher; +import com.discord.app.AppActivity; +import com.discord.models.guild.Guild; +/* compiled from: WidgetCallFullscreen.kt */ +public final class WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$2 implements View.OnClickListener { + public final /* synthetic */ Guild $guild$inlined; + public final /* synthetic */ WidgetCallFullscreen this$0; + + public WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$2(Guild guild, WidgetCallFullscreen widgetCallFullscreen) { + this.$guild$inlined = guild; + this.this$0 = widgetCallFullscreen; + } + + @Override // android.view.View.OnClickListener + public final void onClick(View view) { + OnBackPressedDispatcher onBackPressedDispatcher; + WidgetCallFullscreen.access$getViewModel$p(this.this$0).onVisitCommunityButtonClicked(this.$guild$inlined.getId()); + AppActivity appActivity = this.this$0.getAppActivity(); + if (appActivity != null && (onBackPressedDispatcher = appActivity.getOnBackPressedDispatcher()) != null) { + onBackPressedDispatcher.onBackPressed(); + } + } +} diff --git a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java index 657cafeb7e..e0b44cdc56 100644 --- a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java +++ b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java @@ -341,28 +341,27 @@ public final class WidgetCallFullscreen extends AppFragment { /* JADX WARNING: Removed duplicated region for block: B:36:0x00dd */ /* JADX WARNING: Removed duplicated region for block: B:39:0x00ed */ /* JADX WARNING: Removed duplicated region for block: B:40:0x00ef */ - /* JADX WARNING: Removed duplicated region for block: B:47:0x0120 */ - /* JADX WARNING: Removed duplicated region for block: B:48:0x0122 */ - /* JADX WARNING: Removed duplicated region for block: B:50:0x0125 */ - /* JADX WARNING: Removed duplicated region for block: B:51:0x0127 */ - /* JADX WARNING: Removed duplicated region for block: B:54:0x0132 */ - /* JADX WARNING: Removed duplicated region for block: B:55:0x0172 */ - /* JADX WARNING: Removed duplicated region for block: B:62:0x0195 */ - /* JADX WARNING: Removed duplicated region for block: B:73:0x0201 */ - /* JADX WARNING: Removed duplicated region for block: B:74:0x0203 */ + /* JADX WARNING: Removed duplicated region for block: B:47:0x0125 */ + /* JADX WARNING: Removed duplicated region for block: B:53:0x0179 */ + /* JADX WARNING: Removed duplicated region for block: B:56:0x017e */ + /* JADX WARNING: Removed duplicated region for block: B:57:0x0180 */ + /* JADX WARNING: Removed duplicated region for block: B:64:0x01a6 */ + /* JADX WARNING: Removed duplicated region for block: B:75:0x0212 */ /* JADX WARNING: Removed duplicated region for block: B:76:0x0214 */ - /* JADX WARNING: Removed duplicated region for block: B:78:0x0217 */ - /* JADX WARNING: Removed duplicated region for block: B:81:0x021d */ - /* JADX WARNING: Removed duplicated region for block: B:84:0x0230 */ + /* JADX WARNING: Removed duplicated region for block: B:78:0x0225 */ + /* JADX WARNING: Removed duplicated region for block: B:80:0x0228 */ + /* JADX WARNING: Removed duplicated region for block: B:83:0x022e */ + /* JADX WARNING: Removed duplicated region for block: B:86:0x0241 */ private final void configureActionBar(WidgetCallFullscreenViewModel.ViewState.Valid valid) { int i; Guild guild; - GuildScheduledEvent activeEvent; boolean z2; + boolean z3; String titleText; Guild guild2; - boolean z3; boolean z4; + boolean z5; + boolean z6; ViewExtensions.fadeBy(getBinding().d, valid.getShowControls(), 200); int i2 = 0; ViewExtensions.fadeBy(getBinding().h, valid.getShowControls() && valid.getMentionCount() > 0, 200); @@ -390,66 +389,89 @@ public final class WidgetCallFullscreen extends AppFragment { callEventsButtonView.a(parentFragmentManager, guild.getId(), getChannelId(), valid.getCallModel().getGuildScheduledEvents()); } VoiceCallActiveEventView voiceCallActiveEventView = getBinding().f1724x; - voiceCallActiveEventView.setVisibility(valid.getActiveEvent() != null ? 0 : 8); - activeEvent = valid.getActiveEvent(); - if (activeEvent != null) { - Channel channel = valid.getCallModel().getChannel(); - Objects.requireNonNull(voiceCallActiveEventView); - m.checkNotNullParameter(channel, "channel"); - m.checkNotNullParameter(activeEvent, "guildScheduledEvent"); - TextView textView3 = voiceCallActiveEventView.i.b; - m.checkNotNullExpressionValue(textView3, "binding.channelName"); - textView3.setText(channel.m()); - TextView textView4 = voiceCallActiveEventView.i.f109c; - m.checkNotNullExpressionValue(textView4, "binding.eventName"); - textView4.setText(activeEvent.h()); - voiceCallActiveEventView.setOnClickListener(new WidgetCallFullscreen$configureActionBar$$inlined$apply$lambda$1(activeEvent, voiceCallActiveEventView, this, valid)); - } - StageCallVisitCommunityView stageCallVisitCommunityView = getBinding().q; - m.checkNotNullExpressionValue(stageCallVisitCommunityView, "binding.callVisitCommunity"); - StageCallModel stageCallModel = valid.getStageCallModel(); - if (stageCallModel != null && stageCallModel.isLurking()) { - guild2 = valid.getStageCallModel().getGuild(); - if (guild2 != null) { - StageCallVisitCommunityView stageCallVisitCommunityView2 = getBinding().q; - Objects.requireNonNull(stageCallVisitCommunityView2); - m.checkNotNullParameter(guild2, "guild"); - String icon = guild2.getIcon(); - if (icon != null) { - if (icon.length() > 0) { - z4 = true; + m.checkNotNullExpressionValue(voiceCallActiveEventView, "binding.toolbarVoiceActiveEvent"); + if (valid.getStageCallModel() == null) { + GuildScheduledEvent activeEvent = valid.getActiveEvent(); + if (activeEvent != null) { + VoiceCallActiveEventView voiceCallActiveEventView2 = getBinding().f1724x; + Channel channel = valid.getCallModel().getChannel(); + Objects.requireNonNull(voiceCallActiveEventView2); + m.checkNotNullParameter(channel, "channel"); + m.checkNotNullParameter(activeEvent, "guildScheduledEvent"); + TextView textView3 = voiceCallActiveEventView2.i.b; + m.checkNotNullExpressionValue(textView3, "binding.channelName"); + textView3.setText(channel.m()); + TextView textView4 = voiceCallActiveEventView2.i.f109c; + m.checkNotNullExpressionValue(textView4, "binding.eventName"); + textView4.setText(activeEvent.h()); + voiceCallActiveEventView2.setOnClickListener(new WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1(activeEvent, this, valid)); + z6 = true; + } else { + z6 = false; + } + if (z6) { + z2 = true; + voiceCallActiveEventView.setVisibility(!z2 ? 0 : 8); + StageCallVisitCommunityView stageCallVisitCommunityView = getBinding().q; + m.checkNotNullExpressionValue(stageCallVisitCommunityView, "binding.callVisitCommunity"); + StageCallModel stageCallModel = valid.getStageCallModel(); + if (stageCallModel != null && stageCallModel.isLurking()) { + guild2 = valid.getStageCallModel().getGuild(); + if (guild2 == null) { + StageCallVisitCommunityView stageCallVisitCommunityView2 = getBinding().q; + Objects.requireNonNull(stageCallVisitCommunityView2); + m.checkNotNullParameter(guild2, "guild"); + String icon = guild2.getIcon(); + if (icon != null) { + if (icon.length() > 0) { + z5 = true; + SimpleDraweeView simpleDraweeView = stageCallVisitCommunityView2.i.b; + m.checkNotNullExpressionValue(simpleDraweeView, "binding.visitCommunityIcon"); + SimpleDraweeViewExtensionsKt.setGuildIcon$default(simpleDraweeView, true, guild2, (float) stageCallVisitCommunityView2.getResources().getDimensionPixelSize(R.dimen.guild_icon_radius), Integer.valueOf(IconUtils.getMediaProxySize(stageCallVisitCommunityView2.getResources().getDimensionPixelSize(R.dimen.avatar_size_medium))), null, null, null, false, null, 496, null); + TextView textView5 = stageCallVisitCommunityView2.i.f182c; + m.checkNotNullExpressionValue(textView5, "binding.visitCommunityIconText"); + textView5.setText(!z5 ? null : guild2.getShortName()); + stageCallVisitCommunityView2.setOnClickListener(new WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$2(guild2, this)); + z4 = true; + } + } + z5 = false; SimpleDraweeView simpleDraweeView = stageCallVisitCommunityView2.i.b; m.checkNotNullExpressionValue(simpleDraweeView, "binding.visitCommunityIcon"); SimpleDraweeViewExtensionsKt.setGuildIcon$default(simpleDraweeView, true, guild2, (float) stageCallVisitCommunityView2.getResources().getDimensionPixelSize(R.dimen.guild_icon_radius), Integer.valueOf(IconUtils.getMediaProxySize(stageCallVisitCommunityView2.getResources().getDimensionPixelSize(R.dimen.avatar_size_medium))), null, null, null, false, null, 496, null); TextView textView5 = stageCallVisitCommunityView2.i.f182c; m.checkNotNullExpressionValue(textView5, "binding.visitCommunityIconText"); - textView5.setText(!z4 ? null : guild2.getShortName()); - stageCallVisitCommunityView2.setOnClickListener(new WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1(guild2, this)); + textView5.setText(!z5 ? null : guild2.getShortName()); + stageCallVisitCommunityView2.setOnClickListener(new WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$2(guild2, this)); + z4 = true; + } else { + z4 = false; + } + if (z4) { z3 = true; + if (!z3) { + i2 = 8; + } + stageCallVisitCommunityView.setVisibility(i2); + int color = ColorCompat.getColor(this, (int) R.color.transparent); + titleText = valid.getTitleText(); + if (titleText == null) { + titleText = ""; + } + setActionBarTitle(titleText); + setActionBarTitleColor(-1); + ViewExtensions.fadeBy(getBinding().f1722c, valid.getShowControls(), 200); + ColorCompat.setStatusBarTranslucent(this); + ColorCompat.setStatusBarColor((Fragment) this, color, true); } } - z4 = false; - SimpleDraweeView simpleDraweeView = stageCallVisitCommunityView2.i.b; - m.checkNotNullExpressionValue(simpleDraweeView, "binding.visitCommunityIcon"); - SimpleDraweeViewExtensionsKt.setGuildIcon$default(simpleDraweeView, true, guild2, (float) stageCallVisitCommunityView2.getResources().getDimensionPixelSize(R.dimen.guild_icon_radius), Integer.valueOf(IconUtils.getMediaProxySize(stageCallVisitCommunityView2.getResources().getDimensionPixelSize(R.dimen.avatar_size_medium))), null, null, null, false, null, 496, null); - TextView textView5 = stageCallVisitCommunityView2.i.f182c; - m.checkNotNullExpressionValue(textView5, "binding.visitCommunityIconText"); - textView5.setText(!z4 ? null : guild2.getShortName()); - stageCallVisitCommunityView2.setOnClickListener(new WidgetCallFullscreen$configureActionBar$$inlined$let$lambda$1(guild2, this)); - z3 = true; - } else { z3 = false; - } - if (z3) { - z2 = true; - if (!z2) { - i2 = 8; + if (!z3) { } stageCallVisitCommunityView.setVisibility(i2); int color = ColorCompat.getColor(this, (int) R.color.transparent); titleText = valid.getTitleText(); if (titleText == null) { - titleText = ""; } setActionBarTitle(titleText); setActionBarTitleColor(-1); @@ -459,7 +481,17 @@ public final class WidgetCallFullscreen extends AppFragment { } } z2 = false; - if (!z2) { + voiceCallActiveEventView.setVisibility(!z2 ? 0 : 8); + StageCallVisitCommunityView stageCallVisitCommunityView = getBinding().q; + m.checkNotNullExpressionValue(stageCallVisitCommunityView, "binding.callVisitCommunity"); + StageCallModel stageCallModel = valid.getStageCallModel(); + guild2 = valid.getStageCallModel().getGuild(); + if (guild2 == null) { + } + if (z4) { + } + z3 = false; + if (!z3) { } stageCallVisitCommunityView.setVisibility(i2); int color = ColorCompat.getColor(this, (int) R.color.transparent); @@ -489,20 +521,21 @@ public final class WidgetCallFullscreen extends AppFragment { m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); callEventsButtonView.a(parentFragmentManager, guild.getId(), getChannelId(), valid.getCallModel().getGuildScheduledEvents()); VoiceCallActiveEventView voiceCallActiveEventView = getBinding().f1724x; - voiceCallActiveEventView.setVisibility(valid.getActiveEvent() != null ? 0 : 8); - activeEvent = valid.getActiveEvent(); - if (activeEvent != null) { + m.checkNotNullExpressionValue(voiceCallActiveEventView, "binding.toolbarVoiceActiveEvent"); + if (valid.getStageCallModel() == null) { } + z2 = false; + voiceCallActiveEventView.setVisibility(!z2 ? 0 : 8); StageCallVisitCommunityView stageCallVisitCommunityView = getBinding().q; m.checkNotNullExpressionValue(stageCallVisitCommunityView, "binding.callVisitCommunity"); StageCallModel stageCallModel = valid.getStageCallModel(); guild2 = valid.getStageCallModel().getGuild(); - if (guild2 != null) { + if (guild2 == null) { } - if (z3) { + if (z4) { } - z2 = false; - if (!z2) { + z3 = false; + if (!z3) { } stageCallVisitCommunityView.setVisibility(i2); int color = ColorCompat.getColor(this, (int) R.color.transparent); @@ -520,20 +553,21 @@ public final class WidgetCallFullscreen extends AppFragment { m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); callEventsButtonView.a(parentFragmentManager, guild.getId(), getChannelId(), valid.getCallModel().getGuildScheduledEvents()); VoiceCallActiveEventView voiceCallActiveEventView = getBinding().f1724x; - voiceCallActiveEventView.setVisibility(valid.getActiveEvent() != null ? 0 : 8); - activeEvent = valid.getActiveEvent(); - if (activeEvent != null) { + m.checkNotNullExpressionValue(voiceCallActiveEventView, "binding.toolbarVoiceActiveEvent"); + if (valid.getStageCallModel() == null) { } + z2 = false; + voiceCallActiveEventView.setVisibility(!z2 ? 0 : 8); StageCallVisitCommunityView stageCallVisitCommunityView = getBinding().q; m.checkNotNullExpressionValue(stageCallVisitCommunityView, "binding.callVisitCommunity"); StageCallModel stageCallModel = valid.getStageCallModel(); guild2 = valid.getStageCallModel().getGuild(); - if (guild2 != null) { + if (guild2 == null) { } - if (z3) { + if (z4) { } - z2 = false; - if (!z2) { + z3 = false; + if (!z3) { } stageCallVisitCommunityView.setVisibility(i2); int color = ColorCompat.getColor(this, (int) R.color.transparent); diff --git a/app/src/main/res/layout-v22/widget_settings.xml b/app/src/main/res/layout-v22/widget_settings.xml index 042c0b48c7..15eebd7041 100644 --- a/app/src/main/res/layout-v22/widget_settings.xml +++ b/app/src/main/res/layout-v22/widget_settings.xml @@ -19,10 +19,7 @@ - - - - + diff --git a/app/src/main/res/layout/view_voice_call_active_event.xml b/app/src/main/res/layout/view_voice_call_active_event.xml index ef9fdeaced..9d9f9572d5 100644 --- a/app/src/main/res/layout/view_voice_call_active_event.xml +++ b/app/src/main/res/layout/view_voice_call_active_event.xml @@ -1,6 +1,6 @@ - - - + + + diff --git a/app/src/main/res/layout/widget_settings.xml b/app/src/main/res/layout/widget_settings.xml index 6db58bb12c..d0c60233be 100644 --- a/app/src/main/res/layout/widget_settings.xml +++ b/app/src/main/res/layout/widget_settings.xml @@ -19,10 +19,7 @@ - - - - + diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index c4dbeb472c..e8700423b1 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -34,6 +34,9 @@ ‏‮Share‬‏ ‏‮with‬‏ %s ‏‮Collapse‬‏ ‏‮About‬‏ ‏‮this‬‏ ‏‮App‬‏ + ‏‮Accept‬‏ + ‏‮Accept‬‏ ‏‮DM‬‏ ‏‮from‬‏ ‏‮{user}‬‏‏‮?‬‏ + ‏‮They‬‏ ‏‮won’t‬‏ ‏‮be‬‏ ‏‮notified‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮Report‬‏ ‏‮or‬‏ ‏‮Hide‬‏ ‏‮this‬‏ ‏‮message.‬‏ ‏‮Accept‬‏ ‏‮Invite‬‏ ‏‮Request‬‏ ‏‮Accepted‬‏ ‏‮Accessibility‬‏ @@ -3887,8 +3890,10 @@ ‏‮$[**!!‬‏‏‮{user}‬‏‏‮!!**](userHook)‬‏ ‏‮scheduled‬‏ ‏‮the‬‏ ‏‮event‬‏ ‏‮$[**!!‬‏‏‮{target}‬‏‏‮!!**](targetHook)‬‏ ‏‮$[**!!‬‏‏‮{user}‬‏‏‮!!**](userHook)‬‏ ‏‮deleted‬‏ ‏‮the‬‏ ‏‮scheduled‬‏ ‏‮event‬‏ ‏‮$[**!!‬‏‏‮{target}‬‏‏‮!!**](targetHook)‬‏ ‏‮Set‬‏ ‏‮the‬‏ ‏‮description‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ + ‏‮Linked‬‏ ‏‮**externally**‬‏ ‏‮Linked‬‏ ‏‮to‬‏ ‏‮**Nothing**‬‏ ‏‮Linked‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮**Stage**‬‏ + ‏‮Linked‬‏ ‏‮with‬‏ ‏‮a‬‏ ‏‮**Voice‬‏ ‏‮Channel**‬‏ ‏‮With‬‏ ‏‮the‬‏ ‏‮name‬‏ ‏‮**!!‬‏‏‮{newValue}‬‏‏‮!!**‬‏ ‏‮With‬‏ ‏‮a‬‏ ‏‮ticket‬‏ ‏‮Set‬‏ ‏‮the‬‏ ‏‮status‬‏ ‏‮to‬‏ ‏‮**Active**‬‏ @@ -5421,8 +5426,6 @@ ‏‮Manage‬‏ ‏‮Plan‬‏ ‏‮We\'ve‬‏ ‏‮lowered‬‏ ‏‮Nitro‬‏ ‏‮pricing‬‏ ‏‮in‬‏ ‏‮your‬‏ ‏‮area.‬‏ ‏‮See‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮save‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮local‬‏ ‏‮currency.‬‏ ‏‮Changing‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮will‬‏ ‏‮change‬‏ ‏‮your‬‏ ‏‮subscription‬‏ ‏‮price‬‏ ‏‮and‬‏ ‏‮currency‬‏ ‏‮to‬‏ ‏‮{newCurrencyAndPrice}‬‏‏‮.‬‏ ‏‮[Click‬‏ ‏‮here](‬‏‏‮{helpCenterLink}‬‏‏‮)‬‏ ‏‮to‬‏ ‏‮learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮how‬‏ ‏‮we‬‏ ‏‮determine‬‏ ‏‮what‬‏ ‏‮you‬‏ ‏‮pay.‬‏ - ‏‮Manage‬‏ ‏‮Plan‬‏ - ‏‮We\'ve‬‏ ‏‮lowered‬‏ ‏‮Nitro‬‏ ‏‮pricing‬‏ ‏‮in‬‏ ‏‮some‬‏ ‏‮areas.‬‏ ‏‮Reactivate‬‏ ‏‮your‬‏ ‏‮Nitro‬‏ ‏‮subscription‬‏ ‏‮and‬‏ ‏‮see‬‏ ‏‮if‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮save.‬‏ ‏‮**Tip**:‬‏ ‏‮Use‬‏ ‏‮a‬‏ ‏‮payment‬‏ ‏‮method‬‏ ‏‮local‬‏ ‏‮to‬‏ ‏‮{country}‬‏ ‏‮to‬‏ ‏‮pay‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮subscription‬‏ ‏‮in‬‏ ‏‮{currency}‬‏‏‮!‬‏ ‏‮[Click‬‏ ‏‮here](‬‏‏‮{helpCenterLink}‬‏‏‮)‬‏ ‏‮to‬‏ ‏‮learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮how‬‏ ‏‮we‬‏ ‏‮determine‬‏ ‏‮price‬‏ ‏‮and‬‏ ‏‮currency.‬‏ ‏‮**Hooray!**‬‏ ‏‮As‬‏ ‏‮a‬‏ ‏‮resident‬‏ ‏‮of‬‏ ‏‮{country}‬‏‏‮,‬‏ ‏‮you\'re‬‏ ‏‮now‬‏ ‏‮paying‬‏ ‏‮the‬‏ ‏‮discounted‬‏ ‏‮price‬‏ ‏‮of‬‏ ‏‮{newPrice}‬‏ ‏‮for‬‏ ‏‮Nitro!‬‏ ‏‮[Learn‬‏ ‏‮More](‬‏‏‮{helpCenterLink}‬‏‏‮).‬‏ ‏‮Login‬‏ @@ -5818,8 +5821,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‬‏ @@ -6422,6 +6425,7 @@ ‏‮Passwordless‬‏ ‏‮Log‬‏ ‏‮in‬‏ ‏‮Paste‬‏ ‏‮Pause‬‏ + ‏‮Connecting‬‏ ‏‮with‬‏ ‏‮your‬‏ ‏‮payment‬‏ ‏‮source‬‏ ‏‮Continue‬‏ ‏‮Cancel‬‏ ‏‮Payment‬‏ ‏‮Your‬‏ ‏‮payment‬‏ ‏‮for‬‏ ‏‮**!!‬‏‏‮{item}‬‏‏‮!!**‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮canceled.‬‏ @@ -7318,6 +7322,8 @@ ‏‮Reconnecting‬‏ ‏‮Redeem‬‏ ‏‮Redemption‬‏ ‏‮Code‬‏ + ‏‮Something‬‏ ‏‮went‬‏ ‏‮wrong,‬‏ ‏‮try‬‏ ‏‮again.‬‏ + ‏‮Payment‬‏ ‏‮confirmed.‬‏ ‏‮Return‬‏ ‏‮to‬‏ ‏‮**Discord**.‬‏ ‏‮Accept‬‏ ‏‮You‬‏ ‏‮already‬‏ ‏‮have‬‏ ‏‮a‬‏ ‏‮subscription!‬‏ ‏‮Thanks‬‏ ‏‮for‬‏ ‏‮being‬‏ ‏‮a‬‏ ‏‮subscriber,‬‏ ‏‮but‬‏ ‏‮referrals‬‏ ‏‮are‬‏ ‏‮for‬‏ ‏‮first-time‬‏ ‏‮subs‬‏ ‏‮only.‬‏ ‏‮The‬‏ ‏‮referral‬‏ ‏‮has‬‏ ‏‮expired‬‏ ‏‮or‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮valid‬‏ @@ -7994,12 +8000,21 @@ ‏‮This‬‏ ‏‮channel‬‏ ‏‮has‬‏ ‏‮special‬‏ ‏‮permissions.‬‏ ‏‮To‬‏ ‏‮listen‬‏ ‏‮in‬‏ ‏‮it,‬‏ ‏‮you\'ll‬‏ ‏‮need‬‏ ‏‮someone,‬‏ ‏‮like‬‏ ‏‮a‬‏ ‏‮server‬‏ ‏‮moderator‬‏ ‏‮or‬‏ ‏‮admin,‬‏ ‏‮to‬‏ ‏‮undeafen‬‏ ‏‮you.‬‏ ‏‮Server‬‏ ‏‮Deafened‬‏ ‏‮Tell‬‏ ‏‮the‬‏ ‏‮world‬‏ ‏‮a‬‏ ‏‮bit‬‏ ‏‮about‬‏ ‏‮this‬‏ ‏‮server.‬‏ + ‏‮Agree‬‏ ‏‮to‬‏ ‏‮rules‬‏ ‏‮This‬‏ ‏‮contains‬‏ ‏‮a‬‏ ‏‮blocked‬‏ ‏‮word.‬‏ ‏‮[Learn‬‏ ‏‮more](‬‏‏‮{guidelinesUrl}‬‏‏‮).‬‏ ‏‮Category‬‏ ‏‮Choose‬‏ ‏‮a‬‏ ‏‮subject‬‏ ‏‮area‬‏ ‏‮that‬‏ ‏‮best‬‏ ‏‮fits‬‏ ‏‮your‬‏ ‏‮server.‬‏ ‏‮Description‬‏ ‏‮Describe‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮Let‬‏ ‏‮people‬‏ ‏‮know‬‏ ‏‮what‬‏ ‏‮your‬‏ ‏‮community‬‏ ‏‮is‬‏ ‏‮all‬‏ ‏‮about‬‏ + ‏‮Violating‬‏ ‏‮our‬‏ ‏‮policies‬‏ ‏‮may‬‏ ‏‮result‬‏ ‏‮in‬‏ ‏‮penalties‬‏ ‏‮against‬‏ ‏‮your‬‏ ‏‮server,‬‏ ‏‮including‬‏ ‏‮removal‬‏ ‏‮from‬‏ ‏‮Discovery.‬‏ + ‏‮Comply‬‏ ‏‮with‬‏ ‏‮Discord\'s‬‏ ‏‮[Community‬‏ ‏‮Guidelines](‬‏‏‮{communityGuidelinesUrl}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Discovery‬‏ ‏‮Guidelines](‬‏‏‮{discoveryGuidelinesUrl}‬‏‏‮)‬‏ + ‏‮Rules‬‏ + ‏‮Create‬‏ ‏‮a‬‏ ‏‮welcoming‬‏ ‏‮space‬‏ ‏‮where‬‏ ‏‮harassment,‬‏ ‏‮toxicity,‬‏ ‏‮and‬‏ ‏‮illegal‬‏ ‏‮activity‬‏ ‏‮is‬‏ ‏‮not‬‏ ‏‮promoted‬‏ ‏‮or‬‏ ‏‮tolerated.‬‏ + ‏‮Foster‬‏ ‏‮a‬‏ ‏‮healthy‬‏ ‏‮and‬‏ ‏‮positive‬‏ ‏‮environment‬‏ + ‏‮Help‬‏ ‏‮keep‬‏ ‏‮Server‬‏ ‏‮Discovery‬‏ ‏‮safe‬‏ ‏‮for‬‏ ‏‮everyone‬‏ + ‏‮All‬‏ ‏‮server‬‏ ‏‮content‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮appropriate‬‏ ‏‮for‬‏ ‏‮ages‬‏ ‏‮13+.‬‏ + ‏‮Do‬‏ ‏‮not‬‏ ‏‮host‬‏ ‏‮graphic‬‏ ‏‮or‬‏ ‏‮sexual‬‏ ‏‮content‬‏ ‏‮Help‬‏ ‏‮people‬‏ ‏‮find‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮in‬‏ ‏‮search‬‏ ‏‮results‬‏ ‏‮Server‬‏ ‏‮description‬‏ ‏‮This‬‏ ‏‮will‬‏ ‏‮appear‬‏ ‏‮anywhere‬‏ ‏‮an‬‏ ‏‮invite‬‏ ‏‮link‬‏ ‏‮is‬‏ ‏‮shared,‬‏ ‏‮so‬‏ ‏‮keep‬‏ ‏‮it‬‏ ‏‮clean.‬‏ @@ -8412,6 +8427,8 @@ ‏‮{numStickers}‬‏ ‏‮View‬‏ ‏‮Sticker‬‏ ‏‮Pack‬‏ ‏‮Frequently‬‏ ‏‮used‬‏ + ‏‮Add‬‏ ‏‮Sticker‬‏ + ‏‮Upload‬‏ ‏‮a‬‏ ‏‮sticker‬‏ ‏‮to‬‏ ‏‮this‬‏ ‏‮server‬‏ ‏‮Free‬‏ ‏‮$[~~‬‏‏‮{regularPrice}‬‏‏‮~~](originalPriceHook)‬‏ ‏‮!!‬‏‏‮{discountedPrice}‬‏‏‮!!‬‏ ‏‮$[~~‬‏‏‮{regularPrice}‬‏‏‮~~](originalPriceHook)‬‏ ‏‮Purchase‬‏ ‏‮Boosts‬‏ diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 0da28f44b3..a14417ee9f 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -3142,7 +3142,6 @@ Засега събитията са ограничени само до каналите сцена. Създай такъв канал, за да организираш събитие. Подходящо за: $[въпроси и отговори, събития тип „питай каквото искаш“, дискусии в екип](suggestionsHook) Трима говорители в канал на сцена говорят на петима членове от публиката, двама от членовете са вдигнали ръка - Каналите сцена са направени специално за аудио събития на общността с $[вградени инструменти за модериране](moderationHook), като $[вдигане на ръка](handRaiseHook) и $[заглушаване на публиката по подразбиране.](audienceHook) Въпроси и отговори „Питай каквото искаш“ Опитай да използваш канал сцена! @@ -4917,7 +4916,6 @@ Управлявай план Намалихме цената на Nitro в твоя регион. Виж дали спестяваш с местната си валута. Промяната на твоя метод на плащане ще промени цената и валутата на абонамента ти на {newCurrencyAndPrice}. [Кликни тук]({helpCenterLink}), за да научиш повече за това, как определяме колко да плащаш. - Управлявай план **Съвет**: Използвай метод на плащане, който е локален за {country}, за да плащаш абонамента си в {currency}! [Кликни тук]({helpCenterLink}), за да научиш повече за това, как определяме цената и валутата. **Ура!** Като жител в {country} вече плащаш намалената цена от {newPrice} за Nitro! [Научи повече]({helpCenterLink}). Вписване @@ -6028,6 +6026,29 @@ Искаш ли да персонализираш своя таг? Вземи Nitro! Когато изтече абонаментът ти за Nitro, твоят Discord Tag ще стане произволен. Този таг е невалиден. Таговете трябва да са по-големи от 0. + Персонализирай и изразявай себе си в Discord с летните ни актуализации! + Редактиране на профил в сървър + Задай си уникален аватар във всеки от твоите сървъри. Бъди ученик в един, герой от D&D в друг и истинското си „аз“ в трети – каквото и да означава това… + Аватари за сървъри + Присъедини се към до 200 сървъра + По-дълги съобщения до 4000 знака + Нов инструмент за избор на GIF за аватара или банера ти + …и още! + Редактиране на потребителски профил + Акцентирай върху този интерес, който е изградил целия ти характер, с нов банер на профила, съчетан с него анимиран аватар и персонализиран таг. + Банери на профила + Разгледай стикерите + Покажи на приятелите си точно как се чувстваш с персонализирани стикери в чата от всички твои сървъри и се наслаждавай на 300 ексклузивни стикера за Nitro. + Стикери в чата + Nitro е просто мега. Или направо гига? [Научи повече за Nitro.](onLearnMore) + Какво е новото в Nitro + Свалихме цената на Nitro в Бразилия! + Свалихме цената на Nitro в Полша! + Свалихме цената на Nitro в Турция! + Nitro вече е !!{price}!! + Хвърли един поглед! + Качи си уникален аватар за всеки сървър и още с Nitro. + Нови летни актуализации! Качвай и използвай анимирани аватари и емотикони Споделяй персонални емотикони във всички сървъри Използвай персонализирани стикери навсякъде и си осигури достъп до 300 стикера, ексклузивно за Nitro diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 044b6379b1..0150090281 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -3148,7 +3148,6 @@ Události jsou prozatím omezené na řečnické kanály. Pokud chceš vytvořit událost, vytvoř si nějaký řečnický kanál. Vhodné pro: $[otázky a odpovědi, AMA, panelové diskuze](suggestionsHook) Tři řečníci mluví v řečnickém kanálu před publikem pěti lidí, dva členové publika mají zvednutou ruku - Řečnické kanály jsou vytvořené přímo pro komunitní audio událost a mají $[integrované nástroje pro moderování](moderationHook), jako třeba $[hlášení](handRaiseHook) nebo $[ve výchozím nastavení ztlumené publikum](audienceHook). Otázky a odpovědi AMA Zkus použít řečnický kanál! @@ -4923,7 +4922,6 @@ Spravovat plán Snížili jsme ceny za Nitro pro oblast tvého pobytu. Podívej se, jestli se svou místní měnou neušetříš. Změnou platební metody dojde ke změně ceny předplatného a měny na {newCurrencyAndPrice}. [Kliknutím sem]({helpCenterLink}) se dozvíš víc o tom, jak určujeme, co budeš platit. - Spravovat plán **Tip**: nastav si platební metodu dostupnou v {country} a budeš moct za své předplatné platit v {currency}! [Kliknutím sem]({helpCenterLink}) se dozvíš víc o tom, jak určujeme ceny a měnu. **Hurááá!** Jako obyvatel {country} teď za Nitro platíš sníženou cenu {newPrice}! [Zjistit více]({helpCenterLink}). Přihlásit se @@ -6034,6 +6032,29 @@ Chceš si nastavit vlastní tag? Pořiď si Nitro! Až tvé předplatné Nitro skončí, bude tvůj Discord tag opět náhodný. Takový tag je neplatný. Tag musí být větší než 0. + Využij naše letní novinky, přizpůsob si svůj profil a vyjádři na celém Discordu kým jsi! + Upravit profil serveru + Nastav si jedinečný avatar pro každý ze svých serverů. V jednom můžeš být student, ve druhém postava z D&D a ve třetím tvé skutečné já – ať už jsi kdokoli… + Avatary serveru + Připoj se až k 200 serverům. + Piš zprávy o délce až 4000 znaků. + Používej nové okno s GIFy pro svůj avatar nebo banner. + … a ještě mnohem víc! + Upravit uživatelský profil + Vypíchni jednu ze svých zálib, která tě nejlépe vystihuje. Můžeš k tomu využít nový banner profilu, přiléhavý animovaný avatar a vlastní tag. + Bannery profilu + Procházet samolepky + Ukaž svým přátelům, jak se skutečně cítíš. Skvěle ti k tomu poslouží vlastní samolepky v chatu ze všech tvých serverů a 300 exkluzivních samolepek z Nitra. + Samolepky v chatu + Nitro je mnohem lepší. Nevěříš? [Tak o Nitru zjisti víc.](onLearnMore) + Co je v Nitru nového + Snížili jsme cenu Nitra v Brazílii! + Snížili jsme cenu Nitra v Polsku! + Snížili jsme cenu Nitra v Turecku! + Nitro teď stojí !!{price}!! + Pojď se podívat! + S Nitrem můžeš nahrát jedinečný avatar pro každý server a dělat spoustu dalších věcí. + Žhavé letní novinky! Nahrávej a používej animované avatary a smajlíky Sdílej upravené smajlíky na všech serverech Používej své vlastní samolepky kdekoli a získej přístup ke 300 exkluzivním samolepkám pro předplatitele Nitra diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 1f583a7808..5b4f22d1a7 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -3135,7 +3135,6 @@ Events er begrænset til podiekanaler pt. Opret én for at oprette et event. Godt til: $[Q&A og AMA, paneldiskussioner](suggestionsHook) Tre talere på en podiekanal taler til fem publikummer, to publikummer har hånden rakt i vejret - Scenekanaler er bygget specielt til lydbegivenheder i communities med $[indbyggede moderationsværktøjer](moderationHook) som $[oprakt hånd](handRaiseHook) og et $[publikum, der er gjort stumme som standard.](audienceHook) Spørgsmål og svar (Q&A) Spørg om hvad som helst (AMA) Prøv at bruge en podiekanal! @@ -4910,8 +4909,6 @@ Håndter abonnement Vi har opdateret priserne for Nitro i nogle områder. Se om du sparer noget med din lokale valuta. Når du ændrer din betalingsmetode, vil det ændre prisen for dit abonnement og valuta for {newCurrencyAndPrice}. [Klik her]({helpCenterLink}) for at få mere at vide om, hvordan vi fastsætter, hvad du betaler. - Håndter abonnement - Vi har sænket Nitro-priser i nogle områder. Genaktiver dit Nitro-abonnement, og se om du kan spare. Tip: Brug en lokal betalingsmetode til {country} for at betale for dit abonnement i {currency}! [Klik her]({helpCenterLink}) for at få mere at vide om, hvordan vi fastsætter pris og valuta. **Hooray!** As a resident of {country}, you\'re now paying the discounted price of {newPrice} for Nitro! [Learn More]({helpCenterLink}). Log ind @@ -6017,6 +6014,29 @@ Vil du tilpasse dit tag? Hent Nitro. Når dit Nitro-abonnement ophører, vil dit Discord-tag blive randomiseret. Dette tag er ugyldigt. Tags skal være længere end 0. + Tilpas og vis, hvem du er i Discord med vores sommeropdateringer! + Rediger serverprofil + Sæt en unik avatar i hver af vores servere. Vær studerende i en, din D&D-karakter i en anden, og dit eget jeg i en trejde, hvem det så end er … + Server-avatarer + Tilslut dig op til 200 servere + Længere beskeder op til 4000 tegn + Ny GIF-vælger til din avatar eller dit banner + … og mere! + Rediger brugerprofil + Markér den ene interesse, du gjorde til hele din personlighed med et nyt profilbanner, matchende animeret avatar og brugerdefineret tag. + Profilbannere + Se stickere + Vis dine venner, hvordan du rigtig har det med individuelle stickere i chat fra alle dine servere, og nyd godt af 300 eksklusive Nitro-stickere. + Stickere i chat + Nitro er flere længder bedre. Har du ikke længtes efter det? Undskyld. [Få mere at vide om Nitro.](onLearnMore) + Nyheder i Nitro + Vi har sat prisen ned på Nitro i Brasilien! + Vi har sat prisen ned på Nitro i Polen! + Vi har sat prisen ned på Nitro i Tyrkiet! + Nitro fås nu til !!{price}!! + Tag et kig! + Upload en unik avatar for hver server og mere med Nitro. + Nye sommeropdateringer! Upload og anvend animerede avatarer og emojier Del brugertilpassede emojier på tværs af alle servere Brug brugerdefinerede stickers hvor som helst, og få adgang til 300 Nitro-eksklusive stickers diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8a6a2b72c9..70a58c5ed9 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3153,7 +3153,6 @@ Events gibt es momentan nur in den Stage-Kanälen. Bitte erstelle einen, um ein Event zu planen. Geeignet für $[Q&A, AMA, Podiumsdiskussion](suggestionsHook) Drei Redner haben fünf Zuhörer im Stage-Kanal, zwei Zuhörer melden sich. - Stage-Kanäle sind für Community-Audio-Events gedacht und bieten $[integrierte Moderationstools](moderationHook) wie $[Hand heben](handRaiseHook) und ein $[automatisch stummgeschaltetes Publikum.](audienceHook) Q&A AMA Probiere es mit einem Stage-Kanal! @@ -4928,8 +4927,6 @@ Abo verwalten In deiner Region haben wir die Preise für Nitro gesenkt. Zahle mit deiner Landeswährung, um zu sparen. Mit der Änderung deiner Zahlungsmethode ändern sich auch Abonnementpreis und Währung zu {newCurrencyAndPrice}. [Klicke hier]({helpCenterLink}), um mehr darüber zu erfahren, wie der Preis festgelegt wurde. - Abo verwalten - Wir haben den Preis für Nitro in einigen Regionen verringert. Reaktiviere dein Nitro Abo, um zu schauen, ob du sparen kannst. **Tipp**: Verwende eine in {country} verfügbare Zahlungsmethode, um dein Abonnement in {currency} zu bezahlen! [Klicke hier]({helpCenterLink}), um mehr über alle Preise und Währungen zu erfahren. **Hurra!** Da du in {country} wohnst, wird der Preis für Nitro für dich auf {newPrice} gesenkt! [Mehr erfahren]({helpCenterLink}). Anmelden @@ -6040,6 +6037,29 @@ Möchtest du deinen Tag anpassen? Dann hol dir Nitro! Wenn dein Nitro-Abonnement endet, erhältst du einen zufällig generierten Discord-Tag. Dieser Tag ist ungültig. Tags müssen größer als 0 sein. + Mit unseren Sommerupdates kannst du Discord ganz nach deinem Geschmack anpassen und dich selbst repräsentieren! + Serverprofil bearbeiten + Verwende auf jedem deiner Server einen einzigartigen Avatar. Auf einem Server studierst du, auf dem nächsten verkörperst du deinen Rollenspielcharakter und auf einem weiteren dein wahres Ich (was immer das auch sein mag …) + Server-Avatare + Tritt bis zu 200 Servern bei + Verschicke längere Nachrichten – jetzt mit bis zu 4000 Zeichen + Neue GIF-Auswahl für deinen Avatar oder dein Banner + … und noch mehr! + Nutzerprofil bearbeiten + Mit einem neuen Profilbanner, einem animierten Avatar und einem personalisierten Tag stichst du aus der Menge heraus. + Profilbanner + Sticker durchstöbern + Zeit für große Gefühle – mit benutzerdefinierten Stickern im Chat auf all deinen Servern und 300 exklusiven Nitro-Stickern. + Sticker im Chat + Nitro hat einen ganz schönen Sprung gemacht. Also sei kein Frosch! (Der war wirklich schlecht.) [Mehr über Nitro erfahren.](onLearnMore) + Was gibt’s Neues bei Nitro? + Wir haben den Preis für Nitro in Brasilien reduziert! + Wir haben den Preis für Nitro in Polen reduziert! + Wir haben den Preis für Nitro in der Türkei reduziert! + Nitro kostet jetzt !!{price}!! + Na, schon neugierig? + Lade mit Nitro unter anderem einen einzigartigen Avatar für jeden Server hoch. + Neue Sommerupdates! Lade animierte Avatare und Emojis hoch und verwende sie ganz nach Belieben Verwende personalisierte Emojis auf allen Servern Verwende überall benutzerdefinierte Sticker und erhalte Zugriff auf 300 exklusive Nitro-Sticker. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index ac166bd2ee..5421a75d82 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -3143,7 +3143,6 @@ Προς το παρόν, οι εκδηλώσεις περιορίζονται στα κανάλια Σκηνής. Φτιάξε ένα για να δημιουργήσεις μια εκδήλωση. Κατάλληλο για: $[Ε&Α, AMA, Πάνελ ομιλητών](suggestionsHook) Τρεις ομιλητές σε ένα κανάλι σκηνής μιλούν σε πέντε μέλη στο ακροατήριο, δύο μέλη στο ακροατήριο έχουν σηκώσει το χέρι τους - Τα κανάλια σκηνής είναι ειδικά σχεδιασμένα για ηχητικές εκδηλώσεις κοινότητας, με $[ενσωματωμένα εργαλεία διαχείρισης](moderationHook) όπως το $[σήκωμα χεριού](handRaiseHook) και η $[προεπιλεγμένη σίγαση ακροατηρίου.](audienceHook) Ε&Α AMA Χρησιμοποίησε ένα κανάλι σκηνής! @@ -4918,7 +4917,6 @@ Διαχείριση συνδρομής Μειώσαμε την τιμή του Nitro στην περιοχή σου. Δες αν εξοικονομείς χρήματα με το τοπικό σου νόμισμα. Η αλλαγή του τρόπου πληρωμής θα αλλάξει την τιμή και το νόμισμα της συνδρομής σου σε {newCurrencyAndPrice}. [Κάνε κλικ εδώ]({helpCenterLink}) για να μάθεις περισσότερα σχετικά με τον τρόπο που καθορίζεται η πληρωμή σου. - Διαχείριση συνδρομής **Συμβουλή**: Επίλεξε έναν τρόπο πληρωμής που χρησιμοποιείται στην {country} για να πληρώσεις τη συνδρομή σου σε {currency}! [Κάνε κλικ εδώ]({helpCenterLink}) για να μάθεις περισσότερα σχετικά με τον καθορισμό τιμής και νομίσματος. **Γιούπι!** Επειδή κατοικείς στην {country}, πληρώνεις τη μειωμένη τιμή των {newPrice} για το Nitro! [Μάθε περισσότερα]({helpCenterLink}). Είσοδος @@ -6029,6 +6027,29 @@ Θέλεις να προσαρμόσεις την ετικέτα σου; Πάρε το Nitro! Όταν λήξει η συνδρομή σου στο Nitro, η ετικέτα σου Discord Tag θα αλλάξει σε κάτι τυχαίο. Αυτή η ετικέτα δεν είναι έγκυρη. Οι ετικέτες πρέπει να είναι μεγαλύτερες από το 0. + Προσάρμοσε το προφίλ σου και δείξε ποιος είσαι στο Discord με τις καλοκαιρινές ενημερώσεις μας! + Επεξεργασία προφίλ διακομιστή + Όρισε ένα μοναδικό άβαταρ για κάθε διακομιστή σου. Στον έναν μπορείς να είσαι φοιτητής, στον άλλο χαρακτήρας D&D και ο πραγματικός εαυτός σου σε έναν τρίτο, όποιος κι αν είναι αυτός… + Άβαταρ διακομιστή + Γίνε μέλος σε 200 διακομιστές + Μεγαλύτερα μηνύματα έως 4000 χαρακτήρες + Νέος επιλογέας GIF για το άβαταρ ή το banner σου + …και περισσότερα! + Επεξεργασία προφίλ χρήστη + Επισήμανε εκείνο το ενδιαφέρον με το οποίο έχτισες την προσωπικότητά σου με ένα νέο banner προφίλ, ταιριαστό κινούμενο άβαταρ και προσαρμοσμένο tag. + Banner προφίλ + Περιηγήσου στα αυτοκόλλητα + Δείξε στους φίλους σου πώς αισθάνεσαι με προσαρμοσμένα αυτοκόλλητα στη γραπτή συνομιλία από όλους τους διακομιστές σου και απόλαυσε 300 αποκλειστικά αυτοκόλλητα Nitro. + Αυτοκόλλητα στη γραπτή συνομιλία + Το Nitro κάνει άλματα. Κουάξ. Σόρυ. [Μάθε περισσότερα σχετικά με το Nitro.](onLearnMore) + Τι νέο υπάρχει στο Nitro + Ρίξαμε την τιμή του Nitro στη Βραζιλία! + Ρίξαμε την τιμή του Nitro στην Πολωνία! + Ρίξαμε την τιμή του Nitro στην Τουρκία! + Τώρα το Nitro με !!{price}!! + Ρίξε μια ματιά! + Μεταφόρτωσε ένα μοναδικό άβαταρ για κάθε διακομιστή και πολλά περισσότερα με το Nitro. + Νέες καλοκαιρινές ενημερώσεις! Ανέβασε και χρησιμοποίησε κινούμενα άβαταρ και emojis Χρησιμοποίησε προσαρμοσμένα emojis σε όλους τους διακομιστές Χρησιμοποίησε προσαρμοσμένα αυτοκόλλητα οπουδήποτε και απόκτησε πρόσβαση σε 300 αυτοκόλλητα αποκλειστικά για Nitro diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index c57e20a650..baea0a55c9 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -34,6 +34,9 @@ [Šĥåŕé ŵîţĥ %s one two] [Çöļļåþšé one two] [Åɓöûţ ţĥîš Åþþ one two three] + [Åççéþţ one two] + [Åççéþţ ÐḾ ƒŕöḿ »{user}«¿ one two three] + [Ţĥéý ŵöñ’ţ ɓé ñöţîƒîéð îƒ ýöû Ŕéþöŕţ öŕ Ĥîðé ţĥîš ḿéššåĝé. one two three four five six seven] [Åççéþţ ÎñVîţé one two] [ŔéQûéšţ Åççéþţéð one two three] [Åççéššîɓîļîţý one two] @@ -3887,8 +3890,10 @@ [€[**¡¡»{user}«¡¡**](ûšéŕĤööķ) šçĥéðûļéð ţĥé éVéñţ €[**¡¡»{target}«¡¡**](ţåŕĝéţĤööķ) one two three four five six seven eight nine ten eleven twelve thirteen] [€[**¡¡»{user}«¡¡**](ûšéŕĤööķ) ðéļéţéð ţĥé šçĥéðûļéð éVéñţ €[**¡¡»{target}«¡¡**](ţåŕĝéţĤööķ) one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Šéţ ţĥé ðéšçŕîþţîöñ ţö **¡¡»{newValue}«¡¡** one two three four] + [Ļîñķéð **éхţéŕñåļļý** one two three] [Ļîñķéð ţö **Ñöţĥîñĝ** one two three] [Ļîñķéð ŵîţĥ å **Šţåĝé** one two three] + [Ļîñķéð ŵîţĥ å **νöîçé Çĥåññéļ** one two three four] [Ŵîţĥ ţĥé ñåḿé **¡¡»{newValue}«¡¡** one two three] [Ŵîţĥ å ţîçķéţ one two] [Šéţ ţĥé šţåţûš ţö **ÅçţîVé** one two three four] @@ -5421,8 +5426,6 @@ [Ḿåñåĝé Þļåñ one two] [Ŵé\'Vé ļöŵéŕéð Ñîţŕö þŕîçîñĝ îñ ýöûŕ åŕéå. Šéé îƒ ýöû šåVé ŵîţĥ ýöûŕ ļöçåļ çûŕŕéñçý. one two three four five six seven eight nine] [Çĥåñĝîñĝ ýöûŕ þåýḿéñţ ḿéţĥöð ŵîļļ çĥåñĝé ýöûŕ šûɓšçŕîþţîöñ þŕîçé åñð çûŕŕéñçý ţö »{newCurrencyAndPrice}«. [Çļîçķ ĥéŕé](»{helpCenterLink}«) ţö ļéåŕñ ḿöŕé åɓöûţ ĥöŵ ŵé ðéţéŕḿîñé ŵĥåţ ýöû þåý. 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] - [Ḿåñåĝé Þļåñ one two] - [Ŵé\'Vé ļöŵéŕéð Ñîţŕö þŕîçîñĝ îñ šöḿé åŕéåš. ŔéåçţîVåţé ýöûŕ Ñîţŕö šûɓšçŕîþţîöñ åñð šéé îƒ ýöû çåñ šåVé. one two three four five six seven eight nine ten eleven] [**Ţîþ**: Ûšé å þåýḿéñţ ḿéţĥöð ļöçåļ ţö »{country}« ţö þåý ƒöŕ ýöûŕ šûɓšçŕîþţîöñ îñ »{currency}«¡ [Çļîçķ ĥéŕé](»{helpCenterLink}«) ţö ļéåŕñ ḿöŕé åɓöûţ ĥöŵ ŵé ðéţéŕḿîñé þŕîçé åñð çûŕŕéñçý. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five] [**Ĥööŕåý¡** Åš å ŕéšîðéñţ öƒ »{country}«, ýöû\'ŕé ñöŵ þåýîñĝ ţĥé ðîšçöûñţéð þŕîçé öƒ »{newPrice}« ƒöŕ Ñîţŕö¡ [Ļéåŕñ Ḿöŕé](»{helpCenterLink}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [Ļöĝîñ one] @@ -5818,8 +5821,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] @@ -6422,6 +6425,7 @@ [Þåššŵöŕðļéšš Ļöĝ îñ one two three] [Þåšţé one] [Þåûšé one] + [Çöññéçţîñĝ ŵîţĥ ýöûŕ þåýḿéñţ šöûŕçé one two three four] [Çöñţîñûé one two] [Çåñçéļ Þåýḿéñţ one two three] [Ýöûŕ þåýḿéñţ ƒöŕ **¡¡»{item}«¡¡** ĥåš ɓééñ çåñçéļéð. one two three four five] @@ -7318,6 +7322,8 @@ [Ŕéçöññéçţîñĝ one two] [Ŕéðééḿ one two] [Ŕéðéḿþţîöñ Çöðé one two three] + [Šöḿéţĥîñĝ ŵéñţ ŵŕöñĝ, ţŕý åĝåîñ. one two three four] + [Þåýḿéñţ çöñƒîŕḿéð. Ŕéţûŕñ ţö **Ðîšçöŕð**. one two three four five] [Åççéþţ one two] [Ýöû åļŕéåðý ĥåVé å šûɓšçŕîþţîöñ¡ Ţĥåñķš ƒöŕ ɓéîñĝ å šûɓšçŕîɓéŕ, ɓûţ ŕéƒéŕŕåļš åŕé ƒöŕ ƒîŕšţ-ţîḿé šûɓš öñļý. one two three four five six seven eight nine ten eleven] [Ţĥé ŕéƒéŕŕåļ ĥåš éхþîŕéð öŕ îš ñöţ Våļîð one two three four five] @@ -7994,12 +8000,21 @@ [Ţĥîš çĥåññéļ ĥåš šþéçîåļ þéŕḿîššîöñš. Ţö ļîšţéñ îñ îţ, ýöû\'ļļ ñééð šöḿéöñé, ļîķé å šéŕVéŕ ḿöðéŕåţöŕ öŕ åðḿîñ, ţö ûñðéåƒéñ ýöû. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one] [ŠéŕVéŕ Ðéåƒéñéð one two three] [Ţéļļ ţĥé ŵöŕļð å ɓîţ åɓöûţ ţĥîš šéŕVéŕ. one two three four five] + [Åĝŕéé ţö ŕûļéš one two three] [Ţĥîš çöñţåîñš å ɓļöçķéð ŵöŕð. [Ļéåŕñ ḿöŕé](»{guidelinesUrl}«). one two three four five six seven eight nine ten] [Çåţéĝöŕý one two] [Çĥööšé å šûɓĵéçţ åŕéå ţĥåţ ɓéšţ ƒîţš ýöûŕ šéŕVéŕ. one two three four five six] [Ðéšçŕîþţîöñ one two] [Ðéšçŕîɓé ýöûŕ šéŕVéŕ one two three] [Ļéţ þéöþļé ķñöŵ ŵĥåţ ýöûŕ çöḿḿûñîţý îš åļļ åɓöûţ one two three four five six] + [νîöļåţîñĝ öûŕ þöļîçîéš ḿåý ŕéšûļţ îñ þéñåļţîéš åĝåîñšţ ýöûŕ šéŕVéŕ, îñçļûðîñĝ ŕéḿöVåļ ƒŕöḿ ÐîšçöVéŕý. one two three four five six seven eight nine ten eleven] + [Çöḿþļý ŵîţĥ Ðîšçöŕð\'š [Çöḿḿûñîţý Ĝûîðéļîñéš](»{communityGuidelinesUrl}«) åñð [ÐîšçöVéŕý Ĝûîðéļîñéš](»{discoveryGuidelinesUrl}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen] + [Ŕûļéš one] + [Çŕéåţé å ŵéļçöḿîñĝ šþåçé ŵĥéŕé ĥåŕåššḿéñţ, ţöхîçîţý, åñð îļļéĝåļ åçţîVîţý îš ñöţ þŕöḿöţéð öŕ ţöļéŕåţéð. one two three four five six seven eight nine ten eleven] + [Föšţéŕ å ĥéåļţĥý åñð þöšîţîVé éñVîŕöñḿéñţ one two three four five] + [Ĥéļþ ķééþ ŠéŕVéŕ ÐîšçöVéŕý šåƒé ƒöŕ éVéŕýöñé one two three four five] + [Åļļ šéŕVéŕ çöñţéñţ ḿûšţ ɓé åþþŕöþŕîåţé ƒöŕ åĝéš 13+. one two three four five six] + [Ðö ñöţ ĥöšţ ĝŕåþĥîç öŕ šéхûåļ çöñţéñţ one two three four five] [Ĥéļþ þéöþļé ƒîñð ýöûŕ šéŕVéŕ îñ šéåŕçĥ ŕéšûļţš one two three four five six] [ŠéŕVéŕ ðéšçŕîþţîöñ one two three] [Ţĥîš ŵîļļ åþþéåŕ åñýŵĥéŕé åñ îñVîţé ļîñķ îš šĥåŕéð, šö ķééþ îţ çļéåñ. one two three four five six seven eight] @@ -8412,6 +8427,8 @@ [»{numStickers}«] [νîéŵ Šţîçķéŕ Þåçķ one two three] [FŕéQûéñţļý ûšéð one two three] + [Åðð Šţîçķéŕ one two] + [Ûþļöåð å šţîçķéŕ ţö ţĥîš šéŕVéŕ one two three four] [Fŕéé €[~~»{regularPrice}«~~](öŕîĝîñåļÞŕîçéĤööķ) one two three four] [¡¡»{discountedPrice}«¡¡ €[~~»{regularPrice}«~~](öŕîĝîñåļÞŕîçéĤööķ) one two three four] [Þûŕçĥåšé βööšţš one two three] diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index a4d52186c9..10a543c4a6 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -3042,7 +3042,6 @@ De momento, los eventos están restringidos a los canales de escenario. Crea uno para organizar un evento. Ideal para: $[preguntas y respuestas, sesión de preguntas, mesa redonda](suggestionsHook) Tres oradores en un canal de escenario hablan con cinco miembros de la audiencia, dos personas de la audiencia tienen la mano levantada - Los canales de escenario se han creado específicamente para los eventos de audio de comunidades, con $[herramientas de moderación integradas](moderationHook) como $[levantar la mano](handRaiseHook) y $[silenciar al público por defecto](audienceHook). Preguntas y respuestas Sesión de preguntas ¡Prueba con un canal de escenario! @@ -4814,8 +4813,6 @@ Gestionar plan Hemos reducido el precio de Nitro en tu zona. Comprueba si puedes ahorrar con tu moneda local. Cambiar tu método de pago hará que el precio y la moneda de tu suscripción cambien a {newCurrencyAndPrice}. [Haz clic aquí]({helpCenterLink}) para obtener más información sobre cómo establecemos lo que pagas. - Gestionar plan - Hemos bajado el costo de Nitro en algunas áreas. Reactiva tu suscripción a Nitro y ve si puedes ahorrar. **Consejo**: ¡Utiliza un método de pago local de {country} para pagar tu suscripción en {currency}! [Haz clic aquí]({helpCenterLink}) para obtener más información sobre cómo establecemos los precios y la moneda. **¡Yuju!** Como habitante de {country}, ¡ahora pagarás un precio reducido de {newPrice} por Nitro! [Más información]({helpCenterLink}). Iniciar sesión @@ -5878,6 +5875,29 @@ ¿Quieres personalizar tu etiqueta? ¡Consigue Nitro! Cuando termine tu suscripción Nitro, tu Discord Tag pasará a ser aleatoria. Esta etiqueta no es válida. Debe tener un número mayor a 0. + ¡Personaliza y expresa tu identidad en Discord con nuestras actualizaciones de verano! + Editar perfil de servidor + Establece un avatar único para cada uno de tus servidores. Sé estudiante en uno, tu personaje de D&D en otro y tú misma persona en un tercero, quienquiera que seas… + Avatares de servidor + Únete a hasta 200 servidores + Mensajes más largos de hasta 4000 caracteres + Nuevo selector de GIF para tu avatar o cartel + ¡Y mucho más! + Editar perfil de usuario + Resalta ese interés en el que se centra tu personalidad con un nuevo cartel de perfil, a juego con tu avatar animado y tu etiqueta personalizada. + Carteles de perfil + Explorar pegatinas + Enseña a tus amigos cómo te sientes de verdad con las pegatinas personalizadas en el chat de todos los servidores y disfruta de 300 pegatinas exclusivas de Nitro. + Pegatinas en el chat + Nitro es de lejos lo mejor. Y también de cerca. Perdón. [Más información sobre Nitro.](onLearnMore) + Novedades de Nitro + ¡Hemos bajado el precio de Nitro en Brasil! + ¡Hemos bajado el precio de Nitro en Polonia! + ¡Hemos bajado el precio de Nitro en Turquía! + Nitro ahora cuesta !!{price}!! + ¡Echa un ojo! + Sube un avatar único para cada servidor y más con Nitro. + ¡Nuevas actualizaciones de verano! Sube y usa avatares y emojis animados Comparte emojis personalizados en todos los servidores Utiliza las pegatinas personalizadas en cualquier parte y accede a 300 pegatinas exclusivas de Nitro diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 9f10540231..68dcfc9be4 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -3143,7 +3143,6 @@ Tapahtumat on tällä hetkellä rajoitettu vain esityskanaville. Luo sellainen, niin voit järjestää tapahtumia. Hyviä käyttökohteita: $[kysymyssessiot, AMA-sessiot ja paneelikeskustelut](suggestionsHook) Kolme puhujaa puhuu esityskanavalla viiden jäsenen suuruiselle yleisölle, joista kaksi on nostanut kättään - Esityskanavat sopivat erityisen hyvin yhteisön äänitapahtumien järjestämistä varten. Niistä löytyy $[valmiina hyödyllisiä valvontatyökaluja](moderationHook), kuten $[käden nostotoiminto](handRaiseHook) ja $[yleisön oletusarvoinen mykistäminen](audienceHook). Kysymyssessio AMA-kysymyssessio Kokeile esityskanavaa! @@ -4918,7 +4917,6 @@ Hallinnoi tilausta Olemme laskeneet Nitron hintoja alueellasi. Katso, saatko säästöjä paikallisella valuutallasi. Kun vaihdat maksutapasi, myös tilauksesi hinta ja valuuttaa vaihtuvat uuteen hintaan ja valuuttaan, jotka ovat {newCurrencyAndPrice}. [Klikkaa tästä]({helpCenterLink}), niin saat lisätietoja maksusi suuruuden määräytymisestä. - Hallinnoi tilausta **Vinkki**: Maksa tilauksesi käyttämällä paikallista {country} maksutapaa ja valuuttaa {currency}! [Klikkaa tästä]({helpCenterLink}), niin saat lisätietoja hinnan ja valuutan määräytymisestä. **Hurraa!** Koska asuinpaikkasi on {country}, saat Nitron nyt alennettuun hintaan {newPrice}! [Lue lisää]({helpCenterLink}). Kirjaudu sisään @@ -6029,6 +6027,29 @@ Haluatko muokata tagiasi? Hanki Nitro! DiscordTagisi arvotaan satunnaisesti Nitro-tilauksesi päättyessä. Tämä tagi on virheellinen. Tagien on oltava suurempia kuin 0. + Kesäpäivityksemme antaa lisää mahdollisuuksia mukauttaa Discordia ja ilmaista itseäsi. + Muokkaa palvelinprofiilia + Voit valita yksilöllisen avatarin kullekin palvelimellesi. Voit olla opiskelija yhdellä palvelimella, D&D-hahmosi toisella, oma itsesi kolmannella ja ihan mitä haluat kaikilla muilla… + Avatarit palvelimille + Liity jopa 200 palvelimelle + Pidemmät, jopa 4 000 merkin pituiset viestit + Uusi GIF-valitsin avatarien ja bannerin muokkausta varten + …ja paljon muuta! + Muokkaa käyttäjäprofiilia + Voit esitellä omaa persoonallisuutta uuden profiilibannerin ja sen kanssa yhteen sovitetun animoidun avatarin ja mukautetun tunnisteen avulla. + Profiilibannerit + Selaa tarroja + Saat keskusteluihin käyttöösi mukautetut tarrat kaikilta palvelimiltasi sekä 300 yksinomaan Nitrosta löytyvää tarraa. + Tarrat keskusteluissa + Nitro on rutkasti aiempaa parempi. [Lue lisää Nitrosta](onLearnMore). + Uutta Nitrossa + Laskimme Nitron hintaa Brasiliassa! + Laskimme Nitron hintaa Puolassa! + Laskimme Nitron hintaa Turkissa! + Nitro maksaa nyt !!{price}!! + Tutustu! + Yksilöllinen avatar kullekin palvelimellesi ja paljon muuta Nitron kanssa. + Uusia kesäpäivityksiä! Lataa ja käytä animoituja avatareita ja emojeita Jaa suosikkiemojeitasi kaikilla palvelimilla Käytä mukautettuja tarroja kaikkialla, etuna jopa 300 eksklusiivista Nitro-tarraa diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index ca9790dfbd..995641fa7b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -3148,7 +3148,6 @@ Les événements sont limités aux salons de conférence pour le moment. S\'il te plaît, ouvres-en-un pour créer un événement. Adapté aux : $[questions-réponses, FAQ, présentations orales](suggestionsHook) Trois orateurs dans un salon de conférence parlent à cinq spectateurs, deux autres membres du public ont la main levée - Les salons de conférence sont conçus spécifiquement pour les événements audio communautaires, avec des $[outils de modération intégrés](moderationHook) comme $[lever la main](handRaiseHook) et $[rendre muet le public par défaut.](audienceHook) Questions-réponses FAQ Essaie d\'utiliser un salon de conférence ! @@ -4923,7 +4922,6 @@ Gérer ton abonnement Nous avons baissé le prix de Nitro là où tu habites. Regarde si tu fais des économies avec ta monnaie officielle. Modifier ton mode de paiement changera le prix de ton abonnement et ta monnaie en {newCurrencyAndPrice}. [Clique ici]({helpCenterLink}) pour en savoir plus sur la façon dont nous déterminons ce que tu payes. - Gérer ton abonnement **Astuce** : Utilise un mode de paiement local en {country} pour payer ton abonnement en {currency} ! [Clique ici]({helpCenterLink}) pour en savoir plus sur la façon dont nous déterminons le prix et la monnaie. **Hourra !** Comme tu habites en {country}, tu payes maintenant {newPrice} pour Nitro ! [En savoir plus]({helpCenterLink}). Se connecter @@ -6034,6 +6032,29 @@ Envie de pimper ton Tag Discord ? Souscris à Nitro ! Lorsque ton abonnement Nitro se terminera, ton Discord Tag sera généré aléatoirement. Ce tag est invalide. Les tags doivent être plus grands que 0. + Grâce à nos mises à jour estivales, personnalise tout et exprime qui tu es sur Discord ! + Modifier le profil du serveur + Choisis un avatar unique pour chacun de tes serveurs. Sois un étudiant sur l\'un, un personnage de D&D sur le second, et montre ton vrai visage sur le troisième, quel qu\'il soit… + Avatars de serveur + Rejoins jusqu\'à 200 serveurs + Des messages plus longs : jusqu\'à 4 000 caractères + Un nouveau sélecteur de GIF pour ton avatar ou pour ta bannière + … et bien plus ! + Modifie ton profil d\'utilisateur + Mets en avant cette passion qui reflète toute ta personnalité grâce à une nouvelle bannière de profil, un avatar animé assorti, ainsi qu\'un tag personnalisé. + Bannières de profil + Rechercher des autocollants + Montre tes vrais sentiments à tes amis dans la discussion grâce aux autocollants personnalisés de tous tes serveurs et profite de 300 autocollants Nitro exclusifs. + Autocollants dans le chat + Nitro fait un véritable bond en avant. N\'est-ce pas incoâyable ? Pardon. [En savoir plus sur Nitro.](onLearnMore) + Les nouveautés de Nitro + Nous avons baissé le prix de Nitro au Brésil ! + Nous avons baissé le prix de Nitro en Pologne ! + Nous avons baissé le prix de Nitro en Turquie ! + Nitro coûte désormais !!{price}!! + Jettes-y un œil ! + Importe un avatar unique pour chaque serveur et bien plus avec Nitro. + Nouvelles mises à jour estivales ! Uploade et utilise des avatars et des émojis animés Partage des émojis personnalisés sur tous les serveurs Utilise des autocollants personnalisés n\'importe où, et profite de 300 autocollants exclusifs à Nitro @@ -6426,6 +6447,7 @@ Consulte les détails de l\'abonnement et du renouvellement automatique ci-dessous En achetant un abonnement Nitro, tu acceptes nos [Conditions d\'Utilisation]({termsURL}) et notre [Politique de Confidentialité]({privacyURL}). Le paiement sera facturé sur ton compte Apple lors de la confirmation de l\'achat. L\'abonnement se renouvelle automatiquement sauf s\'il est résilié au moins 24 heures avant la fin de la période en cours. Le renouvellement de ton compte sera facturé dans les 24 heures précédant la fin de la période en cours. Tu peux gérer ou résilier tes abonnements en te rendant dans les paramètres de ton compte sur l\'App Store après l\'achat. Gérer ton abonnement + Votre abonnement Nitro a pris fin. Réactivez-le pour avoir à nouveau accès à des téléchargements de fichiers plus importants et à d\'autres fonctions. Tous les crédits d\'abonnement recevables seront appliqués jusqu\'à épuisement. Ton abonnement se renouvellera au prix de **{rate}** le **{renewalDate}**. Des questions ? [Contacte notre équipe d\'assistance]({contactLink}) ou [consulte notre FAQ sur les abonnements]({helpdeskArticle}). Le crédit de ton mois gratuit sera appliqué jusqu\'à ce que ce dernier prenne fin, nous t\'enverrons un e-mail de rappel **{days}** avant la fin de la période gratuite. Des questions ? [Jette un œil à notre FAQ sur les offres]({helpdeskArticle}) ou [contacte notre équipe d\'assistance]({contactLink}). Attends ! Tu dois avoir Nitro afin d\'obtenir ce butin. diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 757ea222e0..f52a0f654e 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -3143,7 +3143,6 @@ फ़िलहाल के लिए इवेंट्स स्टेज चैनल तक ही सीमित हैं. कोई इवेंट क्रिएट करने के लिए एक स्टेज चैनल क्रिएट करें. इसके लिए अच्छा है: $[Q&A, AMA, पैनल डिस्कशन](suggestionsHook) किसी स्टेज चैनल में तीन स्पीकर पांच ऑडियंस मेम्बर्स से बात कर रहे हैं, जिनमें से दो ऑडियंस मेम्बर्स ने अपने हाथ उठाए हुए हैं - स्टेज चैनल खासतौर पर $[बिल्ट-इन मॉडरेशन टूल](moderationHook) जैसे $[हैंड रेज](handRaiseHook) और $[डिफ़ॉल्ट तौर पर ऑडियंस को म्यूट करना](audienceHook) के साथ कम्युनिटी ऑडियो इवेंट्स के लिए तैयार किए गए हैं. Q&A AMA स्टेज चैनल का इस्तेमाल करके देखें! @@ -4918,7 +4917,6 @@ प्लान मैनेज करें हमने आपके क्षेत्र में Nitro की कीमत को कम कर दिया है. देखिए शायद आप अपनी लोकल करेंसी में कुछ सेविंग्स कर पाएं. अपना पेमेंट का तरीका बदलने से आपके सब्सक्रिप्शन की कीमत और करेंसी {newCurrencyAndPrice} में बदल जाएगी. आप क्या पेमेंट करते हैं हम इसे कैसे तय करते हैं इसके बारे में और ज़्यादा जानने के लिए [यहां क्लिक करें]({helpCenterLink}). - प्लान मैनेज करें **टिप्स**: अपने सब्सक्रिप्शन की {currency}में पेमेंट करने के लिए {country} के पेमेंट के किसी लोकल तरीके का इस्तेमाल करें! हम कीमत और करेंसी कैसे तय करते हैं इसके बारे में और ज़्यादा जानने के लिए [यहां क्लिक करें]({helpCenterLink}). **हुर्रे!** {country} के निवासी के तौर पर, फ़िलहाल आप Nitro के लिए छूट वाली {newPrice} की पेमेंट कर रहे हैं! [और ज़्यादा जानें]({helpCenterLink}). लॉगिन करें @@ -6029,6 +6027,29 @@ अपने टैग को कस्टमाइज़ करना चाहते हैं? Nitro लें! आपका Nitro सब्सक्रिप्शन एक्स्पायर हो जाने पर आपका Discord Tag रैंडम हो जाएगा. यह टैग गलत है. टैग 0 से बड़े होने चाहिए. + हमारे गर्मियों के अपडेट्स के साथ Discord भर में कस्टमाइज़ करके बताएं कि आप कौन हैं! + सर्वर प्रोफ़ाइल को एडिट करें + अपने हर एक सर्वर में अलग अवतार सेट करें. एक में स्टूडेंट का, दूसरे में आपका D&D कैरेक्टर, और तीसरे में अपना खुद का अवतार, वो कुछ भी हो सकता है… + सर्वर अवतार + 200 सर्वर तक में शामिल हों + लंबे मैसेज वो भी 4000 कैरेक्टर तक के + आपके अवतार या बैनर के लिए नया GIF पिकर + …और भी बहुत कुछ! + यूज़र प्रोफ़ाइल को एडिट करें + नए प्रोफ़ाइल बैनर, मैचिंग एनिमेटेड अवतार, और कस्टम टैग के साथ उस एक रूचि को हाईलाइट करें जो आपकी पूरी पर्सनालिटी की पहचान है. + प्रोफ़ाइल बैनर + स्टीकर ब्राउज़ करना + अपने सभी सर्वर की चैट में कस्टम स्टीकर की मदद से अपने फ़्रेंड्स को दिखाएं कि आप क्या महसूस करते हैं और आनंद उठाएं 300 खास Nitro स्टीकर का. + चैट में स्टीकर + Nitro जल्दी आगे बढ़ रहा है? ये मज़ेदार है ना? माफ़ कीजिए. [Nitro के बारे में और ज़्यादा जानें.](onLearnMore) + Nitro में नया क्या है + हमने Nitro की कीमत ब्राज़िल में कम कर दी है! + हमने Nitro की कीमत पोलैंड में कम कर दी है! + हमने Nitro की कीमत तुर्की में कम कर दी है! + Nitro की कीमत अब !!{price}!! है + एक बार देख ज़रूर लें! + Nitro के साथ हर एक सर्वर के लिए अलग अवतार अपलोड करें और इसके अलावा और भी बहुत कुछ करें. + गर्मियों के नए अपडेट्स! एनिमेटेड अवतार और इमोजी को अपलोड और इस्तेमाल करें सभी सर्वर पर कस्टम इमोजी शेयर करें कहीं भी कस्टम स्टिकर का इस्तेमाल करें और खास 300 Nitro स्टीकर को एक्सेस करें diff --git a/app/src/main/res/values-hr/plurals.xml b/app/src/main/res/values-hr/plurals.xml index cf60540207..be14aa2aaa 100644 --- a/app/src/main/res/values-hr/plurals.xml +++ b/app/src/main/res/values-hr/plurals.xml @@ -933,6 +933,9 @@ {numUses} upotrebe {numUses} upotrebe + + {days} + gledatelj gledatelja diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index abb80078f0..3f066b8056 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -3143,7 +3143,6 @@ Događaji su za sada ograničeni samo na kanale s pozornicom. Ako želiš događaj, prvo napravi takav kanal. Dobro za: $[Pitanja & odgovore, AMA, okrugle stolove ](suggestionsHook) Tri govornika na kanalu s pozornicom razgovaraju s pet članova publike, a dva člana publike imaju podignute ruke - Kanali s pozornicom koncipirani su upravo tako da odgovaraju audio događajima zajednice jer imaju $[ugrađene alate za moderiranje](moderationHook) kao što je $[dizanje ruke](handRaiseHook) i $[publika je „po defaultu“ utišana.](audienceHook) Pitanja & odgovori AMA Pokušaj upotrijebiti kanal s pozornicom! @@ -4918,7 +4917,6 @@ Upravljanje pretplatom Snizili smo cijenu koja vrijedi za Nitro u tvojoj državi. Provjeri to jer možda naplatom u tvojoj lokalnoj valuti možeš proći jeftinije. Promjena tvojeg načina plaćanja promijenit će za tebe cijenu pretplate na {newCurrencyAndPrice}. [Klikni ovdje]({helpCenterLink}) ako želiš doznati više o tome kako određujemo način na koji plaćaš. - Upravljanje pretplatom **Savjet**: uzmi neki način plaćanja kojeg lokalno podržava {country} kako bi svoju pretplatu plaćao u {currency}! [Klikni ovdje]({helpCenterLink}) ako želiš doznati više o tome kako određujemo cijenu i valutu. **Bravo!** S obzirom na to da ti je domovina {country}, od sada ćeš za Nitro plaćati novu i nižu cijenu koja iznosi {newPrice}! [Doznaj više]({helpCenterLink}). Prijava @@ -6029,6 +6027,29 @@ Želiš urediti svoj tag? Nabavi Nitro! Kada tvoja pretplata na Nitro završi, tvoj Discord Tag bit će nasumično odabran. Ovaj tag je neispravan. Tagovi moraju biti veći od 0. + Prilagodi i izrazi svoje ja s našim ljetnim novostima, i to na cijelom Discordu! + Uredi profil servera + Postavi jedinstveni avatar za svaki od svojih servera. U jednom možeš biti učenik, u drugom mračni čarobnjak iz neke tamnice, a svoja slika i prilika u trećem, kako god to bilo… + Avatari za servere + Možeš se pridružiti do 200 servera + Poruke su dulje, do 4000 znakova + Novi GIF picker za tvoj avatar ili banner + …i još mnogo toga! + Uredi korisnički profil + Novim bannerom profila, odgovarajućim animiranim avatarom i prilagođenim tagom istakni ono bitno na sebi, one tvoje interese koji su ti u srcu. + Banneri profila + Pregledavaj naljepnice + Pokaži svojim prijateljima kako se uistinu osjećaš s prilagođenim naljepnicama u chatu na svakom tvojem serveru i uživaj u 300 ekskluzivnih Nitro naljepnica. + Naljepnice u chatu + S Nitrom je sve awwww. Nije li to swatko? Sorry. [Više informacija o tome što je Nitro.](onLearnMore) + Što novo donosi Nitro + Nitro je sada jeftiniji u Brazilu! + Nitro je sada jeftiniji u Poljskoj! + Nitro je sada jeftiniji u Turskoj! + Nitro je sada !!{price}!! + Baci pogled! + Uz Nitro možeš prenijeti svoj jedinstveni avatar za svaki server. + Nove ljetne… novine! Prenesi animirane avatare i emojije i koristi ih Dijeli prilagođene emojije na svim serverima Koristi prilagođene naljepnice gdje god želiš i imaš pristup k 300 naljepnica koje ima samo Nitro diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index e9e99fd540..aba5baaf55 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -3143,7 +3143,6 @@ Az események jelenleg a pódiumcsatornákra korlátozódnak. Készíts egyet, ha létre szeretnél hozni egy eseményt. Jól jön a következőknél: $[Kérdezz-felelek, AMA, vitafórum](suggestionsHook) Egy pódiumcsatornán három beszélő beszél öt tagú közönségének, a közönség két tagja feltartja a kezét - A pódiumcsatornák kifejezetten a közösség hangos eseményeihez készültek, $[beépített moderációs eszközökkel](moderationHook), mint a $[kézfelemelés](handRaiseHook) és az $[alapértelmezetten némított közönség.](audienceHook) Kérdezz-felelek AMA Próbáld ki a pódiumcsatornát! @@ -4918,7 +4917,6 @@ Csomag kezelése Csökkentettük a Nitro-előfizetés díját lakóhelyeden. Nézd meg, tudsz-e spórolni valamennyit a helyi pénznemeddel. A fizetési módod megváltoztatásával megváltozik az előfizetési díjad és pénznemed is, az új díj: {newCurrencyAndPrice}. [Kattints ide]({helpCenterLink}) a további tájékoztatásért arról, hogyan határozzuk meg, mennyit fizetsz. - Csomag kezelése **Tipp**: Használj {country} területén helyi fizetési módot, és fizess az előfizetésedért {currency} használatával! [Kattints ide]({helpCenterLink}) a további tájékoztatásért arról, hogyan határozzuk meg a díjat és a pénznemet. **Hurrá!** {country} területén élőként most új, kedvezményes áron fizethetsz elő a Nitróra: {newPrice}! [További tájékoztatás]({helpCenterLink}). Bejelentkezés @@ -6029,6 +6027,29 @@ Szeretnél egyedi Discord-címkét? Vásárolj Nitrót! Amikor a Nitro-előfizetésed lejár, egy véletlenszerű új Discord-címkét kapsz. Ez a címke érvénytelen. Nagyobbnak kell lennie, mint 0. + Szabd személyre és fejezd ki magadat a Discordon nyári frissítéseinkkel! + Szerverprofil szerkesztése + Állíts be egyedi profilképet minden szervereden! Légy diák az egyiken, a D&D-karaktered egy másikon és a valódi éned a harmadikon – bárki is legyen az… + Szerverprofilképek + Csatlakozz akár 200 szerverhez + Hosszabb üzenetek akár 4000 karakterig + Új GIF-választó a profilképedhez és a banneredhez + …és sok minden más! + Felhasználói profil szerkesztése + Emeld ki azt az érdeklődési kört, amely az egész személyiségedet bemutatja egy új profilbannerrel, a hozzáillő animált profilképpel és egyedi címkével. + Profilbannerek + Matricák böngészése + Oszd meg barátaiddal, milyen hangulatban vagy az egyedi matricákkal a szerverek csevegéseiben, és élvezd ki a 300 exkluzív Nitro-matricát. + Matricák a csevegésben + A Nitro-előfizetés hatalmas ugrást tett. Egész nap csak brekegnék örömömben! Bocsi. [További tájékoztatás a Nitro-előfizetésről.](onLearnMore) + Íme, a Nitro-előfizetés újdonságai + Csökkentettük a Nitro-előfizetés árát Brazíliában! + Csökkentettük a Nitro-előfizetés árát Lengyelországban! + Csökkentettük a Nitro-előfizetés árát Törökországban! + A Nitro-előfizetés ára mostantól !!{price}!! + Vess rá egy pillantást! + Tölts fel egyedi profilképet minden szerverre, és ezen kívül is sok minden más vár a Nitro-előfizetéssel! + Új nyári frissítések! Tölts fel és használj animált profilképeket és emotikonokat Oszd meg az egyedi emotikonokat az összes szerveren Használj mindenhol egyéni matricákat, és tedd rá a kezed 300 Nitro-exkluzív matricára. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index c34ceca554..7fb4c16643 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -3148,7 +3148,6 @@ Gli eventi sono limitati alle sale conferenze per ora. Creane una per poter creare un evento. Ottimo per: $[D&R, AMA, dibattito](suggestionsHook) Tre relatori in una sala conferenze parlano a cinque pubblici diversi, due membri del pubblico hanno la mano alzata - Le sale conferenze sono pensate specialmente per gli eventi audio delle community, con $[strumenti di moderazione integrati](moderationHook) come l\'$[alzata di mano](handRaiseHook) e il $[silenziamento automatico del pubblico](audienceHook). D&R AMA Prova a usare una sala conferenze! @@ -4923,8 +4922,6 @@ Gestisci piano Abbiamo abbassato il costo di Nitro nella tua area. Scopri quanto risparmieresti nella tua valuta. Cambiando il tuo metodo di pagamento, il costo e la valuta del tuo abbonamento saranno {newCurrencyAndPrice}. [Clicca qui]({helpCenterLink}) per scoprire di più su come decidiamo quanto pagherai. - Gestisci piano - Abbiamo abbassato i prezzi di Nitro in alcune aree. Riattiva il tuo abbonamento Nitro e controlla se puoi risparmiare. **Suggerimento**: Usa un metodo di pagamento locale in {country} per pagare il tuo abbonamento in {currency}! [Clicca qui]({helpCenterLink}) per scoprire di più su come decidiamo costi e valute. **Urrà!** Come residente in {country}, da ora pagherai Nitro al prezzo scontato di {newPrice}! [Scopri di più]({helpCenterLink}). Accedi @@ -6035,6 +6032,29 @@ Vuoi personalizzare il tuo tag? Abbonati a Nitro! Quando l\'abbonamento Nitro scadrà, il tuo Discord Tag verrà rigenerato casualmente. Questo tag non è valido. Deve essere maggiore di 0. + Personalizza il tuo Discord e mostra a tutti chi sei grazie ai nostri aggiornamenti estivi! + Modifica il profilo del server + Imposta un avatar unico per ognuno dei tuoi server: un topo da biblioteca in uno, il tuo personaggio di D&D in un altro, il tuo vero volto, chiunque tu sia, in un altro ancora… + Avatar del server + Unisciti a un massimo di 200 server + Messaggi più lunghi, fino a 4.000 caratteri + Nuovo selettore di GIF per i tuoi avatar e banner + … e altro ancora! + Modifica il profilo utente + Metti in evidenza quella passione che ti rende ciò che sei con un nuovo banner del profilo, un avatar animato abbinato e un tag personalizzato. + Banner del profilo + Sfoglia gli adesivi + Mostra ai tuoi amici le tue emozioni usando gli adesivi personalizzati nelle chat di tutti i tuoi server e goditi 300 adesivi Nitro esclusivi. + Adesivi nelle chat + Con Nitro fai un bel salto in avanti, non è cra-crandioso? Scusami. [Scopri di più su Nitro.](onLearnMore) + Le novità di Nitro + Abbiamo abbassato il costo di Nitro in Brasile! + Abbiamo abbassato il costo di Nitro in Polonia! + Abbiamo abbassato il costo di Nitro in Turchia! + Adesso Nitro costa !!{price}!! + Dai un\'occhiata! + Con Nitro, carica un avatar unico per ogni server e altro ancora. + Nuovi aggiornamenti estivi! Carica e utilizza avatar animati ed emoji Condividi emoji personalizzate su tutti i server Usa gli adesivi personalizzati dove vuoi e ottieni 300 adesivi esclusivi di Nitro diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 609618ae9a..704485c6e0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -3153,7 +3153,6 @@ 現在、イベントはステージチャンネル限定の機能となっています。イベントを作成するには、ステージチャンネルを作成してください。 おすすめの使い方:$[Q&A、「○○だけど質問ある?」、パネルディスカッション](suggestionsHook) ステージチャンネルで 3 名のスピーカーが 5 名のオーディエンスに向かって話している。オーディエンスのうち 2 人が手を挙げている - ステージチャンネルはコミュニティ内のオーディオイベント専用チャンネルです。$[挙手](handRaiseHook)機能があったり、$[デフォルトでオーディエンスをミュート](audienceHook)できたり、便利な$[管理ツールを組み込み済み](moderationHook)です! Q&A 「○○だけど質問ある?」 ステージチャンネルを使ってみよう! @@ -4928,8 +4927,6 @@ プランの管理 お客様のエリアでの Nitro の価格が下がりました。お客様の通貨でお得になっているか確認しましょう。 お支払い方法を変更すると、サブスクリプションの価格、通貨が{newCurrencyAndPrice}に変更されます。[ここをクリック]({helpCenterLink})すれば、お支払いに関する詳細を確認できます。 - プランの管理 - 一部の地域でNitroの価格を引き下げました。 Nitroサブスクリプションを再度有効化しご確認ください。 **お得情報**: {country} を本拠地とするお支払い方法で、{currency} でのサブスクリプションの支払いをしましょう! [ここをクリック]({helpCenterLink})すれば、価格や通貨の決定に関する詳細を確認できます。 **やったー!**お客様は{country}にお住まいなので、Nitro の価格が {newPrice} に下がりましたよ![詳しくはこちら]({helpCenterLink})。 ログイン @@ -6040,6 +6037,29 @@ タグのカスタムをご所望かい?Nitroに登録だ! Nitroサブスクリプションが終了すると、Discord Tagがランダムになります。 このタグは無効です。タグは0以上です。 + 夏のアップデートで、Discord のどこでも自分らしくカスタマイズ! + サーバープロフィールを編集 + 各サーバーにそれぞれ異なるアバターを設定しましょう。1 つめには学生としてのアバター、2 つめには D&D キャラの顔アイコン、3 つめには真のあなた……果たしてそれは何者なのか…… + サーバーアバター + サーバー参加数上限が 200 に + メッセージの文字数制限が 4000 字に + アバターやバナーに使える新 GIF ピッカー + ……他にもいろいろ! + ユーザープロフィールを編集 + 新しいプロフィールバナー、バナーにぴったりのアニメアバター、そしてカスタムタグを使って、あなたの「スキ」にスポットライトを。 + プロフィールバナー + スタンプを見る + フレンドにほんとの気持ちを伝えたい? チャットで所属全サーバーのカスタムスタンプや、300 種の Nitro 限定スタンプを使っちゃいましょう。 + チャットで使えるスタンプ + Nitro をケロッと変エル。……はい、すみません。[Nitro について詳しくはこちら。](onLearnMore) + Nitro 新着情報 + ブラジルでの Nitro の価格を下げました! + ポーランドでの Nitro の価格を下げました! + トルコでの Nitro の価格を下げました! + Nitro の価格が !!{price}!! になりました + 見てみてね! + Nitro で各サーバーに異なるアバターを設定しよう。他にも特典もりだくさん! + 夏の最新アップデート! アニメアバターと絵文字をアップロードおよび使用 全サーバーでカスタム絵文字をシェア カスタムスタンプをどこでも使えて、Nitro 限定スタンプ 300 種類も手に入る diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index f17765362d..f65c844b7b 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -3148,7 +3148,6 @@ 아직은 무대 채널만 이벤트를 진행할 수 있어요. 무대 채널을 개설해서 이벤트를 준비해보세요. 적합한 이벤트: $[질의응답, 무엇이든 물어보세요, 게스트 토크](suggestionsHook) 무대 채널에서 3명이 청취자 멤버 5명에게 말하고 있고, 청취자 멤버 2명이 손을 들었어요 - 무대 채널은 특히 커뮤니티 음성 이벤트에 적합해요. 기본적으로 $[손들기](handRaiseHook)와 $[청취자 음소거](audienceHook)와 같은 $[관리 도구가](moderationHook) 있답니다. 질의응답 무엇이든 물어보세요 무대 채널을 이용해보세요! @@ -4923,8 +4922,6 @@ 플랜 관리하기 회원님 거주 국가의 Nitro 가격이 저렴해졌어요. 현지 통화로 이용 중이신지 확인해보세요. 결제 방식을 변경하시면 구독 가격과 통화가 {newCurrencyAndPrice}(으)로 변경돼요. Discord의 가격 산정 방침에 대해 자세히 알아보시려면 [여기를 클릭]({helpCenterLink})하세요. - 플랜 관리하기 - 일부 지역에서 Nitro 가격을 인하했습니다. Nitro 구독을 다시 활성화하고 저장할 수 있는지 확인하세요. **팁**: {country} 현지의 결제 방식을 이용하셔서 구독료을 {currency}(으)로 결제하세요! 가격 산정과 통화에 대해 더 알아보시려면 [여기를 클릭]({helpCenterLink})하세요. **야호!** {country}에 거주 중이시라서 앞으로는 Nitro를 할인된 가격인 {newPrice}(으)로 결제하시면 돼요! [자세히 알아보기]({helpCenterLink}). 로그인 @@ -6035,6 +6032,29 @@ 태그를 바꾸고 싶으세요? Nitro에 가입하세요! Nitro 구독이 끝나면 Discord Tag가 무작위로 정해져요. 이 태그는 올바르지 않아요. 태그는 0보다 큰 숫자여야 해요. + 여름 업데이트로 추가된 커스터마이즈 옵션을 활용해 Discord에 나를 표현해 보세요! + 서버 프로필 편집 + 서버마다 나만의 아바타를 설정해 보세요. 어떤 서버에서는 학생, 다른 서버에서는 게임 캐릭터, 또 다른 데서는 진짜 내 모습으로 말이죠. 뭐든지 될 수 있어요. + 서버 아바타 + 서버 200개까지 참가 가능 + 장문 메시지 4000자 까지 가능 + 아바타 및 배너용 신규 GIF 선택기 + 혜택이 더 있답니다! + 사용자 프로필 편집 + 새로운 프로필 배너, 움직이는 아바타, 사용자 지정 태그를 사용해 지금의 나를 만든 관심사 한 가지를 강조해 보세요. + 프로필 배너 + 스티커 둘러보기 + 서버에서 친구들과 채팅할 때 사용자 지정 스티커로 내 솔직한 기분이 어떤지 보여주세요. Nitro 전용 스티커도 300개나 있답니다. + 채팅 스티커 + Nitro가 더 높이 도약해요. 거의 개구리 수준이랄까요? 죄송해요. [Nitro에 대해 자세히 알아보세요.](onLearnMore) + Nitro 새 소식 + 브라질에서 Nitro 가격을 인하했어요! + 폴란드에서 Nitro 가격을 인하했어요! + 터키에서 Nitro 가격을 인하했어요! + Nitro가 이제 !!{price}!!예요 + 한 번 둘러 보세요! + Nitro가 있으면 서버마다 나만의 아바타를 업로드할 수 있고, 이외에도 다른 혜택도 많아요. + 새로운 여름 업데이트! 움직이는 아바타와 이모티콘을 업로드하고 사용 모든 서버에서 사용자 지정 이모티콘 공유 어디에서나 사용자 지정 스티커를 사용하고 Nitro 전용 스티커 300개를 이용할 수 있어요 diff --git a/app/src/main/res/values-lt/plurals.xml b/app/src/main/res/values-lt/plurals.xml index c5088dd1d0..9509d9a1af 100644 --- a/app/src/main/res/values-lt/plurals.xml +++ b/app/src/main/res/values-lt/plurals.xml @@ -760,6 +760,9 @@ {numAdditional}lipdukų vietos {numAdditional}lipdukų vietų + + {numTotal} + {#} kartą {#} kartus diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 051e26d69b..de0b228a0e 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -3143,7 +3143,6 @@ Renginius kol kas galima rengti tik scenos kanaluose. Pradėk scenos kanalą ir galėsi sukurti renginį. Pritaikyta $[klausimų ir atsakymų (Q&A), „Klausk manęs bet ko“ (AMA) renginiams ir viešoms diskusijoms](suggestionsHook) Du iš kalbančiųjų scenos kanale kreipiasi į penkis auditorijos narius, du auditorijos nariai pakėlę rankas - Scenos kanalai sukurti specialiai bendruomenių garso renginiams. Juose $[prieinami moderavimo įrankiai](moderationHook) kaip $[rankos pakėlimas](handRaiseHook), o $[auditorija – pagal nutylėjimą nutildyta.](audienceHook) Klausimai ir atsakymai (Q&A) „Klausk manęs bet ko“ (AMA) Pabandyk naudoti scenos kanalą! @@ -4918,7 +4917,6 @@ Tvarkyti planą Sumažinome Nitro kainas tavo vietovėje. Pažiūrėk, ar gali sutaupyti, naudodamas (-a) savo šalies valiutą. Mokėjimo būdo keitimas pakeis tavo prenumeratos kainą ir atsiskaitymo valiutą į: {newCurrencyAndPrice}. [Spausk čia]({helpCenterLink}), jei nori sužinoti, kaip nustatome kainą ir valiutą. - Tvarkyti planą **Patarimas**: naudok {country} galiojantį mokėjimo būdą {currency} už savo prenumeratą! [Spausk čia]({helpCenterLink}), jei nori sužinoti, kaip nustatome kainą ir valiutą. **Valio!** Kaip {country} gyventojas (-a), už Nitro dabar mokėsi kainą su nuolaida, t. y. {newPrice}! [Sužinoti daugiau]({helpCenterLink}). Prisijungti @@ -6029,6 +6027,29 @@ Nori pakeisti savo žymą? Gauk Nitro! Kai tavo Nitro prenumerata baigsis, tavo Discord žymė bus suteikiama atsitiktinai. Ši žyma neleistina. Žyma turi būti didesnė už 0. + Su mūsų vasaros atnaujinimais gali tinkinti dar daugiau dalykų ir išreikšti save visame Discord! + Redaguoti serverio profilį + Parink unikalų pseudoportretą kiekvienam savo serveriui. Viename būk studentas (-ė), kitame – savo pasirinktas Požemių ir slibinų veikėjas, dar kitame – tavo tikrasis (-oji) tu, kad ir kas tai bebūtų… + Serverio pseudoportretai + Prisijungimas prie iki 200 serverių + Ilgesnės žinutės – iki 4000 ženklų + Nauja GIF paieškos priemonė tavo pseudoportretui arba reklamjuostei + …ir dar daugiau! + Redaguoti naudotojo profilį + Paryškink tą svarbiausią pomėgį, parodantį, kas esi, su nauja profilio reklamjuoste, prie jos derančiu animuotu pseudoportretu ir tinkinta žyme. + Profilio reklamjuostės + Peržiūrėti lipdukus + Parodyk draugams pokalbiuose, kaip iš tikrųjų jautiesi, naudodamas (-a) tinkintus lipdukus iš visų savo serverių ir mėgaukis 300 išskirtinių Nitro lipdukų. + Lipdukai pokalbiuose + Nitro keliais šuoliais priekyje. Argi ne fantastiška? Atsiprašom. [Sužinoti daugiau apie Nitro.](onLearnMore) + Kas naujo Nitro + Sumažinome Nitro prenumeratos kainą Brazilijoje! + Sumažinome Nitro prenumeratos kainą Lenkijoje! + Sumažinome Nitro prenumeratos kainą Turkijoje! + Dabar Nitro prenumerata kainuoja !!{price}!! + Žvilgtelk! + Unikalaus pseudoportreto kiekvienam serveriui įkėlimas ir dar daugiau su Nitro. + Naujieji vasaros atnaujinimai! Įkelk ir naudok animuotus pseudoportretus ir jaustukus Dalykis pritaikytais jaustukais visuose serveriuose Naudok pritaikytus lipdukus bet kur ir gauk 300 išskirtinių Nitro lipdukų diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 483f4d2952..c1a013139f 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -3148,7 +3148,6 @@ Evenementen zijn vooralsnog beperkt tot podiumkanalen. Maak een podiumkanaal aan om een evenement te kunnen organiseren. Goed voor: $[Q&A, Ask Me Anything, Panelgesprek](suggestionsHook) Drie sprekers op een podiumkanaal praten met vijf leden uit het publiek, twee publieksleden hebben hun hand opgestoken - Podiumkanalen zijn speciaal gemaakt voor audio-evenementen van de community, met $[ingebouwde moderatietools](moderationHook) zoals $[hand opsteken](handRaiseHook) en een $[standaard gedempt publiek.](audienceHook) Q&A Ask Me Anything Probeer een podiumkanaal! @@ -4923,8 +4922,6 @@ Beheer je abonnement We hebben de prijs van Nitro in jouw gebied verlaagt. Kijk of je met je lokale betaalmiddel korting krijgt. Door het wijzigen van je betalingsmethode zal je abonnementsprijs en betaalmiddel veranderen in {newCurrencyAndPrice}. [Klik hier]({helpCenterLink}) voor meer informatie over hoe we bepalen wat je betaalt. - Beheer je abonnement - We hebben de prijs van Nitro verlaagd in bepaalde regio\'s. Heractiveer je Nitro-abonnement en kijk of je geld kunt besparen. **Tip**: gebruik een lokale betalingsmethode voor {country} om met {currency} voor je abonnement te betalen! [Klik hier]({helpCenterLink}) voor meer informatie over het bepalen van prijs en betaalmiddel. **Hoera!** Als inwoner van {country} betaal je nu maar {newPrice} voor Nitro! [Meer informatie]({helpCenterLink}). Inloggen @@ -6035,6 +6032,29 @@ Wil je je tag aanpassen? Ga voor Nitro! Wanneer je Nitro-abonnement eindigt, wordt je Discord Tag willekeurig gekozen. Deze tag is ongeldig. Tags moeten groter zijn dan 0. + Pas aan wat je wilt en laat zien wie je bent op Discord met onze zomerupdates! + Serverprofiel bewerken + Stel een unieke avatar in voor elk van je servers. Wees op de ene een student, op de andere een D&D-personage en op weer een andere je ware ik, wie dat ook moge zijn… + Serveravatars + Word lid van maximaal 200 servers + Langere berichten tot maximaal 4000 tekens + Nieuwe GIF-kiezer voor je avatar of banner + …en nog veel meer! + Gebruikersprofiel bewerken + Markeer die ene interesse die je hele persoonlijkheid is geworden met een nieuwe profielbanner, bijpassende geanimeerde avatar en aangepaste tag. + Profielbanners + Door stickers browsen + Laat je vrienden zien hoe je je echt voelt met persoonlijke stickers in de chat van al je servers. Geniet van 300 exclusieve Nitro-stickers. + Stickers in chat + Nitro is met sprongen vooruitgegaan. Kikker je daar niet van op? Sorry. [Meer informatie over Nitro.](onLearnMore) + Wat is nieuw in Nitro + We hebben de prijs van Nitro verlaagd in Brazilië! + We hebben de prijs van Nitro verlaagd in Polen! + We hebben de prijs van Nitro verlaagd in Turkije! + Nitro kost nu !!{price}!! + Neem een kijkje! + Upload een unieke avatar voor elke server en nog veel meer, met Nitro. + Nieuwe zomerupdates! Upload en gebruik geanimeerde avatars en emoji\'s Deel aangepaste emoji\'s op alle servers Gebruik overal persoonlijk stickers en krijg toegang tot 300 exclusieve Nitro-stickers diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index c25e486519..50031c0292 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -3037,7 +3037,6 @@ Eventer kan foreløpig kun arrangeres på scenekanaler. Du må lage en for å opprette en event. Passer for: $[spørsmålsrunder, AMA, paneldebatter](suggestionsHook) Tre talere i en scenekanal snakker til fem tilhørere. To av tilhørerne har rakt opp hånden. - Scenekanaler er laget spesielt for lydeventer for fellesskap og har $[innebygde modereringsverktøy](moderationHook) som $[å rekke opp hånden](handRaiseHook) og å $[dempe publikum som standard.](audienceHook) Spørsmålsrunde AMA Prøv å bruke en scenekanal! @@ -4810,7 +4809,6 @@ Administrer abonnement Vi har senket prisen på Nitro der du holder til. Se om du kan spare penger ved å bruke lokal valuta. Ved å endre betalingsmåte endres abonnementsprisen og abonnementet til {newCurrencyAndPrice}! [Klikk her]({helpCenterLink}) for å få vite mer om hvordan vi bestemmer hva du betaler. - Administrer abonnement **Tips**: Bruk en betalingsmåte fra {country} for å betale for abonnementet med {currency}! [Klikk her]({helpCenterLink}) for å få vite mer om hvordan vi bestemmer pris og valuta. **Hurra!** Som innbygger i {country} betaler du nå den reduserte prisen {newPrice} for Nitro! [Mer info]({helpCenterLink}). Pålogging @@ -5873,6 +5871,29 @@ Vil du tilpasse taggen din? Få Nitro! Når Nitro-abonnementet avsluttes, blir Discord-taggen randomisert. Taggen er ugyldig. Tagger må være større enn 0. + Med sommeroppdateringene våre kan du tilpasse og uttrykke hvem du er – over hele Discord! + Rediger serverprofil + Bruk ulike avatarer på hver av serverne dine. Du kan være student på én, D&D-figur på en annen og ditt virkelige jeg på en tredje – hvem nå det måtte være … + Serveravatarer + Delta i opptil 200 servere + Skriv meldinger med opptil 4000 tegn + Ny GIF-velger for avatar og banner + … og mye mer! + Rediger brukerprofil + Med et nytt profilbanner, en matchende animert avatar og en tilpasset tagg kan du vise hva som virkelig definerer deg. + Profilbannere + Se gjennom klistremerker + Med tilpassede klistremerker fra alle serverne dine kan du vise venner hva du egentlig mener, og du får dessuten 300 eksklusive Nitro-klistremerker. + Klistremerker i chat + Nitro ligger ti skritt foran. [Finn ut mer om Nitro.](onLearnMore) + Hva er nytt i Nitro + Vi har senket prisen på Nitro i Brasil! + Vi har senket prisen på Nitro i Polen! + Vi har senket prisen på Nitro i Tyrkia! + Nitro koster nå !!{price}!! + Ta en titt! + Med Nitro kan du laste opp en unik avatar til hver server og mye mer. + Nye sommeroppdateringer! Last opp og bruk animerte avatarer og emojier Del egendefinerte emojier på tvers av alle servere Bruk egendefinerte klistremerker hvor som helst, og få tilgang til 300 eksklusive Nitro-klistremerker diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index a4093bef75..c310595a85 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -3152,7 +3152,6 @@ Wydarzenia są obecnie dostępne wyłącznie dla kanałów podium. Utwórz jakiś, aby przygotować wydarzenie. Dobre do typów wydarzeń: $[pytania i odpowiedzi, zapytaj mnie o cokolwiek, panele dyskusyjne](suggestionsHook) Trzech mówców na kanale podium przemawia do pięciu osób z widowni, dwie osoby z widowni podnoszą rękę - Kanały podium zostały stworzone z myślą o wydarzeniach audio i mają $[wbudowane narzędzia do moderacji](moderationHook), takie jak $[zgłaszanie się do wypowiedzi](handRaiseHook) czy $[domyślne wyciszenie uczestników](audienceHook). Pytania i odpowiedzi Zapytaj mnie o cokolwiek Spróbuj użyć kanału podium! @@ -4927,8 +4926,6 @@ Zarządzaj planem Obniżyliśmy ceny Nitro na Twoim obszarze. Sprawdź, czy możesz oszczędzić pieniądze dzięki płatności miejscową walutą. Zmiana metody płatności spowoduje zmianę ceny subskrypcji i waluty na: {newCurrencyAndPrice}! [Kliknij tutaj]({helpCenterLink}), aby dowiedzieć się więcej o sposobie określania cen. - Zarządzaj planem - Obniżyliśmy cenę Nitro na niektórych obszarach. Reaktywuj swoją subskrypcję Nitro i sprawdź, czy uda ci się zaoszczędzić. **Wskazówka**: Użyj lokalnej metody płatności właściwej dla kraju: {country}, aby zapłacić za swoją subskrypcję w walucie: {currency}! [Kliknij tutaj]({helpCenterLink}), aby dowiedzieć się więcej o sposobie określania ceny i waluty. **Hurraa!** Jako rezydent kraju {country} płacisz teraz niższą cenę ({newPrice}) za Nitro! [Więcej informacji]({helpCenterLink}). Zaloguj się @@ -6039,6 +6036,29 @@ Chcesz dostosować swój tag? Wypróbuj Nitro! Jeśli Twoja subskrypcja Nitro wygaśnie, Twój tag Discorda zostanie wybrany losowo. Ten tag jest nieprawidłowy. Muszą one być większe niż 0. + Korzystaj z naszych letnich aktualizacji, zmieniaj ustawienia i pokaż na Discordzie, kim naprawdę jesteś! + Edytuj profil serwera + Ustaw unikalny awatar na każdym ze swoich serwerów. Na jednym możesz być studentem, na drugim postacią z Dungeons and Dragons, a na trzecim prawdziwym sobą, kimkolwiek jesteś… + Awatary serwerowe + Korzystaj z 200 serwerów + Dłuższe wiadomości (do 4000 znaków) + Nowa funkcja wybierania GIF-ów dla awatara lub banera + …i nie tylko! + Edytuj profil użytkownika + Podkreśl ten jeden wyjątkowy element swojego „ja”, korzystając z nowego banera profilu, dopasowanego animowanego awatara i niestandardowego tagu. + Banery profilu + Przeglądaj naklejki + Pokaż swoim znajomym ze wszystkich serwerów, jak naprawdę się czujesz, korzystając na czacie z własnych naklejek oraz 300 specjalnych naklejek Nitro. + Naklejki na czacie + Nitro jest dużo lepsze. Niesamowite, prawda? [Dowiedz się więcej o Nitro.](onLearnMore) + Co nowego w Nitro + Obniżyliśmy cenę Nitro w Brazylii! + Obniżyliśmy cenę Nitro w Polsce! + Obniżyliśmy cenę Nitro w Turcji! + Nitro kosztuje teraz !!{price}!! + Rzuć okiem! + Dzięki Nitro możesz ustawić unikalny awatar na każdym serwerze. I nie tylko! + Nowe letnie udoskonalenia! Przesyłaj i używaj animowanych awatarów i emoji Dziel się własnymi emoji na wszystkich serwerach Stosuj wszędzie własne naklejki i zyskaj dostęp do 300 naklejek dostępnych tylko w Nitro diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index f8ab79834f..9584d1e36f 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -88,8 +88,8 @@ Isso pode demorar um pouquinho. Ações Ativo em dispositivos móveis - Conversas ativas - Mais conversas ativas + Tópicos ativos + Mais tópicos ativos Ver todos Atividade Sim, bora nóis! @@ -258,7 +258,7 @@ Seu aniversário Vulgo Veja mais avatares do servidor - Todas as conversas ativas + Todos os tópicos ativos Todos os servidores Permitir Permitir mensagens diretas @@ -636,8 +636,8 @@ Apps Arquivar agora Configurações de arquivar - Arquivar conversa - Você não pode adicionar ou remover reações em conversas arquivadas. + Arquivar tópico + Você não pode adicionar ou remover reações em tópico arquivados. Anexar arquivos Você tem **{months} de crédito**. Um método de pagamento é necessário para evitar interrupções após seu crédito ter sido usado. Anexe um método de pagamento para continuar @@ -701,7 +701,7 @@ 3 dias Arquivar após {duration} de inatividade Autoarquivar às {time} - Esta conversa será arquivada em {time} + Este tópico será arquivado em {time} Sugestões de figurinha Permite que sugestões de figurinhas apareçam enquanto uma mensagem estiver sendo digitada. Ativa/desativa automaticamente o modo streamer se o OBS ou XSplit estiverem em execução neste computador. @@ -754,7 +754,7 @@ Bem-vindo (ou vinda) ao começo do grupo **!!{name}!!**. Você sairá automaticamente deste grupo quando tiver terminado. Este é o começo do canal **particular** !!{channelName}!!. $[](topicHook) - Esta conversa será arquivada após $[](autoArchiveDurationHook) de inatividade. + Este tópico será arquivado após $[](autoArchiveDurationHook) de inatividade. Beta Búlgaro Cobrança @@ -983,8 +983,8 @@ Sua mensagem não pôde ser enviada. Normalmente isso acontece quando você não compartilha um servidor com o destinatário ou o destinatário aceita apenas mensagem diretas de amigos. Você pode ver a lista de todos os motivos aqui: {helpUrl} Sua mensagem não pôde ser enviada. Normalmente isso acontece quando você não compartilha um servidor com o destinatário ou o destinatário aceita apenas mensagem diretas de amigos. Você pode ver a lista completa de motivos [aqui]({helpUrl}) O envio de mensagens para este canal foi temporariamente desativado. Tente novamente daqui a pouco. - Sua mensagem não foi enviada pois este servidor atingiu o máximo de conversas de anúncio ativas. Arquive algumas para liberar espaço. - Sua mensagem não foi enviada pois este servidor atingiu o máximo de conversas ativas. Arquive algumas para liberar espaço. + Sua mensagem não foi enviada pois este servidor atingiu o máximo de tópicos de anúncio ativos. Arquive alguns para liberar espaço. + Sua mensagem não foi enviada pois este servidor atingiu o máximo de tópicos ativos. Arquive alguns para liberar espaço. Epa! Alguém do servidor !!{name}!! pediu para que o Discord bloqueie quaisquer mensagens que nossos robôs semiconfiáveis considerem explícitas, então sua mensagem não foi enviada. Epa! O(a) dono(a) do servidor !!{name}!! pediu para que o Discord bloqueie quaisquer mensagens que nossos robôs semiconfiáveis considerem explícitas, então sua mensagem não foi enviada. Você precisa verificar seu e-mail ou telefone antes de poder enviar mensagens aqui. @@ -1102,18 +1102,18 @@ Câmera indisponível Erro desconhecido na câmera Cancelar - Não foi possível adicionar usuário à conversa + Não foi possível adicionar usuário ao tópico Você não tem permissão para adicionar arquivos - Não foi possível criar conversa + Não foi possível criar tópico Não é possível excluir o canal Você não tem esta permissão, logo não pode revogá-la. Você não pode revogar suas próprias permissões. Revogar esta permissão a removeria de você. - Não foi possível entrar na conversa + Não foi possível entrar no tópico Esta pessoa tem um cargo mais alto que o seu, logo você não pode gerenciá-la. Esta pessoa é dona do servidor, logo você não pode gerenciá-la. O cargo mais alto desta pessoa é o mesmo que o seu, logo você não pode gerenciá-la. - Não foi possível desarquivar a conversa + Não foi possível reabrir o tópico Captcha O captcha falhou. Tente outra vez. O captcha falhou. O Google Play Services é necessário. Depois de instalá-lo ou atualizá-lo, reinicie o aplicativo e tente novamente. @@ -1259,7 +1259,7 @@ Palco (Bloqueado) Loja Texto - Texto (Sequências ativas) + Texto (Tópicos ativos) Texto (Limitado) Texto (Conteúdo adulto) Voz @@ -1362,9 +1362,9 @@ Sua mensagem Adiciona ┬─┬ ノ( ゜-゜ノ) à sua mensagem. Sua mensagem - Começar nova conversa - Insira a primeira mensagem da sua conversa - Nomeie a sua conversa + Começar novo tópico + Insira a primeira mensagem do seu tópico + Nomeie o seu tópico Use o texto-para-voz para ler mensagens para todos os membros que estão visualizando o canal nesse momento. Sua mensagem Escolha true ou false. @@ -1542,7 +1542,7 @@ Copiado Copiado para a área de transferência. Copiar - Copiar tópico + Copiar assunto Copiar !!{code}!! para a área de transferência Copiar comando Copiar ID @@ -1828,9 +1828,9 @@ Um canal de texto que posta em servidores que o seguem Uia, outro servidor! Criar canal de texto privado - Criar conversas privadas + Criar tópicos privados Criar canal de voz privado - Criar conversas públicas + Criar tópicos públicos Criar um servidor Crie um novo servidor e convide seus amigos. Criar um servidor @@ -1869,8 +1869,8 @@ SKU Criar canal de texto Poste imagens, GIFs, figurinhas, opiniões e piadas - Criar conversa - Enviar uma mensagem para iniciar uma conversa neste canal! + Criar tópico + Enviar uma mensagem para iniciar um tópico neste canal! Ela será arquivada após $[](durationHook) de inatividade. Criar canal de voz Interaja com voz, vídeo e compartilhamento de tela @@ -1983,7 +1983,7 @@ Insira o nome do servidor Você não digitou o nome do servidor corretamente Excluir !!{name}!! - Excluir conversa + Excluir tópico Servidores da comunidade precisam ter um canal de atualizações para a comunidade, para o qual o Discord possa enviar atualizações importante de servidores da comunidade. Descrição Você precisa designar outro em [Configurações do servidor > Comunidade > Visão geral](onClick) antes de poder excluir este canal. @@ -2105,12 +2105,12 @@ Editar nota Editar visão geral Editar cargos - Mudar tópico ou configurações de privacidade + Mudar assunto ou configurações de privacidade Editar palco - Mudar tópico + Mudar assunto Editar palco esc para [cancelar](onCancel) • enter para [salvar](onSave) - Editar conversa + Editar tópico Editar !!{user}!! Editando mensagem Grego @@ -2215,7 +2215,7 @@ Esse emoji era muito grande! Os emojis devem ocupar menos de {maxSize}kb. Clique para saber mais {count} - Mencione (@mention) usuários para adicioná-los a esta conversa privada. + Mencione (@mention) usuários para adicioná-los a este tópico privado. Inglês Inglês, Reino Unido Inglês, EUA @@ -2284,7 +2284,7 @@ Parece que o Discord parou de funcionar do nada…. Espanhol Ao usar **{role}**, você estará prestes a mencionar mais de {count} pessoas. Tem certeza? - Ao usar **{role}**, você estará prestes a mencionar mais de {count} pessoas nesta conversa. Deseja mesmo fazer isso? + Ao usar **{role}**, você estará prestes a mencionar mais de {count} pessoas neste tópico. Deseja mesmo fazer isso? **ENTER** para enviar **ESC** para editar Em vez disso, que tal mencionar um cargo ou usuários individuais? @@ -2396,14 +2396,14 @@ O diagnóstico de gravação de áudio é usado para analisar problemas no áudio. Os últimos cinco minutos de voz são salvos na pasta do módulo de voz. Move membros automaticamente a este canal se eles ficarem inativos por mais tempo que o limite de ausência. Isso não afeta navegadores. Diminui o volume de outros aplicativos nesta porcentagem quando alguém estiver falando. Deixe em 0%% para desativar completamente a atenuação. - Conversas serão arquivadas após a duração definida de inatividade. + Tópicos serão arquivados após a duração definida de inatividade. Se o indicador estiver verde sólido, então o Discord estará transmitindo sua linda voz. TODOS OS BITS! Usar mais de {bitrate}kbps pode prejudicar pessoas com conexões ruins. Ao utilizar um microfone certificado pelo Discord, algumas funcionalidades de processamento de voz não são mais controladas pelo próprio Discord, e sim pelo microfone. Altere as configurações de privacidade e personalize como os membros podem interagir com este canal. Registra todo os dados de RTP recebidos para a próxima conexão de voz/vídeo para propósitos de depuração. Salva os registros de depuração na pasta do módulo de voz, que você pode enviar ao suporte Discord para solucionar problemas. - Novas conversas serão arquivadas após a duração definida de inatividade. + Novos tópicos serão arquivados após a duração definida de inatividade. Isto determina se os membros que não definiram as configurações de notificação receberão ou não uma notificação para cada mensagem enviada neste servidor. É altamente recomendável que você defina isso apenas para @menções em servidores públicos Pode demorar até 15 minutos para funcionar. Esta imagem aparecerá na lista do Descobrir. O tamanho mínimo recomendado é de 1920x1080, com proporção 16:9. @@ -2422,7 +2422,7 @@ Esta imagem aparecerá no topo da sua lista de canais. Descreva sua comunidade. Essa descrição aparecerá em anexos esternos do link de convite desse servidor. O Discord priorizará esse servidor no recurso Descobrir para usuários que falem o idioma selecionado. Atualizações enviadas pelo Discord no canal exclusivo para moderadores também estarão nesse idioma. - Membros só poderão mandar uma mensagem e criar uma conversa a cada intervalo deste, a menos que tenham permissões de Gerenciar Mensagens ou Gerenciar Canal. + Membros só poderão mandar uma mensagem e criar um tópico a cada intervalo deste, a menos que tenham permissões de Gerenciar Mensagens ou Gerenciar Canal. Membros só poderão mandar uma mensagem a cada intervalo deste, a menos que tenham permissões de Gerenciar Mensagens ou Gerenciar Canal. Esse é o canal para o qual enviamos mensagens de eventos do sistema. Elas podem ser desativados a qualquer momento. Enviar dicas úteis para configuração do servidor. @@ -2459,7 +2459,7 @@ Nome do canal Configurações de notificação do canal Quem pode acessar este canal? - Tópico do canal + Assunto do canal Quem pode se conectar a este canal? Senha atual Emoticons personalizados do Twitch @@ -2606,12 +2606,12 @@ Volume Digite o nome do servidor Como o pessoal vai te chamar? - Apenas moderadores e usuários convidados podem ver esta conversa. + Apenas moderadores e usuários convidados podem ver este tópico. As denúncias são enviadas para a equipe de confiança e segurança do Discord - **não ao(à) dono(a) do servidor**. Criar denúncias falsas e/ou abusar do botão de denúncia pode resultar em uma suspensão da capacidade de denunciar. Saiba mais nas [diretrizes da comunidade do Discord]({guidelinesURL}). Agradecemos por manter as coisas seguras. Arquivar após inatividade Nome - Nova conversa - O nome da conversa é obrigatório + Novo tópico + O nome do tópico é obrigatório Convide pessoas novas mencionando (@mention) elas. Apenas moderadores e usuários convidados podem ver Digite uma mensagem para começar a conversa! @@ -3069,7 +3069,7 @@ Remover foto Preencha os detalhes do seu evento. Sobre o que é o seu evento? - Tópico do evento + Assunto do evento {date} {time} Deseja mesmo excluir esse evento? Excluir evento? @@ -3097,7 +3097,6 @@ Os eventos estão restritos aos canais palco por enquanto. Faça um para criar um evento. Bom para: $[P&R, AMA, Painéis de Discussão](suggestionsHook) Três oradores em um canal palco estão falando para cinco pessoas na plateia, dois membros da audiência estão com a mão erguida - Os canais palco foram construídos especificamente para eventos de áudio da comunidade, com $[ferramentas de moderação integradas](moderationHook), $[como levantar a mão](handRaiseHook) e a função padrão $[plateia silenciada.](audienceHook) P&R AMA Tente usar um canal palco! @@ -3262,13 +3261,13 @@ Criar figurinhas Excluir figurinhas Atualizar figurinhas - Criar conversa - Excluir conversa - Atualizar conversa + Criar tópico + Excluir tópico + Atualizar tópico Webhooks criados Excluir Webhook Webhooks atualizados - $[**!!{user}!!**](userHook) criou uma conversa de anúncio $[**!!{target}!!**](targetHook) + $[**!!{user}!!**](userHook) criou um tópico de anúncio $[**!!{target}!!**](targetHook) $[**!!{user}!!**](userHook) adicionou $[**!!{target}!!**](targetHook) ao servidor Mudou a taxa de bits para **!!{newValue}!!** Definiu a taxa de bits para **!!{newValue}!!** @@ -3295,9 +3294,9 @@ Removeu a permissão especial $[**!!{user}!!**](userHook) criou um canal palco $[**!!{target}!!**](targetHook) $[**!!{user}!!**](userHook) criou o canal de texto $[**!!{target}!!**](targetHook) - Mudou o tópico para **!!{newValue}!!** - O tópico foi **limpo** - Definiu o tópico para **!!{newValue}!!** + Mudou o assunto para **!!{newValue}!!** + O assunto foi **limpo** + Definiu o assunto para **!!{newValue}!!** Mudou o tipo de **!!{oldValue}!!** para **!!{newValue}!!** Definiu o tipo para **!!{newValue}!!** $[**!!{user}!!**](userHook) fez alterações em $[**!!{target}!!**](targetHook) @@ -3396,7 +3395,7 @@ $[**!!{user}!!**](userHook) desafixou uma mensagem de $[**!!{target}!!**](targetHook) em $[**!!{channel}!!**](channelHook) Mudou o nome de **!!{oldValue}!!** para **!!{newValue}!!** Com o nome **!!{newValue}!!** - $[**!!{user}!!**](userHook) criou uma conversa privada $[**!!{target}!!**](targetHook) + $[**!!{user}!!**](userHook) criou um tópico privado $[**!!{target}!!**](targetHook) Definiu a cor para **!!{newValue}!!** $[](newColorHook) Definiu a cor para **!!{newValue}!!** Sem cor @@ -3435,19 +3434,19 @@ $[**!!{user}!!**](userHook) atualizou a figurinha $[**!!{target}!!**](targetHook) Mudou as tags de **!!{oldValue}!!** para **!!{newValue}!!** Com as tags **!!{newValue}!!** - Arquivou a conversa + Arquivou o tópico {newValue} {newValue} - $[**!!{user}!!**](userHook) criou uma conversa $[**!!{target}!!**](targetHook) - $[**!!{user}!!**](userHook) excluiu a conversa $[**!!{target}!!**](targetHook) - Impediu não-moderadores de adicionar membros à conversa - Permitiu que não-moderadores adicionem membros à conversa - Trancou a conversa, fazendo com que apenas moderadores possam reabri-la + $[**!!{user}!!**](userHook) criou um tópico $[**!!{target}!!**](targetHook) + $[**!!{user}!!**](userHook) excluiu o tópico $[**!!{target}!!**](targetHook) + Impediu não-moderadores de adicionar membros ao tópico + Permitiu que não-moderadores adicionem membros ao tópico + Trancou o tópico, fazendo com que apenas moderadores possam reabri-lo Mudou o nome de **!!{oldValue}!!** para **!!{newValue}!!** Definiu o nome para **!!{newValue}!!** - Reabriu a conversa - Destrancou a conversa, fazendo com que não-moderadores possam reabri-la - $[**!!{user}!!**](userHook) alterou a conversa $[**!!{target}!!**](targetHook) + Reabriu o tópico + Destrancou o tópico, fazendo com que não-moderadores possam reabri-lo + $[**!!{user}!!**](userHook) alterou o tópico $[**!!{target}!!**](targetHook) {date} {time} Ação desconhecida Mudou o avatar @@ -3514,7 +3513,7 @@ Você precisa mudar sua $[descrição](descriptionHook) Você precisa mudar o $[nome do seu servidor](nameHook) Aumente o número de comunicadores semanais - Consideramos como comunicador alguém que tenha conversado (por voz ou texto) no servidor. Realizar eventos da comunidade e promover tópicos de discussão são ótimas maneiras de fazer mais pessoas falarem. + Consideramos como comunicador alguém que tenha conversado (por voz ou texto) no servidor. Realizar eventos da comunidade e promover assuntos de discussão são ótimas maneiras de fazer mais pessoas falarem. média de comunicadores semanais no seu servidor Seu servidor precisa de mais membros visitantes e comunicadores semanais. Boa, garoto(a)! Seu servidor cumpre todos os requisitos para estar no Descobrir Servidores. @@ -3568,7 +3567,7 @@ Categorias ajudam o Discord a organizar servidores, assim fica mais fácil descobrir comunidades que te interessem. Você pode selecionar 1 categoria primária e até 5 subcategorias. Categoria do servidor Seu servidor não cumpre todos os requisitos. - Você pode adicionar até 10 palavras-chave para ajudar as pessoas a encontrarem seu servidor na busca. Não esqueça que a busca funciona principalmente com o nome e a descrição do servidor. Palavras-chave são secundárias. Elas podem ser úteis caso os tópicos ou funções do servidor tenham grafias alternativas ou abreviações (por exemplo, LoL para League of Legends). + Você pode adicionar até 10 palavras-chave para ajudar as pessoas a encontrarem seu servidor na busca. Não esqueça que a busca funciona principalmente com o nome e a descrição do servidor. Palavras-chave são secundárias. Elas podem ser úteis caso os assuntos ou funções do servidor tenham grafias alternativas ou abreviações (por exemplo, LoL para League of Legends). Palavras-chave de busca Subcategorias Apelido @@ -3603,15 +3602,15 @@ Envie um plano de fundo personalizado para todos os seus convites de servidor! Carregue as figurinhas que você criar no seu servidor para todo mundo ver. Compartilhe suas jogatinas supimpas com transmissões de vídeo de alta qualidade. - Você poderá fazer sua conversa expirar após 3 dias inativa para mantê-la rolando durante aquele feriado prolongado. + Você poderá fazer seu tópico expirar após 3 dias inativo para mantê-lo rolando durante aquele feriado prolongado. Escute seus amigos em alta definição! Envie uma faixa decorativa que represente sua comunidade melhor ainda! Exibida abaixo do nome do servidor. Defina um ícone especial para cada cargo. Ícones aparecem nas conversar e na lista de membros. Ainda mais emojis, para ter ainda mais maneiras de se expressar! Mais espaços de figurinhas para mais expressões personalizadas! Transmita para seus amigos em alta qualidade. - As conversas só expiram após 1 semana de inatividade, o que dá mais tempo para prolongar os papos. - Crie conversas que só os membros selecionados poderão ver e usar. + Os tópicos só expiram após 1 semana de inatividade, o que dá mais tempo para prolongar os papos. + Crie tópicos que só os membros selecionados poderão ver e usar. Envie arquivos maiores para compartilhar memes de alta qualidade. **(Apenas no servidor)** Ouça seus amigos nas mais altas definições. É como se eles estivessem do seu lado… Tenha acesso a toneladas de espaços de emoji para todas as suas necessidades de se expressar. @@ -3621,12 +3620,12 @@ Ícone animado do servidor Plano de fundo de convite do servidor personalizado Transmita para seus amigos em alta qualidade. - Opção de arquivamento das conversas em 3 dias + Opção de arquivamento dos tópicos em 3 dias Faixa do servidor Ícones de cargos personalizados Transmissões no Go Live em 1080p e 60fps - Opção de arquivamento das conversas em 1 semana - Criar conversas privadas + Opção de arquivamento dos tópicos em 1 semana + Criar tópicos privados URL personalizado para o servidor {bitrate} Kbps de qualidade de áudio +{adding} espaços de emoji do servidor (para um total de {total}) @@ -3825,9 +3824,9 @@ !!{channelName}!! (canal palco), {userCount} de {limit} usuários !!{channelName}!! (canal palco), {userCount} !!{channelName}!! (canal de loja) - !!{channelName}!! (conversa) - {mentionCount}, !!{channelName}!! (conversa) - não lida, !!{channelName}!! (conversa) + !!{channelName}!! (tópico) + {mentionCount}, !!{channelName}!! (tópico) + não lida, !!{channelName}!! (tópico) !!{channelName}!! (canal de voz) !!{channelName}!! (canal de voz), {userCount} de {limit} usuários !!{channelName}!! (canal de voz), {userCount} @@ -3910,7 +3909,7 @@ Modelo de servidor inválido Toque para saber mais O link deste modelo é inválido ou expirou. Quer saber mais sobre o Discord? - Use canais para organizar seu servidor por tópicos específicos. + Use canais para organizar seu servidor por assuntos específicos. Canais do modelo Você pode editar canais, cargos e permissões depois da criação. Reúnam-se, organizem-se e mantenham contato. @@ -4004,7 +4003,7 @@ Deseja mesmo excluir seu modelo? Isso impossibilitará que alguém com o link o use. Excluir modelo Excluir link do modelo - Canais e tópicos do canal + Canais e assuntos do canal Membros ou bots Mensagens ou qualquer conteúdo O ícone do seu servidor, impulsos ou outras vantagens @@ -4645,7 +4644,7 @@ Entrar em um servidor Entre em um servidor Entrar na transmissão - Entrar na conversa + Entrar no tópico Entrar na chamada de vídeo Entrar no vídeo Entrar na chamada de voz @@ -4775,7 +4774,7 @@ Deseja mesmo sair de **!!{name}!!**? Você não poderá entrar neste servidor até ser convidado(a) novamente. Deseja mesmo sair de !!{name}!!? Sair de !!{name}!! - Sair da conversa + Sair do tópico Vambora Biblioteca Azul claro @@ -4829,7 +4828,7 @@ Grupos privados podem ter até dez membros. Clique na bússola na lista de servidores para encontrar novos servidores. Arraste e solte servidores uns sobre os outros para criar pastas de servidores. - Digite /tenor ou /giphy + qualquer coisa para encontrar um GIF com esse tópico! + Digite /tenor ou /giphy + qualquer coisa para encontrar um GIF com esse assunto! Use as configurações de atividade de jogo para compartilhar o que você está jogando. Destaque textos na barra do seu bate-papo para usar negrito, itálico e muito mais. Clique com o botão direito no nome de um servidor para ocultar canais silenciados nele. @@ -4871,8 +4870,6 @@ Gerenciar plano Nós abaixamos o preço do Nitro na sua região. Veja se você vai economizar usando sua moeda. Mudar seu método de pagamento vai alterar o preço da sua assinatura e a moeda do pagamento para {newCurrencyAndPrice}. [[Clique aqui]]({helpCenterLink}) para saber mais sobre como determinamos o que você paga. - Gerenciar plano - Nós diminuímos o preço do Nitro para algumas localidades. Reative sua assinatura Nitro e veja se você pode economizar. **Dica**: Use um método de pagamento de {country} para pagar pela sua assinatura em {currency}! [Clique aqui]({helpCenterLink}) para saber mais sobre como determinar o preço e a moeda. **Viva!** Já que você mora em {country}, agora vai pagar apenas {newPrice} pelo Nitro! [Saiba Mais]({helpCenterLink}). Entrar @@ -4922,7 +4919,7 @@ Membros com esta permissão podem criar e editar/excluir cargos abaixo deste. Gerenciar servidor Membros com esta permissão podem mudar o nome ou a região do servidor. - Gerenciar conversas + Gerenciar tópicos Gerenciar usuário Gerenciar Gerenciar webhooks @@ -5007,7 +5004,7 @@ Presente Membro Lista de membros - Apenas moderadores e usuários convidados podem ver esta conversa. + Apenas moderadores e usuários convidados podem ver este tópico. Esta pessoa é a dono(a) do servidor e sempre tem todas as permissões, independentemente dos cargos. Adicionar pergunta Adicionar regra @@ -5240,9 +5237,9 @@ Permitir pedidos de todos (@everyone) Torne-se orador(a) Visão de moderador - Ver todas as conversas privadas criadas por todos os usuários - A visão de moderador permite que você veja todas as conversas privadas, mesmo as criadas por outros usuários. - Ver todas as conversas privadas criadas por todos os usuários + Ver todos os tópicos privados criados por todos os usuários + A visão de moderador permite que você veja todos os tópicos privados, mesmo os criados por outros usuários. + Ver todos os tópicos privados criados por todos os usuários Você tem certeza? Mensal Assinatura mensal de servidor (!!{planName}!!) @@ -5372,7 +5369,7 @@ Continuar para o Discord Para continuar usando o Discord, leia e concorde com nossos Termos de serviço e Política de privacidade atualizados. Atualização nos Termos de serviço e de Privacidade - Nova conversa + Novo tópico Novas mensagens não lidas Canal de anúncios Um canal de texto que posta em servidores que o seguem @@ -5443,7 +5440,7 @@ Que mundo frio e inexpressivo. Sem reações Comece novas conversas, elas vão ficar listadinhas aqui! - Não há mensagens recentes nesta conversa. + Não há mensagens recentes neste tópico. Nenhum resultado encontrado Este canal tem permissões especiais. Para usar compartilhamento de tela nele, você precisará pedir que um moderador ou administrador do servidor mude suas permissões. Sem permissão de compartilhamento de tela @@ -5455,7 +5452,7 @@ Nenhuma mensagem do sistema Não Não, valeu - Ainda não há mensagens nesta conversa. + Ainda não há mensagens neste tópico. Sem limite Sem dispositivos de vídeo Este canal tem permissões especiais. Para usar vídeo nele, você precisará pedir que um moderador ou administrador do servidor mude suas permissões. @@ -5588,9 +5585,9 @@ Junte-se a mais de 100 milhões de pessoas que usam o Discord para conversar com seus amigos e comunidades. Este é um bom lugar para falar sobre !!{topic}!! Leve-me ao meu servidor! - Vamos colocar você para conversar. De que tópico seu grupo gosta? + Vamos colocar você para conversar. De que assunto seu grupo gosta? Começar a conversar - Tópico + Assunto Desenho, escalada, memes etc. Ver meus canais Canais são lugares em seu servidor onde as pessoas podem conversar sobre assuntos diferentes. @@ -5635,7 +5632,7 @@ {subscribers} {num} {count} - Servidores são compostos de canais, que são locais onde as pessoas falam sobre tópicos diferentes + Servidores são compostos de canais, que são locais onde as pessoas falam sobre assuntos diferentes Adicione amigos e converse com eles diretamente Um servidor é um grupo poderoso de bate-papo onde as pessoas se juntam para curtir Permitir notificações @@ -5983,6 +5980,29 @@ Quer personalizar sua tag? Assine o Nitro! Quando sua assinatura Nitro terminar, sua Discord Tag será aleatorizada. Esta tag é inválida. As tags devem ser maiores que 0. + Personalize e expresse quem você é por todo o Discord com as nossas atualizações de verão! + Editar perfil do servidor + Defina um avatar único para cada um dos seus servidores. Seja um estudante em um, seu personagem de D&D em outro e seu eu real, seja lá quem for, em um terceiro. + Avatares de servidor + Entre em até 200 servidores + Mensagens mais longas, com até 4 mil caracteres + Novo Seletor de GIFs para o seu avatar ou a sua faixa + … e mais! + Editar perfil de usuário + Destaque aquele interesse que faz parte da sua personalidade em uma nova faixa de perfil com avatar animado combinando e ainda uma marca personalizada. + Faixas de perfil + Navegar pelas figurinhas + Mostre aos amigos como você se sente de verdade com as figurinhas personalizadas no bate-papo, em todos os seus servidores, e ainda desfrute de 300 figurinhas exclusivas do Nitro. + Figurinhas no bate-papo + O Nitro está muito melhor. Você vai se sentir um pinto no lixo - não é confortável? Bom… Desculpe. [Saiba mais sobre o Nitro.](onLearnMore) + O que tem novo no Nitro + Baixamos o preço do Nitro no Brasil! + Baixamos o preço do Nitro na Polônia! + Baixamos o preço do Nitro na Turquia! + O Nitro agora custa !!{price}!! + Dê uma olhada! + Carregue um avatar único para cada servidor e muito mais com o Nitro. + Novas atualizações de verão! Envie e use avatares animados e emojis Compartilhe emojis personalizados em todos os servidores Use adesivos personalizados em qualquer lugar e tenha acesso a 300 figurinhas Nitro exclusivas @@ -6045,7 +6065,7 @@ Personalização de servidores para avatar, faixa e URL. Espaço para mais emojis personalizados Desbloqueia espaços para figurinhas personalizadas - Crie conversas privadas e guarde as conversas por até 1 semana + Crie tópicos privados e guarde os tópicos por até 1 semana Tamanhos de envio maiores para todos no servidor Servidores impulsionados podem receber: Defina e mostre um ícone especial para cada cargo @@ -6194,8 +6214,8 @@ Envie uma imagem ou escolha um emoji como ícone especial de cada cargo Mostre a todos sobre o que é o seu servidor com uma faixa do servidor Upload de figurinhas personalizadas para todos usarem - Opções de arquivamento mais longas para conversas - Criar conversas privadas + Opções de arquivamento mais longas para tópicos + Criar tópicos privados **{quantity}x** {quantity} - **!!{rate}!!** **{boostQuantity}x** {quantity} - **!!{rate}!!** (Assinatura pendente) **{boostQuantity}x** {quantity} - (Assinatura pendente) @@ -6505,7 +6525,7 @@ {count} adicionados Canais privados Requer a permissão **Ver Canais** para criar este canal privado. - Conversa particular + Tópico particular Requer as permissões **Ver Canais** e **Conectar** para criar este canal privado. Perfil Faça upload do seu banner personalizado e muito mais com Discord Nitro! @@ -6680,7 +6700,7 @@ Remover reação Remover !!{name}!! Remover cargo - Remover !!{user}!! da conversa + Remover !!{user}!! do tópico Remover URL personalizado Mostrar prévias de links colados no chat. Prévia de links @@ -6883,12 +6903,12 @@ Permite que os membros convidem pessoas novas para este servidor através de um link de convite para estes canais. Permite que os membros convidem pessoas novas para este servidor através de um link de convite para este canal. Permite que os membros convidem pessoas novas para este servidor através de um link de convite para este canal. O destinatário se juntará automaticamente ao canal de voz se tiver permissão para conectar. - Permite que os membros criem conversas controladas por convite. - Permite que os membros criem conversas controladas por convite nestes canais. - Permite que os membros criem conversas controladas por convite neste canal. - Permitir que membros criem conversas que todos em um canal podem visualizar. - Permitir que membros criem conversas que todos nestes canais podem visualizar. - Permitir que membros criem conversas que todos neste canal podem visualizar. + Permite que os membros criem tópicos controlados por convite. + Permite que os membros criem tópicos controlados por convite nestes canais. + Permite que os membros criem tópicos controlados por convite neste canal. + Permitir que membros criem tópicos que todos em um canal podem visualizar. + Permitir que membros criem tópicos que todos nestes canais podem visualizar. + Permitir que membros criem tópicos que todos neste canal podem visualizar. Permite que os membros desativem o áudio de outros membros em canais de voz, o que significa que eles não poderão falar nem ouvir os outros. Permite que os membros desativem o áudio de outros membros nestes canais de voz, o que significa que eles não poderão falar nem ouvir os outros. Permite que os membros desativem o áudio de outros membros neste canal de voz, o que significa que eles não poderão falar nem ouvir os outros. @@ -6898,7 +6918,7 @@ Nenhuma permissão encontrada Permite que os membros removam outros membros deste servidor. Membros expulsos podem voltar ao servidor se forem convidados novamente. Permite que os membros mudem o nome, a descrição e as configurações de texto/voz destes canais. Eles também poderão excluir estes canais. - (Necessário para moderador(a) de palco) Permite habilitar e desabilitar pedidos para falar e que membros façam tópicos para começar o palco. Eles também podem excluir o canal palco. + (Necessário para moderador(a) de palco) Permite habilitar e desabilitar pedidos para falar e que membros façam assuntos para começar o palco. Eles também podem excluir o canal palco. Permite que os membros mudem o nome, a descrição e as configurações de texto deste canal. Eles também poderão excluir o canal. Permite que os membros mudem o nome, a descrição e as configurações de voz deste canal. Eles também poderão excluir o canal. Permite que os membros criem, editem ou excluam canais. @@ -6915,9 +6935,9 @@ Permite que os membros mudem as permissões deste canal. Permite que os membros mudem as permissões deste canal. Permite que os membros mudem o nome e a região, e acrescentem bots a este servidor. - Permite que os membros renomeiem, excluam, arquivem/desarquivem e ativem o modo lento das conversas. Eles também podem ver conversas privadas. - Permite que os membros renomeiem, excluam, arquivem/desarquivem e ativem o modo lento das conversas nestes canais. Eles também podem ver conversas privadas. - Permite que os membros renomeiem, excluam, arquivem/desarquivem e ativem o modo lento das conversas neste canal. Eles também podem ver conversas privadas. + Permite que os membros renomeiem, excluam, arquivem/reabram e ativem o modo lento dos tópicos. Eles também podem ver tópicos privados. + Permite que os membros renomeiem, excluam, arquivem/reabram e ativem o modo lento dos tópicos nestes canais. Eles também podem ver tópicos privados. + Permite que os membros renomeiem, excluam, arquivem/reabram e ativem o modo lento dos tópicos neste canal. Eles também podem ver tópicos privados. Permite que os membros criem, editem ou excluam webhooks, que permitem a postagem de mensagens de outros apps ou sites neste servidor. Permite que os membros criem, editem ou excluam webhooks nestes canais, que permitem a postagem de mensagens de outros apps ou sites neste servidor. Permite que os membros criem, editem ou excluam webhooks neste canal, que permitem a postagem de mensagens de outros apps ou sites neste servidor. @@ -6959,9 +6979,9 @@ Permite que os membros publiquem suas próprias mensagens em todos os servidores que estejam seguindo este [Canal de Anúncios]({articleURL}). Permite que os membros mandem mensagens nestes canais. Permite que os membros mandem mensagens neste canal. - Permite que os membros mandem mensagens em conversas. - Permite que os membros mandem mensagens em conversas nestes canais. - Permite que os membros mandem mensagens em conversas neste canal. + Permite que os membros mandem mensagens em tópicos. + Permite que os membros mandem mensagens em tópicos nestes canais. + Permite que os membros mandem mensagens em tópicos neste canal. Enviar mensagens em Texto-para-voz Permite que os membros enviem mensagens em Texto-para-voz ao começar uma mensagem com /tts. Estas mensagens podem ser ouvidas por todos que estiverem no canal. Permite que os membros enviem mensagens em Texto-para-voz nestes canais ao começar uma mensagem com /tts. Estas mensagens podem ser ouvidas por todos que estiverem no canal. @@ -7199,7 +7219,7 @@ Pesquisar no Google Buscando… Segurança - Ver conversa › + Ver tópico › Selecionar Selecionar componente {placeholder} @@ -7230,7 +7250,7 @@ Falha ao enviar mensagem. Segure para ver opções. Enviar mensagens Membros com esta permissão podem publicar suas próprias mensagens em todos os servidores que estejam seguindo este [Canal de Anúncios]({articleURL}). - Enviar mensagens em conversas + Enviar mensagens em tópicos Enviar mensagens em TTS Membros com esta permissão podem enviar mensagens em texto-para-voz ao começar uma mensagem com /tts. Essas mensagens podem ser ouvidas por todos que estiverem no canal. Enviar aceno @@ -7419,11 +7439,11 @@ AO VIVO Ao Vivo agora Nenhum ouvinte ainda - Sem tópicos. Escreva um para começar o palco! + Sem assuntos. Escreva um para começar o palco! {count} ({speakerCount}) O Discord precisa ter acesso ao áudio para que você possa falar. Ícone verde do canal palco com sinal de mais - Escolha um tópico para começar a conversar. + Escolha um assunto para começar a conversar. Começar o palco Ações de participantes Convidar para falar @@ -7515,7 +7535,7 @@ Esperando o palco começar. !!{username}!!: @everyone !!{topic}!! está começando. Venham ouvir! !!{guildName}!! está sediando um Palco ao vivo - Defina o tópico do seu palco. + Defina o assunto do seu palco. Canal palco Começar Iniciar chamada @@ -7530,11 +7550,11 @@ Apenas membros Começar palco Você será um(a) orador(a) quando o palco for aberto. - Escreva um tópico para abrir seu palco. + Escreva um assunto para abrir seu palco. Sobre o que vocês vão conversar? - Tópico do palco + Assunto do palco Acabou a discussão: diet é melhor do que normal - Você precisa definir um tópico. É uma regra que nós inventamos. + Você precisa definir um assunto. É uma regra que nós inventamos. Privacidade Você só pode começar um palco público em canais que abertos para todos (@everyone). Quem estiver ouvindo também poderá entrar no seu servidor enquanto o palco estiver ao vivo. Palcos públicos devem seguir [diretrizes adicionais.]({articleURL}) @@ -7559,11 +7579,11 @@ Um canal palco chamado $[**!!{stageName}!!**](stageHook) será criado. Você poderá mudar o nome depois. Seu palco acontecerá em $[**!!{stageName}!!**](stageHook). Canal palco - Escreva um tópico para abrir seu palco. + Escreva um assunto para abrir seu palco. Sobre o que vocês vão conversar? Vamos nessa Pessoas se apresentando - Palcos públicos não podem conter conteúdo explícito, gráfico ou conteúdo sexual. E não se esqueça de fazer tópicos precisos e descritivos. + Palcos públicos não podem conter conteúdo explícito, gráfico ou conteúdo sexual. E não se esqueça de fazer assuntos precisos e descritivos. Este palco será listado no Descobrir Palcos. Qualquer um poderá ouvir! Palcos públicos devem seguir algumas regras adicionais. [Leia todas as diretrizes aqui.]({articleURL}) Enquanto o palco estiver ao vivo, os ouvintes podem entrar no seu servidor e se tornar parte da comunidade. @@ -7571,11 +7591,11 @@ Aqui estão algumas coisas que você precisa saber. Palcos públicos devem seguir [Diretrizes de Palco.]({articleURL}) Conteúdo sexual explícito não é permitido. Esta é uma ótima oportunidade de desenvolver sua comunidade! Qualquer um pode ouvir do Descobrir Palcos. - Recomendamos que seu tópico seja mais descritivo, já que seus ouvintes podem não saber sobre o que é seu servidor. + Recomendamos que seu assunto seja mais descritivo, já que seus ouvintes podem não saber sobre o que é seu servidor. Os ouvintes também pode entrar no seu servidor diretamente, se eles gostarem do seu palco. Ele será listado no Descobrir Palcos. Seu palco vai ser público! - Seu tópico é descritivo o suficiente? Preste atenção nisso, para que as pessoas navegando pelo Descobrir palcos possam saber com facilidade sobre o que são seu palco e sua comunidade. + Seu assunto é descritivo o suficiente? Preste atenção nisso, para que as pessoas navegando pelo Descobrir palcos possam saber com facilidade sobre o que são seu palco e sua comunidade. Iniciar chamada de vídeo Iniciar chamada de voz A partir de @@ -7802,7 +7822,7 @@ A conexão da sincronização foi cancelada! {user} deve se reconectar ao {platformName} nas Configurações de Usuário. Sincronizar esta conta Mensagem Oficial do Discord - Este canal é reservado para notificações oficiais do Discord. + Este tópico é reservado para notificações oficiais do Discord. O Discord nunca vai pedir sua senha ou token da conta. Esta é uma mensagem oficial da Equipe Discord. Não se esqueça que o Discord nunca vai pedir sua senha ou o token da sua conta. SISTEMA @@ -7875,14 +7895,14 @@ $[!!{username}!!](usernameHook) removeu $[!!{otherUsername}!!](otherUsernameHook) do grupo. [!!{username}!!](usernameOnClick) saiu do grupo. $[!!{username}!!](usernameHook) saiu do grupo. - $[!!{actorName}!!](actorHook) iniciou uma conversa: **[!!{threadName}!!](threadOnClick)**. Veja todas as [conversas](viewThreadsOnClick). - [!!{actorName}!!](actorHook) iniciou uma conversa: **[!!{threadName}!!](threadOnClick)**. - $[!!{actorName}!!](actorHook) adicionou $[!!{targetName}!!](targetHook) à conversa. - [!!{username}!!](usernameOnClick) adicionou [!!{otherUsername}!!](otherUsernameOnClick) à conversa. - $[!!{actorName}!!](actorHook) removeu $[!!{targetName}!!](targetHook) da conversa. - [!!{username}!!](usernameOnClick) removeu [!!{otherUsername}!!](otherUsernameOnClick) da conversa. - $[!!{username}!!](usernameOnClick) saiu da conversa. - [!!{username}!!](usernameOnClick) saiu da conversa. + $[!!{actorName}!!](actorHook) iniciou um tópico: **[!!{threadName}!!](threadOnClick)**. Veja todos os [tópicos](viewThreadsOnClick). + [!!{actorName}!!](actorHook) iniciou um tópico: **[!!{threadName}!!](threadOnClick)**. + $[!!{actorName}!!](actorHook) adicionou $[!!{targetName}!!](targetHook) ao tópico. + [!!{username}!!](usernameOnClick) adicionou [!!{otherUsername}!!](otherUsernameOnClick) ao tópico. + $[!!{actorName}!!](actorHook) removeu $[!!{targetName}!!](targetHook) do tópico. + [!!{username}!!](usernameOnClick) removeu [!!{otherUsername}!!](otherUsernameOnClick) do tópico. + $[!!{username}!!](usernameOnClick) saiu do tópico. + [!!{username}!!](usernameOnClick) saiu do tópico. Conceder permissão Para acessar **sua câmera, você precisará nos conceder permissão**. Para acessar **seus preciosos arquivos, você precisará nos conceder permissão**. @@ -7925,65 +7945,65 @@ Tema atualizado. Este servidor Apenas !!{guildName}!! - Conversa - !!{channelName}!! (conversa) - Ações de sequência - Esta conversa foi arquivada + Tópico + !!{channelName}!! (tópico) + Ações de tópico + Este tópico foi arquivado Ativa Arquivada: {time} Arquivada Criada: {time} - Não há conversas ativas. - Não há conversas arquivadas. - Mantenha o foco no bate-papo com uma conversa, um canal de texto temporário. - filtrar conversas arquivadas + Não há tópicos ativos. + Não há tópicos arquivados. + Mantenha o foco no bate-papo com um tópico, um canal de texto temporário. + filtrar tópicos arquivados Configurações de filtro - Visibilidade da conversa - Entrou em {count} conversas + Visibilidade do tópico + Entrou em {count} tópicos $[](usernameHook) $[](messageTextHook) Sem mensagens recentes - {count} outras conversas ativas + {count} outros tópicos ativos Privado - Conversas privadas + Tópicos privados Público - Conversas públicas + Tópicos públicos Iniciada por $[](authorHook) Há {count}d Há {count}h Há {count}min Há +30d - Conversas - Cabeçalho da conversa - Esta conversa foi arquivada. Mande uma mensagem para desarquivá-la. - Entre nesta conversa para obter notificações e salvá-la na sua lista de canais. - Esta conversa foi arquivada por um(a) moderador(a). Apenas moderadores podem desarquivá-la. + Tópicos + Cabeçalho do tópico + Este tópico foi arquivado. Mande uma mensagem para reabri-lo. + Entre neste tópico para obter notificações e salvá-lo na sua lista de canais. + Este tópico foi arquivado por um(a) moderador(a). Apenas moderadores podem reabri-lo. Qualquer um pode convidar - Não há ninguém nesta conversa. + Não há ninguém neste tópico. Convide pessoas @mencionando-as em uma mensagem. - Não é possível ver esta conversa + Não é possível ver este tópico {count} 50+ mensagens › 50+ › {count} › - Nome da conversa + Nome do tópico Não mostrar novamente Alterar configurações Sua configuração de notificação está definida para Todas as Mensagens Sua configuração de notificação está definida para Todas as Mensagens. [Não mostrar novamente](onClick) canal superior: !!{channelName}!! Quer facilitar quem quiser seguir esta sequência de {count}? - Alguns cargos não foram mencionados ou adicionados à conversa. - Configurações de conversa - As configurações de conversa foram atualizadas. + Alguns cargos não foram mencionados ou adicionados ao tópico. + Configurações de tópico + As configurações de tópico foram atualizadas. Iniciada por $[](usernameHook) - Foi mal, não deu para carregar a primeira mensagem desta conversa + Foi mal, não deu para carregar a primeira mensagem deste tópico Mensagem original do canal - Quando o assunto estiver acabando, a conversa também acabará. - Comece uma conversa a partir de uma mensagem existente, ou clique no ícone + na barra de bate-papo. - Entre em uma conversa para saber as novidades e participe! Ela estará na sua barra lateral do canal. - As conversas te ajudam a organizar os tópicos de debate em um canal. - Diga olá às conversas! - Conversas + Quando o assunto estiver acabando, o tópico também acabará. + Comece um tópico a partir de uma mensagem existente, ou clique no ícone + na barra de bate-papo. + Entre em um tópico para saber as novidades e participe! Ele estará na sua barra lateral do canal. + Os tópicos te ajudam a organizar os assuntos de debate em um canal. + Diga olá aos tópicos! + Tópicos **!!{a}!!**, **!!{b}!!** e **!!{c}!!** estão digitando… A operação demorou muito para ser concluída. Tente novamente. Crie um novo servidor com bate-papo de voz e texto para seus amigos! @@ -8036,12 +8056,12 @@ Alternar compartilhamento de tela Esta mensagem pode conter um token de autenticação do Discord, que pode conceder acesso à sua conta a um invasor. Você quer mesmo enviar? Não há mais espaço para emojis animados. - Este servidor atingiu o máximo de conversas de anúncio ativas. Arquive algumas para liberar espaço. + Este servidor atingiu o máximo de tópicos de anúncio ativos. Arquive alguns para liberar espaço. Não há mais espaço para emojis. - Esta conversa atingiu o número máximo de membros. + Este tópico atingiu o número máximo de membros. Sua reação não foi adicionada porque já existem reações demais nesta mensagem. Apreciamos seu entusiasmo, mas… - Este servidor atingiu o máximo de conversas ativas. Arquive algumas para liberar espaço. + Este servidor atingiu o máximo de tópicos ativos. Arquive alguns para liberar espaço. Você atingiu o limite de {quantity} servidores. Saia de um servidor antes de entrar em outro. Ih, rapaz! Saia de um servidor antes de entrar em outro. @@ -8128,7 +8148,7 @@ O canal está cheio Não foi possível processar a imagem Desarquivar - Desarquivar conversa + Reabrir tópico Retirar banimento Deseja mesmo retirar o banimento de !!{user}!!? Retirar o banimento de !!{user}!! @@ -8243,7 +8263,7 @@ Usar telefone Use comandos de barra e preveja emojis, menções e sintaxe de markdown enquanto digita Usar alto-falante - Abrir conversas em janela dividida + Abrir tópicos em janela dividida Usar detecção de voz Membros devem usar o Aperte para Falar neste canal se esta permissão estiver desativada. Ações de configurações de usuário @@ -8634,7 +8654,7 @@ Ver perfil Ver espectadores Ver mensagens ao redor. - Ver conversa + Ver tópico Você está vendo este servidor como {numRoles}. Voltar às configurações de cargo Selecionar cargos diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 577ec5053f..cae3ad863f 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -3143,7 +3143,6 @@ Deocamdată, evenimentele sunt limitate doar la canalele podium. Pentru a pregăti un eveniment, creează un canal podium. Perfect pentru: $[Întrebări și răspunsuri, Întreabă orice, Discuții în grup](suggestionsHook) Trei vorbitori dintr-un canal podium vorbesc cu un public de cinci persoane, iar doi ascultători au ridicat mâna - Canalele podium au fost create special pentru evenimentele audio ale comunității și au $[instrumente de moderare integrate](moderationHook), cum ar fi $[ridicarea mâinii](handRaiseHook) și $[oprirea implicită a microfonului membrilor din public.](audienceHook) Întrebări și răspunsuri Întreabă orice Folosește un canal podium! @@ -4918,7 +4917,6 @@ Gestionează abonamentul Am redus tarifele Nitro în zona ta. Vezi dacă faci economii plătind în moneda locală. Schimbarea metodei de plată va modifica prețul abonamentului și valuta în {newCurrencyAndPrice}! [Dă clic aici]({helpCenterLink}) pentru a afla mai multe despre cum stabilim ce plătești. - Gestionează abonamentul **Sfat**: Folosește o metodă de plată din {country} pentru a achita abonamentul în {currency}! [Dă clic aici]({helpCenterLink}) pentru a afla mai multe despre cum stabilim prețul și valuta. **Felicitări!** Pentru că locuiești în {country}, acum plătești prețul redus de {newPrice} pentru Nitro! [Află mai multe]({helpCenterLink}). Autentificare @@ -6029,6 +6027,29 @@ Vrei să-ți personalizezi eticheta? Ia-ți Nitro! La încheierea abonamentului Nitro, vei primi un Discord Tag aleatoriu. Această etichetă nu este validă. Etichetele trebuie să fie mai mari decât 0. + Personalizează-ți experiența și exprimă-te pe Discord cu actualizările noastre de vară! + Editează profilul serverului + Configurează un avatar unic pentru fiecare dintre serverele tale. Într-unul ești student, în altul ești personajul tău din D&D, în al treilea ești chiar tu, cel adevărat, orice ar însemna asta… + Avataruri pentru servere + Alătură-te unui număr de până la 200 de servere + Mesaje mai lungi, de până la 4000 de caractere + Selector nou de GIF-uri pentru avatarul sau bannerul tău + …și multe altele! + Editează profilul de utilizator + Scoate în evidență ceea ce te interesează cu adevărat cu un nou banner pentru profil, un avatar animat din aceeași gamă și un tag personalizat. + Bannere pentru profil + Explorează stickerele + Arată-le prietenilor cum te simți cu ajutorul stickerelor personalizate de pe chat pe toate serverele tale și bucură-te de cele 300 de stickere exclusive din Nitro. + Stickere pe chat + Nitro face mari salturi înainte. Astea-s lucruri care-mi plac, oac, oac! Scuze. [Află mai multe despre Nitro.](onLearnMore) + Ce-i nou în Nitro + Am scăzut prețul abonamentelor Nitro în Brazilia! + Am scăzut prețul abonamentelor Nitro în Polonia! + Am scăzut prețul abonamentelor Nitro în Turcia! + Nitro costă acum !!{price}!! + Ia încearcă! + Încarcă un avatar unic pentru fiecare server și multe altele cu Nitro. + Actualizări noi de vară! Încarcă și folosește emoji-uri și avataruri animate Partajează emoji-uri personalizate pe toate serverele Folosește stickerele personalizate oriunde și accesează 300 de stickere Nitro exclusive diff --git a/app/src/main/res/values-ru/plurals.xml b/app/src/main/res/values-ru/plurals.xml index 820678044e..77c1769c09 100644 --- a/app/src/main/res/values-ru/plurals.xml +++ b/app/src/main/res/values-ru/plurals.xml @@ -274,6 +274,9 @@ 1 ч. {hours} ч. + + {mins} + 1 минуту {minutes} минуты diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 275566a3eb..f8722bc432 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -3152,7 +3152,6 @@ В настоящее время события доступны только на трибунах. Создайте такой канал, чтобы организовать событие. Подойдёт для: $[интервью, ответов на вопросы, круглых столов](suggestionsHook) Три выступающих на трибуне говорят для пяти участников аудитории, два слушателя подняли руки - Трибуны созданы специально для голосовых событий сообщества и снабжены $[встроенными инструментами модерации](moderationHook), такими как $[поднятие руки](handRaiseHook) и $[отключение микрофонов у слушателей по умолчанию.](audienceHook) Ответы на вопросы Интервью Попробуйте использовать трибуну! @@ -4927,8 +4926,6 @@ Управление подпиской Мы снизили стоимость подписки Nitro в вашем регионе. Посмотрите, сможете ли вы сэкономить в местной валюте. При смене способа оплаты изменится стоимость вашей подписки и валюта: {newCurrencyAndPrice}. [Щёлкните здесь]({helpCenterLink}), чтобы узнать подробнее о нашей ценовой политике. - Управление подпиской - Мы снизили стоимость подписки Nitro для некоторых регионов. Активируйте вашу подписку Nitro и проверьте, сможете ли вы сэкономить. **Совет**: используйте способ оплаты для страны {country}, чтобы оплачивать подписку в местной валюте ({currency})! [Щёлкните здесь]({helpCenterLink}), чтобы узнать подробнее о нашей ценовой политике. **Ура!** Для жителей страны {country} стоимость подписки Nitro снизилась до {newPrice}! [Подробнее]({helpCenterLink}). Вход @@ -6039,6 +6036,29 @@ Хотите персонализировать свой тег? Перейдите на Nitro! Как только закончится подписка Nitro, ваш Discord Tag будет заменён на случайный. Этот тег недопустим. Тег должен быть больше нуля. + Наши летние обновления дают вам ещё больше возможностей для персонализации и самовыражения в Discord! + Редактировать профиль сервера + Выберите себе уникальный аватар для каждого своего сервера. Будьте студентом на одном сервере, игровым персонажем на другом, а на третьем будьте сами собой (уж как вы себя сами видите)! + Аватары на серверах + Возможность присоединения к 200 серверам + Длинные сообщения до 4000 символов + Новое меню GIF для вашего аватара или баннера + И многое другое! + Редактировать профиль пользователя + Продемонстрируйте свой самый главный интерес, выбрав новый баннер профиля, соответствующий анимированный аватар и пользовательский тег. + Баннеры профиля + Смотреть стикеры + Покажите друзьям в чате свои эмоции, выбирая из пользовательских стикеров со всех ваших серверов, а также из 300 эксклюзивных стикеров Nitro. + Стикеры в чате + Nitro развивается семимильными прыжками! Ква-схитительно! (Извините, вырвалось…) [Подробнее о Nitro.](onLearnMore) + Что нового в Nitro + Мы снизили стоимость подписки Discord Nitro в Бразилии! + Мы снизили стоимость подписки Discord Nitro в Польше! + Мы снизили стоимость подписки Discord Nitro в Турции! + Подписка Discord Nitro теперь за !!{price}!! + Взгляните сами! + Теперь с подпиской Nitro вам доступна загрузка уникального аватара для каждого сервера и другие возможности. + Новые летние обновления! Загружайте и используйте анимированные аватарки и эмодзи. Делитесь пользовательскими эмодзи на всех серверах. Используйте пользовательские стикеры где угодно и получите 300 эксклюзивных стикеров Nitro diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index a40964e7d9..33ede7389b 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -3042,7 +3042,6 @@ Event är än så länge begränsade till podiekanaler. Skapa en kanal för att kunna skapa ett event. Bra för: $[Frågor och svar, frågestunder, paneldiskussion](suggestionsHook) Tre talare i en podiekanal talar till fem medlemmar i publiken. Två medlemmar har sina händer uppräckta - Podiekanaler är specialgjorda för community-ljudevent, med $[inbyggda modereringsverktyg](moderationHook) som $[uppräckt hand](handRaiseHook) och $[publiken tystad som standard.](audienceHook) Frågor och svar Frågestund Testa att använda en podiekanal! @@ -4814,8 +4813,6 @@ Hantera plan Vi har sänkt priset på Nitro där du bor. Se om du kan spara pengar med din lokala valuta. Genom att byta betalningsmetod kommer du att ändra priset på, och valutan för din prenumeration till {newCurrencyAndPrice}! [Klicka här]({helpCenterLink}) för att få veta mer om hur vi fastställer ditt pris. - Hantera plan - Vi har sänkt Nitro-priserna i vissa områden. Aktivera din Nitro-prenumeration igen och kolla om du kan spara något. **Tips**: Använd en betalningsmetod som är lokal för {country} för att betala för din prenumeration i {currency}! [Klicka här]({helpCenterLink}) för att få veta mer om hur vi fastställer pris och valuta. **Hurra!** Som invånare i {country} betalar du nu det rabatterade priset {newPrice} för Nitro! [Ta reda på mer]({helpCenterLink}). Logga in @@ -5878,6 +5875,29 @@ Vill du ändra din tagg? Skaffa Nitro! När din Nitro-prenumeration tar slut kommer din Discord-tagg att återställas. Denna tagg är ogiltig. Värdet måste vara större än 0. + Gör personliga anpassningar och uttryck din personlighet över hela Discord med våra sommaruppdateringar! + Redigera serverprofil + Använd en unik avatar på var och en av dina servrar. Var en student i en, din D&D-karaktär i en annan och ditt riktiga jag i en tredje, vem nu än det kan vara… + Serveravatarer + Gå med i upp till 200 servrar + Längre meddelanden på upp till 4 000 tecken + Ny GIF-väljare för din avatar eller banner + … med mera! + Redigera användarprofil + Framhäv det intresse som utgör hela din personlighet med en ny profilbanner, en matchande animerad avatar och en personlig tagg. + Profilbanners + Titta igenom dekalerna + Visa dina vänner hur du verkligen känner dig genom specialdekaler i chatten från alla dina servrar och använd 300 exklusiva Nitro-dekaler. + Dekaler i chatten + Nitro ligger flera skutt före. Visst är det paddtastiskt? Förlåt. [Läs mer om Nitro.](onLearnMore) + Vad är nytt i Nitro + Vi har sänkt priset på Nitro i Brasilien! + Vi har sänkt priset på Nitro i Polen! + Vi har sänkt priset på Nitro i Turkiet! + Nitro kostar nu !!{price}!! + Kolla in det! + Du kan bl.a. ladda upp en unik avatar för varje server med Nitro. + Nya sommaruppdateringar! Ladda upp och använd animerade avatarer och emojier Dela anpassade emojier på alla servrar Använd egna dekaler var som helst och få tillgång till 300 Nitro-exklusiva dekaler diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 73c2d8c5ac..deeb328dcf 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -3143,7 +3143,6 @@ กิจกรรมถูกจำกัดไว้สำหรับช่องเวทีเท่านั้นในขณะนี้ โปรดสร้างช่องเวทีเพื่อสร้างกิจกรรม เหมาะสำหรับ: $[กิจกรรมถามตอบ การรับฟังข้อสงสัย การพูดคุยเป็นหมู่คณะ](suggestionsHook) ผู้พูดสามคนในช่องเวทีพูดกับสมาชิกผู้ฟังห้าคน สมาชิกผู้ฟังสองคนได้ยกมือขึ้น - ช่องเวทีสร้างขึ้นสำหรับกิจกรรมเสียงในชุมชนโดยเฉพาะ มาพร้อม $[เครื่องมือดูแลในตัว](moderationHook) เช่น $[การยกมือ](handRaiseHook)และ$[การปิดเสียงไมค์ผู้ฟังเป็นค่าเริ่มต้น](audienceHook) กิจกรรมถามตอบ การรับฟังข้อสงสัย ลองใช้ช่องเวที! @@ -4918,8 +4917,6 @@ จัดการแผน เราได้ปรับลดราคา Nitro ในพื้นที่ของคุณแล้ว ลองดูว่าคุณประหยัดลงหรือไม่จากสกุลเงินท้องถิ่น การเปลี่ยนวิธีการชำระเงินของคุณจะเป็นการเปลี่ยนราคาและสกุลเงินของการเป็นสมาชิกของคุณกับ {newCurrencyAndPrice} [คลิกที่นี่]({helpCenterLink}) เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่เรากำหนดราคาที่คุณชำระ - จัดการแผน - เราได้ลดราคา Nitro ในบางพื้นที่ เปิดใช้งานการสมัครสมาชิก Nitro ของคุณอีกครั้งและดูว่าคุณสามารถบันทึกได้หรือไม่ **เคล็ดลับ**: ใช้วิธีการชำระเงินในประเทศกับ {country} เพื่อชำระค่าสมาชิกของคุณเป็น {currency}! [คลิกที่นี่]({helpCenterLink}) เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่เรากำหนดราคาและสกุลเงิน **เย้!** ในฐานะผู้อาศัยอยู่ใน {country} คุณจะจ่ายค่า Nitro ได้ถูกลงในราคาเพียง {newPrice}! [เรียนรู้เพิ่มเติม]({helpCenterLink}) เข้าสู่ระบบ @@ -6030,6 +6027,29 @@ ต้องการปรับแท็กของคุณพิเศษไหม ทำ Nitro เมื่อสิ้นสุดการสมัครสมาชิก Nitro ของคุณแล้ว Discord Tag ของคุณจะถูกสุ่ม แท็กนี้ไม่ถูกต้อง แท็กต้องมีค่ามากกว่า 0 + ปรับแต่งและแสดงตัวตนของคุณทั่วทั้ง Discord ด้วยการอัปเดตช่วงฤดูร้อนของเรา! + แก้ไขโปรไฟล์เซิร์ฟเวอร์ + ตั้งค่าสัญลักษณ์ประจำตัวที่ไม่เหมือนใครในแต่ละเซิร์ฟเวอร์ของคุณ อาจจะเป็นนักเรียนในเซิร์ฟเวอร์หนึ่ง แล้วไปเป็นตัวละคร D&D ในอีกเซิร์ฟเวอร์ ก่อนจะเผยตัวตนจริงในเซิร์ฟเวอร์ที่สาม ซึ่งจะเป็นแบบไหนก็ได้… + สัญลักษณ์ประจำตัวในเซิร์ฟเวอร์ + เข้าร่วมเซิร์ฟเวอร์ได้สูงสุด 200 เซิร์ฟเวอร์ + พิมพ์ข้อความได้ยาวขึ้นสูงสุด 4,000 ตัวอักษร + ตัวเลือก GIF ใหม่สำหรับสัญลักษณ์ประจำตัวและแบนเนอร์ + …และอื่น ๆ อีกมากมาย! + แก้ไขโปรไฟล์ผู้ใช้ + ไฮไลต์ความสนใจหนึ่งเดียวที่เป็นตัวตนของคุณด้วยแบนเนอร์โปรไฟล์ใหม่ที่เข้ากับสัญลักษณ์ประจำตัวแบบเคลื่อนไหวและแท็กแบบกำหนดเอง + แบนเนอร์โปรไฟล์ + เลือกดูสติกเกอร์ + แสดงความรู้สึกที่แท้จริงของคุณให้เพื่อน ๆ รู้ด้วยสติกเกอร์แบบกำหนดเองในแชทจากทุกเซิร์ฟเวอร์ของคุณ และใช้สติกเกอร์พิเศษของ Nitro กว่า 300 รายการ + สติกเกอร์ในแชท + Nitro พัฒนาขึ้นไปอีกจนสุดยอด คงหนาวไม่ใช่เล่นเลยนะตรงนั้น โทษที [เรียนรู้เพิ่มเติมเกี่ยวกับ Nitro](onLearnMore) + มีอะไรใหม่ใน Nitro + เราได้ปรับลดราคา Nitro ในบราซิลแล้ว! + เราได้ปรับลดราคา Nitro ในโปแลนด์แล้ว! + เราได้ปรับลดราคา Nitro ในตุรกีแล้ว! + Nitro ปรับราคาเป็น !!{price}!! แล้ว + มาลองดูกัน! + อัปโหลดสัญลักษณ์ประจำตัวที่ไม่ซ้ำใครในแต่ละเซิร์ฟเวอร์ และทำสิ่งอื่น ๆ อีกมากมายด้วย Nitro + การอัปเดตใหม่ช่วงฤดูร้อน! อัปโหลดและใช้อวตารและอีโมจิแบบเคลื่อนไหว แชร์อีโมจิแบบกำหนดเองนี้ให้ทั่วเซิร์ฟเวอร์เลย ใช้สติกเกอร์แบบกำหนดเองได้ทุกที่และเข้าถึงสติกเกอร์พิเศษเฉพาะ Nitro กว่า 300 รายการ diff --git a/app/src/main/res/values-tr/plurals.xml b/app/src/main/res/values-tr/plurals.xml index b57f7d2736..bb63467242 100644 --- a/app/src/main/res/values-tr/plurals.xml +++ b/app/src/main/res/values-tr/plurals.xml @@ -674,7 +674,7 @@ {#} bahsetme - {#}bahsetme + {#} bahsetme 1 kullanıcı diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 13082c6982..93384e3e01 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -88,8 +88,8 @@ Bu işlem biraz sürebilir. Eylemler Mobilde Aktif - Aktif Başlıklar - Diğer Aktif Başlıklar + Aktif Alt Başlıklar + Diğer Aktif Alt Başlıklar Tümünü Göster Etkinlik Evet, varım! @@ -258,7 +258,7 @@ Doğum günün Diğer adıyla Daha fazla sunucu avatarı gör - Tüm Aktif Başlıklar + Tüm Aktif Alt Başlıklar Bütün Sunucular İzin Ver Direkt Mesajlara izin ver @@ -636,8 +636,8 @@ Uygulamalar Şimdi Arşivle Arşiv Ayarları - Başlığı Arşivle - Arşivlenen başlıklarda tepki ekleyemez veya kaldıramazsın. + Alt Başlığı Arşivle + Arşivlenen alt başlıklarda tepki ekleyemez veya kaldıramazsın. Dosya Ekle **{months} kredin var**. Kredin bittikten sonra kesintilerin yaşanmaması için bir ödeme kaynağı belirtmen gerekiyor. Devam etmek için bir ödeme yöntemi ekle @@ -701,7 +701,7 @@ 3 gün {duration} boyunca etkin olmadığında arşivle Şu zamanda arşivle: {time} - Başlık, şu saatte arşivlenecek: {time} + Alt başlık, şu saatte arşivlenecek: {time} Çıkartma Önerileri Mesaj yazarken çıkartma önerileri sunar. Bu bilgisayarda OBS ya da XSplit çalışıyorsa otomatik olarak Yayıncı Modunu etkinleştir/devre dışı bırak. @@ -754,7 +754,7 @@ **!!{name}!!** grubunun başlangıcına hoş geldin. İşin bitince bu gruptan otomatik olarak ayrılacaksın. Bu, **özel** !!{channelName}!! kanalının doğuşu. $[](topicHook) - Bu başlık $[](autoArchiveDurationHook) boyunca etkin olmadığında arşivlenecek. + Bu alt başlık $[](autoArchiveDurationHook) boyunca etkin olmadığında arşivlenecek. Beta Bulgarca Faturalandırma @@ -985,8 +985,8 @@ Mesajın iletilemedi. Bunun nedeni alıcıyla herhangi bir sunucu paylaşmıyor olman veya alıcının sadece arkadaşlarından direkt mesaj kabul ediyor olması olabilir. Bu duruma yol açabilecek diğer nedenleri buradan görebilirsin: {helpUrl} Mesajın iletilemedi. Bunun nedeni alıcıyla herhangi bir sunucu paylaşmıyor olman veya alıcının sadece arkadaşlarından direkt mesaj kabul ediyor olması olabilir. Bu duruma yol açabilecek diğer nedenleri [buradan]({helpUrl}) görebilirsin. Bu kanala mesaj gönderme geçici olarak devre dışı bırakıldı. Biraz sonra tekrar dene. - Bu sunucu maksimum duyuru başlığı sayısına ulaştığı için mesajın gönderilemedi. Bir başlığı arşivleyerek yer aç. - Bu sunucu maksimum başlık sayısına ulaştığı için mesajın gönderilemedi. Bir başlığı arşivleyerek yer aç. + Bu sunucu maksimum duyuru alt başlığı sayısına ulaştığı için mesajın gönderilemedi. Bir alt başlığı arşivleyerek yer aç. + Bu sunucu maksimum alt başlık sayısına ulaştığı için mesajın gönderilemedi. Bir alt başlığı arşivleyerek yer aç. Hop dur bakalım! !!{name}!! bünyesindekilerden biri, çoğu zaman doğru olan robotlarımızın sakıncalı gördüğü tüm mesajların Discord tarafından engellenmesini istedi, bu yüzden mesajın gönderilmedi. Hop dur bakalım! !!{name}!! sahibi, çoğu zaman doğru olan robotlarımızın sakıncalı gördüğü tüm mesajların Discord tarafından engellenmesini istedi, bu yüzden mesajın gönderilmedi. Burada mesaj göndermeden önce e-postanı veya telefonunu doğrulaman gerekiyor. @@ -1104,18 +1104,18 @@ Kamera Mevcut Değil Bilinmeyen Kamera Hatası İptal - Başlığa kullanıcı eklenemedi + Alt başlığa kullanıcı eklenemedi Dosya eklemeye iznin yok - Başlık oluşturulamadı + Alt başlık oluşturulamadı Kanal Silinemiyor Bu izne sahip değilsin, bu yüzden geri çekemezsin. İzinleri kendinizden geri çekemezsiniz. Bu izni geri çekmek bunu sizden siler. - Başlığa katılamadın + Alt başlığa katılamadın Bu kişi senden daha yüksek bir role sahip, yani onu yönetemezsin. Bu kişi sunucunun sahibi, yani onu yönetemezsin. Bu kişinin en yüksek rolü seninkiyle aynı, yani onu yönetemezsin. - Başlık arşivden çıkarılamadı + Alt başlık arşivden çıkarılamadı Captcha Captcha başarısız oldu. Lütfen tekrar deneyin. Captcha başarısız, Google Play Hizmetleri gerekli. Yükledikten veya güncelledikten sonra lütfen uygulamayı yeniden başlat ve tekrar dene. @@ -1261,7 +1261,7 @@ Sahne (Kilitli) Mağaza Metin - Metin (Aktif Başlıklar) + Metin (Aktif Alt Başlıklar) Metin (Sınırlı) Metin (NSFW) Ses @@ -1364,9 +1364,9 @@ Mesajın Mesajına ┬─┬ ノ( ゜-゜ノ) ekler. Mesajın - Yeni başlık başlat - Başlığındaki ilk mesajı yaz - Başlığının adını yaz + Yeni alt başlık başlat + Alt başlığındaki ilk mesajı yaz + Alt başlığının adını yaz Bu mesajı kanalı gören tüm üyelere okumak için metin okumayı kullan. Mesajın True veya false\'dan birini seç. @@ -1835,9 +1835,9 @@ Takipçi sunuculara paylaşım yapabilen metin kanalı Oh, başka bir sunucu daha! Özel Bir Metin Kanalı Oluştur - Özel Başlıklar Oluştur + Özel Alt Başlıklar Oluştur Özel Bir Ses Kanalı Oluştur - Herkese Açık Başlıklar + Herkese Açık Alt Başlıklar Oluştur Sunucu Oluştur Yeni bir sunucu oluştur ve arkadaşlarını davet et. Bir sunucu oluştur @@ -1876,8 +1876,8 @@ SKU Metin Kanalı Oluştur Resimler, GIF\'ler, çıkartmalar, fikirler ve şakalar paylaş - Başlık Oluştur - Bu kanalda bir başlık başlatmak için bir mesaj gönder! + Alt Başlık Oluştur + Bu kanalda bir alt başlık başlatmak için bir mesaj gönder! $[](durationHook) boyunca etkin olmadığında arşivlenecek. Ses Kanalı Oluştur Sesli veya görüntülü konuş veya ekran paylaş @@ -1990,7 +1990,7 @@ Sunucu adı gir Sunucu adını doğru şekilde girmedin \'!!{name}!!\' Sunucusunu Sil - Başlığı Sil + Alt Başlığı Sil Topluluk sunucularının, Discord\'un önemli topluluk sunucusu güncellemelerini gönderebileceği bir Topluluk Güncellemeleri kanalı olması gerekir. Açıklama Bu kanalın silinebilmesi için önce [Sunucu Ayarları > Topluluk > Genel Bakış](onClick) bölümünden başka bir kanal ataman gerekir. @@ -2117,7 +2117,7 @@ Konuyu değiştir Sahneyi Düzenle [çıkmak](onCancel) için esc • [kaydetmek](onSave) için enter - Başlığı Düzenle + Alt Başlığı Düzenle !!{user}!! Kullanıcısını Düzenle Mesaj Düzenleniyor Yunanca @@ -2222,7 +2222,7 @@ Bu emoji çok büyük! Emojiler en fazla {maxSize}kb olabilir. Daha fazla bilgi almak için tıkla {count} - Kullanıcıları bu özel başlığa eklemek için @bahsetme özellini kullan. + Kullanıcıları bu özel alt başlığa eklemek için @bahsetme özelliğini kullan. İngilizce İngilizce, BK İngilizce, ABD @@ -2291,7 +2291,7 @@ Görünüşe göre Discord beklenmedik bir şekilde çöktü…. İspanyolca **{role}** rolünü kullanarak {count}+ kişiden bahsetmek üzeresin. Bunu yapmak istediğinden emin misin? - **{role}** rolünü kullanarak bu başlıktaki {count}+ kişiden bahsetmek üzeresin. Bunu yapmak istediğinden emin misin? + **{role}** rolünü kullanarak bu alt başlıktaki {count}+ kişiden bahsetmek üzeresin. Bunu yapmak istediğinden emin misin? Göndermek için **ENTER** Düzenlemek için **ESC** Bunun yerine bir rolden veya kullanıcıların kendilerinden bahsetmeye ne dersin? @@ -2452,14 +2452,14 @@ Ses teşhisi için ses kaydı, sesle ilgili sorunları analiz etmek için kullanılır. Son beş dakikadaki sesler ses modülü klasörüne kaydedilir. Aktif olmama zaman aşımından daha uzun süre etkin olmayan üyeleri otomatik olarak bu kanala taşı ve sustur. Bu ayar tarayıcıları etkilemez. Konuşurken diğer uygulamaların sesini bu kadar kıs. Kısmayı engellemek için ayarı %%0 da kullan. - Başlıklar, belirlenen etkin olmama süresinden sonra arşivlenecek. + Alt başlıklar, belirlenen etkin olmama süresinden sonra arşivlenecek. Gösterge sürekli yeşili gösteriyorsa Discord güzel sesini iletiyor demektir. BÜTÜN BİTLER! {bitrate} kbps\'den yukarı çıkmak bağlantısı kötü olan kişileri olumsuz etkileyebilir. Discord Onaylı bir mikrofon kullanırken belirli ses işleme özellikleri artık Discord tarafından değil, mikrofon tarafından çalıştırılır. Gizlilik ayarlarını değiştir ve üyelerin bu kanalla etkileşime geçme biçimlerini özelleştir. Hata ayıklama amacıyla bir sonraki ses/video bağlantısında alınan bütün RTP verilerini kaydeder. Hata ayıklama günlüklerini sorun giderme için Discord Destek ekibine gönderebileceğin ses modül klasörüne kaydeder. - Yeni başlıklar, belirlenen etkin olmama süresinden sonra arşivlenecek şekilde ayarlandı. + Yeni alt başlıklar, belirlenen etkin olmama süresinden sonra arşivlenecek şekilde ayarlandı. Bu, bildirim ayarlarını açık bir şekilde ayarlamamış kullanıcıların bu sunucuda gönderilen her mesajda bildirim alıp almayacağını belirleyecek. Bunu herkese açık bir Discord için sadece @bahsetme olarak ayarlamanı şiddetle öneririz Devreye girmesi 15 dakikayı bulabilir. Bu resim, Keşif listesindeki yerinde görüntülenecek. Önerilen en düşük boyut 1920x1080 ve önerilen görüntü oranı 16:9. @@ -2478,7 +2478,7 @@ Bu görsel, kanal listenin en üstünde görüntülenecek. Topluluğunu tarif et. Bu açıklama, bu sunucunun davet bağlantısının dış eklemelerinde görüntülenecektir. Discord, seçili dili konuşan kullanıcılar için Keşif\'te bu sunucuyu ön plana çıkaracak. Discord tarafından Moderatörlere özel kanala gönderilen güncellemeler de bu dilde yapılacak. - Kanal Yönetimi ve Mesaj Yönetimi yetkileri olmayan üyelerin mesaj gönderme ve başlık oluşturma sıklığı bu sürede bir tane ile kısıtlanır. + Kanal Yönetimi ve Mesaj Yönetimi yetkileri olmayan üyelerin mesaj gönderme ve alt başlık oluşturma sıklığı bu sürede bir tane ile kısıtlanır. Kanal Yönetimi ve Mesaj Yönetimi yetkileri olmayan üyelerin mesaj gönderme sıklığı bu sürede bir tane ile kısıtlanır. Sistem etkinlik mesajlarını bu kanala gönderiyoruz. Bunları istediğin zaman kapatabilirsin. Sunucu kurulumu için yardımcı ipuçları gönder. @@ -2662,12 +2662,12 @@ Ses seviyesi Bir sunucu adı girin Herkes sana nasıl hitap etmeli? - Bu başlığı yalnızca davet ettiğin kişiler ve moderatörler görebilir. + Bu alt başlığı yalnızca davet ettiğin kişiler ve moderatörler görebilir. Raporlar Discord Güven ve Güvenlik Ekibine gönderilir - **sunucu sahibine değil**. Sahte raporlar oluşturmak ve/veya rapor etme düğmesini spam\'lemek bir süreliğine raporlama yeteneklerinin kısıtlanmasına neden olabilir. Daha fazla bilgi için: [Discord Topluluk İlkeleri]({guidelinesURL}). Güvenlik ve düzen sağlamaya verdiğin önem için teşekkürler. Etkin Olmadığında Arşivle Ad - Yeni Başlık - Başlık adı gereklidir + Yeni Alt Başlık + Alt Başlık adı gereklidir Yeni kişileri davet etmek için onlardan @bahset. Yalnızca davet ettiğin kişiler ve moderatörler görebilir Konuşmayı başlatmak için bir mesaj yaz! @@ -3153,7 +3153,6 @@ Etkinlikler şimdilik Sahne kanallarıyla sınırlı. Etkinlik oluşturmak için lütfen bir Sahne kanalı aç. Kullanım alanlar: $[Q&A, AMA, Panel Tartışması](suggestionsHook) Sahne kanalında üç konuşmacı, beş dinleyici üyesiyle konuşur, iki dinleyici üye el kaldırır - Sahne kanalları $[el kaldırma](handRaiseHook) ve $[dinleyicilerin varsayılan olarak susturulması](audienceHook) gibi $[dahili moderasyon araçlarıyla](moderationHook) özellikle toplulukla yapılan ses etkinlikleri için hazırlanmıştır. Q&A AMA Bir Sahne kanalı kullanmayı dene! @@ -3318,13 +3317,13 @@ Çıkartma Oluştur Çıkartmayı Sil Çıkartmayı Güncelle - Başlık Oluştur - Başlığı Sil - Başlığı Güncelle + Alt Başlık Oluştur + Alt Başlığı Sil + Alt Başlığı Güncelle Webhook Oluştur Webhook\'u Sil Webhook\'u Güncelle - $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) duyuru başlığını oluşturdu + $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) duyuru alt başlığını oluşturdu $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) kullanıcısını sunucuya ekledi Bit hızı **!!{newValue}!!** olarak değiştirildi Bit hızını **!!{newValue}!!** olarak ayarla @@ -3452,7 +3451,7 @@ $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) tarafından bir mesajın $[**!!{channel}!!**](channelHook) kanalındaki sabitlemesini kaldırdı **!!{oldValue}!!** olan isim **!!{newValue}!!** olarak değiştirildi **!!{newValue}!!** adı ile - $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) özel başlığını oluşturdu + $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) özel alt başlığını oluşturdu Renk **!!{newValue}!!** $[](newColorHook) olarak ayarlandı Rengi **!!{newValue}!!** olarak ayarla Renksiz @@ -3491,19 +3490,19 @@ $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) çıkartmasını güncelledi **!!{oldValue}!!** olan etiketler **!!{newValue}!!** olarak değiştirildi **!!{newValue}!!** etiketleri ile - Başlık arşivlendi + Alt başlık arşivlendi {newValue} {newValue} - $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) başlığını oluşturdu - $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) başlığını sildi - Moderatör olmayanların başlığa üye ekleme izni kaldırıldı - Moderatör olmayanların başlığa üye eklemesine izin verildi - Başlık kilitlendi, yalnızca moderatörler tarafından arşivden çıkarılabilir + $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) alt başlığını oluşturdu + $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) alt başlığını sildi + Moderatör olmayanların alt başlığa üye ekleme izni kaldırıldı + Moderatör olmayanların alt başlığa üye eklemesine izin verildi + Alt başlık kilitlendi, yalnızca moderatörler tarafından arşivden çıkarılabilir **!!{oldValue}!!** olan isim **!!{newValue}!!** olarak değiştirildi İsim **!!{newValue}!!** olarak ayarlandı - Başlık arşivden çıkarıldı - Başlığın kilidi açıldı, moderatör olmayanlar tarafından arşivden çıkarılabilir - $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) başlığında değişiklikler yaptı + Alt başlık arşivden çıkarıldı + Alt başlığın kilidi açıldı, moderatör olmayanlar tarafından arşivden çıkarılabilir + $[**!!{user}!!**](userHook), $[**!!{target}!!**](targetHook) alt başlığında değişiklikler yaptı {date} saat {time} Bilinmeyen eylem Avatar değiştirildi @@ -3659,15 +3658,15 @@ Tüm sunucu davetlerin için özelleştirilebilir bir arka plan yükle! Sunucunda herkesin kullanması için kendi çıkartma tasarımlarını yükle. Yüksek kaliteli oyun yayınlarını yüksek kalitede paylaş. - Başlığını 3 gün etkin olmadıktan sonra sona erecek şekilde ayarlayarak uzun bir hafta sonu boyunca aktif tut. + Alt başlığını 3 gün etkin olmadıktan sonra sona erecek şekilde ayarlayarak uzun bir hafta sonu boyunca aktif tut. Arkadaşlarını daha yüksek çözünürlükte duy! Topluluğunu en iyi temsil eden dekoratif bir afiş yükle! Sunucu adının altında görünür. Her rol için özgün bir simge ayarla. Simgeler sohbette ve üye listesinde görünür. Kendini daha da fazla yöntemle ifade etmen için daha da fazla emoji! Daha fazla özel ifade için daha fazla çıkartma yeri! Arkadaşlarına yüksek kalitede yayın yap. - Başlıklar yalnızca 1 hafta etkin olmadıktan sonra sona ererek yeni sohbetlerin keşfedilmesi için daha fazla zaman tanır. - Yalnızca seçili üyelerin görüp kullanabileceği başlıklar oluştur. + Alt başlıklar yalnızca 1 hafta etkin olmadıktan sonra sona ererek yeni sohbetlerin keşfedilmesi için daha fazla zaman tanır. + Yalnızca seçili üyelerin görüp kullanabileceği alt başlıklar oluştur. Yüksek kaliteli meme paylaşımı için daha büyük dosya yükleme boyutu. **(Sadece sunucu içinde)** Arkadaşlarını en yüksek çözünürlükle duy. Sanki yanı başında oturuyormuş gibi… Kendini ifade etmeye yönelik tüm ihtiyaçların için onlarca emoji yerine sahip ol. @@ -3677,12 +3676,12 @@ Hareketli sunucu simgesi Özel sunucu daveti arka planı Arkadaşlarına yüksek kalitede yayın yap. - Başlıklar için 3 gün sonra arşiv seçeneği + Alt başlıklar için 3 gün sonra arşiv seçeneği Sunucu Afişi Özel Rol Simgeleri 1080p 60fps Go Live yayınları - Başlıklar için 1 hafta sonra arşiv seçeneği - Özel başlıklar oluştur + Alt başlıklar için 1 hafta sonra arşiv seçeneği + Özel alt başlıklar oluştur Sunucu için Özel URL {bitrate} Kbps ses kalitesi +{adding} sunucu emojisi yeri (toplamda {total}) @@ -3881,9 +3880,9 @@ !!{channelName}!! (sahne kanalı), {userCount} / {limit} kullanıcı !!{channelName}!! (sahne kanalı), {userCount} !!{channelName}!! (mağaza kanalı) - !!{channelName}!! (başlık) - {mentionCount}, !!{channelName}!! (başlık) - okunmamış, !!{channelName}!! (başlık) + !!{channelName}!! (alt başlık) + {mentionCount}, !!{channelName}!! (alt başlık) + okunmamış, !!{channelName}!! (alt başlık) !!{channelName}!! (ses kanalı) !!{channelName}!! (ses kanalı), {userCount}/{limit} kullanıcı !!{channelName}!! (ses kanalı), {userCount} @@ -4701,7 +4700,7 @@ Bir Sunucuya Katıl Bir sunucuya katıl Yayına katıl - Başlığa Katıl + Alt Başlığa Katıl Görüntülü Aramaya Katıl Görüntülü Kanala Katıl Sesli Aramaya Katıl @@ -4831,7 +4830,7 @@ **!!{name}!!** sunucusundan ayrılmak istediğine emin misin? Tekrar davet edilmediğin sürece bu sunucuya tekrar katılamayacaksın. !!{name}!! sunucusundan ayrılmak istediğine emin misin? \'!!{name}!!\' Sunucusundan Ayrıl - Başlıktan Ayrıl + Alt Başlıktan Ayrıl Gidelim Kitaplık Açık mavi @@ -4928,8 +4927,6 @@ Planı Yönet Bölgendeki Nitro fiyatını düşürdük. Yerel para biriminle tasarruf edip etmediğini öğren. Ödeme yöntemini değiştirmek abonelik fiyatını ve para birimini {newCurrencyAndPrice} olarak değiştirir. Ne kadar ödediğini belirleme yöntemimiz hakkında daha fazla bilgi edinmek için [buraya tıkla]({helpCenterLink}). - Planı Yönet - Bazı bölgelerde Nitro fiyatlarını indirdik. Aboneliğini yeniden başlatarak bundan faydalanıp faydalanamayacağına bak. **Öneri**: Aboneliğini {currency} ile ödemek istiyorsan {country} için yerel olan bir ödeme yöntemi kullan! Fiyat ve para birimini belirleme yöntemimiz hakkında daha fazla bilgi edinmek için [buraya tıkla]({helpCenterLink}). **Yaşasın!** {country} bölgesinde yaşayan biri olarak artık Nitro için {newPrice} olan indirimli fiyatı ödüyorsun! [Daha Fazla Bilgi Edin]({helpCenterLink}). Giriş @@ -4979,7 +4976,7 @@ Bu izne sahip üyeler yeni roller oluşturabilir ve bundan daha alt rolleri düzenleyebilir/kaldırabilir. Sunucuyu Yönet Bu yetkiye sahip üyeler sunucunun adını ve bölgesini değiştirebilir. - Başlıkları Yönet + Alt Başlıkları Yönet Kullanıcıyı Yönet Yönet Webhook\'ları Yönet @@ -5064,7 +5061,7 @@ Hediye Et Üye Üye Listesi - Bu başlığı yalnızca davet ettiğin kişiler ve moderatörler görebilir. + Bu alt başlığı yalnızca davet ettiğin kişiler ve moderatörler görebilir. Bu kişi sunucunun sahibidir ve rollere bakılmaksızın her zaman bütün yetkilere sahiptir. Bir soru ekle Bir kural ekle @@ -5297,9 +5294,9 @@ Herkesten (@everyone) isteğe izin ver Konuşmacı Ol Moderatör Görünümü - Tüm kullanıcıların oluşturduğu bütün özel başlıkları gör - Moderatör görünümü başkalarının oluşturduğu olanlar da dahil, bütün özel başlıkları görmeni sağlar. - Tüm kullanıcıların oluşturduğu bütün özel başlıkları gör + Tüm kullanıcıların oluşturduğu bütün özel alt başlıkları gör + Moderatör görünümü başkalarının oluşturduğu olanlar da dahil, bütün özel alt başlıkları görmeni sağlar. + Tüm kullanıcıların oluşturduğu bütün özel alt başlıkları gör Emin misin? Aylık Aylık Sunucu Aboneliği (!!{planName}!!) @@ -5429,7 +5426,7 @@ Discord\'a devam et Discord\'u kullanmaya devam etmek için, lütfen güncellenen Hizmet Koşullarımızı ve Gizlilik Politikamızı oku ve kabul et. Hizmet Koşulları ve Gizlilik Güncellemesi - Yeni Başlık + Yeni Alt Başlık Yeni Okunmamışlar Duyuru Kanalı Takipçi sunuculara paylaşım yapabilen metin kanalı @@ -5500,7 +5497,7 @@ Ne kadar renksiz, duygusuz bir dünya. Tepki Yok Birkaç konuşma başlat ve ardından onları burada takip et! - Bu başlıkta yeni mesajlar bulunmuyor. + Bu alt başlıkta yeni mesajlar bulunmuyor. Sonuç bulunamadı Bu kanalda özel izinler bulunuyor. Ekran Paylaşımı\'nı kullanabilmen için, izinlerin sunucu moderatörü veya yönetici görevindeki bir kişi tarafından değiştirilmeli. Ekran Paylaşımı İzni Yok @@ -5512,7 +5509,7 @@ Sistem Mesajı Yok Hayır Hayır, teşekkürler - Henüz bu başlıkta bir mesaj bulunmuyor. + Henüz bu alt başlıkta bir mesaj bulunmuyor. Limit yok Görüntü Cihazı Yok Bu kanalda özel izinler bulunuyor. Video kullanabilmen için, izinlerin sunucu moderatörü veya yönetici görevindeki bir kişi tarafından değiştirilmeli. @@ -6040,6 +6037,29 @@ Etiketini özelleştirmek mi istiyorsun? Nitro Al! Nitro aboneliğin bittiğinde, Discord Etiketin rastgele olarak değiştirilir. Bu etiket geçersiz. Etiketler 0\'dan büyük olmalıdır. + Yaz güncellemelerimizle Discord\'da kimliğini özelleştir ve kendini ifade et! + Sunucu Profilini Düzenle + Her sunucunda eşsiz bir avatar ayarla. Birinde öğrenci, başkasında D&D karakterin, bir başkasında da gerçek kimliğin olsun (o hangisiyse artık). + Sunucu Avatarları + 200 kadar sunucuya katıl + 4000 karaktere kadar daha uzun mesajlar + Avatar ya da afişin için yeni GIF seçici + …ve daha fazlası! + Kullanıcı Profilini Düzenle + Yeni bir profil afişi, uyumlu bir hareketli avatar ve özel etiketle tüm kişiliğini oluşturan ilgi alanını öne çıkar. + Profil Afişleri + Çıkartmalara Göz At + Sohbette arkadaşlarına nasıl hissettiğini bütün sunucularındaki özel çıkartmalarınla göster ve 300 özel Nitro çıkartmasının keyfini çıkar. + Sohbette Çıkartmalar + Nitro\'yla bastık gaza. Durdurabilene aşk olsun. [Nitro hakkında daha fazla bilgi al.](onLearnMore) + Nitro\'daki Yenilikler + Brezilya\'da Nitro fiyatını düşürdük! + Polonya\'da Nitro fiyatını düşürdük! + Türkiye\'de Nitro fiyatını düşürdük! + Nitro şimdi !!{price}!! + Hemen göz at! + Nitro ile her sunucu için eşsiz bir avatar yükle ve daha fazlasını yap. + Yeni Yaz Güncellemeleri! Hareketli avatarlar ve emojiler yükle ve kullan Tüm sunucularda özel emojiler paylaş Özel çıkartmaları her yerde kullan ve Nitro\'ya özel 300 çıkartmaya eriş @@ -6102,7 +6122,7 @@ Avatar, afiş ve URL için Sunucu Özelleştirmesi Daha fazla özel emoji alanı Özel çıkartmalar için yeni yerler aç - Özel başlıklar oluştur ve başlıkları 1 haftaya kadar sakla + Özel alt başlıklar oluştur ve alt başlıkları 1 haftaya kadar sakla Tüm sunucu üyeleri için daha büyük yükleme boyutu Takviye yapılan sunucular şunları kazanabilirler: Her rol için özgün bir simge seç ve sergile @@ -6251,8 +6271,8 @@ Her rol için özgün bir simge ayarlamak için bir görsel yükle veya bir emoji seç Bir sunucu afişiyle herkese sunucunun detaylarını göster Herkesin kullanabileceği özel çıkartmalar yükle - Başlıklar için daha uzun arşiv seçenekleri - Özel başlıklar oluştur + Alt başlıklar için daha uzun arşiv seçenekleri + Özel alt başlıklar oluştur **{quantity}x** {quantity} - **!!{rate}!!** **{boostQuantity}x** {quantity} - **!!{rate}!!** (Abonelik askıda) **{boostQuantity}x** {quantity} (Abonelik askıda) @@ -6562,7 +6582,7 @@ {count} eklendi. Özel kanallar Bu özel kanalı oluşturmak için **Kanalları Görüntüleme** izni gerekli. - Özel Başlık + Özel Alt Başlık Bu özel kanalı oluşturmak için **Kanalları Görüntüleme** ve **Bağlanma** izinleri gerekli. Profil Discord Nitro ile kendi kişiselleştirilmiş afişini ve daha fazlasını yükle! @@ -6737,7 +6757,7 @@ Tepkiyi Sil !!{name}!! rolünü/kişisini sil Rolü Kaldır - !!{user}!! kullanıcısını başlıktan çıkar + !!{user}!! kullanıcısını alt başlıktan çıkar Özel URL\'yi Sil Sohbete yapıştırılan linkler için internet sitesi önizlemesi göster. Bağlantı Ön İzleme @@ -6940,12 +6960,12 @@ Üyelerin bu sunucuya doğrudan bu kanalların davet bağlantısıyla yeni kişiler davet edebilmesini sağlar. Üyelerin bu sunucuya doğrudan bu kanalın davet bağlantısıyla yeni kişiler davet edebilmesini sağlar. Üyelerin bu sunucuya doğrudan bu kanalın davet bağlantısıyla yeni kişiler davet edebilmesini sağlar. Alıcı, bağlanma izni olduğu takdirde otomatik olarak ses kanalına katılır. - Üyelerin sadece davet ile girilebilen başlıklar oluşturmasına izin ver. - Üyelerin bu kanallarda sadece davet ile girilebilen başlıklar oluşturmasına izin ver. - Üyelerin bu kanalda sadece davet ile girilebilen başlıklar oluşturmasına izin ver. - Üyelerin bir kanalın içinde olan herkesin görebileceği başlıklar oluşturmasına izin ver. - Üyelerin bu kanalların içinde olan herkesin görebileceği başlıklar oluşturmasına izin ver. - Üyelerim bu kanalın içinde olan herkesin görebileceği başlıklar oluşturmasına izin ver. + Üyelerin sadece davet ile girilebilen alt başlıklar oluşturmasına izin ver. + Üyelerin bu kanallarda sadece davet ile girilebilen alt başlıklar oluşturmasına izin ver. + Üyelerin bu kanalda sadece davet ile girilebilen alt başlıklar oluşturmasına izin ver. + Üyelerin bir kanalın içinde olan herkesin görebileceği alt başlıklar oluşturmasına izin ver. + Üyelerin bu kanalların içinde olan herkesin görebileceği alt başlıklar oluşturmasına izin ver. + Üyelerin bu kanalın içinde olan herkesin görebileceği alt başlıklar oluşturmasına izin ver. Üyelerin ses kanallarında başka üyeleri sağırlaştırabilmesini sağlar. Sağırlaştırılan üyeler konuşamaz veya kimseyi duyamaz. Üyelerin bu ses kanallarında başka üyeleri sağırlaştırabilmesini sağlar. Sağırlaştırılan üyeler konuşamaz veya kimseyi duyamaz. Üyelerin bu ses kanalında başka üyeleri sağırlaştırabilmesini sağlar. Sağırlaştırılan üyeler konuşamaz veya kimseyi duyamaz. @@ -6972,9 +6992,9 @@ Üyelerin bu kanalın izinlerini değiştirebilmesini sağlar. Üyelerin bu kanalın izinlerini değiştirebilmesine izin ver. Üyelerin sunucunun adıyla bölgesini değiştirmesini ve sunucuya bot ekleyebilmesini sağlar. - Üyelerin başlıkları yeniden adlandırmasına, silmesine, arşivlemesine ya da arşivden çıkarmasına ve yavaş modu açmasına izin verir. Üyeler, ayrıca özel başlıkları da görüntüleyebilirler. - Üyelerin bu kanallarda başlıkları yeniden adlandırmasına, silmesine, arşivlemesine ya da arşivden çıkarmasına ve yavaş modu açmasına izin verir. Üyeler, ayrıca özel başlıkları da görüntüleyebilirler. - Üyelerin bu kanalda başlıkları yeniden adlandırmasına, silmesine, arşivlemesine ya da arşivden çıkarmasına ve yavaş modu açmasına izin verir. Üyeler, ayrıca özel başlıkları da görüntüleyebilirler. + Üyelerin alt başlıkları yeniden adlandırmasına, silmesine, arşivlemesine ya da arşivden çıkarmasına ve yavaş modu açmasına izin verir. Üyeler, ayrıca özel alt başlıkları da görüntüleyebilirler. + Üyelerin bu kanallarda alt başlıkları yeniden adlandırmasına, silmesine, arşivlemesine ya da arşivden çıkarmasına ve yavaş modu açmasına izin verir. Üyeler, ayrıca özel alt başlıkları da görüntüleyebilirler. + Üyelerin bu kanalda alt başlıkları yeniden adlandırmasına, silmesine, arşivlemesine ya da arşivden çıkarmasına ve yavaş modu açmasına izin verir. Üyeler, ayrıca özel alt başlıkları da görüntüleyebilirler. Üyelere başka uygulamalardan veya sitelerden bu sunucuya mesaj paylaşmayı mümkün kılan webhook\'lar oluşturma, düzenleme ve silme izni verir. Üyelere başka uygulamalardan veya sitelerden bu kanallara mesaj paylaşmayı mümkün kılan webhook\'lar oluşturma, düzenleme ve silme izni verir. Üyelere başka uygulamalardan veya sitelerden bu kanala mesaj paylaşmayı mümkün kılan webhook\'lar oluşturma, düzenleme ve silme izni verir. @@ -7016,9 +7036,9 @@ Üyelerin bu [Duyuru Kanalı\'nı]({articleURL}) takip eden tüm sunucularda kendi mesajlarını paylaşabilmesini sağlar. Üyelerin bu kanallarda mesaj gönderebilmesini sağlar. Üyelerin bu kanalda mesaj gönderebilmesini sağlar. - Üyelerin başlıklarda mesaj göndermelerine izin ver. - Üyelerin bu kanalların altındaki başlıklarda mesaj göndermelerine izin ver. - Üyelerin bu kanal altındaki başlıklarda mesaj göndermelerine izin ver. + Üyelerin alt başlıklarda mesaj göndermelerine izin ver. + Üyelerin bu kanalların altındaki alt başlıklarda mesaj göndermelerine izin ver. + Üyelerin bu kanal altındaki alt başlıklarda mesaj göndermelerine izin ver. Metin Okuma Mesajı Gönder Üyelerin mesajın başına /tts yazarak metin okuma mesajları gönderebilmesini sağlar. Bu mesajlar kanala odaklanmış herkes tarafından dinlenebilir. Üyelerin bu kanallarda mesajın başına /tts yazarak metin okuma mesajları gönderebilmesini sağlar. Bu mesajlar kanala odaklanmış herkes tarafından dinlenebilir. @@ -7256,7 +7276,7 @@ Google ile Ara Aranıyor… Güvenlik - Başlığa göz at › + Alt Başlığa Göz At › Seç Bileşen seç {placeholder} @@ -7287,7 +7307,7 @@ Mesaj gönderilemedi. Seçenekleri görmek için basılı tut. Mesaj Gönder Bu izne sahip olan üyeler bu [Duyuru Kanalı\'nı]({articleURL}) takip ederek kendi mesajlarını tüm sunucularda paylaşabilirler. - Başlıklarda Mesajlar Gönder + Alt Başlıklarda Mesajlar Gönder Metin Okuma Mesajı Gönder Bu yetkiye sahip üyeler, mesajın başına /tts yazarak metin okuma mesajları gönderebilir. Bu mesajlar kanala odaklanmış herkes tarafından dinlenebilir. El salla @@ -7859,7 +7879,7 @@ Senkronizasyon bağlantısı iptal edildi! {user}, kullanıcı ayarlarından {platformName} platformuna tekrar bağlanmalı. Bu hesabı senkronize et Resmi Discord Mesajı - Bu başlık resmi Discord bildirimlerine ayrılmıştır. + Bu alt başlık resmi Discord bildirimlerine ayrılmıştır. Discord senden asla şifre veya hesap tokeni istemeyecektir. Bu, Discord Ekibinden gelen resmi bir mesajdır. Lütfen Discord\'un senden asla şifre veya hesap tokeni istemeyeceğini unutma. SİSTEM @@ -7932,14 +7952,14 @@ $[!!{username}!!](usernameHook) $[!!{otherUsername}!!](otherUsernameHook) kullanıcısını gruptan çıkardı. [!!{username}!!](usernameOnClick) gruptan ayrıldı. $[!!{username}!!](usernameHook) gruptan ayrıldı. - $[!!{actorName}!!](actorHook) bir başlık başlattı: **[!!{threadName}!!](threadOnClick)**. Bütün [başlıklara](viewThreadsOnClick) göz at. - [!!{actorName}!!](actorHook) bir başlık başlattı: **[!!{threadName}!!](threadOnClick)**. - $[!!{actorName}!!](actorHook), $[!!{targetName}!!](targetHook) kullanıcısını başlığa ekledi. - [!!{username}!!](usernameOnClick), [!!{otherUsername}!!](otherUsernameOnClick) kullanıcısını başlığa ekledi. - $[!!{actorName}!!](actorHook) $[!!{targetName}!!](targetHook) kullanıcısını başlıktan çıkardı. - [!!{username}!!](usernameOnClick) [!!{otherUsername}!!](otherUsernameOnClick) kullanıcısını başlıktan çıkardı. - $[!!{username}!!](usernameOnClick) başlıktan ayrıldı. - [!!{username}!!](usernameOnClick) başlıktan ayrıldı. + $[!!{actorName}!!](actorHook) bir alt başlık başlattı: **[!!{threadName}!!](threadOnClick)**. Bütün [alt başlıklara](viewThreadsOnClick) göz at. + [!!{actorName}!!](actorHook) bir alt başlık başlattı: **[!!{threadName}!!](threadOnClick)**. + $[!!{actorName}!!](actorHook), $[!!{targetName}!!](targetHook) kullanıcısını alt başlığa ekledi. + [!!{username}!!](usernameOnClick), [!!{otherUsername}!!](otherUsernameOnClick) kullanıcısını alt başlığa ekledi. + $[!!{actorName}!!](actorHook) $[!!{targetName}!!](targetHook) kullanıcısını alt başlıktan çıkardı. + [!!{username}!!](usernameOnClick) [!!{otherUsername}!!](otherUsernameOnClick) kullanıcısını alt başlıktan çıkardı. + $[!!{username}!!](usernameOnClick) alt başlıktan ayrıldı + [!!{username}!!](usernameOnClick) alt başlıktan ayrıldı İzin Ver Kamerana **erişmemiz için bize izin vermen gerekecek**. Etkileyici dosyalarına **erişmemiz için bize izin vermen gerekecek**. @@ -7982,65 +8002,65 @@ Tema güncellendi. Bu Sunucu Sadece !!{guildName}!! - Başlık - !!{channelName}!! (başlık) - Başlık Eylemleri - Bu başlık arşivlendi + Alt Başlık + !!{channelName}!! (alt başlık) + Alt Başlık Eylemleri + Bu alt başlık arşivlendi Aktif Arşivlenme zamanı: {time} Arşivlendi Oluşturulma zamanı: {time} - Aktif başlık yok. - Arşivlenen başlık yok. - Geçici bir metin kanalı olan bir başlıkla, konuşmaya odaklan. - Arşivlenen başlıkları filtrele + Aktif alt başlık yok. + Arşivlenen alt başlık yok. + Geçici bir metin kanalı olan bir alt başlıkla, konuşmaya odaklan. + Arşivlenen alt başlıkları filtrele Filtre Ayarları - Başlık görünürlüğü - {count} başlığa katıldın + Alt başlık görünürlüğü + {count} alt başlığa katıldın $[](usernameHook) $[](messageTextHook) Yeni mesaj yok {count} tane daha aktif alt başlık Özel - Özel Başlıklar + Özel Alt Başlıklar Herkese Açık - Herkese Açık Başlıklar + Herkese Açık Alt Başlıklar $[](authorHook) tarafından başlatıldı {count} gün önce {count} saat önce {count} dakika önce 30+ gün önce - Başlıklar - Başlık üstbilgisi - Bu başlık arşivlendi. Arşivden çıkarmak için bir mesaj gönderebilirsin. - Bildirim almak ve kanal listene kaydetmek için bu başlığa katıl. - Bu başlık bir moderatör tarafından arşivlendi. Yalnızca moderatörler arşivden çıkarabilir. + Alt Başlıklar + Alt başlık üstbilgisi + Bu alt başlık arşivlendi. Arşivden çıkarmak için bir mesaj gönderebilirsin. + Bildirim almak ve kanal listene kaydetmek için bu alt başlığa katıl. + Bu alt başlık bir moderatör tarafından arşivlendi. Yalnızca moderatörler arşivden çıkarabilir. Herkes davet edebilir - Bu başlıkta kimse yok. + Bu alt başlıkta kimse yok. Kişileri davet etmek için bir mesajda onlardan @bahset. - Bu başlık görüntülenemiyor + Bu alt başlık görüntülenemiyor {count} 50+ Mesaj › 50+ › {count} › - Başlık Adı + Alt Başlık Adı Bir daha gösterme Ayarları Değiştir Bildirim ayarın artık Tüm Mesajlar olarak ayarlandı. Bildirim ayarın artık Tüm Mesajlar olarak ayarlandı. [Bir daha gösterme](onClick) üst kanal !!{channelName}!! Bu {count} mesaj zincirini daha kolay takip etmek ister misin? - Bazı rollerden bahsedilmedi ya da roller başlığa eklenmedi. - Başlık Ayarları - Başlık ayarları güncellendi. + Bazı rollerden bahsedilmedi ya da roller alt başlığa eklenmedi. + Alt Başlık Ayarları + Alt başlık ayarları güncellendi. $[](usernameHook) tarafından başlatıldı - Üzgünüz, bu başlıktaki ilk mesajı yükleyemedik + Üzgünüz, bu alt başlıktaki ilk mesajı yükleyemedik Kanaldaki orijinal mesaj - Sohbet sona erdiğinde başlık da gider. - Herhangi bir mesajdan veya sohbet çubuğundaki + simgesine tıklayarak bir başlık başlat. - Konuları kaçırmamak ve lafa karışmak için bir başlığa katıl. Başlıklar kanalın kenar çubuğunda olacak. - Başlıklar, bir kanaldaki sohbeti konularla organize etmene yardımcı olur. - Başlıklara Merhaba De! - Başlıklar + Sohbet sona erdiğinde alt başlık da gider. + Herhangi bir mesajdan veya sohbet çubuğundaki + simgesine tıklayarak bir alt başlık başlat. + Konuları kaçırmamak ve lafa karışmak için bir alt başlığa katıl. Alt başlıklar kanalın kenar çubuğunda olacak. + Alt başlıklar, bir kanaldaki sohbeti konularla organize etmene yardımcı olur. + Alt Başlıklara Merhaba De! + Alt Başlıklar **!!{a}!!**, **!!{b}!!** ve **!!{c}!!** yazıyor… İşlem tamamlamak için fazla uzun sürdü, lütfen tekrar dene. Dostların için sesli ve yazılı sohbeti olan yepyeni bir sunucu oluştur! @@ -8093,12 +8113,12 @@ Ekran paylaşımını aç/kapat Bu mesaj bir saldırganın da hesabına erişmesine neden olabilecek Discord kimlik denetimi tokeni içeriyor olabilir. Göndermek istediğine emin misin? Hareketli emojiler için yerin kalmadı. - Bu sunucu maksimum aktif duyuru başlığı sayısına ulaştı. Bir başlığı arşivleyerek yer aç. + Bu sunucu maksimum aktif duyuru alt başlığı sayısına ulaştı. Bir alt başlığı arşivleyerek yer aç. Emojiler için yerin kalmadı. - Bu başlık, mümkün olan maksimum üye sayısına ulaştı. + Bu alt başlık, mümkün olan maksimum üye sayısına ulaştı. Tepkin eklenmedi çünkü bu mesajda çok fazla tepki var. Hevesli olmanı takdir ediyoruz ama… - Bu sunucu maksimum aktif başlık sayısına ulaştı. Bir başlığı arşivleyerek yer aç. + Bu sunucu maksimum aktif alt başlık sayısına ulaştı. Bir alt başlığı arşivleyerek yer aç. {quantity} sunucu sınırına ulaştın. Katılmak için önce bir sunucudan ayrılmalısın. Olamaz! Katılmak için önce bir sunucudan ayrılmalısın. @@ -8185,7 +8205,7 @@ Kanal dolu Görsel işlenemiyor Arşivden Çıkar - Başlığı Arşivden Çıkar + Alt Başlığı Arşivden Çıkar Yasağı Kaldır !!{user}!! kullanıcısının yasağını kaldırmak istediğine emin misin? \'!!{user}!!\' Kullanıcısının Yasağını Kaldır @@ -8300,7 +8320,7 @@ Telefon Kullan Eğik çizgi komutu kullan ve yazarken emojileri, bahsedeceğin kişileri ve markdown sözdizimini önizle Hoparlör kullan - Başlıkları bölünmüş görünümde aç + Alt başlıkları bölünmüş görünümde aç Ses Eylemini Kullan Eğer bu izin devre dışı bırakıldı ise üyeler kanalda Bas-konuş kullanmak zorundadır. Kullanıcı Ayarları Eylemleri @@ -8691,7 +8711,7 @@ Profili Görüntüle İzleyicileri görüntüle Etraftaki mesajlara bak. - Başlığı Görüntüle + Alt Başlığı Görüntüle Bu sunucuyu {numRoles} görüntülüyorsun. Rol Ayarlarına Dön Rolleri Seç diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 19fa969676..f083643730 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -3143,7 +3143,6 @@ Наразі події обмежені каналами для трибун. Створіть такий канал, щоб організувати подію. Підходить для: $[Питання/відповідь, серія питань, панельне обговорення](suggestionsHook) Троє спікерів на каналі трибуни говорять до п\'яти слухачів, у двох слухачів підняті руки - Канали трибуни створені спеціально для організації аудіоподій у спільнотах, бо в них передбачені $[вбудовані інструменти модерації](moderationHook): опція $[підняти руку](handRaiseHook) та $[вимкнення мікрофону слухачам за умовчанням.](audienceHook) Питання/відповідь Серія питань Спробуйте використати канал трибуни! @@ -4918,7 +4917,6 @@ Керувати передплатою Вартість Nitro у вашому регіоні знижена. Перевірте, чи зможете зекономити, оплачуючи в місцевій валюті. Якщо ви зміните спосіб оплати, вартість передплати та валюта зміняться та складатимуть {newCurrencyAndPrice}. [Натисніть тут]({helpCenterLink}), щоби дізнатися більше про визначення ціни. - Керувати передплатою **Порада**: Використовуйте місцеві способи оплати, якщо ваша країна — {country}, щоби платити у валюті {currency}! [Натисніть тут]({helpCenterLink}), щоби дізнатися більше про визначення ціни та валюти. **Ура!** Оскільки ваша країна — {country}, то вартість Nitro для вас знижено и складає {newPrice}! [Дізнатися більше]({helpCenterLink}). Вхід @@ -6029,6 +6027,29 @@ Бажаєш індивідуалізувати свій тег? Оформи передплату Nitro Коли твоя передплата на Nitro закінчиться, твій Discord Tag буде змінено на випадковий. Цей тег недійсний. Значення тегу повинно бути більше 0. + Проявіть індивідуальність та покажіть свою неповторність на Discord з нашими літніми оновленнями! + Редагувати профіль сервера + Встановіть унікальний аватар для кожного свого сервера. На одному поставте студентське фото, на іншому - свого персонажа з D&D, на третьому - покажіть свою істинну сутність, якою б вона не була… + Аватари сервера + Приєднайтеся аж до 200 серверів + Довші повідомлення аж до 4000 символів + Нові можливості GIF для аватара та банера + … і багато іншого! + Редагувати профіль користувача + Підкресліть найголовніше своє захоплення з новим банером профілю, парним анімованим аватаром та користувацьким тегом. + Банери профілю + Подивитися стікери + Покажіть друзям свої справжні почуття з індивідуальними стікерами в чаті з усіх ваших серверів та користуйтеся 300 ексклюзивними стікерами Nitro. + Стікери в чаті + Nitro стрибає вище голови. Може, зіграємо в баскетбол? Кхм, даруйте. [Дізнатися більше](onLearnMore) + Що нового в Nitro + Ми знизили вартість Nitro у Бразилії! + Ми знизили вартість Nitro у Польщі! + Ми знизили вартість Nitro у Туреччині! + Nitro тепер коштує !!{price}!! + Тільки подивіться! + Унікальний аватар для кожного сервера та інші привілеї з Nitro. + Літні оновлення! Завантаж і використовуй анімовані аватари та емодзі. Ділися користувацькими емодзі з усіма серверами Використовуй спеціальні стікери будь-де та отримай 300 стікерів ексклюзивно для Nitro diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 757c1793c1..430b7945f1 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -3142,7 +3142,6 @@ Hiện tại, sự kiện được giới hạn cho các kênh Sân khấu. Hãy tạo một kênh để tạo một sự kiện. Tốt cho: $[Hỏi và Đáp (Q&A), Hãy hỏi tôi bất cứ điều gì (AMA), Thảo Luận Nhóm](suggestionsHook) Ba người nói trong kênh Sân Khấu nói chuyện với năm thành viên, hai thành viên khán giả giơ tay - Các kênh sân khấu được xây dựng đặc biệt cho các sự kiện âm thanh cộng đồng, với $[các công cụ kiểm duyệt tích hợp](moderationHook) như $[giơ tay](handRaiseHook) và $[tắt âm khán giả theo mặc định.](audienceHook) Hỏi và Đáp (Q&A) Hãy hỏi tôi bất cứ điều gì (AMA) Hãy thử sử dụng kênh Sân khấu! @@ -4917,7 +4916,6 @@ Quản lý kế hoạch Chúng tôi đã hạ giá Nitro ở khu vực của bạn. Hãy kiểm tra xem liệu bạn có thể tiết kiệm bằng thanh toán nội tệ không. Thay đổi phương thức thanh toán sẽ thay đổi giá đăng ký và đơn vị tiền tệ của bạn thành {newCurrencyAndPrice}. [Nhấp vào đây]({helpCenterLink}) để tìm hiểu thêm về cách chúng tôi xác định số tiền bạn phải thanh toán. - Quản lý kế hoạch **Mẹo**: Sử dụng phương thức thanh toán tại nội địa tại {country} thanh toán cho đăng ký của bạn bằng {currency}! [Nhấp vào đây]({helpCenterLink}) để tìm hiểu thêm về cách chúng tôi xác định giá và đơn vị tiền tệ. **Hoan hô!** Với tư cách là cư dân của {country}, bạn hiện đang trả mức chiết khấu là {newPrice} cho Nitro! [Tìm hiểu thêm]({helpCenterLink}). Đăng nhập @@ -6028,6 +6026,29 @@ Bạn có muốn tùy chỉnh thẻ của mình không? Hãy nhận gói Nitro! Khi đăng ký Nitro hết hạn, Discord Tag của bạn sẽ được đổi ngẫu nhiên. Thẻ này không hợp lệ. Thẻ phải lớn hơn 0. + Tùy chỉnh và thể hiện bản thân trên Discord với bản cập nhật mùa hè của chúng tôi! + Chỉnh Sửa Hồ Sơ Máy Chủ + Đặt ảnh đại diện riêng cho từng máy chủ. Bạn có thể là sinh viên trong máy chủ này, nhân vật D&D trong máy chủ khác, hay là con người thật của bạn trong một máy chủ khác nữa, bất kỳ ai bạn muốn… + Ảnh Đại Diện Máy Chủ + Tham gia đến 200 máy chủ + Tin nhắn dài hơn, lên tới 4000 ký tự + Chọn ảnh GIF mới cho ảnh đại diện và biểu ngữ của bạn + …và nhiều hơn nữa! + Chỉnh Sửa Hồ Sơ Người Dùng + Làm nổi bật sở thích cá nhân với biểu ngữ hồ sơ mới, hình đại diện hoạt hình phù hợp và tag tùy chỉnh. + Biểu Ngữ Hồ Sơ + Duyệt Tìm Sticker + Thể hiện cảm xúc của bản thân với sticker tùy chỉnh trong trò chuyện từ tất cả các máy chủ của bạn và tận hưởng 300 sticker Nitro độc quyền. + Sticker trong Trò Chuyện + Nitro đang trở nên tốt hơn. Thật tuyệt phải không? [Tìm hiểu thêm về Nitro.](onLearnMore) + Các tính năng mới trong Nitro + Chúng tôi đã giảm giá của Nitro tại Brazil! + Chúng tôi đã giảm giá của Nitro tại Ba Lan! + Chúng tôi đã giảm giá của Nitro tại Thổ Nhĩ Kỳ! + Nitro hiện có giá !!{price}!! + Hãy nhìn xem! + Tải lên ảnh đại diện riêng cho từng máy chủ và nhiều hơn nữa với Nitro. + Bản Cập Nhật Mùa Hè Mới! Tải lên và sử dụng hình đại diện và emoji động Chia sẻ các emoji tùy chỉnh trên tất cả các máy chủ Sử dụng sticker tùy chỉnh ở mọi nơi và truy cập 300 sticker Nitro độc quyền diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 6a2b0d09aa..c3cc9bc1e6 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -3148,7 +3148,6 @@ 当前,活动仅针对讲堂频道开放。请开设讲堂频道来创办活动。 适合:$[Q&A、有问必答、专题讨论](suggestionsHook) 三位发言者在讲堂频道跟五位听众成员对话,两位听众成员举手了 - 讲堂频道是专为社区有声活动而打造的,配有$[内置管理工具](moderationHook),比如$[举手](handRaiseHook)以及$[听众默认静音。](audienceHook) Q&A 有问必答 尝试使用讲堂频道! @@ -4919,8 +4918,6 @@ 管理方案| 我们已经下调了您所在地区的 Nitro 定价。快去查看您是否可以使用当地货币省一笔吧! 变更您的付款方式会将您的订阅价格和货币更改为{newCurrencyAndPrice}。[点击此处]({helpCenterLink})更多地了解我们是如何确定您的支付的。 - 管理方案| - 我们已调降了一些地区的 Nitro 价格。激活您的订阅看看是否能更省钱。 **提示**:使用{country}当地的付款方式和{currency}支付您的订阅费![点击此处]({helpCenterLink})更多地了解我们是如何确定价格和货币的。 **太棒啦!**作为{country}居民,您现在可享受{newPrice}的Nitro 折扣价![了解更多]({helpCenterLink})。 登录 @@ -6031,6 +6028,29 @@ 想要自定义标签?用 Nitro! 当 Nitro 订阅结束时,Discord 标签将会被打乱。 此标签无效。标签必须大于零。 + 我们的夏日更新让您可以在 Discord 上自定义并尽情展示自我! + 编辑服务器个人资料 + 在您的每一个服务器内设置独一无二的头像。一个用乖学生,另一个则换上您的 D&D 角色,在第三个里面释放真我,至于那是什么形象只有你自己知道…… + 服务器头像 + 加入至多 200 个服务器 + 至多 4000 个字符的长消息 + 为您的头像或横幅打造的全新 GIF 选取器 + ……还有更多! + 编辑用户个人资料 + 换上新的个人资料横幅,高亮那个塑造您整个人设的兴趣爱好,使其与您的动画头像和自定义标签相得益彰。 + 个人资料横幅 + 浏览贴纸 + 使用自定义贴纸,在您各个服务器的聊天过程中向好友展示您的真情实感,更有 300 款专属 Nitro 订阅贴纸等您来享。 + 在聊天时发送贴纸 + Nitro “跃”来“跃”好。简直顶“呱呱”!失态了。[了解 Nitro 详情。](onLearnMore) + Nitro 的新内容 + 我们下调了巴西区的 Nitro 订阅价格! + 我们下调了波兰区的 Nitro 订阅价格! + 我们下调了土耳其区的 Nitro 订阅价格! + Nitro 现价!!{price}!! + 快来瞧瞧吧! + 为每一个服务器上传独一无二的头像,订阅 Nitro 还有更多内容。 + 全新夏日更新! 上传并使用动画头像和表情符号 在所有服务器中分享自定义表情 在任意地方使用自定义贴纸,以获得 300 张 Nitro 专属贴纸 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 706ec96dc6..a066ff28a0 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3142,7 +3142,6 @@ 目前活動只可於舞台頻道中舉行。請設置一個舞台頻道以建立活動。 適合:$[Q&A、問答聊天和小組討論](suggestionsHook) 三位發言者在舞台頻道對五位聽眾成員說話,兩位聽眾成員已舉手 - 舞台頻道專為舉行社群音訊活動打造,並搭配使用$[內建管理工具](moderationHook),如$[舉手功能](handRaiseHook)和$[將聽眾預設為靜音。](audienceHook) Q&A 問答聊天 試著使用舞台頻道吧! @@ -4916,8 +4915,6 @@ 管理方案 您所在地區的 Nitro 降價了。確認自己是否能享有優惠價。 若變更您的付款方式,您的訂閱價格與貨幣也將一併變更為 {newCurrencyAndPrice}。[點擊這裡]({helpCenterLink}) 進一步瞭解我們如何決定您支付的價格與貨幣。 - 管理方案 - 我們已經調降了一些地區的 Nitro 價格。重新訂閱並看看是否能省更多。 **提示**:使用{country}的在地付款方式支付 {currency} 的訂閱![點擊這裡]({helpCenterLink}) 進一步瞭解我們決定定價和貨幣的方式。 **太棒了!**由於您是{country}的居民,所以現在支付的 Nitro 費用可享折扣價:{newPrice}![瞭解更多]({helpCenterLink})。 登入 @@ -6028,6 +6025,29 @@ 想要自訂您的 Tag 嗎?快來取得 Nitro! Nitro 訂閱結束後,您的 Discord Tag 會遭亂數取代。 這個 Tag 無效。Tag 一定要大於零。 + 透過我們的夏季更新,在 Discord 中自訂並展現您自己! + 編輯伺服器個人資料 + 在您的各個伺服器中設定獨特的頭像。在某個伺服器中是學生,在另一個伺服器中是龍與地下城的角色,在第三個伺服器中是真正的您,那個真正的您… + 伺服器頭像 + 最多可加入 200 個伺服器 + 更長的訊息,最多可達 4000 個字元 + 可用於頭像或橫幅的全新 GIF 選取器 + …還有更多! + 編輯使用者個人資料 + 透過全新的個人資料橫幅與相配的動態頭像和自訂 tag,把塑造您個人特色的興趣彰顯出來。 + 個人資料橫幅 + 瀏覽貼圖 + 在您的所有伺服器中聊天時,透過自訂貼圖向好友表達您真正的感受,還能享用 300 款獨家 Nitro 貼圖。 + 聊天貼圖 + Nitro 有了跳躍性升級。是不是頂呱呱?開玩笑的。[深入瞭解 Nitro。](onLearnMore) + Nitro 最新動態 + 我們已調降巴西的 Nitro 價格! + 我們已調降波蘭的 Nitro 價格! + 我們已調降土耳其的 Nitro 價格! + Nitro 現在只要 !!{price}!! + 快來瞭解! + 透過 Nitro 為各個伺服器上傳獨特的頭像與更多內容。 + 全新夏季更新! 上傳並使用動態頭像和表情符號 在所有的伺服器上分享自訂表情符號 隨時隨地使用自訂貼圖和 300 種 Nitro 限定貼圖 diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index cdae30a67c..c1796ccf83 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -7977,1412 +7977,1410 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14422,9661 +14420,9678 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 924c6ac70d..a4db314967 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -34,6 +34,9 @@ Share with %s Collapse About this App + Accept + Accept DM from {user}? + They won’t be notified if you Report or Hide this message. Accept Invite Request Accepted Accessibility @@ -1420,7 +1423,7 @@ Select a color Transparency Use Default - 4d655413ba0744b19e4a7f9e88a165ec + 2f2c2db962184553994485b9b894d132 Coming Soon Slash command application {applicationName} {applicationName} application @@ -3903,8 +3906,10 @@ $[**!!{user}!!**](userHook) scheduled the event $[**!!{target}!!**](targetHook) $[**!!{user}!!**](userHook) deleted the scheduled event $[**!!{target}!!**](targetHook) Set the description to **!!{newValue}!!** + Linked **externally** Linked to **Nothing** Linked with a **Stage** + Linked with a **Voice Channel** With the name **!!{newValue}!!** With a ticket Set the status to **Active** @@ -5438,8 +5443,6 @@ Manage Plan We\'ve lowered Nitro pricing in your area. See if you save with your local currency. Changing your payment method will change your subscription price and currency to {newCurrencyAndPrice}. [Click here]({helpCenterLink}) to learn more about how we determine what you pay. - Manage Plan - We\'ve lowered Nitro pricing in some areas. Reactivate your Nitro subscription and see if you can save. **Tip**: Use a payment method local to {country} to pay for your subscription in {currency}! [Click here]({helpCenterLink}) to learn more about how we determine price and currency. **Hooray!** As a resident of {country}, you\'re now paying the discounted price of {newPrice} for Nitro! [Learn More]({helpCenterLink}). Login @@ -5837,8 +5840,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 @@ -6448,6 +6451,7 @@ M2,4.27 L2,4.27 L4.54,1.73 L4.54,1.73 L4.54,1 L23,1 L23,23 L1,23 L1,4.27 Z M3.27,4.27 L19.74,20.74 Pause + Connecting with your payment source Continue Cancel Payment Your payment for **!!{item}!!** has been canceled. @@ -7345,6 +7349,8 @@ Reconnecting Redeem Redemption Code + Something went wrong, try again. + Payment confirmed. Return to **Discord**. Accept You already have a subscription! Thanks for being a subscriber, but referrals are for first-time subs only. The referral has expired or is not valid @@ -8021,12 +8027,21 @@ This channel has special permissions. To listen in it, you\'ll need someone, like a server moderator or admin, to undeafen you. Server Deafened Tell the world a bit about this server. + Agree to rules This contains a blocked word. [Learn more]({guidelinesUrl}). Category Choose a subject area that best fits your server. Description Describe your server Let people know what your community is all about + Violating our policies may result in penalties against your server, including removal from Discovery. + Comply with Discord\'s [Community Guidelines]({communityGuidelinesUrl}) and [Discovery Guidelines]({discoveryGuidelinesUrl}) + Rules + Create a welcoming space where harassment, toxicity, and illegal activity is not promoted or tolerated. + Foster a healthy and positive environment + Help keep Server Discovery safe for everyone + All server content must be appropriate for ages 13+. + Do not host graphic or sexual content Help people find your server in search results Server description This will appear anywhere an invite link is shared, so keep it clean. @@ -8439,6 +8454,8 @@ {numStickers} View Sticker Pack Frequently used + Add Sticker + Upload a sticker to this server Free $[~~{regularPrice}~~](originalPriceHook) !!{discountedPrice}!! $[~~{regularPrice}~~](originalPriceHook) Purchase Boosts