Skip to content

Commit 1b39904

Browse files
committed
Merge branch 'hotfix/1.3.1' into versions
2 parents c4921bb + f59425a commit 1b39904

13 files changed

+76
-56
lines changed

App/Resources/tr.lproj/Localizable.strings

+6-6
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090

9191
"SETTINGS.AUDIO.OUTPUT_DEVICE.TITLE" = "Çıkış cihazını seçin (AirPlay simgesi ile):";
9292

93-
"SETTINGS.AUDIO.SPEECH_SYNTHESIZER.PITCH_MULTIPLIER" = "Pitch Çarpanı";
93+
"SETTINGS.AUDIO.SPEECH_SYNTHESIZER.PITCH_MULTIPLIER" = "Tonaj derecesi";
9494

9595
"SETTINGS.AUDIO.SPEECH_SYNTHESIZER.SPEECH_RATE" = "Konuşma hızı";
9696

@@ -102,7 +102,7 @@
102102

103103
"SETTINGS.AUDIO_SPEED_SECTION.FIXED_TEXTS.TITLE" = "Diğer metin hızı";
104104

105-
"SETTINGS.AUDIO_SPEED_SECTION.FOOTER" = "Mevcut iki ses modundan birini seçin, yada ikisinide yada hiç birini. İlkinde, bir dua sırasında pozisyon değiştirildiğinde sadece kısa bir ses çalınır. İkinci modda, tüm metin yüksek sesle okunur, böylece yalnızca dinleyerek kılınabilir. Bu, cihaz cebinizde kilitliyken de çalışır. Bu mesela aynı mescitteki diğer kişiler farkında olmadan tercih edilen dilde kılmak için faydalı olabilir.";
105+
"SETTINGS.AUDIO_SPEED_SECTION.FOOTER" = "Mevcut iki ses modundan birini seçin, yada ikisinide yada hiç birini. İlkinde, bir dua sırasında pozisyon değiştirildiğinde sadece kısa bir ses çalınır. İkinci modda, tüm metin yüksek sesle okunur, böylece yalnızca dinleyerek kılınabilir. Bu, cihaz cebinizde ekran kilitliyken de çalışır. Bu mesela aynı mescid deki diğer kişiler farkında olmadan tercih edilen dilde kılmak için faydalı olabilir.";
106106

107107
"SETTINGS.AUDIO_SPEED_SECTION.MOVEMENT_SOUND_INSTRUMENT.TITLE" = "Hareket tonu";
108108

@@ -114,17 +114,17 @@
114114

115115
"SETTINGS.FAQ_BUTTON.TITLE" = "SSS";
116116

117-
"SETTINGS.FAQ_ENTRIES.APP_MOTIVATION.ANSWER" = "Bu uygulamanın şu anda iki hedefi vardır:\n1. Namaz kılarken ne söylenildiğinin farkında olunmasi.\n2. Namaz kılarken Kuranın hatim edilmesi.\n\nŞu anda uygulama sadece Kurandaki son 24 sûreyi içerir ve namazda kıyamda iken rastgele bir sure seçer. Ama bu sadece ilk adımdır. Tüm eksik olan sûreler güncelleştirmeler ile tamamen ilave edilecektir ki, namaz kılarken parça parça Kuranı okuyabilesiniz. Uzun sureler için de parça parça okuma çözümümüz var.\n\nBu uygulamanın amacı namaz kılmayı sıfırdan öğretmek DEĞİLDİR. Bu uygulama namazdaki sureleri yabanci dil (Arapça) yerine, bildiğiniz bir dilden okuyabilmeniz için hazırlanmıştır. Şu anda dil olarak Türkçe, Almanca ve İngilizce mevcuttur.";
117+
"SETTINGS.FAQ_ENTRIES.APP_MOTIVATION.ANSWER" = "Bu uygulamanın şu anda iki hedefi vardır:\n1. Namaz kılarken ne söylenildiğinin farkında olunmasi.\n2. Namaz kılarken Kuranın hatim edilmesi.\n\nŞu anda uygulama sadece Kurandaki son 24 sûreyi içerir ve namazda kıyamda iken rastgele bir sure seçer. Ama bu sadece ilk adımımızdır. Tüm eksik olan sûreler güncelleştirmeler ile tamamen ilave edilecektir ki, namaz kılarken parça parça Kuranı okuyabilesiniz. Uzun sureler için de parça parça okuma çözümümüz var.\n\nBu uygulamanın amacı namaz kılmayı sıfırdan öğretmek DEĞİLDİR. Bu uygulama namazdaki sureleri yabanci dil (Arapça) yerine, bildiğiniz bir dilden okuyabilmeniz için hazırlanmıştır. Şu anda dil olarak Türkçe, Almanca ve İngilizce mevcuttur.";
118118

