Skip to content

Commit c4921bb

Browse files
committed
Merge branch 'release/1.3.0' into versions
2 parents 8d4ec59 + 216fe7b commit c4921bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+940
-532
lines changed

.github/workflows/pull_request.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1616

1717
tests:
18-
runs-on: macOS-latest
18+
runs-on: macos-11
1919

2020
steps:
2121
- uses: actions/checkout@v2

.periphery.yml

-8
This file was deleted.

.projlint.yml

-173
This file was deleted.

.swift-format

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"lineBreakBeforeControlFlowKeywords": true,
44
"lineBreakBeforeEachArgument": true,
55
"lineBreakBeforeEachGenericRequirement": true,
6-
"lineLength": 120,
6+
"lineLength": 140,
77
"prioritizeKeepingFunctionOutputTogether": true,
88
"rules": {
99
"NeverUseImplicitlyUnwrappedOptionals": false,

App/Generated/SwiftGen/Assets.swift

-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import UIKit.UIImage
88
#endif
99

10-
// MARK: - Asset Catalogs
1110

1211
internal typealias Colors = Asset.Colors
1312
internal typealias Images = Asset.Images
@@ -27,6 +26,5 @@ internal enum Asset {
2726
}
2827
}
2928

30-
// MARK: - Implementation Details
3129

3230
private final class BundleToken {}

App/Generated/SwiftGen/Strings.swift

