refactor NekoSettings

This commit is contained in:
luvletter2333 2022-07-12 23:55:25 +08:00
parent db86538019
commit 27cb3dc403
No known key found for this signature in database
GPG Key ID: A26A8880836E1978
6 changed files with 81 additions and 53 deletions

View File

@ -56,7 +56,7 @@ public class NekoConfig {
public static ConfigItem typeface = addConfig("TypefaceUseDefault", configTypeBool, false);
public static ConfigItem nameOrder = addConfig("NameOrder", configTypeInt, 1);
public static ConfigItem mapPreviewProvider = addConfig("MapPreviewProvider", configTypeInt, 0);
public static ConfigItem transparentStatusBar = addConfig("TransparentStatusBar", configTypeBool, false);
public static ConfigItem transparentStatusBar = addConfig("TransparentStatusBar", configTypeBool, true);
public static ConfigItem forceBlurInChat = addConfig("forceBlurInChat", configTypeBool, false);
public static ConfigItem chatBlueAlphaValue = addConfig("forceBlurInChatAlphaValue", configTypeInt, 127);
public static ConfigItem hideProxySponsorChannel = addConfig("HideProxySponsorChannel", configTypeBool, false);
@ -79,7 +79,7 @@ public class NekoConfig {
public static ConfigItem unlimitedFavedStickers = addConfig("UnlimitedFavoredStickers", configTypeBool, false);
public static ConfigItem unlimitedPinnedDialogs = addConfig("UnlimitedPinnedDialogs", configTypeBool, false);
public static ConfigItem translationProvider = addConfig("translationProvider", configTypeInt, 1);
public static ConfigItem disablePhotoSideAction = addConfig("DisablePhotoViewerSideAction", configTypeBool, true);
public static ConfigItem disablePhotoSideAction = addConfig("DisablePhotoViewerSideAction", configTypeBool, false);
public static ConfigItem openArchiveOnPull = addConfig("OpenArchiveOnPull", configTypeBool, false);
public static ConfigItem hideKeyboardOnChatScroll = addConfig("HideKeyboardOnChatScroll", configTypeBool, false);
public static ConfigItem avatarBackgroundBlur = addConfig("BlurAvatarBackground", configTypeBool, false);

View File

@ -63,35 +63,23 @@ public class NekoChatSettingsActivity extends BaseFragment implements Notificati
private final CellGroup cellGroup = new CellGroup(this);
// Sticker Size
private final AbstractConfigCell header0 = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("StickerSize")));
private final AbstractConfigCell stickerSizeRow = cellGroup.appendCell(new ConfigCellCustom(ConfigCellCustom.CUSTOM_ITEM_StickerSize, true));
private final AbstractConfigCell divider0 = cellGroup.appendCell(new ConfigCellDivider());
// Chats
private final AbstractConfigCell header1 = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("Chat")));
private final AbstractConfigCell unreadBadgeOnBackButton = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.unreadBadgeOnBackButton));
private final AbstractConfigCell ignoreBlockedRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.ignoreBlocked, LocaleController.getString("IgnoreBlockedAbout")));
private final AbstractConfigCell ignoreMutedCountRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.ignoreMutedCount));
private final AbstractConfigCell labelChannelUserRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.labelChannelUser));
private final AbstractConfigCell disableChatActionRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableChatAction));
private final AbstractConfigCell disableChoosingStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableChoosingSticker));
private final AbstractConfigCell disablePhotoSideActionRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disablePhotoSideAction));
private final AbstractConfigCell hideKeyboardOnChatScrollRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideKeyboardOnChatScroll));
private final AbstractConfigCell disableVibrationRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableVibration));
private final AbstractConfigCell skipOpenLinkConfirmRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.skipOpenLinkConfirm));
private final AbstractConfigCell rearVideoMessagesRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.rearVideoMessages));
private final AbstractConfigCell confirmAVRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.confirmAVMessage));
private final AbstractConfigCell sendCommentAfterForwardRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.sendCommentAfterForward));
private final AbstractConfigCell useChatAttachMediaMenuRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.useChatAttachMediaMenu, LocaleController.getString("UseChatAttachEnterMenuNotice")));
private final AbstractConfigCell disableLinkPreviewByDefaultRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableLinkPreviewByDefault, LocaleController.getString("DisableLinkPreviewByDefaultNotice")));
private final AbstractConfigCell sendCommentAfterForwardRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.sendCommentAfterForward));
private final AbstractConfigCell disableProximityEventsRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableProximityEvents));
private final AbstractConfigCell disableTrendingRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableTrending));
private final AbstractConfigCell dontSendGreetingStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.dontSendGreetingSticker));
private final AbstractConfigCell hideTimeForStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideTimeForSticker));
private final AbstractConfigCell hideGroupStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideGroupSticker));
private final AbstractConfigCell takeGIFasVideoRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.takeGIFasVideo));
private final AbstractConfigCell showSeconds = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showSeconds));
private final AbstractConfigCell maxRecentStickerCountRow = cellGroup.appendCell(new ConfigCellCustom(CellGroup.ITEM_TYPE_TEXT_SETTINGS_CELL, true));
private final AbstractConfigCell disableSwipeToNextRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableSwipeToNext));
private final AbstractConfigCell disableRemoteEmojiInteractionsRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableRemoteEmojiInteractions));
private final AbstractConfigCell showBottomActionsWhenSelectingRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showBottomActionsWhenSelecting));
private final AbstractConfigCell labelChannelUserRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.labelChannelUser));
private final AbstractConfigCell hideSendAsChannelRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideSendAsChannel));
private final AbstractConfigCell showSpoilersDirectlyRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showSpoilersDirectly));
private final AbstractConfigCell mapPreviewRow = cellGroup.appendCell(new ConfigCellSelectBox(null, NekoConfig.mapPreviewProvider,
new String[]{
LocaleController.getString("MapPreviewProviderTelegram", R.string.MapPreviewProviderTelegram),
@ -101,33 +89,51 @@ public class NekoChatSettingsActivity extends BaseFragment implements Notificati
private final AbstractConfigCell messageMenuRow = cellGroup.appendCell(new ConfigCellSelectBox(LocaleController.getString("MessageMenu"), null, null, () -> {
showMessageMenuAlert();
}));
private final AbstractConfigCell dividerChat = cellGroup.appendCell(new ConfigCellDivider());
// Interactions
private final AbstractConfigCell headerInteractions = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("InteractionSettings")));
private final AbstractConfigCell hideKeyboardOnChatScrollRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideKeyboardOnChatScroll));
private final AbstractConfigCell rearVideoMessagesRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.rearVideoMessages));
private final AbstractConfigCell disableInstantCameraRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableInstantCamera));
private final AbstractConfigCell disableVibrationRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableVibration));
private final AbstractConfigCell disableProximityEventsRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableProximityEvents));
private final AbstractConfigCell disableTrendingRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableTrending));
private final AbstractConfigCell disableSwipeToNextRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableSwipeToNext));
private final AbstractConfigCell disablePhotoSideActionRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disablePhotoSideAction));
private final AbstractConfigCell disableRemoteEmojiInteractionsRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableRemoteEmojiInteractions));
private final AbstractConfigCell rememberAllBackMessagesRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.rememberAllBackMessages));
private final AbstractConfigCell reactionsRow = cellGroup.appendCell(new ConfigCellSelectBox(null, NekoConfig.reactions,
new String[]{
LocaleController.getString("doubleTapSendReactions", R.string.doubleTapSendReactions),
LocaleController.getString("doubleTapShowReactions", R.string.doubleTapShowReactions),
LocaleController.getString("ReactionsDisabled", R.string.ReactionsDisabled),
}, null));
private final AbstractConfigCell dividerInteractions = cellGroup.appendCell(new ConfigCellDivider());
// Sticker
private final AbstractConfigCell headerSticker = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("StickerSettings")));
private final AbstractConfigCell dontSendGreetingStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.dontSendGreetingSticker));
private final AbstractConfigCell hideTimeForStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideTimeForSticker));
private final AbstractConfigCell hideGroupStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideGroupSticker));
private final AbstractConfigCell disablePremiumStickerAnimationRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disablePremiumStickerAnimation));
private final AbstractConfigCell maxRecentStickerCountRow = cellGroup.appendCell(new ConfigCellCustom(CellGroup.ITEM_TYPE_TEXT_SETTINGS_CELL, true));
private final AbstractConfigCell dividerSticker = cellGroup.appendCell(new ConfigCellDivider());
// Operation Confirmatation
private final AbstractConfigCell headerConfirms = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("ConfirmSettings")));
private final AbstractConfigCell askBeforeCallRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.askBeforeCall));
private final AbstractConfigCell skipOpenLinkConfirmRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.skipOpenLinkConfirm));
private final AbstractConfigCell confirmAVRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.confirmAVMessage));
private final AbstractConfigCell repeatConfirmRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.repeatConfirm));
private final AbstractConfigCell rememberAllBackMessagesRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.rememberAllBackMessages));
private final AbstractConfigCell hideSendAsChannelRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideSendAsChannel));
private final AbstractConfigCell showSpoilersDirectlyRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showSpoilersDirectly));
private final AbstractConfigCell showBottomActionsWhenSelectingRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showBottomActionsWhenSelecting));
private final AbstractConfigCell divider1 = cellGroup.appendCell(new ConfigCellDivider());
private final AbstractConfigCell header2 = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("AutoDownload")));
private final AbstractConfigCell win32Row = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableAutoDownloadingWin32Executable));
private final AbstractConfigCell archiveRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableAutoDownloadingArchive));
private final AbstractConfigCell divider2 = cellGroup.appendCell(new ConfigCellDivider());
private final AbstractConfigCell header3 = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("Folder")));
private final AbstractConfigCell showTabsOnForwardRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showTabsOnForward));
private final AbstractConfigCell hideAllTabRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideAllTab, LocaleController.getString("HideAllTabAbout")));
// private final AbstractConfigCell pressTitleToOpenAllChatsRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.pressTitleToOpenAllChats));
private final AbstractConfigCell tabsTitleTypeRow = cellGroup.appendCell(new ConfigCellSelectBox(null, NekoConfig.tabsTitleType,
new String[]{
LocaleController.getString("TabTitleTypeText", R.string.TabTitleTypeText),
LocaleController.getString("TabTitleTypeIcon", R.string.TabTitleTypeIcon),
LocaleController.getString("TabTitleTypeMix", R.string.TabTitleTypeMix)
}, null));
private final AbstractConfigCell divider3 = cellGroup.appendCell(new ConfigCellDivider());
private final AbstractConfigCell dividerConfirms = cellGroup.appendCell(new ConfigCellDivider());
private final AbstractConfigCell ignoreBlockedRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.ignoreBlocked, LocaleController.getString("IgnoreBlockedAbout")));
private final AbstractConfigCell disableChatActionRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableChatAction));
private final AbstractConfigCell disableChoosingStickerRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableChoosingSticker));
private final AbstractConfigCell dividerEnd = cellGroup.appendCell(new ConfigCellDivider());
private RecyclerListView listView;
private ListAdapter listAdapter;
@ -179,6 +185,7 @@ public class NekoChatSettingsActivity extends BaseFragment implements Notificati
cellGroup.rows.remove(disableChatActionRow);
cellGroup.rows.remove(disableChoosingStickerRow);
cellGroup.rows.remove(ignoreBlockedRow);
cellGroup.rows.remove(dividerEnd);
NekoConfig.disableChatAction.setConfigBool(false);
NekoConfig.disableChoosingSticker.setConfigBool(false);
NekoConfig.ignoreBlocked.setConfigBool(false);