119119
"SETTINGS.FAQ_ENTRIES.APP_MOTIVATION.QUESTION" = "Bu uygulamanın amacı nedir?";
120120

121-
"SETTINGS.FAQ_ENTRIES.IPAD_READING.ANSWER" = "Bu soruya sonuçta sadece Tanrımız cevap verebilir, ama biz tüm eleştirmenlere şu soruyu sormak istiyoruz: Eğer namazda konuşulan kelimelerin anlamı bilinmez ise, namazın gerçekten kabul olabileceğini mi düşünüyorsunuz?";
121+
"SETTINGS.FAQ_ENTRIES.IPAD_READING.ANSWER" = "Bu soruya sonuçta sadece Tanrımız cevap verebilir, ama biz tüm eleştirmenlere şu soruyu sormak istiyoruz: Eğer namazda söylenen kelimelerin anlamı bilinmez ise, namazın gerçekten kabul olabileceğini mi düşünüyorsunuz?";
122122

123123
"SETTINGS.FAQ_ENTRIES.IPAD_READING.QUESTION" = "Namazda kelimeler cihaz dan okunulursa yada sesli dinlenilirse, namaz hiç geçerli olabilirmi?";
124124

125-
"SETTINGS.FAQ_ENTRIES.LANGUAGE.ANSWER" = "Kuranı bizim içinde yazan şeylerden haberdar olmamız ve hayatımıza aktarmamız için indiğini düşünüyoruz. Anlamadığımız kelimeler ne bize yanlış yolu gösterir, nede bizi doğru yola iletir. Fakat bu Kuranın en büyük hedefidir.\n\nAllah günde beş vakit onun kelimelerinin anlamsız bir şekilde kulağa güzel gelen bir siir gibi dinlememizi istediğine inanamıyoruz. Kurandaki Arapça Allahın bize gönderdiği en doğru mesaj olmasına rağmen, Arapça diline hakim olmayan bir kişinin arapça okunan namazın kabul edildiğine inanamıyoruz. Bu tür bir namazda büyük bir eksiklik vardır. Üstelik bizim bilgimize göre Kuranda namazın Arapça dilde okunması meçbur olduğunu söğleğen bir ayet bulunmamaktadır.";
125+
"SETTINGS.FAQ_ENTRIES.LANGUAGE.ANSWER" = "Kuranı bizim içinde yazan şeylerden haberdar olmamız ve hayatımıza aktarmamız için indiğini düşünüyoruz. Anlamadığımız kelimeler ne bize yanlış yolu gösterir, nede bizi doğru yola iletir. Fakat bu Kuranın en büyük hedefidir.\n\nAllah günde beş vakit onun kelimelerinin anlamsız bir şekilde kulağa güzel gelen bir şiir gibi dinlememizi istediğine inanamıyoruz. Kurandaki Arapça Allahın bize gönderdiği en doğru mesaj olmasına rağmen, Arapça diline hakim olmayan bir kişinin arapça okunan namazın kabul edildiğine inanamıyoruz. Bu tür bir namazda büyük bir eksiklik vardır. Üstelik bizim bilgimize göre Kuranda namazın Arapça dilde okunması meçbur olduğunu söyleyen bir ayet bulunmamaktadır.";
126126

127-
"SETTINGS.FAQ_ENTRIES.LANGUAGE.QUESTION" = "Namaz daki sureler ve dualar Kuranın asıl dili Arapçadan okunması şart değilmidir?";
127+
"SETTINGS.FAQ_ENTRIES.LANGUAGE.QUESTION" = "Namaz daki sureler ve dualar Kuranın asıl dili olan Arapça okunması şart değilmidir?";
128128