+63-25
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ import Foundation
1111
// swiftlint:disable nesting type_body_length type_name vertical_whitespace_opening_braces
1212
internal enum L10n {
1313

14+
internal enum AudioMode {
15+
/// Sound for position changes
16+
internal static let movementSound = L10n.tr("Localizable", "AUDIO_MODE.MOVEMENT_SOUND")
17+
/// Both (sound + voice)
18+
internal static let movementSoundAndSpeechSynthesizer = L10n.tr("Localizable", "AUDIO_MODE.MOVEMENT_SOUND_AND_SPEECH_SYNTHESIZER")
19+
/// No audio (muted)
20+
internal static let `none` = L10n.tr("Localizable", "AUDIO_MODE.NONE")
21+
/// Reading computer voice
22+
internal static let speechSynthesizer = L10n.tr("Localizable", "AUDIO_MODE.SPEECH_SYNTHESIZER")
23+
}
24+
1425
internal enum PrayerView {
1526
internal enum Countdown {
1627
/// Countdown
@@ -176,13 +187,51 @@ internal enum L10n {
176187
/// Settings
177188
internal static let title = L10n.tr("Localizable", "SETTINGS.TITLE")
178189
internal enum AppSection {
190+
/// The language of the app determines the language of the texts shown during a prayer. Apple provides an app-specific language setting in the Settings app. Please use it to change the language of this app and the prayers.
191+
internal static let footer = L10n.tr("Localizable", "SETTINGS.APP_SECTION.FOOTER")
179192
/// App Settings
180193
internal static let title = L10n.tr("Localizable", "SETTINGS.APP_SECTION.TITLE")
181194
internal enum ChangeLanguageButton {
182-
/// Change app language in ⚙️ Settings app
195+
/// Change language in ⚙️ Settings
183196
internal static let title = L10n.tr("Localizable", "SETTINGS.APP_SECTION.CHANGE_LANGUAGE_BUTTON.TITLE")
184197
}
185198
}
199+
internal enum Audio {
200+
internal enum OutputDevice {
201+
/// Select output device (via AirPlay icon):
202+
internal static let title = L10n.tr("Localizable", "SETTINGS.AUDIO.OUTPUT_DEVICE.TITLE")
203+
}
204+
internal enum SpeechSynthesizer {
205+
/// Pitch multiplicator
206+
internal static let pitchMultiplier = L10n.tr("Localizable", "SETTINGS.AUDIO.SPEECH_SYNTHESIZER.PITCH_MULTIPLIER")
207+
/// Speech rate
208+
internal static let speechRate = L10n.tr("Localizable", "SETTINGS.AUDIO.SPEECH_SYNTHESIZER.SPEECH_RATE")
209+
/// Voice
210+
internal static let voice = L10n.tr("Localizable", "SETTINGS.AUDIO.SPEECH_SYNTHESIZER.VOICE")
211+
}
212+
}
213+
internal enum AudioSpeedSection {
214+
/// Choose one of the two available audio modes, or both or none. The first only plays a short sound when changing positions during a prayer. The second will instead read out loud the full prayer text so you can just listen. This also works when the device is locked in your pocket. This can for example be useful when you want to do your prayers in your preferred language without others in the same Prayer room noticing it.
215+
internal static let footer = L10n.tr("Localizable", "SETTINGS.AUDIO_SPEED_SECTION.FOOTER")
216+
/// Audio & Speed Settings
217+
internal static let title = L10n.tr("Localizable", "SETTINGS.AUDIO_SPEED_SECTION.TITLE")
218+
internal enum AudioMode {
219+
/// Audio Mode
220+
internal static let title = L10n.tr("Localizable", "SETTINGS.AUDIO_SPEED_SECTION.AUDIO_MODE.TITLE")
221+
}
222+
internal enum ChangingText {
223+
/// Quran sura speed
224+
internal static let title = L10n.tr("Localizable", "SETTINGS.AUDIO_SPEED_SECTION.CHANGING_TEXT.TITLE")
225+
}
226+
internal enum FixedTexts {
227+
/// Other texts speed
228+
internal static let title = L10n.tr("Localizable", "SETTINGS.AUDIO_SPEED_SECTION.FIXED_TEXTS.TITLE")
229+
}
230+
internal enum MovementSoundInstrument {
231+
/// Movement sound
232+
internal static let title = L10n.tr("Localizable", "SETTINGS.AUDIO_SPEED_SECTION.MOVEMENT_SOUND_INSTRUMENT.TITLE")
233+
}
234+
}
186235
internal enum ChangeMovementSoundSheet {
187236
/// Choose movement instrument
188237
internal static let title = L10n.tr("Localizable", "SETTINGS.CHANGE_MOVEMENT_SOUND_SHEET.TITLE")
@@ -201,7 +250,7 @@ internal enum L10n {
201250
/// 1. Becoming aware of what you are actually saying when you pray.
202251
/// 2. Use the regular prayers to read the Quran.
203252
///
204-
/// Currently the app contains only the last twelve surahs of the Quran and randomly selects between them while one is staying during a prayer, but this is only the first step. With updates we are to follow all the missing surahs, and we also have a planned solution for longer surahs so that you can read them bit by bit to be able to pray and understand them without losing context.
253+
/// Currently the app contains only the last 24 surahs of the Quran and randomly selects between them while one is staying during a prayer, but this is only the first step. With updates we are to follow all the missing surahs, and we also have a solution for longer surahs so that you can read them bit by bit to be able to pray and understand them without losing context.
205254
///
206255
/// Specifically NOT the purpose of this app is to teach praying from the ground up. Knowledge of the fundamentals of the prayers is already assumed, the app is intended primarily to move from doing your prayers in a foreign language (Arabic) to a language which you already mastered (currently: English, German and Turkish).
207256
internal static let answer = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.APP_MOTIVATION.ANSWER")
@@ -211,7 +260,7 @@ internal enum L10n {
211260
internal enum IpadReading {
212261
/// In the end, this can only be answered by God, but we would like to ask all critics the following question: Are the prayers valid if you do not understand the meaning of your spoken words?
213262
internal static let answer = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.IPAD_READING.ANSWER")
214-
/// Are the prayers valid at all, if I read from the iPad?
263+
/// Are the prayers valid at all, if I read or listen to a voice?
215264
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.IPAD_READING.QUESTION")
216265
}
217266
internal enum Language {
@@ -222,26 +271,22 @@ internal enum L10n {
222271
/// Do prayers not have to be spoken in Arabic, the original language of the Koran?
223272
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.LANGUAGE.QUESTION")
224273
}
225-
internal enum LanguageMix {
226-
/// Actually this app is meant to be able to get away from the Arabic language, if you did not master it. An alternative usage method would be to use the app as a supplement to prayers in Arabic, in order to be able to read the meaning next to it. Because we are convinced that prayers are all about meaning, we advise against it to not make the prayers unnecessarily complicated, but for some, this may be the only acceptable way what we can understand. We recommend setting the "Changing text name" setting for this application method.
227-
internal static let answer = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.LANGUAGE_MIX.ANSWER")
228-
/// Can I also use the app if I want to continue to pray in Arabic?
229-
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.LANGUAGE_MIX.QUESTION")
230-
}
231274
internal enum TranslationProblem {
232275
/// We understand that regular prayers are something so important that you want to do everything as correct as possible. We also understand that in religion many different opinions about the meaning of the same text prevail, and it is important that you remain as close as possible to the original text.
233276
///
234-
/// This is why we absolutely want you to read the Quran yourself, not the narratives and traditions of those who have studied the Quran for years and try to enlighten you (supposedly), and above all not those who try to teach you about "the real message of the Koran". We are convinced that this distinction is only possible if you read the Quran for yourself what this App tries to help with.
277+
/// This is why we absolutely want you to read the Quran yourself, not the narratives and traditions of those who have studied the Quran for years and try to enlighten you (supposedly), and above all not those who try to teach you about "the real message of the Koran". We are convinced that one can make distinction only if one reads the Quran for oneself what this App tries to help with.
235278
internal static let answer = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.TRANSLATION_PROBLEM.ANSWER")
236279
/// Do translations not necessarily change the meaning of the original text?
237280
internal static let question = L10n.tr("Localizable", "SETTINGS.FAQ_ENTRIES.TRANSLATION_PROBLEM.QUESTION")
238281
}
239282
}
240283
internal enum FeedbackButton {
241-
/// Send Feedback
284+
/// Feedback
242285
internal static let title = L10n.tr("Localizable", "SETTINGS.FEEDBACK_BUTTON.TITLE")
243286
}
244287
internal enum PrayerSection {
288+
/// You can decide, if the name of the changing Quran recitation while standing should be displayed before showing its contents. You can also allow for up to four times longer Quran recitations while standing. Most Quranic surahs are even too long for that, to include them into your prayers, you have to allow splitting them – the app will remember the spliting position and continue from where you left off on the next prayer.
289+
internal static let footer = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.FOOTER")
245290
/// Prayer Settings
246291
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.TITLE")
247292
internal enum AllowLongerRecitations {
@@ -251,25 +296,13 @@ internal enum L10n {
251296
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.ALLOW_LONGER_RECITATIONS.TITLE")
252297
}
253298
internal enum AllowSplittingRecitations {
254-
/// Include long surah by splitting them
299+
/// Split & include lon surah
255300
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.ALLOW_SPLITTING_RECITATIONS.TITLE")
256301
}
257-
internal enum ChangingText {
258-
/// Quran sura speed
259-
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.CHANGING_TEXT.TITLE")
260-
}
261302
internal enum ChangingTextName {
262-
/// Quran sura name
303+
/// Show Quran sura name
263304
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.CHANGING_TEXT_NAME.TITLE")
264305
}
265-
internal enum FixedTexts {
266-
/// Other texts speed
267-
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.FIXED_TEXTS.TITLE")
268-
}
269-
internal enum MovementSoundInstrument {
270-
/// Movement sound
271-
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.MOVEMENT_SOUND_INSTRUMENT.TITLE")
272-
}
273306
internal enum RakatCount {
274307
/// Rakat count
275308
internal static let title = L10n.tr("Localizable", "SETTINGS.PRAYER_SECTION.RAKAT_COUNT.TITLE")
@@ -280,6 +313,11 @@ internal enum L10n {
280313
internal static let title = L10n.tr("Localizable", "SETTINGS.START_BUTTON.TITLE")
281314
}
282315
}
316+
317+
internal enum SpeechSynthesizer {
318+
/// Chapter
319+
internal static let bookEmojiReplacement = L10n.tr("Localizable", "SPEECH_SYNTHESIZER.BOOK_EMOJI_REPLACEMENT")
320+
}
283321
}
284322
// swiftlint:enable explicit_type_interface function_parameter_count identifier_name line_length
285323
// swiftlint:enable nesting type_body_length type_name vertical_whitespace_opening_braces

App/Resources/Colors.xcassets/AccentColor.colorset/Contents.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
"color-space" : "srgb",
2424
"components" : {
2525
"alpha" : "1.000",
26-
"blue" : "0.600",
27-
"green" : "0.522",
28-
"red" : "0.302"
26+
"blue" : "0xCC",
27+
"green" : "0xC2",
28+
"red" : "0xA6"
2929
}
3030
},
3131
"idiom" : "universal"

0 commit comments

Comments
 (0)