From 25009297e24c8630322d7529fe131d19279735a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karsten=20K=C3=BCpper?= Date: Thu, 21 Dec 2023 15:29:23 +0100 Subject: [PATCH 1/7] New Crowdin updates (#510) * New translations main.json (Russian) * New translations main.json (Russian) * New translations main.json (Hungarian) * New translations main.json (Dutch) * New translations main.json (French) * New translations main.json (Russian) * New translations main.json (Russian) * New translations main.json (Bulgarian) * New translations main.json (Russian) * New translations main.json (Russian) --- BMM.Core/Translation/bg/main.json | 28 +-- BMM.Core/Translation/fr/main.json | 14 +- BMM.Core/Translation/hu/main.json | 14 +- BMM.Core/Translation/nl/main.json | 14 +- BMM.Core/Translation/ru/main.json | 326 +++++++++++++++--------------- 5 files changed, 198 insertions(+), 198 deletions(-) diff --git a/BMM.Core/Translation/bg/main.json b/BMM.Core/Translation/bg/main.json index 2cb850c2..d53a09c5 100644 --- a/BMM.Core/Translation/bg/main.json +++ b/BMM.Core/Translation/bg/main.json @@ -4,23 +4,23 @@ "External": "Външни", "Internal": "Вътрешни", "BytesMB": "{0} MB", - "UnexpectedError": "Sorry, an unexpected error has occurred.", + "UnexpectedError": "Съжаляваме, възникна неочаквана грешка.", "InternetConnectionOffline": "Интернет връзката изглежда е неактивна.", - "ItemNotFound": "The requested item does not exist.", - "OfflineBanner": "Showing only tracks on this phone", - "Song": "Song", + "ItemNotFound": "Исканият артикул не съществува.", + "OfflineBanner": "Показани са само песни на този телефон", + "Song": "Песен", "Speech": "Речи", - "Audiobook": "Audiobook", + "Audiobook": "Аудиокниги", "Exegesis": "Exegesis", - "Done": "Done", - "Today": "Today", - "Yesterday": "Yesterday", - "BackgroundActivityRestrictedTitle": "Allow background activity", - "BackgroundActivityRestrictedMessage": "Your device settings restrict BMM from working in the background. You will not be able to listen, when your phone is locked for a few minutes. To change it, go to application settings and \"Allow background activity\" under the \"Battery\" section.", - "GoToSettings": "Go to Settings", - "NotNow": "Not now", - "DownloadPlaylistOnceOnWifi": "The playlist will be downloaded the next time you're on Wifi. You can enable \"Download via mobile network\" in your Profile.", - "DownloadPodcastOnceOnWifi": "The latest tracks for this podcast will be downloaded the next time you're on Wifi. You can enable \"Download via mobile network\" in your Profile.", + "Done": "Свършен", + "Today": "Днес", + "Yesterday": "Вчера", + "BackgroundActivityRestrictedTitle": "Разрешаване на фонова активност", + "BackgroundActivityRestrictedMessage": "", + "GoToSettings": "Отидете в Настройки", + "NotNow": "Не сега", + "DownloadPlaylistOnceOnWifi": "", + "DownloadPodcastOnceOnWifi": "", "SiriFromKaareInvocationPhrase": "Play From Kåre on BMM", "SiriPlayMusicInvocationPhrase": "Play Music on BMM", "FromKaareSiriShortcutName": "Play From Kåre", diff --git a/BMM.Core/Translation/fr/main.json b/BMM.Core/Translation/fr/main.json index 59354a71..6a0ab8b1 100644 --- a/BMM.Core/Translation/fr/main.json +++ b/BMM.Core/Translation/fr/main.json @@ -314,8 +314,8 @@ "OptionContactHeader": "Contact", "OptionContactText": "Questions ou commentaires ? Contacter l'équipe ici.", "OptionAppVersionHeader": "Version de l'application", - "OptionDeleteAccountHeader": "Delete Account", - "OptionDeleteAccountText": "Request that your account is deleted.", + "OptionDeleteAccountHeader": "Supprimer le compte", + "OptionDeleteAccountText": "Demander la suppression de votre compte.", "AppInfoTitle": "Information sur l'application", "AppInfoAppVersion": "Version de l'application: ", "AppInfoManufacturer": "Fabricant :", @@ -588,13 +588,13 @@ "SubmitSuccess": "Les suggestions de modification ont été soumises avec succès, merci !" }, "AskQuestionViewModel": { - "Title": "Ask a question", - "Submit": "Submit question", - "Hint": "Your question" + "Title": "Poser une question", + "Submit": "Soumettre une question", + "Hint": "Votre question" }, "AskQuestionConfirmationViewModel": { - "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "ThankYou": "Merci d'avoir posé la question !", + "Description": "Toutes les questions seront examinées et certaines seront traitées dans le podcast. \n La plupart des questions seront traitées sur la page Q&R. \n\n Revenez lundi pour lire les réponses.", "GotIt": "J'ai compris" } } \ No newline at end of file diff --git a/BMM.Core/Translation/hu/main.json b/BMM.Core/Translation/hu/main.json index 44229d7b..9e0e08b6 100644 --- a/BMM.Core/Translation/hu/main.json +++ b/BMM.Core/Translation/hu/main.json @@ -314,8 +314,8 @@ "OptionContactHeader": "Kapcsolat", "OptionContactText": "Kérdések és visszajelzések? Itt lépj kapcsolatba a csapattal.", "OptionAppVersionHeader": "Alkalmazás verziója", - "OptionDeleteAccountHeader": "Delete Account", - "OptionDeleteAccountText": "Request that your account is deleted.", + "OptionDeleteAccountHeader": "Fiókom törlése", + "OptionDeleteAccountText": "Kérd fiókod törlését.", "AppInfoTitle": "Alkalmazás információ", "AppInfoAppVersion": "Alkalmazás verziója:", "AppInfoManufacturer": "Szerkesztő:", @@ -588,13 +588,13 @@ "SubmitSuccess": "Szerkesztési javaslatok sikeresen elküldve, köszönjük!" }, "AskQuestionViewModel": { - "Title": "Ask a question", - "Submit": "Submit question", - "Hint": "Your question" + "Title": "Tegyél fel kérdést", + "Submit": "Kérdés beküldése", + "Hint": "A kérdésed" }, "AskQuestionConfirmationViewModel": { - "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "ThankYou": "Köszönöm a kérdést!", + "Description": "Minden kérdést áttekintünk, és néhányat meg is válaszolunk a podcastban. \nA legtöbb kérdésre a Kérdések és válaszok oldalon kapunk választ. \n\nA válaszokat hétfőn olvashatod el.", "GotIt": "Megvan" } } \ No newline at end of file diff --git a/BMM.Core/Translation/nl/main.json b/BMM.Core/Translation/nl/main.json index 8f274a33..4edf741b 100644 --- a/BMM.Core/Translation/nl/main.json +++ b/BMM.Core/Translation/nl/main.json @@ -314,8 +314,8 @@ "OptionContactHeader": "Contact", "OptionContactText": "Vragen of opmerkingen? Neem hier contact op met het BMM-team.", "OptionAppVersionHeader": "Versie van de app", - "OptionDeleteAccountHeader": "Delete Account", - "OptionDeleteAccountText": "Request that your account is deleted.", + "OptionDeleteAccountHeader": "Account verwijderen", + "OptionDeleteAccountText": "Verzoek om verwijdering van uw account.", "AppInfoTitle": "App-informatie", "AppInfoAppVersion": "Versie van de app: ", "AppInfoManufacturer": "Fabrikant", @@ -588,13 +588,13 @@ "SubmitSuccess": "Wijzigingsvoorstel succesvol ingediend, dank je wel!" }, "AskQuestionViewModel": { - "Title": "Ask a question", - "Submit": "Submit question", - "Hint": "Your question" + "Title": "Een vraag stellen", + "Submit": "Vraag insturen", + "Hint": "Je vraag" }, "AskQuestionConfirmationViewModel": { - "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "ThankYou": "Bedankt voor het vragen!", + "Description": "Alle vragen worden bekeken en sommige worden beantwoord in de podcast. \n De meeste vragen worden beantwoord op de Q&A pagina. \n\n Kom maandag terug om de antwoorden te lezen.", "GotIt": "Begrepen" } } \ No newline at end of file diff --git a/BMM.Core/Translation/ru/main.json b/BMM.Core/Translation/ru/main.json index 1b8c249f..c9bc7515 100644 --- a/BMM.Core/Translation/ru/main.json +++ b/BMM.Core/Translation/ru/main.json @@ -1,18 +1,18 @@ { "Global": { "ContactError": "Не удалось связаться с командой BMM, вы можете отправить сообщение по электронной почте:", - "External": "External", - "Internal": "Internal", + "External": "Внешний", + "Internal": "Внутренний", "BytesMB": "{0} MB", "UnexpectedError": "К сожалению произошла неизвестная ошибка.", "InternetConnectionOffline": "Подключение к Интернету появляется в автономном режиме.", - "ItemNotFound": "The requested item does not exist.", - "OfflineBanner": "Showing only tracks on this phone", - "Song": "Song", + "ItemNotFound": "Запрашиваемый элемент не существует.", + "OfflineBanner": "Показаны только аудиодорожки на этом телефоне", + "Song": "Песня", "Speech": "Сообщение\n", - "Audiobook": "Audiobook", - "Exegesis": "Exegesis", - "Done": "Done", + "Audiobook": "Аудиокнига", + "Exegesis": "Толкование", + "Done": "Готово", "Today": "Сегодня", "Yesterday": "Вчера", "BackgroundActivityRestrictedTitle": "Разрешить фоновую активность", @@ -26,7 +26,7 @@ "FromKaareSiriShortcutName": "Воспроизвести От Коре", "PlayMusicSiriShortcutName": "Воспроизвести музыку", "DailyMessage": "Слово дня", - "ValueCopiedToClipboard": "{0} copied to clipboard" + "ValueCopiedToClipboard": "{0} скопировано в буфер обмена" }, "Streak": { "Message": "Твое достижение за неделю", @@ -46,7 +46,7 @@ }, "DeepLinkHandler": { "ErrorTitle": "Не удалось открыть ссылку", - "ErrorMessage": "Unfortunately it was not possible to open the link '{0}'." + "ErrorMessage": "К сожалению, не удалось открыть ссылку '{0}'." }, "RequestExceptionHandler": { "RequestFailedMessage": "Произошла ошибка соединения: {0}" @@ -55,35 +55,35 @@ "ErrorMediaNotSupported": "К сожалению, ваше устройство не поддерживает этот формат.", "ErrorVideoNotSupported": "К сожалению, в настоящее время видео не поддерживаются.", "ErrorFileNotOffline": "Нескачанные треки не воспроизводятся в автономном режиме.", - "ErrorPlayerStopped": "The player has stopped.", - "ErrorPlayerStoppedGeneric": "A playback error has occurred that stopped the current track.", - "ErrorPlayerLiveRadioStopped": "The live broadcast has ended.", - "ErrorPlayerLiveRadioTooEarly": "The live broadcast has not started yet, please try again later.", - "ErrorPlayerStart": "Unable to start playback." + "ErrorPlayerStopped": "Плеер остановился.", + "ErrorPlayerStoppedGeneric": "Произошла ошибка воспроизведения, из-за которой текущий трек был остановлен.", + "ErrorPlayerLiveRadioStopped": "Прямая трансляция закончилась.", + "ErrorPlayerLiveRadioTooEarly": "Прямая трансляция еще не началась, пожалуйста, повторите попытку позже.", + "ErrorPlayerStart": "Невозможно начать воспроизведение." }, "GlobalMediaDownloader": { - "OutOfSpaceMessage": "There is not enough space to store offline files" + "OutOfSpaceMessage": "Недостаточно места для хранения офлайн-файлов" }, "AlbumViewModel": { "Title": "Альбом", "SearchHint": "Поиск", "AddAlbumToPlaylist": "Добавить альбом в плейлист", - "AddAlbumToMyTracks": "Add album to My Tracks", + "AddAlbumToMyTracks": "Добавить альбом в Мои треки", "FailedToAdd": "Не удалось добавить трек в плейлист. Пожалуйста, повторите попытку позже.", - "AlbumFailedToAddAlreadyExists": "This album is already in your playlist.", - "TrackAlreadyExistInTrackCollection": "Track already exists in playlist {0}", + "AlbumFailedToAddAlreadyExists": "Этот альбом уже в вашем плейлисте.", + "TrackAlreadyExistInTrackCollection": "Трек уже существует в плейлисте {0}", "ShufflePlay": "Воспроизведение в случайном порядке", - "PluralAlbums": "{0} albums" + "PluralAlbums": "{0} альбомов" }, "AlbumsViewModel": { "Title": "Архив", "SearchHint": "Поиск" }, "AutomaticDownloadViewModel": { - "Title": "Automatic Download", + "Title": "Автоматическая загрузка", "None": "Никакой", "PluralLatestTracks": "{0} последние треки", - "AutomaticDownloadSubtitle": "Set amount of tracks to be downloaded automatically when following this podcast." + "AutomaticDownloadSubtitle": "Установите количество треков, которые будут загружаться автоматически при прослушивании этого подкаста." }, "ContributorViewModel": { "Title": "Исполнитель", @@ -101,19 +101,19 @@ "SearchHint": "Поиск" }, "ExploreNewestViewModel": { - "Title": "Home", + "Title": "Главная", "SearchHint": "Поиск", "FraKaareHeader": "От Коре", "AslaksenTeaserHeader": "Слово Веры", "ShowAll": "Показать все", - "PlayRandom": "Play random", - "PlayNewest": "Play newest", + "PlayRandom": "Воспроизведение в случайном порядке", + "PlayNewest": "Воспроизвести новейшие", "LatestTrack": "Последний трек", - "NextBroadcast": "Next broadcast", + "NextBroadcast": "Следующая трансляция", "BmmRadio": "BMM Live", - "CountdownHours": "in {0}h", - "Messages": "Recent Messages", - "Music": "Recent Music", + "CountdownHours": "через {0}часов", + "Messages": "Последние проповеди", + "Music": "Недавние треки", "Recommended": "Рекомендуется", "More": "Показать больше" }, @@ -127,37 +127,37 @@ "GuideIntroSubtitle": "Свайпните, чтобы узнать больше", "GuideOfflineTitle": "Списки воспроизведения в автономном режиме", "GuideOfflineSubtitle": "Загрузить списки воспроизведения на устройство и слушать их без подключения к Интернету. Вы можете включить эту функцию в списке воспроизведения.", - "GuideAddToPlaylistTitle": "Add to playlist or 'My Tracks'", - "GuideAddToPlaylistSubtitle": "Save your favorite tracks to your own playlists or to your personal BMM collection 'My Tracks' by tapping the options button to the right of the track.", + "GuideAddToPlaylistTitle": "Добавить в плейлист или в «Мои треки»", + "GuideAddToPlaylistSubtitle": "Сохраняйте любимые треки в плейлисты или в личную коллекцию BMM «Мои треки», нажав кнопку опций справа от трека.", "GuideLanguagesTitle": "Несколько языков", "GuideLanguagesSubtitle": "Выберите приоритетные языки содержания. Зайти в Настройки>Язык содержания", - "GuideLibraryTitle": "Library Section", - "GuideLibrarySubtitle": "Get quick access to the content you want. The Library section consists of all the available podcasts and an archive section to browse content. ", + "GuideLibraryTitle": "Библиотека", + "GuideLibrarySubtitle": "Получите быстрый доступ к нужному вам контенту. В разделе Библиотека собраны все доступные подкасты, а в разделе \"Архив\" можно посмотреть существующий контент.", "GuideSearchTitle": "Поиск", "GuideSearchSubtitle": "Поиск определенной дорожки, или для субъектов найти содержание, связанное с. Ваши поиски будут сохранены автоматически.", "ButtonSendMail": "Отправить электронное письмо группе поддержки на BMM" }, "UserSetupViewModel": { - "SettingUpAccountMessage": "We're setting up your account. This might take a few moments." + "SettingUpAccountMessage": "Мы настраиваем вашу учетную запись. Это может занять несколько минут." }, "LoginViewModel": { "Title": "Войти", "LoginFailureTitle": "Ошибка входа", "LoginFailureMessage": "Пожалуйста, попробуйте еще раз, используя правильные учетные данные", "LoginNoConnectionMessage": "Подключение недоступно. Пожалуйста, повторите попытку позже", - "WrongMailAddressTitle": "Invalid email", - "WrongMailAddress": "Please provide a valid email address. Using the username for login is no longer supported.", + "WrongMailAddressTitle": "Неверный адрес электронной почты", + "WrongMailAddress": "Пожалуйста, укажите действительный адрес электронной почты. Указание имени пользователя для входа в систему больше не поддерживается.", "TbxUsername.Hint": "Электронная почта", "TbxPassword.Hint": "Пароль", "BtnLogin.Text": "Войти", - "LoginInfo": "Sign in with your BCC login" + "LoginInfo": "Войдите в систему, используя свой логин BCC" }, "SupportEndedViewModel": { - "DeviceSupportEnding": "We will soon stop support for phones running {0} {1} or older. If possible, you should update your phone.", - "DeviceSupportEnded": "Unfortunately, we no longer support devices older than {0} {1}. Please update your device or upgrade to a newer phone.", - "AppSupportEnding": "You are using an old version of the BMM app. We will soon stop support for that version. Please update BMM.", - "AppSupportEnded": "You are using an old version of the BMM app, which is no longer supported. Please update BMM.", - "UpdateButton": "Update" + "DeviceSupportEnding": "В ближайшее время мы прекратим поддержку телефонов с операционной системой {0} {1} и старше. Если есть возможность, обновите свой телефон.", + "DeviceSupportEnded": "К сожалению, мы больше не поддерживаем устройства старше {0} {1}. Пожалуйста, обновите свое устройство или перейдите на более новый телефон.", + "AppSupportEnding": "Вы используете старую версию приложения BMM. В ближайшее время мы прекратим поддержку этой версии. Пожалуйста, обновите BMM.", + "AppSupportEnded": "Вы используете старую версию приложения BMM, которая больше не поддерживается. Пожалуйста, обновите BMM.", + "UpdateButton": "Обновить" }, "LanguageAppViewModel": { "Title": "Язык приложения" @@ -172,7 +172,7 @@ "DeleteLanguageTitle": "Не удается удалить {0}" }, "BrowseViewModel": { - "Title": "Browse" + "Title": "Просмотреть" }, "LibraryArchiveViewModel": { "Title": "Архив" @@ -182,26 +182,26 @@ "Search": "Поиск", "Explore": "Исследовать", "MyContent": "Мое содержание", - "Browse": "Browse", + "Browse": "Просмотреть", "Settings": "Параметры", "HelpAndFeedback": "Справка и обратная связь", - "Home": "Home", - "Favorites": "Favorites", - "Profile": "Profile" + "Home": "Главная", + "Favorites": "Избранное", + "Profile": "Профиль" }, "MyContentViewModel": { - "Title": "Favorites", + "Title": "Избранное", "DownloadedContent": "Скачанный контент", - "FollowedPodcasts": "Followed Podcasts", + "FollowedPodcasts": "Подкасты, на которые вы подписаны", "MyTracks": "Треки", - "MyPlaylists": "My playlists", - "SharedWithMe": "Shared with me", - "ByFormat": "by {0}" + "MyPlaylists": "Мои плейлисты", + "SharedWithMe": "Поделились со мной", + "ByFormat": "{0}" }, "FollowedPodcastsViewModel": { - "Title": "Followed Podcasts", - "EmptyTitle": "You are currently not following any podcast", - "EmptySubline": "Follow a Podcast by opening a Podcast and clicking the follow button." + "Title": "Подкасты, на которые вы подписаны", + "EmptyTitle": "В настоящее время вы не подписаны ни на один подкаст", + "EmptySubline": "Подпишитесь на подкаст с помощью кнопки «подписаться»." }, "MyTracksViewModel": { "Title": "Треки", @@ -211,33 +211,33 @@ "AvailableOfflineDownloading": "Загрузка {0} из {1}", "RemoveOfflineConfirm": "Вы действительно хотите удалить все загруженные элементы?", "EmptyTitle": "Этот плейлист пуст", - "EmptySubline": "Press the three dots on a track to add the track to this track list.", + "EmptySubline": "Нажмите три точки на дорожке, чтобы добавить ее в этот список.", "AskToResumeDownloading": "Есть новые элементы в этом списке воспроизведения. Вы хотите возобновить загрузку?" }, "DownloadedContentViewModel": { "Title": "Скачанный контент", - "FollowedPodcasts": "Followed Podcasts", + "FollowedPodcasts": "Подкасты, на которые вы подписаны", "MyTracks": "Треки", - "EmptyTitle": "You have not downloaded any content", - "EmptySubline": "Download a playlist or follow a podcast to have it available offline." + "EmptyTitle": "У вас нет загруженных дорожек", + "EmptySubline": "Скачайте плейлист или подпишитесь на подкаст, чтобы он был доступен без подключения к сети." }, "DownloadedFollowedPodcastsViewModel": { - "Title": "Followed Podcasts", - "EmptyTitle": "You are currently not following any podcast", - "EmptySubline": "Follow a Podcast by opening a Podcast and clicking the follow button." + "Title": "Подкасты, на которые вы подписаны", + "EmptyTitle": "В настоящее время вы не подписаны ни на один подкаст", + "EmptySubline": "Подпишитесь на подкаст с помощью кнопки «подписаться»." }, "PodcastViewModel": { "Title": "Подкаст", - "Follow": "Follow", - "Following": "Following", - "ManageDownloads": "Manage downloads", - "GetNotified": "Get notified", - "GetNotifiedMessage": "when new episodes are out", - "UnfollowConfirm": "Do you really want to unfollow this podcast?", - "ToggleFollowOfflineError": "You need to be in online mode to follow or unfollow a podcast", - "Week": "Week {0}", - "ThisWeek": "This week", - "LastWeek": "Last week", + "Follow": "Подписаться", + "Following": "Подписки", + "ManageDownloads": "Управление скачиваниями", + "GetNotified": "Получать уведомления,", + "GetNotifiedMessage": "когда выходят новые эпизоды", + "UnfollowConfirm": "Вы действительно хотите отписаться от этого подкаста?", + "ToggleFollowOfflineError": "Чтобы подписаться на подкаст или отписаться от него, вам необходимо подключиться к сети.", + "Week": "Неделя {0}", + "ThisWeek": "На этой неделе", + "LastWeek": "На прошлой неделе", "AslaksenTheme1": "Верь в Бога чудес!", "AslaksenTheme2": "Я сораспят со Христом", "AslaksenTheme3": "Бояться и любить Бога", @@ -250,18 +250,18 @@ "Title": "Списки воспроизведения" }, "PlayerViewModel": { - "Title": "Now playing", + "Title": "Сейчас проигрывается", "PlayingCount": "Воспроизведение {0} из {1}", - "ViewLyrics": "View Lyrics", - "SleepTimer": "Sleep timer", - "Minutes": "{0} minutes", - "Hour": "{0} hour", - "Hours": "{0} hours", - "Disable": "Disable", - "PlaybackSpeed": "Playback speed", - "Normal": "Normal", - "Selected": "Selected", - "WatchOnBCCMedia": "Watch on BCC Media" + "ViewLyrics": "Показать текст", + "SleepTimer": "Таймер сна", + "Minutes": "{0} минут", + "Hour": "{0} час", + "Hours": "{0} часов", + "Disable": "Отключить", + "PlaybackSpeed": "Скорость воспроизведения", + "Normal": "Нормально", + "Selected": "Выбрано", + "WatchOnBCCMedia": "Смотрите в BCC Media" }, "QueueViewModel": { "Title": "Очередь" @@ -269,35 +269,35 @@ "SearchViewModel": { "Title": "Поиск", "SearchHint": "Поиск", - "SearchResults": "Results", + "SearchResults": "Результаты", "SearchHistory": "Недавние поисковые запросы", "SearchSuggestions": "Вы имели в виду: ", "WelcomeTitle": "Начните поиск здесь!", "WelcomeSubTitle": "Используйте поле Поиск для поиска содержимого на BMM", "DeleteConfirm": "Вы уверены, что хотите удалить историю поиска?", - "All": "All", - "Speeches": "Speeches", + "All": "Все", + "Speeches": "Проповеди", "Music": "Музыка", "Albums": "Альбомы", - "Contributors": "People", + "Contributors": "Люди", "Podcasts": "Подкасты", "Playlists": "Списки воспроизведения", - "NoResults": "No results", - "NoResultsDescription": "There where no matches with your search for \"{0}\"", - "SearchFailedTitle": "Search failed", - "SearchFailedMessage": "Sorry, we could not search for \"{0}\" because of connection issues. Press the button below to try again." + "NoResults": "Без результатов", + "NoResultsDescription": "По вашему запросу \"{0}\" нет совпадений.", + "SearchFailedTitle": "Поиск не дал результатов", + "SearchFailedMessage": "К сожалению, нам не удалось найти «{0}» из-за проблем с подключением. Нажмите кнопку ниже, чтобы повторить попытку." }, "SettingsViewModel": { - "Title": "Profile", + "Title": "Профиль", "HeadlineSettings": "Параметры", - "OptionAutoplayHeader": "Autoplay", - "OptionAutoplayText": "Play music after listening to today's episode of Fra Kåre", - "OptionStreakHeader": "Streak on Home", - "OptionStreakText": "Show your listening statistic on the home screen", + "OptionAutoplayHeader": "Автовоспроизведение", + "OptionAutoplayText": "Проигрывать музыку после прослушивания выпуска Fra Kåre.", + "OptionStreakHeader": "Страйк на Главной", + "OptionStreakText": "Показать статистику прослушивания на главном экране", "OptionEnablePushHeader": "Включить \"Push\" - уведомления", - "OptionPushNotifications": "Push Notifications", - "OptionPushNotificationsSubtitle": "Enable push notifications for podcasts you follow", - "OptionExternalStorage": "Storage location", + "OptionPushNotifications": "Push-уведомления", + "OptionPushNotificationsSubtitle": "Включить push-уведомления для подкастов, на которые вы подписаны", + "OptionExternalStorage": "Место хранения", "OptionMBInternalText": "Internal {0} MB", "OptionMBExternalText": "External {0} MB", "OptionEnablePushText": "Получать push-уведомления, когда появляется новое содержимое", @@ -314,42 +314,42 @@ "OptionContactHeader": "Контакт", "OptionContactText": "Вопросы или пожелания? Связаться с нами.", "OptionAppVersionHeader": "Версия приложения", - "OptionDeleteAccountHeader": "Delete Account", - "OptionDeleteAccountText": "Request that your account is deleted.", + "OptionDeleteAccountHeader": "Удалить аккаунт", + "OptionDeleteAccountText": "Запросить удаление аккаунта.", "AppInfoTitle": "Информация о приложении", "AppInfoAppVersion": "Версия приложения: ", - "AppInfoManufacturer": "Manufacturer: ", + "AppInfoManufacturer": "Производитель: ", "AppInfoDeviceModel": "Модель устройства: ", "AppInfoDevicePlatform": "Платформа устройства: ", "AppInfoDeviceVersion": "Версия устройства: ", - "LoggedInAs": "Signed in as", + "LoggedInAs": "Вошли как", "LogoutConfirm": "Вы уверены, что вы хотите выйти?", "Logout": "Выход", - "UserVoiceHeader": "User Voice", - "UserVoiceText": "Got ideas on how to improve BMM? Tell us about it.", - "ThemeHeader": "Dark mode", - "ThemeText": "Choose between a light and a dark theme", + "UserVoiceHeader": "Голос пользователя", + "UserVoiceText": "У вас есть идеи, как улучшить BMM? Расскажите нам.", + "ThemeHeader": "Темный режим", + "ThemeText": "Выберите темную или светлую тему", "ColorHeader": "Цветовая тема", "ColorText": "Выбор цветовых тем", - "SiriShortcutsHeader": "Siri Shortcuts", - "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "SiriShortcutsHeader": "Ярлыки Сири", + "SiriShortcutsText": "Добавьте ярлыки Siri для BMM на свое устройство", + "PushNotificationsGoToSettings": "К сожалению, мы не можем присылать Push-уведомления, так как они отключены в настройках вашего устройства. Пожалуйста, разрешите Push-уведомления в настройках устройства, чтобы включить эту функцию." }, "StorageManagementViewModel": { - "Title": "Location for offline tracks", - "RemoveAllFiles": "Do you want to select a new storage location and remove all offline tracks?" + "Title": "Расположение офлайн-дорожек", + "RemoveAllFiles": "Хотите выбрать новое место хранения и удалить все офлайн-дорожки?" }, "DocumentsViewModel": { - "PluralTracks": "{0} tracks", - "PluralTracksLoaded": "{0} tracks loaded", + "PluralTracks": "{0} дорожек", + "PluralTracksLoaded": "{0} дорожек загружено", "Download": "Скачать", - "Shuffle": "Shuffle", + "Shuffle": "Перемешать", "Play": "Играть" }, "TrackCollectionViewModel": { "Title": "Плейлист", - "ShufflePlay": "Shuffle", - "Resume": "Resume", + "ShufflePlay": "Перемешать", + "Resume": "Продолжить", "AvailableOffline": "Доступно в оффлайн режиме", "AvailableOfflineDownload": "Скачать", "AvailableOfflineDownloading": "Загрузка {0} из {1}", @@ -363,37 +363,37 @@ "SearchHint": "Поиск", "EmptyTitle": "Этот плейлист пуст", "EmptySubline": "Нажимайте три точки на треках, чтобы добавлять их в этот плейлист.", - "NotEnoughtSpaceToDownload": "Not enough space to download all tracks", + "NotEnoughtSpaceToDownload": "Недостаточно места для скачивания всех дорожек", "AskToResumeDownloading": "Есть новые элементы в этом списке воспроизведения. Вы хотите возобновить загрузку?", - "Private": "Private", + "Private": "Личный", "DeletePlaylist": "Удалить плейлист", - "EditPlaylist": "Edit playlist", - "SharePlaylist": "Share playlist", - "RemovePlaylist": "Remove playlist" + "EditPlaylist": "Редактировать плейлист", + "SharePlaylist": "Поделиться плейлистом", + "RemovePlaylist": "Удалить плейлист" }, "EditTrackCollectionViewModel": { "Title": "Редактировать Плейлист", - "RenameLabel": "Rename playlist", + "RenameLabel": "Переименовать плейлист", "MenuSave": "Сохранить", - "EmptyName": "The playlist has no name", - "SaveFailure": "Could not update changes. Check your internet connection and try again", - "DiscardChangesTitle": "Discard Changes?", - "DiscardChangesMessage": "The changes you made won't be saved", - "DiscardChanges": "Discard", - "KeepEditing": "Keep Editing" + "EmptyName": "У плейлиста нет названия", + "SaveFailure": "Не удалось внести изменения. Проверьте подключение к Интернету и повторите попытку", + "DiscardChangesTitle": "Отменить изменения?", + "DiscardChangesMessage": "Внесенные вами изменения не будут сохранены.", + "DiscardChanges": "Отменить", + "KeepEditing": "Продолжить редактирование" }, "ShareTrackCollectionViewModel": { - "Title": "Share Playlist", - "ShareNote": "By sharing a playlist, people will be able to access and listen to the tracks you add, if they have the link.", - "ShareLink": "Share link", - "MakePrivate": "Make private", - "SharedWithFormat": "Shared with {0} people" + "Title": "Поделиться плейлистом", + "ShareNote": "Поделившись плейлистом, вы сможете открыть доступ для других пользователей к добавленным вами дорожкам и прослушивать их, если у них есть ссылка.", + "ShareLink": "Поделиться ссылкой", + "MakePrivate": "Сделать личным", + "SharedWithFormat": "Доступно {0} людям" }, "SharedTrackCollectionViewModel": { - "Title": "Shared Playlist", - "Close": "Close", - "AddToMyPlaylist": "Add to my playlists", - "FollowOwnTrackCollection": "You cannot follow your own track collection" + "Title": "Плейлисты, с которыми поделились с вами", + "Close": "Закрыть", + "AddToMyPlaylist": "Добавить в мои плейлисты", + "FollowOwnTrackCollection": "Вы не можете подписаться на собственную коллекцию дорожек" }, "OfflineTrackCollectionViewModel": { "Title": "Список воспроизведения", @@ -407,8 +407,8 @@ "Title": "Добавить трек в...", "SearchHint": "Поиск", "FailedToAdd": "Не удалось добавить трек в плейлист. Пожалуйста, повторите попытку позже.", - "AlbumFailedToAddAlreadyExists": "This album is already in your playlist.", - "TrackAlreadyExistInTrackCollection": "Track already exists in playlist {0}", + "AlbumFailedToAddAlreadyExists": "Этот альбом уже в вашем плейлисте.", + "TrackAlreadyExistInTrackCollection": "Трек уже существует в плейлисте {0}", "FailedToAddAlbum": "Не удалось добавить альбом плейлист, так как он содержит альбомы.", "FailedToAddUnknownType": "Добавление плейлиста «{0}» в настоящее время не поддерживается.", "CreatePlaylistPrompt": "Ввести название списка воспроизведения", @@ -417,37 +417,37 @@ "UserDialogs": { "Track.AddToPlaylist": "Добавить в плейлист", "Track.DeleteFromPlaylist": "Удалить из списка воспроизведения", - "Track.AddToMyTracks": "Add to My Tracks", - "Track.RemoveFromMyTracks": "Remove from My Tracks", - "Track.AddedToMyTracks": "Added to My Tracks", - "Track.RemovedFromMyTracks": "Removed from My Tracks", - "Track.FailedToRemoveFromMyTracks": "Failed to remove track from My Tracks", + "Track.AddToMyTracks": "Добавить в Мои дорожки", + "Track.RemoveFromMyTracks": "Удалить из Мои дорожки", + "Track.AddedToMyTracks": "Добавить в Мои дорожки", + "Track.RemovedFromMyTracks": "Удалено из Мои дорожки", + "Track.FailedToRemoveFromMyTracks": "Не удалось удалить дорожку из «Мои дорожки».", "Track.AddToQueue": "Добавить в очередь", - "Track.QueueToPlayNext": "Play next", + "Track.QueueToPlayNext": "Проиграть следующую", "Track.AddedToQueue": "Добавлено в очередь", "Track.GoToAlbum": "Перейти в альбом", "Track.GoToContributor": "Перейти к исполнителям", "Track.GoToContributor.Composer": "Композитор: {0}", "Track.GoToContributor.Interpret": "Исполнитель: {0}", "Track.GoToContributor.Lyricist": "Текст: {0}", - "Track.GoToContributor.Arranger": "Arranger: {0}", + "Track.GoToContributor.Arranger": "Аранжировщик: {0}", "Track.Download": "Скачать трек", "Track.MoreInformation": "Дополнительная информация", - "Track.Share": "Share track", + "Track.Share": "Поделиться дорожкой", "Album.Play": "Играть", "Album.AddToPlaylist": "Добавить альбом в плейлист", - "Album.AddToMyTracks": "Add album to My Tracks", - "Album.AddedToMyTracks": "Album added to My Tracks", + "Album.AddToMyTracks": "Добавить альбом в Мои треки", + "Album.AddedToMyTracks": "Добавить в Мои дорожки", "Album.AddToQueue": "Добавить в очередь", - "Album.Share": "Share album", + "Album.Share": "Поделиться альбомом", "FailedToAdd": "Не удалось добавить трек в плейлист. Пожалуйста, повторите попытку позже.", "FailedToAddAlbum": "Не удалось добавить альбом плейлист, так как он содержит альбомы.", - "AlbumFailedToAddAlreadyExists": "This album is already in your playlist.", - "TrackAlreadyExistInTrackCollection": "Track already exists in playlist {0}", + "AlbumFailedToAddAlreadyExists": "Этот альбом уже в вашем плейлисте.", + "TrackAlreadyExistInTrackCollection": "Трек уже существует в плейлисте {0}", "FailedToAddUnknownType": "Добавление плейлиста «{0}» в настоящее время не поддерживается.", "MyTracks": "Треки", "Contributor.Play": "Играть", - "Contributor.Share": "Share contributor", + "Contributor.Share": "Поделиться автором", "OfflineTrackCollection.DeletePlaylist": "Удалить список воспроизведения", "Cancel": "Отмена" }, @@ -463,7 +463,7 @@ "AboutTrack": "О дорожке", "Title": "Информация о треке", "TrackTitle": "Название", - "SongNumber": "Song number", + "SongNumber": "Номер песни", "Album": "Альбом", "Artist": "Исполнитель", "Duration": "Продолжительность", @@ -471,22 +471,22 @@ "Lyricist": "Текст", "Arranger": "Аранжировщик", "Composer": "Композитор", - "Publisher": "Publisher", + "Publisher": "Опубликовано", "Copyright": "Авторское право" }, "CopyrightViewModel": { "Title": "Авторское право" }, "PlaybackHistoryViewModel": { - "Title": "Recently played", - "NoHistoryYetTitle": "You can now see what you’ve been listening to", - "NoHistoryYetSubtitle": "Just start listening, and your history will show up here" + "Title": "Недавно проигранные", + "NoHistoryYetTitle": "Теперь вы можете видеть, что вы слушали.", + "NoHistoryYetSubtitle": "Просто начните слушать, и ваша история появится здесь" }, "ExploreRecentSpeechesViewModel": { - "Title": "Recent Messages" + "Title": "Последние проповеди" }, "ExploreRecentMusicViewModel": { - "Title": "Recent Music" + "Title": "Недавние треки" }, "DownloadManager": { "DownloadingFinished": "Все файлы были загружены!" @@ -518,7 +518,7 @@ "AllLanguages": "Все языки" }, "SiriShortcutsViewModel": { - "Title": "Siri Shortcuts", + "Title": "Ярлыки Сири", "ShortcutAlreadyAdded": "This shortcut has already been added" }, "YearInReviewViewModel": { @@ -578,7 +578,7 @@ "RewardIos": "Эксклюзивный значок для вашего приложения BMM 🤩", "RewardAndroidGolden": "Эксклюзивная цветовая тема для вашего приложения BMM. Кроме того, вы участвуете в розыгрыше AirPods Pro. Отличная работа!", "RewardIosGolden": "Эксклюзивный значок для приложения BMM золотого цвета. Кроме того, вы участвуете в розыгрыше AirPods Pro. Отличная работа!", - "PlayNext": "Play next" + "PlayNext": "Проиграть следующую" }, "SuggestEditViewModel": { "Title": "Suggest an edit", From 4e8f337711970614ad26f5e080019377e0dd844a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karsten=20Ku=CC=88pper?= Date: Thu, 21 Dec 2023 15:33:33 +0100 Subject: [PATCH 2/7] change publishing date --- BMM.Core/Translation/en/main.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BMM.Core/Translation/en/main.json b/BMM.Core/Translation/en/main.json index 3f34a290..acc2de46 100644 --- a/BMM.Core/Translation/en/main.json +++ b/BMM.Core/Translation/en/main.json @@ -594,7 +594,7 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" } } \ No newline at end of file From 8cc9ea912f6d7805a897940626162cb8fc36c9fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arkadiusz=20Kro=CC=81l?= Date: Thu, 28 Dec 2023 14:16:35 +0100 Subject: [PATCH 3/7] Project box UI fixes --- BMM.UI.Android/AndroidSetup.cs | 1 + .../Bindings/HexMvxCardBackgroundColor.cs | 27 +++++++++++++ .../Fragments/AskQuestionFragment.cs | 16 ++++++-- .../layout/listitem_project_box_collapsed.xml | 23 +++++++---- .../layout/listitem_project_box_expanded.xml | 38 ++++++++++++------- ...IAdaptivePresentationControllerDelegate.cs | 8 +++- .../ProjectBoxCollapsedViewCell.cs | 1 + .../ProjectBoxCollapsedViewCell.designer.cs | 14 +++++-- .../ProjectBoxCollapsedViewCell.xib | 5 ++- .../ProjectBoxExpandedViewCell.xib | 24 ++++++------ .../TableViewCell/TrackTableViewCell.cs | 7 +++- .../AskQuestionConfirmationViewController.xib | 5 ++- .../AskQuestionViewController.cs | 2 +- .../AskQuestionViewController.xib | 9 ++--- 14 files changed, 128 insertions(+), 52 deletions(-) create mode 100644 BMM.UI.Android/Application/Bindings/HexMvxCardBackgroundColor.cs diff --git a/BMM.UI.Android/AndroidSetup.cs b/BMM.UI.Android/AndroidSetup.cs index 789759e1..6f4818d2 100644 --- a/BMM.UI.Android/AndroidSetup.cs +++ b/BMM.UI.Android/AndroidSetup.cs @@ -239,6 +239,7 @@ private void RegisterAdditionalBindings(IMvxTargetBindingFactoryRegistry registr ImageButtonIconResourceBinding.Register(registry); AlphaTargetBinding.Register(registry); IsEnabledBinding.Register(registry); + HexMvxCardBackgroundColor.Register(registry); } private void InitializeMediaPlayer(IMvxIoCProvider iocProvider) diff --git a/BMM.UI.Android/Application/Bindings/HexMvxCardBackgroundColor.cs b/BMM.UI.Android/Application/Bindings/HexMvxCardBackgroundColor.cs new file mode 100644 index 00000000..593f29a4 --- /dev/null +++ b/BMM.UI.Android/Application/Bindings/HexMvxCardBackgroundColor.cs @@ -0,0 +1,27 @@ +using Android.Content.Res; +using AndroidX.CardView.Widget; +using BMM.UI.Droid.Application.Bindings.Base; +using Microsoft.Maui.Graphics.Platform; +using MvvmCross.Binding.Bindings.Target.Construction; + +namespace BMM.UI.Droid.Application.Bindings +{ + public class HexMvxCardBackgroundColor : BMMAndroidTargetBinding + { + public HexMvxCardBackgroundColor(CardView target) : base(target) + { + } + + protected override void SetValueImpl(CardView target, string value) + { + var color = Microsoft.Maui.Graphics.Color.FromArgb(value); + Target.CardBackgroundColor = ColorStateList.ValueOf(color.AsColor()); + } + + public static void Register(IMvxTargetBindingFactoryRegistry registry) => + registry.RegisterFactory( + new MvxCustomBindingFactory( + nameof(HexMvxCardBackgroundColor), + view => new HexMvxCardBackgroundColor(view))); + } +} \ No newline at end of file diff --git a/BMM.UI.Android/Application/Fragments/AskQuestionFragment.cs b/BMM.UI.Android/Application/Fragments/AskQuestionFragment.cs index 94538e6c..affbe5ae 100644 --- a/BMM.UI.Android/Application/Fragments/AskQuestionFragment.cs +++ b/BMM.UI.Android/Application/Fragments/AskQuestionFragment.cs @@ -1,11 +1,7 @@ using Android.Runtime; -using Android.Views; using Android.Views.InputMethods; -using AndroidX.ConstraintLayout.Widget; using BMM.Core.ViewModels; using BMM.UI.Droid.Application.Fragments.Base; -using Com.Airbnb.Lottie; -using MvvmCross.Binding.BindingContext; using MvvmCross.Platforms.Android.Presenters.Attributes; namespace BMM.UI.Droid.Application.Fragments @@ -15,5 +11,17 @@ namespace BMM.UI.Droid.Application.Fragments public class AskQuestionFragment : BaseDialogFragment { protected override int FragmentId => Resource.Layout.fragment_ask_question; + + public override void OnResume() + { + base.OnResume(); + View!.Post(() => + { + var questionEditText = View.FindViewById(Resource.Id.QuestionEditText); + questionEditText.RequestFocus(); + var imm = (InputMethodManager)Context!.GetSystemService(Android.Content.Context.InputMethodService); + imm!.ToggleSoftInput(ShowFlags.Forced, HideSoftInputFlags.ImplicitOnly); + }); + } } } \ No newline at end of file diff --git a/BMM.UI.Android/Resources/layout/listitem_project_box_collapsed.xml b/BMM.UI.Android/Resources/layout/listitem_project_box_collapsed.xml index 8423a62e..78994e75 100644 --- a/BMM.UI.Android/Resources/layout/listitem_project_box_collapsed.xml +++ b/BMM.UI.Android/Resources/layout/listitem_project_box_collapsed.xml @@ -16,15 +16,24 @@ android:layout_height="match_parent" android:background="@color/background_two_color"> - + local:layout_constraintStart_toStartOf="parent" + local:cardCornerRadius="16dp" + local:MvxBind="HexMvxCardBackgroundColor ProjectBox.IconColor"> + + diff --git a/BMM.UI.Android/Resources/layout/listitem_project_box_expanded.xml b/BMM.UI.Android/Resources/layout/listitem_project_box_expanded.xml index 4f67a497..923c597e 100644 --- a/BMM.UI.Android/Resources/layout/listitem_project_box_expanded.xml +++ b/BMM.UI.Android/Resources/layout/listitem_project_box_expanded.xml @@ -14,25 +14,34 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/background_two_color"> - - + + + + @@ -55,6 +64,7 @@ android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" android:gravity="center" + android:layout_marginStart="@dimen/margin_medium" local:layout_constraintVertical_chainStyle="packed" local:layout_constraintTop_toTopOf="@+id/AchievementsLayout" local:layout_constraintBottom_toTopOf="@+id/PointsLabel" @@ -68,6 +78,7 @@ android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" android:gravity="center" + android:layout_marginStart="@dimen/margin_medium" local:layout_constraintTop_toBottomOf="@+id/PointsNumber" local:layout_constraintBottom_toBottomOf="@+id/AchievementsLayout" local:layout_constraintStart_toStartOf="parent" @@ -160,6 +171,7 @@ android:layout_width="16dp" android:layout_height="16dp" android:layout_marginStart="@dimen/margin_tiny" + android:tint="@color/label_two_color" android:src="@drawable/icon_arrow_right_two"/> diff --git a/BMM.UI.iOS/Application/Delegates/CustomUIAdaptivePresentationControllerDelegate.cs b/BMM.UI.iOS/Application/Delegates/CustomUIAdaptivePresentationControllerDelegate.cs index 05f3e901..174874d9 100644 --- a/BMM.UI.iOS/Application/Delegates/CustomUIAdaptivePresentationControllerDelegate.cs +++ b/BMM.UI.iOS/Application/Delegates/CustomUIAdaptivePresentationControllerDelegate.cs @@ -1,14 +1,14 @@ -using UIKit; - namespace BMM.UI.iOS { public delegate void DidDismissDelegate(UIPresentationController presentationController); public delegate void DidAttemptToDismiss(UIPresentationController presentationController); + public delegate bool ShouldDismiss(UIPresentationController presentationController); public class CustomUIAdaptivePresentationControllerDelegate : UIAdaptivePresentationControllerDelegate { public DidDismissDelegate OnDidDismiss { get; set; } public DidAttemptToDismiss OnDidAttemptToDismiss { get; set; } + public ShouldDismiss OnShouldDismiss { get; set; } public override void DidDismiss(UIPresentationController presentationController) => OnDidDismiss?.Invoke(presentationController); @@ -16,10 +16,14 @@ public override void DidDismiss(UIPresentationController presentationController) public override void DidAttemptToDismiss(UIPresentationController presentationController) => OnDidAttemptToDismiss?.Invoke(presentationController); + public override bool ShouldDismiss(UIPresentationController presentationController) + => OnShouldDismiss?.Invoke(presentationController) ?? true; + public void Clear() { OnDidDismiss = null; OnDidAttemptToDismiss = null; + OnShouldDismiss = null; } } } \ No newline at end of file diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs index a06153f1..25aede4d 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs @@ -49,6 +49,7 @@ public override void AwakeFromNib() { base.AwakeFromNib(); TitleLabel.ApplyTextTheme(AppTheme.Title1); + Icon.TintColor = AppColors.GlobalBlackOneColor; } public IMvxInteraction ExpandOrCollapseInteraction diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs index 3c643774..7669a2dc 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs @@ -19,11 +19,19 @@ partial class ProjectBoxCollapsedViewCell [Outlet] UIKit.UIButton ExpandButton { get; set; } + [Outlet] + UIKit.UIImageView Icon { get; set; } + [Outlet] UIKit.UILabel TitleLabel { get; set; } void ReleaseDesignerOutlets () { + if (ContainerView != null) { + ContainerView.Dispose (); + ContainerView = null; + } + if (ExpandButton != null) { ExpandButton.Dispose (); ExpandButton = null; @@ -34,9 +42,9 @@ void ReleaseDesignerOutlets () TitleLabel = null; } - if (ContainerView != null) { - ContainerView.Dispose (); - ContainerView = null; + if (Icon != null) { + Icon.Dispose (); + Icon = null; } } diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib index 0208b542..51b655e5 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib @@ -1,8 +1,8 @@ - + - + @@ -91,6 +91,7 @@ + diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib index d7de8ca4..9690300a 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib @@ -1,8 +1,8 @@ - + - + @@ -40,7 +40,7 @@ - + @@ -109,7 +109,7 @@ - + @@ -125,19 +125,19 @@ - + - + - - + + Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. @@ -127,7 +127,6 @@ - @@ -137,6 +136,7 @@ + @@ -158,8 +158,5 @@ - - - From 704d86c5841c7492aa74e6c50aaca8c5a4bdd1c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arkadiusz=20Kro=CC=81l?= Date: Thu, 28 Dec 2023 22:25:41 +0100 Subject: [PATCH 4/7] Achievements in Profile added --- BMM.Api/Framework/HTTP/ApiUris.cs | 1 + .../Clients/StatisticsClient.cs | 8 +++ BMM.Core/Models/ProfileListItem.cs | 7 +- .../Translation/en/Translations.designer.cs | 2 + BMM.Core/Translation/en/main.json | 6 +- BMM.Core/ViewModels/AchievementsViewModel.cs | 7 ++ BMM.Core/ViewModels/BrowseViewModel.cs | 7 +- BMM.Core/ViewModels/SettingsViewModel.cs | 11 ++- .../Fragments/AchievementsFragment.cs | 13 ++++ .../layout/fragment_achievements.xml | 10 +++ .../Resources/layout/listitem_profile.xml | 50 ++++++++++++-- .../ListItem/ProfileListItemTableViewCell.cs | 6 ++ .../ProfileListItemTableViewCell.designer.cs | 17 +++-- .../ListItem/ProfileListItemTableViewCell.xib | 69 +++++++++++++++---- .../ProjectBoxCollapsedViewCell.cs | 5 ++ .../ProjectBoxCollapsedViewCell.designer.cs | 14 +++- .../ProjectBoxCollapsedViewCell.xib | 3 +- .../ProjectBoxExpandedViewCell.cs | 5 ++ .../ProjectBoxExpandedViewCell.designer.cs | 34 +++++---- .../ProjectBoxExpandedViewCell.xib | 1 + .../SettingsTableViewSource.cs | 2 +- .../AchievementsViewController.cs | 24 +++++++ .../AchievementsViewController.designer.cs | 28 ++++++++ .../AchievementsViewController.xib | 43 ++++++++++++ 24 files changed, 320 insertions(+), 53 deletions(-) create mode 100644 BMM.Core/ViewModels/AchievementsViewModel.cs create mode 100644 BMM.UI.Android/Application/Fragments/AchievementsFragment.cs create mode 100644 BMM.UI.Android/Resources/layout/fragment_achievements.xml create mode 100644 BMM.UI.iOS/Application/ViewController/AchievementsViewController.cs create mode 100644 BMM.UI.iOS/Application/ViewController/AchievementsViewController.designer.cs create mode 100644 BMM.UI.iOS/Application/ViewController/AchievementsViewController.xib diff --git a/BMM.Api/Framework/HTTP/ApiUris.cs b/BMM.Api/Framework/HTTP/ApiUris.cs index 41061d4b..d3631ee3 100644 --- a/BMM.Api/Framework/HTTP/ApiUris.cs +++ b/BMM.Api/Framework/HTTP/ApiUris.cs @@ -40,6 +40,7 @@ public class ApiUris public const string StatisticsPostStreakPoints = "statistics/streakpoint"; public const string StatisticsListening = "statistics/listening"; public const string StatisticsAchievement = "statistics/achievement"; + public const string StatisticsAchievements = "statistics/achievements"; public const string AchievementAcknowledge = "statistics/achievement/{name}/acknowledge"; public const string Podcasts = "podcast/"; diff --git a/BMM.Api/Implementation/Clients/StatisticsClient.cs b/BMM.Api/Implementation/Clients/StatisticsClient.cs index cdbb6d7c..c18e3cb2 100644 --- a/BMM.Api/Implementation/Clients/StatisticsClient.cs +++ b/BMM.Api/Implementation/Clients/StatisticsClient.cs @@ -157,6 +157,14 @@ public Task GetProjectRules(string lang, int projectId) return Get(uri); } + // public Task GetAchievements(string lang, AppTheme theme) + // { + // var uri = new UriTemplate(ApiUris.StatisticsAchievements); + // uri.SetParameter("lang", lang); + // uri.SetParameter("theme", theme); + // return Get(uri); + // } + // public Task AchievementAcknowledge(string achievementType) { var uri = new UriTemplate(ApiUris.AchievementAcknowledge); diff --git a/BMM.Core/Models/ProfileListItem.cs b/BMM.Core/Models/ProfileListItem.cs index ceff7ddc..f4161069 100644 --- a/BMM.Core/Models/ProfileListItem.cs +++ b/BMM.Core/Models/ProfileListItem.cs @@ -5,11 +5,12 @@ namespace BMM.Core.Models public class ProfileListItem : SelectableListItem { public string Username { get; set; } - public string UserProfileUrl { get; set; } - + + public string AchievementsText { get; set; } public IMvxCommand LogoutCommand { get; set; } - + + public IMvxCommand AchievementsClickedCommand { get; set; } public IMvxCommand EditProfileCommand { get; set; } } } \ No newline at end of file diff --git a/BMM.Core/Translation/en/Translations.designer.cs b/BMM.Core/Translation/en/Translations.designer.cs index 81f4991e..c3f16e22 100644 --- a/BMM.Core/Translation/en/Translations.designer.cs +++ b/BMM.Core/Translation/en/Translations.designer.cs @@ -267,6 +267,7 @@ public static class Translations public const string SettingsViewModel_SiriShortcutsHeader = nameof(SettingsViewModel_SiriShortcutsHeader); public const string SettingsViewModel_SiriShortcutsText = nameof(SettingsViewModel_SiriShortcutsText); public const string SettingsViewModel_PushNotificationsGoToSettings = nameof(SettingsViewModel_PushNotificationsGoToSettings); + public const string SettingsViewModel_Achievements = nameof(SettingsViewModel_Achievements); public const string StorageManagementViewModel_Title = nameof(StorageManagementViewModel_Title); public const string StorageManagementViewModel_RemoveAllFiles = nameof(StorageManagementViewModel_RemoveAllFiles); public const string DocumentsViewModel_PluralTracks = nameof(DocumentsViewModel_PluralTracks); @@ -467,5 +468,6 @@ public static class Translations public const string AskQuestionConfirmationViewModel_ThankYou = nameof(AskQuestionConfirmationViewModel_ThankYou); public const string AskQuestionConfirmationViewModel_Description = nameof(AskQuestionConfirmationViewModel_Description); public const string AskQuestionConfirmationViewModel_GotIt = nameof(AskQuestionConfirmationViewModel_GotIt); + public const string AchievementsViewModel_Title = nameof(AchievementsViewModel_Title); } } diff --git a/BMM.Core/Translation/en/main.json b/BMM.Core/Translation/en/main.json index acc2de46..26f964a5 100644 --- a/BMM.Core/Translation/en/main.json +++ b/BMM.Core/Translation/en/main.json @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Location for offline tracks", @@ -596,5 +597,8 @@ "ThankYou": "Thanks for asking!", "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/ViewModels/AchievementsViewModel.cs b/BMM.Core/ViewModels/AchievementsViewModel.cs new file mode 100644 index 00000000..678990f6 --- /dev/null +++ b/BMM.Core/ViewModels/AchievementsViewModel.cs @@ -0,0 +1,7 @@ +using BMM.Core.ViewModels.Base; + +namespace BMM.Core.ViewModels; + +public class AchievementsViewModel : BaseViewModel +{ +} \ No newline at end of file diff --git a/BMM.Core/ViewModels/BrowseViewModel.cs b/BMM.Core/ViewModels/BrowseViewModel.cs index 38c83f63..d202542a 100644 --- a/BMM.Core/ViewModels/BrowseViewModel.cs +++ b/BMM.Core/ViewModels/BrowseViewModel.cs @@ -1,12 +1,7 @@ -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using BMM.Api.Abstraction; -using BMM.Api.Implementation.Models; +using BMM.Api.Abstraction; using BMM.Core.Extensions; using BMM.Core.GuardedActions.Documents.Interfaces; using BMM.Core.Implementations.Factories; -using BMM.Core.Models.POs.Base; using BMM.Core.Models.POs.Base.Interfaces; using BMM.Core.Models.POs.Other; using BMM.Core.ViewModels.Base; diff --git a/BMM.Core/ViewModels/SettingsViewModel.cs b/BMM.Core/ViewModels/SettingsViewModel.cs index b420fccf..a69a5c98 100644 --- a/BMM.Core/ViewModels/SettingsViewModel.cs +++ b/BMM.Core/ViewModels/SettingsViewModel.cs @@ -5,6 +5,7 @@ using BMM.Core.Extensions; using BMM.Core.GuardedActions.BibleStudy.Interfaces; using BMM.Core.GuardedActions.DebugInfo.Interfaces; +using BMM.Core.GuardedActions.Navigation; using BMM.Core.GuardedActions.Settings.Interfaces; using BMM.Core.Helpers; using BMM.Core.Implementations; @@ -31,6 +32,7 @@ using Microsoft.Maui.Devices; using MvvmCross; using MvvmCross.Commands; +using MvvmCross.Navigation; using MvvmCross.Plugin.Messenger; using DeviceInfo = Microsoft.Maui.Devices.DeviceInfo; using IDeviceInfo = BMM.Core.Implementations.Device.IDeviceInfo; @@ -64,6 +66,7 @@ public class SettingsViewModel : BaseViewModel private readonly IChangeNotificationSettingStateAction _changeNotificationSettingStateAction; private readonly IResetAchievementAction _resetAchievementAction; private readonly IFeaturePreviewPermission _featurePreviewPermission; + private readonly IMvxNavigationService _mvxNavigationService; private SelectableListItem _externalStorage; private List _listItems = new List(); @@ -105,7 +108,8 @@ public StyledTextContainer StyledTextContainer INotificationPermissionService notificationPermissionService, IChangeNotificationSettingStateAction changeNotificationSettingStateAction, IResetAchievementAction resetAchievementAction, - IFeaturePreviewPermission featurePreviewPermission) + IFeaturePreviewPermission featurePreviewPermission, + IMvxNavigationService mvxNavigationService) { _deviceInfo = deviceInfo; _networkSettings = networkSettings; @@ -130,6 +134,7 @@ public StyledTextContainer StyledTextContainer _changeNotificationSettingStateAction = changeNotificationSettingStateAction; _resetAchievementAction = resetAchievementAction; _featurePreviewPermission = featurePreviewPermission; + _mvxNavigationService = mvxNavigationService; Messenger.Subscribe(message => { ChangeStorageText(message.FileStorage); }, MvxReference.Strong); } @@ -210,7 +215,9 @@ private async Task> BuildProfileSection() Title = TextSource[Translations.SettingsViewModel_LoggedInAs], UserProfileUrl = _profilePictureUrl, Username = _userStorage.GetUser().FullName, - EditProfileCommand = new ExceptionHandlingCommand(async () => _uriOpener.OpenUri(new Uri(_remoteConfig.EditProfileUrl))) + EditProfileCommand = new ExceptionHandlingCommand(async () => _uriOpener.OpenUri(new Uri(_remoteConfig.EditProfileUrl))), + AchievementsText = TextSource[Translations.SettingsViewModel_Achievements], + AchievementsClickedCommand = new ExceptionHandlingCommand(async () => await _mvxNavigationService.Navigate()) } }; } diff --git a/BMM.UI.Android/Application/Fragments/AchievementsFragment.cs b/BMM.UI.Android/Application/Fragments/AchievementsFragment.cs new file mode 100644 index 00000000..8b7b731e --- /dev/null +++ b/BMM.UI.Android/Application/Fragments/AchievementsFragment.cs @@ -0,0 +1,13 @@ +using Android.Runtime; +using BMM.Core.ViewModels; +using MvvmCross.Platforms.Android.Presenters.Attributes; + +namespace BMM.UI.Droid.Application.Fragments +{ + [MvxFragmentPresentation(typeof(MainActivityViewModel), Resource.Id.content_frame, true)] + [Register("bmm.ui.droid.application.fragments.AchievementsFragment")] + public class AchievementsFragment : BaseFragment + { + protected override int FragmentId => Resource.Layout.fragment_achievements; + } +} \ No newline at end of file diff --git a/BMM.UI.Android/Resources/layout/fragment_achievements.xml b/BMM.UI.Android/Resources/layout/fragment_achievements.xml new file mode 100644 index 00000000..22f28b34 --- /dev/null +++ b/BMM.UI.Android/Resources/layout/fragment_achievements.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/BMM.UI.Android/Resources/layout/listitem_profile.xml b/BMM.UI.Android/Resources/layout/listitem_profile.xml index 7ce4c7cb..5f1e167c 100644 --- a/BMM.UI.Android/Resources/layout/listitem_profile.xml +++ b/BMM.UI.Android/Resources/layout/listitem_profile.xml @@ -54,7 +54,7 @@ style="@style/Title1" app:MvxBind="Text Username" - app:layout_constraintBottom_toTopOf="@+id/divider" + app:layout_constraintBottom_toTopOf="@+id/AchievementDivider" app:layout_constraintEnd_toStartOf="@+id/card_view" app:layout_constraintStart_toStartOf="parent" @@ -82,16 +82,48 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + @@ -102,19 +137,20 @@ - + + - + @@ -124,10 +160,13 @@ - + + + + diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs index 25aede4d..f1fd551e 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.cs @@ -39,6 +39,11 @@ public ProjectBoxCollapsedViewCell(IntPtr handle) .For(v => v.ExpandOrCollapseInteraction) .To(po => po.ExpandOrCollapseInteraction); + set.Bind(IconBackgroundView) + .For(v => v.BackgroundColor) + .To(po => po.ProjectBox.IconColor) + .WithConversion(); + set.Apply(); }); } diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs index 7669a2dc..5da3573e 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.designer.cs @@ -22,6 +22,9 @@ partial class ProjectBoxCollapsedViewCell [Outlet] UIKit.UIImageView Icon { get; set; } + [Outlet] + UIKit.UIView IconBackgroundView { get; set; } + [Outlet] UIKit.UILabel TitleLabel { get; set; } @@ -37,14 +40,19 @@ void ReleaseDesignerOutlets () ExpandButton = null; } + if (Icon != null) { + Icon.Dispose (); + Icon = null; + } + if (TitleLabel != null) { TitleLabel.Dispose (); TitleLabel = null; } - if (Icon != null) { - Icon.Dispose (); - Icon = null; + if (IconBackgroundView != null) { + IconBackgroundView.Dispose (); + IconBackgroundView = null; } } diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib index 51b655e5..4e2fb4a8 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxCollapsedViewCell.xib @@ -47,7 +47,7 @@ - + @@ -92,6 +92,7 @@ + diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.cs b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.cs index 3f73cd9a..7fa5d55b 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.cs +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.cs @@ -69,6 +69,11 @@ public ProjectBoxExpandedViewCell(IntPtr handle) .For(v => v.BindTap()) .To(po => po.OpenRulesCommand); + set.Bind(IconBackground) + .For(v => v.BackgroundColor) + .To(po => po.ProjectBox.IconColor) + .WithConversion(); + set.Apply(); }); } diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.designer.cs b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.designer.cs index 8ec7bebc..fecc03aa 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.designer.cs +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.designer.cs @@ -28,6 +28,9 @@ partial class ProjectBoxExpandedViewCell [Outlet] UIKit.UIButton CollapseButton { get; set; } + [Outlet] + UIKit.UIView IconBackground { get; set; } + [Outlet] UIKit.UILabel PointsLabel { get; set; } @@ -53,6 +56,21 @@ void ReleaseDesignerOutlets () AchievementsCollectionView = null; } + if (AchievementsContainer != null) { + AchievementsContainer.Dispose (); + AchievementsContainer = null; + } + + if (AchievementsHeightConstraint != null) { + AchievementsHeightConstraint.Dispose (); + AchievementsHeightConstraint = null; + } + + if (AchievementStackView != null) { + AchievementStackView.Dispose (); + AchievementStackView = null; + } + if (CollapseButton != null) { CollapseButton.Dispose (); CollapseButton = null; @@ -88,19 +106,9 @@ void ReleaseDesignerOutlets () TitleLabel = null; } - if (AchievementsContainer != null) { - AchievementsContainer.Dispose (); - AchievementsContainer = null; - } - - if (AchievementsHeightConstraint != null) { - AchievementsHeightConstraint.Dispose (); - AchievementsHeightConstraint = null; - } - - if (AchievementStackView != null) { - AchievementStackView.Dispose (); - AchievementStackView = null; + if (IconBackground != null) { + IconBackground.Dispose (); + IconBackground = null; } } diff --git a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib index 9690300a..2f9d82ab 100644 --- a/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib +++ b/BMM.UI.iOS/Application/TableViewCell/ProjectBoxExpandedViewCell.xib @@ -211,6 +211,7 @@ + diff --git a/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs b/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs index 17e72b17..342896ed 100644 --- a/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs +++ b/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs @@ -32,7 +32,7 @@ protected override IEnumerable GetHeightAwareTableCel { return new List { - new HeightAwareTableCellType(typeof(ProfileListItem), ProfileListItemTableViewCell.Key, (nfloat)156.5), + new HeightAwareTableCellType(typeof(ProfileListItem), ProfileListItemTableViewCell.Key, (nfloat)204.5), new HeightAwareTableCellType(typeof(CheckboxListItemPO), CheckboxListItemTableViewCell.Key, 88), new HeightAwareTableCellType(typeof(SelectableListItem), TextListItemDetailTableViewCell.Key, 75), new HeightAwareTableCellType(typeof(SectionHeaderPO), SectionHeaderTableViewCell.Key, 56), diff --git a/BMM.UI.iOS/Application/ViewController/AchievementsViewController.cs b/BMM.UI.iOS/Application/ViewController/AchievementsViewController.cs new file mode 100644 index 00000000..7cfaf2b3 --- /dev/null +++ b/BMM.UI.iOS/Application/ViewController/AchievementsViewController.cs @@ -0,0 +1,24 @@ +using BMM.Core.ValueConverters; +using BMM.Core.ViewModels; +using MvvmCross.Binding.BindingContext; + +namespace BMM.UI.iOS +{ + public partial class AchievementsViewController : BaseViewController + { + public AchievementsViewController() + : base(nameof(AchievementsViewController)) + { + } + + public override Type ParentViewControllerType => typeof(ContainmentNavigationViewController); + + public override void ViewDidLoad() + { + base.ViewDidLoad(); + + var set = this.CreateBindingSet(); + set.Apply(); + } + } +} \ No newline at end of file diff --git a/BMM.UI.iOS/Application/ViewController/AchievementsViewController.designer.cs b/BMM.UI.iOS/Application/ViewController/AchievementsViewController.designer.cs new file mode 100644 index 00000000..abf7e55d --- /dev/null +++ b/BMM.UI.iOS/Application/ViewController/AchievementsViewController.designer.cs @@ -0,0 +1,28 @@ +// WARNING +// +// This file has been generated automatically by Rider IDE +// to store outlets and actions made in Xcode. +// If it is removed, they will be lost. +// Manual changes to this file may not be handled correctly. +// +using Foundation; +using System.CodeDom.Compiler; + +namespace BMM.UI.iOS +{ + [Register ("AchievementsViewController")] + partial class AchievementsViewController + { + [Outlet] + UIKit.UITableView ThemeSettingsTableView { get; set; } + + void ReleaseDesignerOutlets () + { + if (ThemeSettingsTableView != null) { + ThemeSettingsTableView.Dispose (); + ThemeSettingsTableView = null; + } + + } + } +} diff --git a/BMM.UI.iOS/Application/ViewController/AchievementsViewController.xib b/BMM.UI.iOS/Application/ViewController/AchievementsViewController.xib new file mode 100644 index 00000000..ca7282c6 --- /dev/null +++ b/BMM.UI.iOS/Application/ViewController/AchievementsViewController.xib @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From f3de32b7d76c8d88b65759ad3a24dcc478c05cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karsten=20Ku=CC=88pper?= Date: Sun, 31 Dec 2023 12:37:26 +0100 Subject: [PATCH 5/7] fix non-compiling unit test --- .../BMM.Core.Test/Unit/ViewModels/SettingsViewModelTests.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/BMM.Tests/BMM.Core.Test/Unit/ViewModels/SettingsViewModelTests.cs b/BMM.Tests/BMM.Core.Test/Unit/ViewModels/SettingsViewModelTests.cs index 026351ef..12d8e6d8 100644 --- a/BMM.Tests/BMM.Core.Test/Unit/ViewModels/SettingsViewModelTests.cs +++ b/BMM.Tests/BMM.Core.Test/Unit/ViewModels/SettingsViewModelTests.cs @@ -27,6 +27,7 @@ using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.Resources; using Moq; using MvvmCross.Localization; +using MvvmCross.Navigation; using NSubstitute; using NUnit.Framework; @@ -146,7 +147,9 @@ public SettingsViewModel CreateSettingsViewModel() _notificationPermissionService.Object, _changeNotificationSettingStateAction.Object, _resetAchievementAction.Object, - _featurePreviewPermission.Object); + _featurePreviewPermission.Object, + new Mock().Object + ); settingsViewModel.TextSource = TextResource.Object; return settingsViewModel; From 99fd33312830d124b4265c4b3928f29aea0a7a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karsten=20Ku=CC=88pper?= Date: Sun, 31 Dec 2023 13:00:35 +0100 Subject: [PATCH 6/7] revert Achievements link in Profile --- .../Resources/layout/listitem_profile.xml | 50 ++------------ .../ListItem/ProfileListItemTableViewCell.xib | 69 ++++--------------- .../SettingsTableViewSource.cs | 2 +- 3 files changed, 20 insertions(+), 101 deletions(-) diff --git a/BMM.UI.Android/Resources/layout/listitem_profile.xml b/BMM.UI.Android/Resources/layout/listitem_profile.xml index 5f1e167c..7ce4c7cb 100644 --- a/BMM.UI.Android/Resources/layout/listitem_profile.xml +++ b/BMM.UI.Android/Resources/layout/listitem_profile.xml @@ -54,7 +54,7 @@ style="@style/Title1" app:MvxBind="Text Username" - app:layout_constraintBottom_toTopOf="@+id/AchievementDivider" + app:layout_constraintBottom_toTopOf="@+id/divider" app:layout_constraintEnd_toStartOf="@+id/card_view" app:layout_constraintStart_toStartOf="parent" @@ -82,48 +82,16 @@ /> - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - @@ -137,20 +102,19 @@ + - - - + @@ -160,13 +124,10 @@ - + - - - diff --git a/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs b/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs index 342896ed..17e72b17 100644 --- a/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs +++ b/BMM.UI.iOS/Application/TableViewSource/SettingsTableViewSource.cs @@ -32,7 +32,7 @@ protected override IEnumerable GetHeightAwareTableCel { return new List { - new HeightAwareTableCellType(typeof(ProfileListItem), ProfileListItemTableViewCell.Key, (nfloat)204.5), + new HeightAwareTableCellType(typeof(ProfileListItem), ProfileListItemTableViewCell.Key, (nfloat)156.5), new HeightAwareTableCellType(typeof(CheckboxListItemPO), CheckboxListItemTableViewCell.Key, 88), new HeightAwareTableCellType(typeof(SelectableListItem), TextListItemDetailTableViewCell.Key, 75), new HeightAwareTableCellType(typeof(SectionHeaderPO), SectionHeaderTableViewCell.Key, 56), From 8ed2e2a9fc50b1729de092e5f03e48c66d8c223b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karsten=20K=C3=BCpper?= Date: Sun, 31 Dec 2023 13:24:11 +0100 Subject: [PATCH 7/7] New Crowdin updates (#511) * Update source file main.json * New translations main.json (Bulgarian) * New translations main.json (Russian) * New translations main.json (Romanian) * New translations main.json (French) * New translations main.json (Spanish) * New translations main.json (Afrikaans) * New translations main.json (Danish) * New translations main.json (German) * New translations main.json (Finnish) * New translations main.json (Hungarian) * New translations main.json (Italian) * New translations main.json (Dutch) * New translations main.json (Polish) * New translations main.json (Portuguese) * New translations main.json (Slovenian) * New translations main.json (Turkish) * New translations main.json (Ukrainian) * New translations main.json (Chinese Simplified) * New translations main.json (Croatian) * New translations main.json (Estonian) * New translations main.json (Norwegian Bokmal) * Update source file main.json * New translations main.json (Polish) * New translations main.json (French) * New translations main.json (Finnish) * New translations main.json (Hungarian) * New translations main.json (Slovenian) * New translations main.json (Danish) * New translations main.json (Bulgarian) * New translations main.json (Bulgarian) * New translations main.json (German) * New translations main.json (German) * New translations main.json (Bulgarian) * New translations main.json (Russian) * New translations main.json (Romanian) * New translations main.json (French) * New translations main.json (Spanish) * New translations main.json (Afrikaans) * New translations main.json (Danish) * New translations main.json (German) * New translations main.json (Finnish) * New translations main.json (Hungarian) * New translations main.json (Italian) * New translations main.json (Dutch) * New translations main.json (Polish) * New translations main.json (Portuguese) * New translations main.json (Slovenian) * New translations main.json (Turkish) * New translations main.json (Ukrainian) * New translations main.json (Chinese Simplified) * New translations main.json (Croatian) * New translations main.json (Estonian) * New translations main.json (Norwegian Bokmal) * Update source file main.json * New translations main.json (Dutch) --- BMM.Core/Translation/af/main.json | 8 +- BMM.Core/Translation/bg/main.json | 224 +++++++++++++++--------------- BMM.Core/Translation/da/main.json | 20 +-- BMM.Core/Translation/de/main.json | 12 +- BMM.Core/Translation/es/main.json | 8 +- BMM.Core/Translation/et/main.json | 8 +- BMM.Core/Translation/fi/main.json | 8 +- BMM.Core/Translation/fr/main.json | 8 +- BMM.Core/Translation/hr/main.json | 8 +- BMM.Core/Translation/hu/main.json | 6 +- BMM.Core/Translation/it/main.json | 8 +- BMM.Core/Translation/nb/main.json | 8 +- BMM.Core/Translation/nl/main.json | 8 +- BMM.Core/Translation/pl/main.json | 20 +-- BMM.Core/Translation/pt/main.json | 8 +- BMM.Core/Translation/ro/main.json | 8 +- BMM.Core/Translation/ru/main.json | 8 +- BMM.Core/Translation/sl/main.json | 20 +-- BMM.Core/Translation/tr/main.json | 8 +- BMM.Core/Translation/uk/main.json | 8 +- BMM.Core/Translation/zh/main.json | 8 +- 21 files changed, 253 insertions(+), 169 deletions(-) diff --git a/BMM.Core/Translation/af/main.json b/BMM.Core/Translation/af/main.json index 44e93eb2..5fa05efd 100644 --- a/BMM.Core/Translation/af/main.json +++ b/BMM.Core/Translation/af/main.json @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Location for offline tracks", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/bg/main.json b/BMM.Core/Translation/bg/main.json index d53a09c5..381160c2 100644 --- a/BMM.Core/Translation/bg/main.json +++ b/BMM.Core/Translation/bg/main.json @@ -11,7 +11,7 @@ "Song": "Песен", "Speech": "Речи", "Audiobook": "Аудиокниги", - "Exegesis": "Exegesis", + "Exegesis": "тълкувание", "Done": "Свършен", "Today": "Днес", "Yesterday": "Вчера", @@ -21,32 +21,32 @@ "NotNow": "Не сега", "DownloadPlaylistOnceOnWifi": "", "DownloadPodcastOnceOnWifi": "", - "SiriFromKaareInvocationPhrase": "Play From Kåre on BMM", - "SiriPlayMusicInvocationPhrase": "Play Music on BMM", - "FromKaareSiriShortcutName": "Play From Kåre", - "PlayMusicSiriShortcutName": "Play Music", - "DailyMessage": "Daily message", - "ValueCopiedToClipboard": "{0} copied to clipboard" + "SiriFromKaareInvocationPhrase": "Пуснете От Kåre на BMM", + "SiriPlayMusicInvocationPhrase": "Пуснете музика на BMM", + "FromKaareSiriShortcutName": "Следващо От Коре", + "PlayMusicSiriShortcutName": "Пусни музика", + "DailyMessage": "Ежедневно съобщение", + "ValueCopiedToClipboard": "{0} копиран в клипборда" }, "Streak": { - "Message": "Your streak this week", - "MessagePerfect": "A perfect week. Well done!", - "PerfectWeekCountSingular": "{0} perfect week", - "PerfectWeekCountPlural": "{0} perfect weeks", - "PerfectWeekCountNone": "No perfect weeks, yet", - "EligibleUntilHoursAndMinutesMessage": "{0} hours and {1} minutes left today", - "EligibleUntilMinutesOnlyMessage": "{0} minutes left today", - "DaysInARowSingular": "{0} day in a row", - "DaysInARowPlural": "{0} days in a row", - "WeekdayMonday": "M", + "Message": "Вашата серия тази седмица", + "MessagePerfect": "Перфектна седмица. Много добре!", + "PerfectWeekCountSingular": "{0} перфектна седмица", + "PerfectWeekCountPlural": "{0} перфектни седмици", + "PerfectWeekCountNone": "Все още няма перфектни седмици", + "EligibleUntilHoursAndMinutesMessage": "Днес остават {0} часа и {1} минута", + "EligibleUntilMinutesOnlyMessage": "Остават {0} минути днес", + "DaysInARowSingular": "{0} пореден ден", + "DaysInARowPlural": "{0} дни подред", + "WeekdayMonday": "М", "WeekdayTuesday": "T", - "WeekdayWednesday": "W", + "WeekdayWednesday": "У", "WeekdayThursday": "T", "WeekdayFriday": "F" }, "DeepLinkHandler": { - "ErrorTitle": "Unable to open link", - "ErrorMessage": "Unfortunately it was not possible to open the link '{0}'." + "ErrorTitle": "Линкът не може да се отвори", + "ErrorMessage": "За съжаление не беше възможно да отворите линка '{0}'." }, "RequestExceptionHandler": { "RequestFailedMessage": "Възникна грешка при свързването: {0}" @@ -56,10 +56,10 @@ "ErrorVideoNotSupported": "Видео клиповете не се поддържат в момента. ", "ErrorFileNotOffline": "Не можеш да пуснеш песен/реч в режим извън линия, която не е изтеглена. ", "ErrorPlayerStopped": "Плейърът спря.", - "ErrorPlayerStoppedGeneric": "A playback error has occurred that stopped the current track.", - "ErrorPlayerLiveRadioStopped": "The live broadcast has ended.", - "ErrorPlayerLiveRadioTooEarly": "The live broadcast has not started yet, please try again later.", - "ErrorPlayerStart": "Unable to start playback." + "ErrorPlayerStoppedGeneric": "Възникна грешка при възпроизвеждане, която спря текущата песен.", + "ErrorPlayerLiveRadioStopped": "Предаването на живо приключи.", + "ErrorPlayerLiveRadioTooEarly": "Предаването на живо все още не е започнало, моля, опитайте отново по-късно.", + "ErrorPlayerStart": "Възпроизвеждането не може да започне." }, "GlobalMediaDownloader": { "OutOfSpaceMessage": "Няма достатъчно място за складиране на файлове извън линия" @@ -73,7 +73,7 @@ "AlbumFailedToAddAlreadyExists": "Този албум е вече във вашия списък за изпълнение.", "TrackAlreadyExistInTrackCollection": "Песента/речта вече съществува в списъка {0}", "ShufflePlay": "Разбъркано възпроизвеждане", - "PluralAlbums": "{0} albums" + "PluralAlbums": "{0} албума" }, "AlbumsViewModel": { "Title": "Архив", @@ -101,19 +101,19 @@ "SearchHint": "Търси" }, "ExploreNewestViewModel": { - "Title": "Home", + "Title": "Начало", "SearchHint": "Търси", "FraKaareHeader": "От Коре", "AslaksenTeaserHeader": "Думи на вярата", "ShowAll": "Покажи всички", - "PlayRandom": "Play random", - "PlayNewest": "Play newest", + "PlayRandom": "Възпроизвеждане на случаен принцип", + "PlayNewest": "Възпроизвеждане на най-новите", "LatestTrack": "Последни песни и речи", - "NextBroadcast": "Next broadcast", - "BmmRadio": "BMM Live", - "CountdownHours": "in {0}h", - "Messages": "Recent Messages", - "Music": "Recent Music", + "NextBroadcast": "Следващо предаване", + "BmmRadio": "BMM на живо", + "CountdownHours": "след {0}ч", + "Messages": "Последни речи", + "Music": "Скорошна музика", "Recommended": "Препоръчано", "More": "Още" }, @@ -138,7 +138,7 @@ "ButtonSendMail": "Изпрати писмо на БММ екипа" }, "UserSetupViewModel": { - "SettingUpAccountMessage": "We're setting up your account. This might take a few moments." + "SettingUpAccountMessage": "Ние настройваме вашия акаунт. Това може да отнеме няколко минути." }, "LoginViewModel": { "Title": "Вход", @@ -146,18 +146,18 @@ "LoginFailureMessage": "Моля, опитай отново с правилните идентификационни данни", "LoginNoConnectionMessage": "В момента няма връзка. Моля, опитай отново по-късно", "WrongMailAddressTitle": "Невалиден имейл", - "WrongMailAddress": "Please provide a valid email address. Using the username for login is no longer supported.", + "WrongMailAddress": "Моля, посочете валиден имейл адрес. Използването на потребителското име за вход вече не се поддържа.", "TbxUsername.Hint": "Е-поща", "TbxPassword.Hint": "Парола", "BtnLogin.Text": "Вход", - "LoginInfo": "Sign in with your BCC login" + "LoginInfo": "Влезте с вашето потребителско име в BCC" }, "SupportEndedViewModel": { - "DeviceSupportEnding": "We will soon stop support for phones running {0} {1} or older. If possible, you should update your phone.", - "DeviceSupportEnded": "Unfortunately, we no longer support devices older than {0} {1}. Please update your device or upgrade to a newer phone.", - "AppSupportEnding": "You are using an old version of the BMM app. We will soon stop support for that version. Please update BMM.", - "AppSupportEnded": "You are using an old version of the BMM app, which is no longer supported. Please update BMM.", - "UpdateButton": "Update" + "DeviceSupportEnding": "Скоро ще спрем поддръжката на телефони, работещи с {0} {1} или по-стари. Ако е възможно, трябва да актуализирате телефона си.", + "DeviceSupportEnded": "За съжаление вече не поддържаме устройства, по-стари от {0} {1}. Моля, актуализирайте устройството си или преминете към по-нов телефон.", + "AppSupportEnding": "Използвате стара версия на приложението BMM. Скоро ще спрем поддръжката за тази версия. Моля, актуализирайте BMM.", + "AppSupportEnded": "Използвате стара версия на приложението BMM, която вече не се поддържа. Моля, актуализирайте BMM.", + "UpdateButton": "Актуализация" }, "LanguageAppViewModel": { "Title": "Приложение език" @@ -172,7 +172,7 @@ "DeleteLanguageTitle": "Не може да се премахне " }, "BrowseViewModel": { - "Title": "Browse" + "Title": "Прегледайте" }, "LibraryArchiveViewModel": { "Title": "Архив" @@ -182,15 +182,15 @@ "Search": "Търси", "Explore": "Разгледай", "MyContent": "Мое съдържание", - "Browse": "Browse", + "Browse": "Прегледайте", "Settings": "Настройки", "HelpAndFeedback": "Помощ и обратна връзка", - "Home": "Home", - "Favorites": "Favorites", - "Profile": "Profile" + "Home": "Начало", + "Favorites": "Любими", + "Profile": "Профил" }, "MyContentViewModel": { - "Title": "Favorites", + "Title": "Любими", "DownloadedContent": "Downloaded Content", "FollowedPodcasts": "Подкаст", "MyTracks": "Моите песни", @@ -288,7 +288,7 @@ "SearchFailedMessage": "Sorry, we could not search for \"{0}\" because of connection issues. Press the button below to try again." }, "SettingsViewModel": { - "Title": "Profile", + "Title": "Профил", "HeadlineSettings": "Настройки", "OptionAutoplayHeader": "Autoplay", "OptionAutoplayText": "Play music after listening to today's episode of Fra Kåre", @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Място за песни/речи извън линия", @@ -343,13 +344,13 @@ "PluralTracks": "{0} tracks", "PluralTracksLoaded": "{0} tracks loaded", "Download": "Изтегли", - "Shuffle": "Shuffle", + "Shuffle": "Разбъркайте", "Play": "Пусни" }, "TrackCollectionViewModel": { "Title": "Списък", - "ShufflePlay": "Shuffle", - "Resume": "Resume", + "ShufflePlay": "Разбъркайте", + "Resume": "Резюме", "AvailableOffline": "Достъпен в режим извън линия", "AvailableOfflineDownload": "Изтегли", "AvailableOfflineDownloading": "Изтегляне на {0} на {1}", @@ -363,37 +364,37 @@ "SearchHint": "Търси", "EmptyTitle": "Този списък е празен", "EmptySubline": "Натисни трите точки на една песен, за да добавиш песен към този списък.", - "NotEnoughtSpaceToDownload": "Not enough space to download all tracks", + "NotEnoughtSpaceToDownload": "Няма достатъчно място за изтегляне на всички песни", "AskToResumeDownloading": "Има нови елементи в този списък. Искаш ли да се възобнови изтеглянето?", - "Private": "Private", + "Private": "Частно", "DeletePlaylist": "Изтрий списъка", - "EditPlaylist": "Edit playlist", - "SharePlaylist": "Share playlist", - "RemovePlaylist": "Remove playlist" + "EditPlaylist": "Прибави към списъка", + "SharePlaylist": "Разбъркване на списъка за изпълнение", + "RemovePlaylist": "Премахни от списъка" }, "EditTrackCollectionViewModel": { - "Title": "Edit Playlist", - "RenameLabel": "Rename playlist", + "Title": "Прибави към списъка", + "RenameLabel": "Преименувай списък", "MenuSave": "Запази", - "EmptyName": "The playlist has no name", - "SaveFailure": "Could not update changes. Check your internet connection and try again", - "DiscardChangesTitle": "Discard Changes?", - "DiscardChangesMessage": "The changes you made won't be saved", - "DiscardChanges": "Discard", - "KeepEditing": "Keep Editing" + "EmptyName": "Плейлистът няма име", + "SaveFailure": "Промените не можаха да се актуализират. Проверете вашата интернет връзка и опитайте отново", + "DiscardChangesTitle": "Отхвърлите промените?", + "DiscardChangesMessage": "Направените от вас промени няма да бъдат запазени", + "DiscardChanges": "Изхвърлете", + "KeepEditing": "Продължете да редактирате" }, "ShareTrackCollectionViewModel": { - "Title": "Share Playlist", - "ShareNote": "By sharing a playlist, people will be able to access and listen to the tracks you add, if they have the link.", - "ShareLink": "Share link", - "MakePrivate": "Make private", - "SharedWithFormat": "Shared with {0} people" + "Title": "Споделяне на плейлист", + "ShareNote": "При споделяне на списък за изпълнение хората ще имат достъп до добавените от вас песни и ще могат да ги слушат, ако имат връзката.", + "ShareLink": "Сподели линк", + "MakePrivate": "Направи лично", + "SharedWithFormat": "Споделено с {0} души" }, "SharedTrackCollectionViewModel": { - "Title": "Shared Playlist", - "Close": "Close", - "AddToMyPlaylist": "Add to my playlists", - "FollowOwnTrackCollection": "You cannot follow your own track collection" + "Title": "Споделяне на плейлист", + "Close": "Затвори", + "AddToMyPlaylist": "Прибави към списъка", + "FollowOwnTrackCollection": "Не можете да следвате собствената си колекция от песни" }, "OfflineTrackCollectionViewModel": { "Title": "Списък", @@ -421,9 +422,9 @@ "Track.RemoveFromMyTracks": "Премахни от моите песни", "Track.AddedToMyTracks": "Добави към моите песни", "Track.RemovedFromMyTracks": "Премахни от моите песни", - "Track.FailedToRemoveFromMyTracks": "Failed to remove track from My Tracks", + "Track.FailedToRemoveFromMyTracks": "Неуспешно премахване на песен от \"Моите песни", "Track.AddToQueue": "Добави към опашката", - "Track.QueueToPlayNext": "Play next", + "Track.QueueToPlayNext": "Пуснете следващите", "Track.AddedToQueue": "Добавено към опашката", "Track.GoToAlbum": "Отиди на албум", "Track.GoToContributor": "Отиди на сътрудници", @@ -478,57 +479,57 @@ "Title": "Авторско право" }, "PlaybackHistoryViewModel": { - "Title": "Recently played", - "NoHistoryYetTitle": "You can now see what you’ve been listening to", - "NoHistoryYetSubtitle": "Just start listening, and your history will show up here" + "Title": "Наскоро слушано", + "NoHistoryYetTitle": "Вече можете да видите какво сте слушали", + "NoHistoryYetSubtitle": "Просто започнете да слушате и вашата история ще се покаже тук" }, "ExploreRecentSpeechesViewModel": { - "Title": "Recent Messages" + "Title": "Последни речи" }, "ExploreRecentMusicViewModel": { - "Title": "Recent Music" + "Title": "Скорошна музика" }, "DownloadManager": { "DownloadingFinished": "Всички файлове са изтеглени!" }, "Browse": { - "EventsTitle": "Events", + "EventsTitle": "събития", "AudiobooksTitle": "Аудиокниги", "MusicTitle": "Музика", "PodcastsTitle": "Подкаст" }, "ThemeSettingsViewModel": { - "Title": "Dark mode settings", - "Light": "Light", - "Dark": "Dark", - "System": "Follow system settings (Auto)" + "Title": "Настройки на тъмен режим", + "Light": "Светлина", + "Dark": "Тъмно", + "System": "Следвайте системните настройки (автоматично)" }, "ColorThemeViewModel": { - "Title": "Color Theme", - "Default": "Default", - "Violet": "Violet", - "Red": "Red", - "DarkGreen": "Dark Green", - "Golden": "Golden", - "Orange": "Orange" + "Title": "Тема на цвета", + "Default": "По подразбиране", + "Violet": "Виолетово", + "Red": "червен", + "DarkGreen": "Тъмнозелено", + "Golden": "Златен", + "Orange": "оранжав" }, "ChangeTrackLanguageViewModel": { - "Title": "Track Language", - "PreferredLanguages": "Your preferred languages", + "Title": "Език на заглавието", + "PreferredLanguages": "Вашите предпочитани езици", "AllLanguages": "Всички езици" }, "SiriShortcutsViewModel": { - "Title": "Siri Shortcuts", - "ShortcutAlreadyAdded": "This shortcut has already been added" + "Title": "Преки задания за Siri", + "ShortcutAlreadyAdded": "Това пряко задание вече е добавено" }, "YearInReviewViewModel": { - "Title": "Your Year in Review", - "Share": "Share with your friends", - "ShareTitle": "Year in Review" + "Title": "Вашият преглед на годината", + "Share": "Споделете с приятелите си", + "ShareTitle": "Вашият преглед на годината" }, "TopSongsCollectionViewModel": { - "Title": "Top songs", - "PlaysPlural": "{0} plays", + "Title": "Топ песни", + "PlaysPlural": "{0} повторения", "PlaysSingular": "{0} play", "AddToMyPlaylist": "Add playlist to favorites", "SuccessfullyAddedToPlaylists": "Successfully added to favourites" @@ -560,11 +561,11 @@ "Title": "App Icon", "Description": "Change the app icon of the app", "IconStandard": "Standard", - "IconDarkGreen": "Dark Green", - "IconOrange": "Orange", - "IconGolden": "Golden", - "IconViolet": "Violet", - "IconRed": "Red" + "IconDarkGreen": "Тъмнозелено", + "IconOrange": "оранжав", + "IconGolden": "Златен", + "IconViolet": "Виолетово", + "IconRed": "червен" }, "AchievementDetailsViewModel": { "Title": "Achievement", @@ -572,13 +573,13 @@ "ActivatePremiumIcon": "Activate App Icon", "GotIt": "Got it", "ActivateTheme": "Activate Theme", - "Close": "Close", + "Close": "Затвори", "Reward": "Reward", "RewardAndroid": "An exclusive color theme for your BMM app 🤩", "RewardIos": "An exclusive app icon for your BMM app 🤩", "RewardAndroidGolden": "An exclusive color theme for your BMM app. You are also entered into the draw for a pair of AirPods Pro. Good job!", "RewardIosGolden": "An exclusive app icon for your BMM app in gold. You are also entered into the draw for a pair of AirPods Pro. Good job!", - "PlayNext": "Play next" + "PlayNext": "Пуснете следващите" }, "SuggestEditViewModel": { "Title": "Suggest an edit", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/da/main.json b/BMM.Core/Translation/da/main.json index dbedc210..b2f244f8 100644 --- a/BMM.Core/Translation/da/main.json +++ b/BMM.Core/Translation/da/main.json @@ -314,8 +314,8 @@ "OptionContactHeader": "Kontakt", "OptionContactText": "Spørgsmål eller tilbagemeldinger? Kontakt BMM-teamet her.", "OptionAppVersionHeader": "App-version", - "OptionDeleteAccountHeader": "Delete Account", - "OptionDeleteAccountText": "Request that your account is deleted.", + "OptionDeleteAccountHeader": "Slet min konto", + "OptionDeleteAccountText": "Anmod om at din konto bliver slettet.", "AppInfoTitle": "App-information", "AppInfoAppVersion": "App-version: ", "AppInfoManufacturer": "Producent: ", @@ -333,7 +333,8 @@ "ColorText": "Vælg mellem brugerdefinerede farvetemaer", "SiriShortcutsHeader": "Siri genveje", "SiriShortcutsText": "Tilføj Siri genveje for BMM til din enhed", - "PushNotificationsGoToSettings": "Desværre kan vi ikke aktivere push-meddelelser, da de er deaktiveret i dine enhedsindstillinger. Tillad venligst push-meddelelser i dine enhedsindstillinger for at aktivere denne funktion." + "PushNotificationsGoToSettings": "Desværre kan vi ikke aktivere push-meddelelser, da de er deaktiveret i dine enhedsindstillinger. Tillad venligst push-meddelelser i dine enhedsindstillinger for at aktivere denne funktion.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Lagringsplads til offline indhold", @@ -588,13 +589,16 @@ "SubmitSuccess": "Forslag sendt, mange tak!" }, "AskQuestionViewModel": { - "Title": "Ask a question", - "Submit": "Submit question", - "Hint": "Your question" + "Title": "Stil et spørgsmål", + "Submit": "Send spørgsmål", + "Hint": "Dit spørgsmål" }, "AskQuestionConfirmationViewModel": { - "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "ThankYou": "Tak fordi du spurgte!", + "Description": "Alle spørgsmål vil blive gennemgået, og nogle vil blive besvaret i podcasten. \n De fleste spørgsmål vil blive besvaret på Q&A-siden. \n\n Kom tilbage på onsdag for at læse svarene.", "GotIt": "Forstået" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/de/main.json b/BMM.Core/Translation/de/main.json index 5265cec6..c24288c2 100644 --- a/BMM.Core/Translation/de/main.json +++ b/BMM.Core/Translation/de/main.json @@ -200,8 +200,8 @@ }, "FollowedPodcastsViewModel": { "Title": "Abonnierte Podcasts", - "EmptyTitle": "Du hast zurzeit keine Podcast abonniert", - "EmptySubline": "Folge einem Podcast indem du den Podcast öffnest und dann abonnieren klickst." + "EmptyTitle": "Du hast zurzeit keine Podcasts abonniert", + "EmptySubline": "Folge einem Podcast, indem du den Podcast öffnest und dann abonnieren klickst." }, "MyTracksViewModel": { "Title": "Meine Titel", @@ -333,7 +333,8 @@ "ColorText": "Wähle zwischen speziellen Farbthemen", "SiriShortcutsHeader": "Siri-Kurzbefehle", "SiriShortcutsText": "Aktiviere Siri-Kurzbefehle für BMM ", - "PushNotificationsGoToSettings": "Leider können wir Push-Benachrichtigungen nicht aktivieren, da diese in den Einstellungen deines Geräts deaktiviert sind. Bitte erlaube Push-Benachrichtigungen in deinen Geräteeinstellungen, um diese Funktion zu aktivieren." + "PushNotificationsGoToSettings": "Leider können wir Push-Benachrichtigungen nicht aktivieren, da diese in den Einstellungen deines Geräts deaktiviert sind. Bitte erlaube Push-Benachrichtigungen in deinen Geräteeinstellungen, um diese Funktion zu aktivieren.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Speicherort für Offline-Dateien", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Danke für deine Frage!", - "Description": "Alle Fragen werden überprüft und manche werden im Podcast beantwortet. \n Die meisten Fragen werden auf der Q&A Seite beantwortet. \n \n Schaue am Montag nach, um die Antworten zu lesen.", + "Description": "Alle Fragen werden besprochen und einige werden im Podcast beantwortet. \n Die meisten Fragen werden auf der Q&A-Seite beantwortet. \n\n Schaue am Mittwoch noch einmal vorbei, um die Antworten zu lesen.", "GotIt": "Verstanden! " + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/es/main.json b/BMM.Core/Translation/es/main.json index 13970335..3baf8ef8 100644 --- a/BMM.Core/Translation/es/main.json +++ b/BMM.Core/Translation/es/main.json @@ -333,7 +333,8 @@ "ColorText": "Elija entre colores de temas personalizados", "SiriShortcutsHeader": "Accesos directos de Siri", "SiriShortcutsText": "Añadir accesos directos de Siri para BMM a tu dispositivo", - "PushNotificationsGoToSettings": "Lamentablemente, no podemos habilitar las notificaciones automáticas ya que están deshabilitadas en la configuración de su dispositivo. Permita las notificaciones automáticas en la configuración de su dispositivo para habilitar esta función." + "PushNotificationsGoToSettings": "Lamentablemente, no podemos habilitar las notificaciones automáticas ya que están deshabilitadas en la configuración de su dispositivo. Permita las notificaciones automáticas en la configuración de su dispositivo para habilitar esta función.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Ubicación de las pistas sin conexión", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Entiendo" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/et/main.json b/BMM.Core/Translation/et/main.json index afc4e204..83b84ca2 100644 --- a/BMM.Core/Translation/et/main.json +++ b/BMM.Core/Translation/et/main.json @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Location for offline tracks", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/fi/main.json b/BMM.Core/Translation/fi/main.json index ffcc986d..97c2c9f0 100644 --- a/BMM.Core/Translation/fi/main.json +++ b/BMM.Core/Translation/fi/main.json @@ -333,7 +333,8 @@ "ColorText": "Valitse erikoisväriteemoista", "SiriShortcutsHeader": "Siriin", "SiriShortcutsText": "Lisää Sirilinkit laitteesi BMM:än", - "PushNotificationsGoToSettings": "Valitettavasti laiteasetuksissasi reaaliaikaiset ilmoitukset on poistettu käytöstä. Ole hyvä ja salli reaaliaikaiset ilmoitukset laiteasetuksissasi. " + "PushNotificationsGoToSettings": "Valitettavasti laiteasetuksissasi reaaliaikaiset ilmoitukset on poistettu käytöstä. Ole hyvä ja salli reaaliaikaiset ilmoitukset laiteasetuksissasi. ", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Offline kappaleiden tallennus sijainti", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Kiitos kysymyksestäsi!", - "Description": "Kaikki kysymykset katsotaan ja joihinkin vastataan podcastissa. Useimpiin vastataan \"kysymyksiä ja vastauksia\" -sivulla. \nMaanantaina voit lukea vastauksia.", + "Description": "Kaikki kysymykset katsotaan ja joihinkin vastataan podcastissa. Useimpiin vastataan \"kysymyksiä ja vastauksia\" -sivulla. \nKeskiviikkona voit lukea vastauksia.", "GotIt": "Selvä" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/fr/main.json b/BMM.Core/Translation/fr/main.json index 6a0ab8b1..177ac631 100644 --- a/BMM.Core/Translation/fr/main.json +++ b/BMM.Core/Translation/fr/main.json @@ -333,7 +333,8 @@ "ColorText": "Choisir un thème personnalisé", "SiriShortcutsHeader": "Raccourcis Siri", "SiriShortcutsText": "Ajouter des raccourcis Siri pour BMM à votre appareil", - "PushNotificationsGoToSettings": "Nous ne pouvons malheureusement pas activer les notifications push car elles sont désactivées dans les paramètres de ton appareil. Autorise les notifications push dans les paramètres de ton appareil pour activer cette fonction." + "PushNotificationsGoToSettings": "Nous ne pouvons malheureusement pas activer les notifications push car elles sont désactivées dans les paramètres de ton appareil. Autorise les notifications push dans les paramètres de ton appareil pour activer cette fonction.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Emplacement des titres hors-ligne", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Merci d'avoir posé la question !", - "Description": "Toutes les questions seront examinées et certaines seront traitées dans le podcast. \n La plupart des questions seront traitées sur la page Q&R. \n\n Revenez lundi pour lire les réponses.", + "Description": "Toutes les questions seront examinées et certaines seront traitées dans le podcast. \n La plupart des questions seront traitées sur la page Q&R. \n\n Revenez mercredi pour lire les réponses.", "GotIt": "J'ai compris" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/hr/main.json b/BMM.Core/Translation/hr/main.json index 6b4d957b..943efd9c 100644 --- a/BMM.Core/Translation/hr/main.json +++ b/BMM.Core/Translation/hr/main.json @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Location for offline tracks", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/hu/main.json b/BMM.Core/Translation/hu/main.json index 9e0e08b6..a99d8b1d 100644 --- a/BMM.Core/Translation/hu/main.json +++ b/BMM.Core/Translation/hu/main.json @@ -333,7 +333,8 @@ "ColorText": "Válaszd ki az egyéni színtémák között", "SiriShortcutsHeader": "Siri-parancsok", "SiriShortcutsText": "Siri-parancsok hozzáadása a BMM-re", - "PushNotificationsGoToSettings": "Sajnos nem tudjuk engedélyezni a Push értesítéseket, mivel azok le vannak tiltva a készülék beállításaiban. Kérjük, engedélyezd a Push értesítések használatát a készülék beállításaiban, hogy engedélyezd ezt a funkciót." + "PushNotificationsGoToSettings": "Sajnos nem tudjuk engedélyezni a Push értesítéseket, mivel azok le vannak tiltva a készülék beállításaiban. Kérjük, engedélyezd a Push értesítések használatát a készülék beállításaiban, hogy engedélyezd ezt a funkciót.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Offline zeneszámok tárhelye", @@ -596,5 +597,8 @@ "ThankYou": "Köszönöm a kérdést!", "Description": "Minden kérdést áttekintünk, és néhányat meg is válaszolunk a podcastban. \nA legtöbb kérdésre a Kérdések és válaszok oldalon kapunk választ. \n\nA válaszokat hétfőn olvashatod el.", "GotIt": "Megvan" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/it/main.json b/BMM.Core/Translation/it/main.json index bb1533ce..3e86ca8c 100644 --- a/BMM.Core/Translation/it/main.json +++ b/BMM.Core/Translation/it/main.json @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Location for offline tracks", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/nb/main.json b/BMM.Core/Translation/nb/main.json index 0bcb7e63..d50ea7aa 100644 --- a/BMM.Core/Translation/nb/main.json +++ b/BMM.Core/Translation/nb/main.json @@ -333,7 +333,8 @@ "ColorText": "Velg mellom spesialtilpassede fargetemaer", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Plass for offline spor", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Takk for spørsmålet!", - "Description": "Alle spørsmål blir gjennomgått og noen vil bli besvart senere i podcasten.\nFlere spørsmål vil også bli besvart ukentlig her på Q&A siden i appen.\n\nKom tilbake på mandag for å lese svarene.", + "Description": "Alle spørsmål blir gjennomgått og noen vil bli besvart senere i podcasten.\nFlere spørsmål vil også bli besvart ukentlig her på Q&A siden i appen.\n\nKom tilbake på onsdag for å lese svarene.", "GotIt": "Forstått" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/nl/main.json b/BMM.Core/Translation/nl/main.json index 4edf741b..652dd32e 100644 --- a/BMM.Core/Translation/nl/main.json +++ b/BMM.Core/Translation/nl/main.json @@ -333,7 +333,8 @@ "ColorText": "Kies tussen aangepaste kleurenthema's", "SiriShortcutsHeader": "Siri afkortingen", "SiriShortcutsText": "Voeg Siri afkortingen voor BMM toe aan je device ", - "PushNotificationsGoToSettings": "Helaas kunnen we Push berichten niet activeren omdat ze uitgeschakeld staan in je apparaat instellingen. Sta notificaties toe in je instellingen om deze functie te activeren." + "PushNotificationsGoToSettings": "Helaas kunnen we Push berichten niet activeren omdat ze uitgeschakeld staan in je apparaat instellingen. Sta notificaties toe in je instellingen om deze functie te activeren.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Locatie voor offline nummers", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Bedankt voor het vragen!", - "Description": "Alle vragen worden bekeken en sommige worden beantwoord in de podcast. \n De meeste vragen worden beantwoord op de Q&A pagina. \n\n Kom maandag terug om de antwoorden te lezen.", + "Description": "Alle vragen worden bekeken en sommige worden beantwoord in de podcast. \n De meeste vragen worden beantwoord op de Q&A pagina. \n\nKom woensdag terug om de antwoorden te lezen.", "GotIt": "Begrepen" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/pl/main.json b/BMM.Core/Translation/pl/main.json index de11f803..2f25f30e 100644 --- a/BMM.Core/Translation/pl/main.json +++ b/BMM.Core/Translation/pl/main.json @@ -314,8 +314,8 @@ "OptionContactHeader": "Kontakt", "OptionContactText": "Pytania lub uwagi? Skontaktuj się z zespołem tutaj.", "OptionAppVersionHeader": "Wersja aplikacji", - "OptionDeleteAccountHeader": "Delete Account", - "OptionDeleteAccountText": "Request that your account is deleted.", + "OptionDeleteAccountHeader": "Usuń konto", + "OptionDeleteAccountText": "Poproś o usunięcie Twojego konta.", "AppInfoTitle": "Informacje o aplikacji", "AppInfoAppVersion": "Wersja aplikacji: ", "AppInfoManufacturer": "Producent: ", @@ -333,7 +333,8 @@ "ColorText": "Wybór niestandardowych motywów kolorystycznych", "SiriShortcutsHeader": "Skróty Siri", "SiriShortcutsText": "Dodaj skróty Siri dla BMM do swojego urządzenia", - "PushNotificationsGoToSettings": "Niestety nie możemy włączyć powiadomień push, ponieważ są one wyłączone w ustawieniach urządzenia. Zezwól na powiadomienia Push w ustawieniach urządzenia, aby włączyć tę funkcję." + "PushNotificationsGoToSettings": "Niestety nie możemy włączyć powiadomień push, ponieważ są one wyłączone w ustawieniach urządzenia. Zezwól na powiadomienia Push w ustawieniach urządzenia, aby włączyć tę funkcję.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Miejsce przechowywania treści w trybie offline", @@ -588,13 +589,16 @@ "SubmitSuccess": "Sugestia edycji została pomyślnie przesłana, dziękujemy!" }, "AskQuestionViewModel": { - "Title": "Ask a question", - "Submit": "Submit question", - "Hint": "Your question" + "Title": "Zadaj pytanie", + "Submit": "Prześlij pytanie", + "Hint": "Twoje pytanie" }, "AskQuestionConfirmationViewModel": { - "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "ThankYou": "Dzięki za pytanie!", + "Description": "Wszystkie pytania zostaną rozpatrzone, a odpowiedzi na niektóre z nich pojawią się w podcaście. \n Na większość pytań odpowiemy na stronie pytań i odpowiedzi. \n\n Sprawdź ponownie w środę, aby przeczytać odpowiedzi.", "GotIt": "Rozumiem" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/pt/main.json b/BMM.Core/Translation/pt/main.json index 35ee9922..f26353e7 100644 --- a/BMM.Core/Translation/pt/main.json +++ b/BMM.Core/Translation/pt/main.json @@ -333,7 +333,8 @@ "ColorText": "Escolha entre temas de cores personalizados", "SiriShortcutsHeader": "Atalhos da Siri", "SiriShortcutsText": "Adicione atalhos da Siri para BMM ao seu dispositivo", - "PushNotificationsGoToSettings": "Infelizmente, não podemos ativar as notificações push, pois elas estão desativadas nas configurações do seu dispositivo. Permita notificações push nas configurações do seu dispositivo para ativar esse recurso." + "PushNotificationsGoToSettings": "Infelizmente, não podemos ativar as notificações push, pois elas estão desativadas nas configurações do seu dispositivo. Permita notificações push nas configurações do seu dispositivo para ativar esse recurso.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Localização para faixas offline", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Entendi" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/ro/main.json b/BMM.Core/Translation/ro/main.json index a67b80e2..7962945a 100644 --- a/BMM.Core/Translation/ro/main.json +++ b/BMM.Core/Translation/ro/main.json @@ -333,7 +333,8 @@ "ColorText": "Alegeți dintre temele de culoare personalizate", "SiriShortcutsHeader": "Scurtături pentru Siri", "SiriShortcutsText": "Adaugă dispozitivului tău Scurtăturile Siri pentru BMM", - "PushNotificationsGoToSettings": "Din păcate, nu putem activa notificările push, deoarece acestea sunt dezactivate în setările dispozitivului tău. Te rugăm să permiți notificărilor push în setările dispozitivului tău pentru a activa această funcție." + "PushNotificationsGoToSettings": "Din păcate, nu putem activa notificările push, deoarece acestea sunt dezactivate în setările dispozitivului tău. Te rugăm să permiți notificărilor push în setările dispozitivului tău pentru a activa această funcție.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Locație pentru piesele offline", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Am înțeles" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/ru/main.json b/BMM.Core/Translation/ru/main.json index c9bc7515..11fa87b2 100644 --- a/BMM.Core/Translation/ru/main.json +++ b/BMM.Core/Translation/ru/main.json @@ -333,7 +333,8 @@ "ColorText": "Выбор цветовых тем", "SiriShortcutsHeader": "Ярлыки Сири", "SiriShortcutsText": "Добавьте ярлыки Siri для BMM на свое устройство", - "PushNotificationsGoToSettings": "К сожалению, мы не можем присылать Push-уведомления, так как они отключены в настройках вашего устройства. Пожалуйста, разрешите Push-уведомления в настройках устройства, чтобы включить эту функцию." + "PushNotificationsGoToSettings": "К сожалению, мы не можем присылать Push-уведомления, так как они отключены в настройках вашего устройства. Пожалуйста, разрешите Push-уведомления в настройках устройства, чтобы включить эту функцию.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Расположение офлайн-дорожек", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/sl/main.json b/BMM.Core/Translation/sl/main.json index ba45a2e4..a130da74 100644 --- a/BMM.Core/Translation/sl/main.json +++ b/BMM.Core/Translation/sl/main.json @@ -314,8 +314,8 @@ "OptionContactHeader": "Kontakt", "OptionContactText": "Vprašanja ali povratne informacije? Ekipo kontaktiraj tukaj.", "OptionAppVersionHeader": "Različica aplikacije", - "OptionDeleteAccountHeader": "Delete Account", - "OptionDeleteAccountText": "Request that your account is deleted.", + "OptionDeleteAccountHeader": "Izbriši račun", + "OptionDeleteAccountText": "Zahtevaj izbris svojega računa.", "AppInfoTitle": "Informacije o aplikaciji", "AppInfoAppVersion": "Različica aplikacije: ", "AppInfoManufacturer": "Proizvajalec: ", @@ -333,7 +333,8 @@ "ColorText": "Izberi posebne barvne teme", "SiriShortcutsHeader": "Bližnjice za Siri", "SiriShortcutsText": "Dodaj bližnjice za Siri za BMM na svojo napravo", - "PushNotificationsGoToSettings": "Ne moremo omogočiti potisnih sporočil, ker so onemogočena v nastavitvah. Za uporabo te funkcije\nomogoči potisna sporočila v nastavitvah naprave. " + "PushNotificationsGoToSettings": "Ne moremo omogočiti potisnih sporočil, ker so onemogočena v nastavitvah. Za uporabo te funkcije\nomogoči potisna sporočila v nastavitvah naprave. ", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Lokacija za skladbe brez povezave", @@ -588,13 +589,16 @@ "SubmitSuccess": "Urejeni predlogi so bili uspešno oddani, hvala!" }, "AskQuestionViewModel": { - "Title": "Ask a question", - "Submit": "Submit question", - "Hint": "Your question" + "Title": "Postavi vprašanje", + "Submit": "Pošlji vprašanje", + "Hint": "Tvoje vprašanje" }, "AskQuestionConfirmationViewModel": { - "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "ThankYou": "Hvala za vprašanje!", + "Description": "Vsa vprašanja bodo pregledana, na nekatera pa bomo odgovorili v podkastu. \n Na večino vprašanj boš dobil odgovor na strani Q&A.\n\n Preveri spet v sredo za odgovore.", "GotIt": "Razumem" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/tr/main.json b/BMM.Core/Translation/tr/main.json index 2f8e04fc..0fb4f867 100644 --- a/BMM.Core/Translation/tr/main.json +++ b/BMM.Core/Translation/tr/main.json @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Location for offline tracks", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/uk/main.json b/BMM.Core/Translation/uk/main.json index 12a9064c..13849553 100644 --- a/BMM.Core/Translation/uk/main.json +++ b/BMM.Core/Translation/uk/main.json @@ -333,7 +333,8 @@ "ColorText": "Choose between custom color themes", "SiriShortcutsHeader": "Siri Shortcuts", "SiriShortcutsText": "Add Siri Shortcuts for BMM to your device", - "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature." + "PushNotificationsGoToSettings": "Unfortunately we cannot enable Push Notifications as they are disabled in your device settings. Please allow Push Notifications in your device settings to enable this feature.", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "Location for offline tracks", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "Got it" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file diff --git a/BMM.Core/Translation/zh/main.json b/BMM.Core/Translation/zh/main.json index 650c74e1..6202144e 100644 --- a/BMM.Core/Translation/zh/main.json +++ b/BMM.Core/Translation/zh/main.json @@ -333,7 +333,8 @@ "ColorText": "选择自定义颜色主题", "SiriShortcutsHeader": "Siri 快捷方式", "SiriShortcutsText": "为您的设备添加 BMM 的 Siri 快捷方式", - "PushNotificationsGoToSettings": "很遗憾,我们无法启用 \"推送通知\",因为您的设备设置中禁用了该功能。请在设备设置中允许 \"推送通知\",以启用此功能。" + "PushNotificationsGoToSettings": "很遗憾,我们无法启用 \"推送通知\",因为您的设备设置中禁用了该功能。请在设备设置中允许 \"推送通知\",以启用此功能。", + "Achievements": "Achievements" }, "StorageManagementViewModel": { "Title": "离线内容的位置", @@ -594,7 +595,10 @@ }, "AskQuestionConfirmationViewModel": { "ThankYou": "Thanks for asking!", - "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Monday to read the replies.", + "Description": "All questions will be reviewed and some will be answered in the podcast. \n Most questions will be answered on the Q&A page. \n\n Check back on Wednesday to read the replies.", "GotIt": "明白了" + }, + "AchievementsViewModel": { + "Title": "Achievements" } } \ No newline at end of file