129129
"SETTINGS.FAQ_ENTRIES.TRANSLATION_PROBLEM.ANSWER" = "Biz namaz kılmanın çok önemli bir ibadet olduğu için, mümkün olduğu kadar doğru yapmak istediğinizi anlıyoruz. Bizde bu sebeple ayrıca dinde aynı metnin anlamları hakkında çok farklı görüşlerin olduğunu bildiğimiz için, sizler icin orijinala yakın bir meal kullanmayı tercih ettik.\n\nBu nedenle, biz de Kuranın kendisini okumanızın şart olduğunu düşünerek bu uygulamayı size bir yardım olarak hazırladık. Kuranın içindekilerine başkaların (sözde) hikayelerini ve hurafelerini dinleyerek onların size \"Kuranın gerçek mesajını\" öğretmesine engel olabilmeniz için Kuranın ta kendisini okumayı öneriyoruz. Onların dediklerinin doğru olup olmadığını sadece böylece ayrım edebileceğinize inanıyoruz.";
130130

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//
2+
// Created by Cihat Gündüz on 08.11.21.
3+
// Copyright © 2021 Flinesoft. All rights reserved.
4+
//
5+
6+
import Foundation
7+
8+
enum MovementSound: String {
9+
case downwards = "C-Short"
10+
case upwards = "E-Short"
11+
case longSitting = "E-Long"
12+
case salam = "G-Short"
13+
}

App/Sources/Models/PrayerState.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ class PrayerState {
5959
}
6060

6161
var movementDelay: TimeInterval? {
62-
guard lineIndex == 0 && currentComponent.needsMovement else { return nil }
62+
guard lineIndex == 0, currentComponent.needsMovement else { return nil }
6363
return previousPositon.movementDuration(forChangingTo: currentPosition)
6464
}
6565

6666
var currentMovementSoundUrl: URL? {
67-
guard let movementSound = currentComponent.movementSound else { return nil }
68-
return AudioPlayer.shared.movementSoundUrl(name: movementSound, instrument: movementSoundInstrument)
67+
guard lineIndex == 0, let movementSound = currentComponent.movementSound else { return nil }
68+
return AudioPlayer.shared.movementSoundUrl(name: movementSound.rawValue, instrument: movementSoundInstrument)
6969
}
7070

7171
var currentRecitationChapterNum: Int? { return currentComponent.chapterNumber }
@@ -94,7 +94,7 @@ class PrayerState {
9494
guard lineIndex == 0 else { return nil }
9595
guard let movementSound = currentComponent.movementSound else { return nil }
9696

97-
return AudioPlayer.shared.movementSoundUrl(name: movementSound, instrument: movementSoundInstrument)
97+
return AudioPlayer.shared.movementSoundUrl(name: movementSound.rawValue, instrument: movementSoundInstrument)
9898
}
9999