View File

@ -112,6 +112,19 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
}, LocaleController.getString("UsernameEmpty", R.string.UsernameEmpty)));
private final AbstractConfigCell divider2 = cellGroup.appendCell(new ConfigCellDivider());
private final AbstractConfigCell headerFolder = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("Folder")));
private final AbstractConfigCell showTabsOnForwardRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showTabsOnForward));
private final AbstractConfigCell hideAllTabRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideAllTab, LocaleController.getString("HideAllTabAbout")));
private final AbstractConfigCell openArchiveOnPullRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.openArchiveOnPull));
private final AbstractConfigCell ignoreMutedCountRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.ignoreMutedCount));
private final AbstractConfigCell tabsTitleTypeRow = cellGroup.appendCell(new ConfigCellSelectBox(null, NekoConfig.tabsTitleType,
new String[]{
LocaleController.getString("TabTitleTypeText", R.string.TabTitleTypeText),
LocaleController.getString("TabTitleTypeIcon", R.string.TabTitleTypeIcon),
LocaleController.getString("TabTitleTypeMix", R.string.TabTitleTypeMix)
}, null));
private final AbstractConfigCell dividerFolder = cellGroup.appendCell(new ConfigCellDivider());
private final AbstractConfigCell header_notification = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("NekoGeneralNotification")));
private final AbstractConfigCell disableNotificationBubblesRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableNotificationBubbles));
private final AbstractConfigCell divider_notification = cellGroup.appendCell(new ConfigCellDivider());
@ -131,7 +144,6 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
private final AbstractConfigCell header5 = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("Appearance")));
private final AbstractConfigCell typefaceRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.typeface));
// private final AbstractConfigCell useDefaultThemeRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.useDefaultTheme));
private final AbstractConfigCell transparentStatusBarRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.transparentStatusBar));
private final AbstractConfigCell appBarShadowRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableAppBarShadow));
private final AbstractConfigCell newYearRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.newYear));
@ -163,13 +175,10 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
private final AbstractConfigCell disableUndoRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableUndo));
private final AbstractConfigCell showIdAndDcRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.showIdAndDc));
private final AbstractConfigCell inappCameraRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.inappCamera));
private final AbstractConfigCell disableInstantCameraRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableInstantCamera));
private final AbstractConfigCell hideProxySponsorChannelRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideProxySponsorChannel));
private final AbstractConfigCell hideSponsoredMessageRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.hideSponsoredMessage));
private final AbstractConfigCell askBeforeCallRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.askBeforeCall));
private final AbstractConfigCell autoPauseVideoRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.autoPauseVideo, LocaleController.getString("AutoPauseVideoAbout")));
private final AbstractConfigCell disableNumberRoundingRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableNumberRounding, "4.8K -> 4777"));
private final AbstractConfigCell openArchiveOnPullRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.openArchiveOnPull));
private final AbstractConfigCell nameOrderRow = cellGroup.appendCell(new ConfigCellSelectBox(null, NekoConfig.nameOrder, new String[]{
LocaleController.getString("LastFirst", R.string.LastFirst),
LocaleController.getString("FirstLast", R.string.FirstLast)
@ -178,6 +187,11 @@ public class NekoGeneralSettingsActivity extends BaseFragment {
private final AbstractConfigCell displayPersianCalendarByLatinRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.displayPersianCalendarByLatin));
private final AbstractConfigCell divider7 = cellGroup.appendCell(new ConfigCellDivider());
private final AbstractConfigCell headerAutoDownload = cellGroup.appendCell(new ConfigCellHeader(LocaleController.getString("AutoDownload")));
private final AbstractConfigCell win32Row = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableAutoDownloadingWin32Executable));
private final AbstractConfigCell archiveRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableAutoDownloadingArchive));
private final AbstractConfigCell dividerAutoDownload = cellGroup.appendCell(new ConfigCellDivider());
private ChatBlurAlphaSeekBar chatBlurAlphaSeekbar;
private UndoView restartTooltip;

View File

@ -279,4 +279,7 @@
<string name="channelAliasDetails">需启用标记频道匿名身份别名。</string>
<string name="Name">输入别名</string>
<string name="labelChannelUserDetails">以频道匿名身份发言的用户将标记为“频道”。</string>
<string name="StickerSettings">贴纸</string>
<string name="ConfirmSettings">操作确认</string>
<string name="InteractionSettings">交互</string>
</resources>

View File

@ -64,7 +64,7 @@
<string name="TranslateApiUnsupported">The translation provider you selected don\'t support your language.</string>
<string name="ProviderLingocloud">Lingocloud</string>
<string name="UndoTranslate">Undo translate</string>
<string name="DisablePhotoViewerSideAction">Disable Flip Photos by tapping</string>
<string name="DisablePhotoViewerSideAction">Disable flip photos by tapping</string>
<string name="BotToken">Token</string>
<string name="UnlimitedPinnedDialogs">Unlimited pinned dialogs</string>
<string name="UnlimitedPinnedDialogsAbout">Pin unlimited dialogs by turn their sync off.</string>
@ -74,7 +74,7 @@
<string name="UserRestrictionsSendGifs">Send GIFs</string>
<string name="ShowTabsOnForward">Show tabs on forward</string>
<string name="CheckAllAdministrated">Add administrated</string>
<string name="RearVideoMessages">Rear camera in Video Messages</string>
<string name="RearVideoMessages">Rear camera in video messages</string>
<string name="HideAllTab">Hide \"All Chats\" tab</string>
<string name="HideAllTabAbout">Press \"Back\" on home page to open it.</string>
<string name="TabTitleType">Show on tabs</string>
@ -144,4 +144,5 @@
<string name="channelLabel">channel</string>
<string name="forceBlurInChat">Force enable Chat Blur</string>
<string name="ChatBlurAlphaValue">Chat Blur Alpha</string>
<string name="disablePremiumStickerAnimation">Disable premium sticker animation</string>
</resources>