100100
func moveToNextLine() -> Bool {

App/Sources/Models/RakahComponent.swift

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class RakahComponent {
1515
static var movementSoundInstrument: String {
1616
get {
1717
guard let instrument = UserDefaults.standard.string(forKey: "MovementSoundInstrument") else {
18-
return "Baroque Organ"
18+
return "Grand Piano with Pad & Choir"
1919
}
2020
return instrument
2121
}
@@ -31,7 +31,7 @@ class RakahComponent {
3131
let spokenTextLines: [String]
3232
let needsMovement: Bool
3333
let position: Position
34-
let movementSound: String?
34+
let movementSound: MovementSound?
3535
let isChangingText: Bool
3636

3737
let l10n = L10n.RakahComponent.self
@@ -50,15 +50,15 @@ class RakahComponent {
5050
chapterNumber = nil
5151

5252
if longSitting {
53-
movementSound = "E-Long"
53+
movementSound = .longSitting
5454
}
5555
else {
5656
switch pos {
5757
case .bending, .worship:
58-
movementSound = "C-Short"
58+
movementSound = .downwards
5959

6060
case .standing, .sitting:
61-
movementSound = "E-Short"
61+
movementSound = .upwards
6262

6363
default:
6464
movementSound = nil
@@ -112,7 +112,7 @@ class RakahComponent {
112112
spokenTextLines = RakahComponent.readLinesFromFile(named: "Straightening-Up")
113113
needsMovement = true
114114
position = .standing
115-
movementSound = "E-Short"
115+
movementSound = .upwards
116116
isChangingText = false
117117
chapterNumber = nil
118118

@@ -156,7 +156,7 @@ class RakahComponent {
156156
name = l10n.Salam.name
157157
spokenTextLines = RakahComponent.readLinesFromFile(named: "Salam")
158158
needsMovement = true
159-
movementSound = "G-Short"
159+
movementSound = .salam
160160
isChangingText = false
161161
position = pos
162162
chapterNumber = nil
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//
2+
// Created by Cihat Gündüz on 08.11.21.
3+
// Copyright © 2021 Flinesoft. All rights reserved.
4+
//
5+
6+
import Foundation
7+
8+
enum SoundInstrument: String, CaseIterable {
9+
case baroqueOrgan = "Baroque Organ"
10+
case bleepCity = "Bleep City"
11+
case erhu = "Erhu"
12+
case flowMotion = "Flow Motion"
13+
case grandPianoWithPadAndChoir = "Grand Piano with Pad & Choir"
14+
case infiniteSpace = "Infinite Space"
15+
case persionSantoor = "Persian Santoor"
16+
case softWaves = "Soft Waves"
17+
case turkishSazZither = "Turkish Saz Zither"
18+
case tweedPickedSynth = "Tweed Picked Synth"
19+
}

App/Sources/ScreenFlows/Settings/SettingsViewController.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ class SettingsViewController: FormViewController {
258258
private func movementSoundInstrumentRow() -> PushRow<String> {
259259
PushRow<String> { row in
260260
row.title = l10n.AudioSpeedSection.MovementSoundInstrument.title
261-
row.options = SettingsViewModel.availableMovementSoundInstruments
261+
row.options = SoundInstrument.allCases.map(\.rawValue)
262262
row.value = viewModel.movementSoundInstrument
263263
row.hidden = Condition.function([audioModeRowTag]) { _ in
264264
self.audioMode != .movementSound && self.audioMode != .movementSoundAndSpeechSynthesizer

App/Sources/ScreenFlows/Settings/SettingsViewModel.swift

+2-7
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,6 @@ import SwiftyUserDefaults
88
import UIKit
99

1010
class SettingsViewModel {
11-
static let availableMovementSoundInstruments: [String] = [
12-
"Baroque Organ", "Bleep City", "Erhu", "Flow Motion", "Grand Piano with Pad & Choir", "Infinite Space",
13-
"Persian Santoor", "Soft Waves", "Turkish Saz Zither", "Tweed Picked Synth",
14-
]
15-
1611
var rakatCount: Int {
1712
get { Defaults.rakatCount }
1813
set { Defaults.rakatCount = newValue }
@@ -78,7 +73,7 @@ class SettingsViewModel {
7873
}
7974

8075
extension DefaultsKeys {
81-
private var defaultInstrument: String { SettingsViewModel.availableMovementSoundInstruments.first! }
76+
private var defaultInstrument: SoundInstrument { .grandPianoWithPadAndChoir }
8277
private var defaultSpeechRate: Double { Double(AVSpeechUtteranceDefaultSpeechRate) }
8378
private var defaultVoice: String { SpeechSynthesizer.SupportedLanguage.bestMatchingVoice.identifier }
8479

@@ -88,7 +83,7 @@ extension DefaultsKeys {
8883
var showChangingTextName: DefaultsKey<Bool> { .init("ShowChangingTextName", defaultValue: true) }
8984
var allowLongerRecitations: DefaultsKey<Bool> { .init("AllowLongerRecitations", defaultValue: false) }
9085
var allowSplittingRecitations: DefaultsKey<Bool> { .init("AllowSplittingRecitations", defaultValue: false) }
91-
var movementSoundInstrument: DefaultsKey<String> { .init("MovementSoundInstrument", defaultValue: defaultInstrument) }
86+
var movementSoundInstrument: DefaultsKey<String> { .init("MovementSoundInstrument", defaultValue: defaultInstrument.rawValue) }
9287
var speechSynthesizerVoiceId: DefaultsKey<String> { .init("VoiceId", defaultValue: defaultVoice) }
9388
var speechSynthesizerPitchMultiplier: DefaultsKey<Double> { .init("PitchMultiplier", defaultValue: 1.0) }
9489
var speechSynthesizerSpeechRate: DefaultsKey<Double> { .init("SpeechRate", defaultValue: defaultSpeechRate) }

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ If needed, pluralize to `Issues`, `PRs` or `Authors` and list multiple separated
3131
### Security
3232
- None.
3333

34+
## [1.3.1] - 2021-11-08
35+
### Changed
36+
- Improved wording in Turkish translations.
37+
### Fixed
38+
- Fixed an issue with the movement sound played twice while standing.
39+
3440
## [1.3.0] - 2021-10-31
3541
### Added
3642
- Adds a new audio mode where a computer voice reads out loud the full text of the prayer.

Prayer.xcodeproj/project.pbxproj

+10-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
/* Begin PBXBuildFile section */
1010
2E06625B27243C9E001D8531 /* AudioMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E06625A27243C9E001D8531 /* AudioMode.swift */; };
11+
2E30457D27399B8F00B8BBD2 /* SoundInstrument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E30457C27399B8F00B8BBD2 /* SoundInstrument.swift */; };
12+
2E30457F27399CF300B8BBD2 /* MovementSound.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E30457E27399CF300B8BBD2 /* MovementSound.swift */; };
1113
2E6C0B442646FD7A00A4D8E3 /* HandySwift in Frameworks */ = {isa = PBXBuildFile; productRef = 2E6C0B432646FD7A00A4D8E3 /* HandySwift */; };
1214
2E6C0B472646FD9200A4D8E3 /* HandyUIKit in Frameworks */ = {isa = PBXBuildFile; productRef = 2E6C0B462646FD9200A4D8E3 /* HandyUIKit */; };
1315
2E6C0B4A2646FDC800A4D8E3 /* Eureka in Frameworks */ = {isa = PBXBuildFile; productRef = 2E6C0B492646FDC800A4D8E3 /* Eureka */; };
@@ -136,6 +138,8 @@
136138

137139
/* Begin PBXFileReference section */
138140
2E06625A27243C9E001D8531 /* AudioMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioMode.swift; sourceTree = "<group>"; };
141+
2E30457C27399B8F00B8BBD2 /* SoundInstrument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoundInstrument.swift; sourceTree = "<group>"; };
142+
2E30457E27399CF300B8BBD2 /* MovementSound.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovementSound.swift; sourceTree = "<group>"; };
139143
2E6C0B5E2647315600A4D8E3 /* .swift-format */ = {isa = PBXFileReference; lastKnownFileType = text; name = ".swift-format"; path = "../WhatNext-appleOS/.swift-format"; sourceTree = "<group>"; };
140144
2E9976BD271585A500F61BFE /* Recitation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Recitation.swift; sourceTree = "<group>"; };
141145
2E9976DA2715A75400F61BFE /* en */ = {isa = PBXFileReference; lastKnownFileType = text; name = en; path = "en.lproj/090_The-Land.txt"; sourceTree = "<group>"; };
@@ -394,13 +398,15 @@
394398
isa = PBXGroup;
395399
children = (
396400
2E06625A27243C9E001D8531 /* AudioMode.swift */,
401+
2E30457E27399CF300B8BBD2 /* MovementSound.swift */,
397402
A1A6A4651E3A819D00A909FF /* Position.swift */,
398403
A16484E21E243AAC008EC78C /* Prayer.swift */,
399404
A1D1EFC11E3937FC0029C009 /* PrayerState.swift */,
400405
A16484E41E243B5F008EC78C /* Rakah.swift */,
401406
A16484E61E25503C008EC78C /* RakahComponent.swift */,
402407
2E9976BD271585A500F61BFE /* Recitation.swift */,
403408
2EAF6389271AAC9D00145D5D /* RecitationPart.swift */,
409+
2E30457C27399B8F00B8BBD2 /* SoundInstrument.swift */,
404410
);
405411
path = Models;
406412
sourceTree = "<group>";
@@ -961,6 +967,7 @@
961967
A11830EB1E591EF600CBE087 /* FAQViewController.swift in Sources */,
962968
A11830ED1E591F0A00CBE087 /* FAQViewModel.swift in Sources */,
963969
A1370CD81E368DF300B55D9E /* Logger.swift in Sources */,
970+
2E30457F27399CF300B8BBD2 /* MovementSound.swift in Sources */,
964971
A1A6A4661E3A819D00A909FF /* Position.swift in Sources */,
965972
A16484E31E243AAC008EC78C /* Prayer.swift in Sources */,
966973
A1370CE91E37394600B55D9E /* PrayerFlowController.swift in Sources */,
@@ -974,6 +981,7 @@
974981
A1370CDB1E368FA600B55D9E /* SettingsFlowController.swift in Sources */,
975982
A16484D51E243898008EC78C /* SettingsViewController.swift in Sources */,
976983
A1D1EFB71E381FD00029C009 /* SettingsViewModel.swift in Sources */,
984+
2E30457D27399B8F00B8BBD2 /* SoundInstrument.swift in Sources */,
977985
2EA2CDF6271D2AC7009172C3 /* SpeechSynthesizer.swift in Sources */,
978986
A1494BCF1E2ED79500286EBF /* Storyboards.swift in Sources */,
979987
A1494BCE1E2ED79500286EBF /* Strings.swift in Sources */,
@@ -1539,7 +1547,7 @@
15391547
"$(inherited)",
15401548
"@executable_path/Frameworks",
15411549
);
1542-
MARKETING_VERSION = 1.3.0;
1550+
MARKETING_VERSION = 1.3.1;
15431551
PRODUCT_BUNDLE_IDENTIFIER = com.flinesoft.prayer;
15441552
PRODUCT_MODULE_NAME = App;
15451553
PRODUCT_NAME = Prayer;
@@ -1560,7 +1568,7 @@
15601568
"$(inherited)",
15611569
"@executable_path/Frameworks",
15621570
);
1563-
MARKETING_VERSION = 1.3.0;
1571+
MARKETING_VERSION = 1.3.1;
15641572
PRODUCT_BUNDLE_IDENTIFIER = com.flinesoft.prayer;
15651573
PRODUCT_MODULE_NAME = App;
15661574
PRODUCT_NAME = Prayer;

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
alt="Build Status">
1010
</a>
1111
<a href="https://github.com/Flinesoft/Prayer/releases">
12-
<img src="https://img.shields.io/badge/Version-1.3.0-blue.svg"
13-
alt="Version: 1.3.0">
12+
<img src="https://img.shields.io/badge/Version-1.3.1-blue.svg"
13+
alt="Version: 1.3.1">
1414
</a>
1515
<img src="https://img.shields.io/badge/Swift-5.5-FFAC45.svg"
1616
alt="Swift: 5.5">
+2-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
1-
NEU:
2-
- Fügt einen neuen Audiomodus hinzu, bei dem eine Computerstimme den vollständigen Text des Gebets laut vorliest.
3-
- Stellt sicher, dass der neue Audiomodus für gesprochenen Text weiter abgespielt wird, wenn das Gerät gesperrt ist oder die App im Hintergrund läuft.
4-
- Zeigt das aktuell verbundene Audiogerät an und fügt eine Schaltfläche zum Wechseln des Geräts direkt in der App hinzu.
5-
- Fügt detaillierte Beschreibungen unter jedem Einstellungsabschnitt hinzu, um zusätzlichen Kontext zu liefern.
6-
71
GEÄNDERT:
8-
- Der Ton beim Positionswechsel ignoriert jetzt die Einstellung des Stummschalters des Systems. Künftig den Audiomodus stattdessen auf "stumm" stellen.
9-
- Alle Einstellungseinträge haben jetzt ein Icon, um schneller erkannt zu werden und den Einstellungsbildschirm schöner aussehen zu lassen.
2+
- Verbesserte Formulierung in den türkischen Übersetzungen.
103

114
BEHOBEN:
12-
- Die grüne Akzentfarbe im dunklen Modus wurde heller gestaltet, damit der Text auf den Schaltflächen besser lesbar ist.
5+
- Ein Problem wurde behoben, bei dem der Bewegungston im Stehen zweimal abgespielt wurde.
+2-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
1-
NEW:
2-
- Adds a new audio mode where a computer voice reads out loud the full text of the prayer.
3-
- Ensures the new spoken text audio mode continues to play when device is locked or app is in background.
4-
- Shows the currently connected audio device and adds a button to switch the device right within the app.
5-
- Adds detailed descriptions below each settings section to give some additional context.
6-
71
CHANGED:
8-
- Position change sound now ignores the systems Mute switch setting. Set audio mode to `muted` instead to pray without any sounds.
9-
- All settings entries now have an icon for faster recognition and to make the settings screen look nicer.
2+
- Improved wording in Turkish translations.
103

114
FIXED:
12-
- Adjusted green accent color in dark mode to be brighter for more legible text on buttons.
5+
- Fixed an issue with the movement sound played twice while standing.

0 commit comments

Comments
 (0)