View File

@ -215,11 +215,11 @@
<string name="TextOrigin">Origin</string>
<string name="TextReplace">Replace</string>
<string name="ReplaceRegex">Use regex</string>
<string name="DisableTrending">Disable Trending</string>
<string name="DisableTrending">Disable trending</string>
<string name="AutoDownload">AutoDownload</string>
<string name="Win32ExecutableFiles">Win32 executable files</string>
<string name="ArchiveFiles">Archive files</string>
<string name="EnableStickerPin">Enable Pinning Sticker</string>
<string name="EnableStickerPin">Enable pinning sticker</string>
<string name="EnableStickerPinAbout">Pin Stickers and sync with cloud even when adding new stickers.\nPaired with Disable Favorite and Recent.</string>
<string name="EnableStickerPinTip">This function is under development. Syncing to cloud may not work.</string>
<string name="PinSticker">Pin</string>
@ -256,7 +256,7 @@
<string name="DeleteDownloadedFileSucceed">Deleted</string>
<string name="DeleteDownloadedFileExternal">External file is skipped.</string>
<string name="update_download_soucre">Select download source</string>
<string name="useCustomEmoji">Use Custom Emoji</string>
<string name="useCustomEmoji">Use custom emoji</string>
<string name="useCustomEmojiInvalid">Not a vaild emoji ZIP-file.</string>
<string name="repeatConfirm">Ask before repeat</string>
<string name="repeatConfirmText">Are you sure to repeat?</string>
@ -268,9 +268,12 @@
<string name="AppUpdateNekoX">Update Nekogram X</string>
<string name="NekoXUpdateTranslationHint">Press to translate the changelog</string>
<string name="Name">Name</string>
<string name="channelAlias">Channel Alias</string>
<string name="channelAlias">Channel alias</string>
<string name="channelAliasDetails">Require label channel user enabled.</string>
<string name="setChannelAliasName">Set Alias</string>
<string name="labelChannelUser">Label Channel User</string>
<string name="labelChannelUser">Label channel user</string>
<string name="labelChannelUserDetails">If the message sender is \"Channel\", it will be labeled \"Channel\".</string>
<string name="StickerSettings">Sticker</string>
<string name="ConfirmSettings">Confirmation</string>
<string name="InteractionSettings">Interaction</string>
</resources>