release
Laurent 3 years ago
parent 89fdb849e4
commit dcf8eb7684
  1. 15
      LaunchIntents/fr.lproj/Localizable.strings
  2. 0
      LaunchWidget/Base.lproj/LaunchWidget.intentdefinition
  3. 0
      LaunchWidget/fr.lproj/LaunchWidget.strings
  4. 18
      LaunchWidget/fr.lproj/Localizable.strings
  5. 59
      LeCountdown.xcodeproj/project.pbxproj
  6. 2
      LeCountdown/AppDelegate.swift
  7. 4
      LeCountdown/Base.lproj/SiriIntents.intentdefinition
  8. 2
      LeCountdown/Conductor.swift
  9. 4
      LeCountdown/Views/Countdown/NewCountdownView.swift
  10. 1
      LeCountdown/Views/Stopwatch/NewStopwatchView.swift
  11. 11
      LeCountdown/fr.lproj/Localizable.strings
  12. 7
      LeCountdown/fr.lproj/SiriIntents.strings

@ -1,15 +0,0 @@
/* No comment provided by engineer. */
"Custom" = "Personnalisé";
/* No comment provided by engineer. */
"It's time!" = "C'est l'heure !";
/* No comment provided by engineer. */
"Nature" = "Nature";
/* No comment provided by engineer. */
"Time's up for (name)!" = "C'est l'heure pour (name) !";
/* No comment provided by engineer. */
"Your (duration.minuteSecond) countdown is over!" = "Votre minuteur de (duration.minuteSecond) est terminé !";

@ -1,18 +0,0 @@
/* No comment provided by engineer. */
"Configure me!" = "Configurez moi !";
/* No comment provided by engineer. */
"Configure me!\n" = "Configurez moi !";
/* No comment provided by engineer. */
"Launch Widget" = "Widget de lancement";
/* No comment provided by engineer. */
"Min" = "Min";
/* No comment provided by engineer. */
"Select and launch your timers" = "Sélectionnez et lancer vos minuteurs";
/* No comment provided by engineer. */
"Stop" = "Arrêter";

@ -73,14 +73,12 @@
C473C30729A91BCC0056B38A /* fr.xcloc in Resources */ = {isa = PBXBuildFile; fileRef = C473C30629A91BCB0056B38A /* fr.xcloc */; };
C473C30829A91BCC0056B38A /* fr.xcloc in Resources */ = {isa = PBXBuildFile; fileRef = C473C30629A91BCB0056B38A /* fr.xcloc */; };
C473C30929A91BCC0056B38A /* fr.xcloc in Resources */ = {isa = PBXBuildFile; fileRef = C473C30629A91BCB0056B38A /* fr.xcloc */; };
C473C30C29A9212E0056B38A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473C30A29A9212E0056B38A /* Localizable.strings */; };
C473C30F29A9212E0056B38A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473C30D29A9212E0056B38A /* Localizable.strings */; };
C473C31229A9212E0056B38A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473C31029A9212E0056B38A /* Localizable.strings */; };
C473C31329A925D50056B38A /* SiriIntents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = C473C31629A925D50056B38A /* SiriIntents.intentdefinition */; };
C473C31429A925D50056B38A /* SiriIntents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = C473C31629A925D50056B38A /* SiriIntents.intentdefinition */; };
C473C31829A926F50056B38A /* LaunchWidget.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = C473C31C29A926F50056B38A /* LaunchWidget.intentdefinition */; };
C473C31929A926F50056B38A /* LaunchWidget.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = C473C31C29A926F50056B38A /* LaunchWidget.intentdefinition */; };
C473C31A29A926F50056B38A /* LaunchWidget.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = C473C31C29A926F50056B38A /* LaunchWidget.intentdefinition */; };
C473C32C29AA330E0056B38A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = C473C32A29AA330E0056B38A /* Localizable.strings */; };
C4742B5729840F6400D5D950 /* CoolPic.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4742B5629840F6400D5D950 /* CoolPic.swift */; };
C4742B59298411E800D5D950 /* CountdownFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4742B58298411E800D5D950 /* CountdownFormView.swift */; };
C4742B5B298414B000D5D950 /* ImageSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4742B5A298414B000D5D950 /* ImageSelectionView.swift */; };
@ -300,11 +298,11 @@
C473C2F829A8DC0A0056B38A /* LaunchWidgetAttributes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchWidgetAttributes.swift; sourceTree = "<group>"; };
C473C30229A91BB90056B38A /* en.xcloc */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = en.xcloc; path = Localizations/en.xcloc; sourceTree = "<group>"; };
C473C30629A91BCB0056B38A /* fr.xcloc */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = fr.xcloc; path = Localizations/fr.xcloc; sourceTree = "<group>"; };
C473C30B29A9212E0056B38A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
C473C30E29A9212E0056B38A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
C473C31129A9212E0056B38A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
C473C31729A9262A0056B38A /* en */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = en; path = en.lproj/SiriIntents.intentdefinition; sourceTree = "<group>"; };
C473C31D29A926F80056B38A /* en */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = en; path = en.lproj/LaunchWidget.intentdefinition; sourceTree = "<group>"; };
C473C32629AA307D0056B38A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = Base; path = Base.lproj/SiriIntents.intentdefinition; sourceTree = "<group>"; };
C473C32729AA307D0056B38A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = Base; path = Base.lproj/LaunchWidget.intentdefinition; sourceTree = "<group>"; };
C473C32829AA30890056B38A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SiriIntents.strings; sourceTree = "<group>"; };
C473C32929AA30890056B38A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchWidget.strings; sourceTree = "<group>"; };
C473C32B29AA330E0056B38A /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
C4742B5629840F6400D5D950 /* CoolPic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoolPic.swift; sourceTree = "<group>"; };
C4742B58298411E800D5D950 /* CountdownFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountdownFormView.swift; sourceTree = "<group>"; };
C4742B5A298414B000D5D950 /* ImageSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageSelectionView.swift; sourceTree = "<group>"; };
@ -474,8 +472,8 @@
C473C30229A91BB90056B38A /* en.xcloc */,
C473C30629A91BCB0056B38A /* fr.xcloc */,
C473C31629A925D50056B38A /* SiriIntents.intentdefinition */,
C473C32A29AA330E0056B38A /* Localizable.strings */,
C4060DCD297AE73D003FAB80 /* Info.plist */,
C473C31029A9212E0056B38A /* Localizable.strings */,
C4060DC5297AE73D003FAB80 /* Preview Content */,
);
path = LeCountdown;
@ -528,7 +526,6 @@
C473C31C29A926F50056B38A /* LaunchWidget.intentdefinition */,
C438C7DC2981216300BF3EF9 /* Assets.xcassets */,
C438C7DE2981216300BF3EF9 /* Info.plist */,
C473C30D29A9212E0056B38A /* Localizable.strings */,
);
path = LaunchWidget;
sourceTree = "<group>";
@ -539,7 +536,6 @@
C438C7F429812BB200BF3EF9 /* IntentHandler.swift */,
C438C80329813B2500BF3EF9 /* LaunchIntents.entitlements */,
C438C7F629812BB200BF3EF9 /* Info.plist */,
C473C30A29A9212E0056B38A /* Localizable.strings */,
);
path = LaunchIntents;
sourceTree = "<group>";
@ -870,6 +866,7 @@
knownRegions = (
en,
fr,
Base,
);
mainGroup = C4060DB3297AE73B003FAB80;
productRefGroup = C4060DBD297AE73B003FAB80 /* Products */;
@ -893,7 +890,7 @@
C4060DC7297AE73D003FAB80 /* Preview Assets.xcassets in Resources */,
C473C30729A91BCC0056B38A /* fr.xcloc in Resources */,
C4BA2AEA2995AD1C00CB4FBA /* SEM_Synths_Loop4_Nothing_Like_You.wav in Resources */,
C473C31229A9212E0056B38A /* Localizable.strings in Resources */,
C473C32C29AA330E0056B38A /* Localizable.strings in Resources */,
C4BA2AE42995AC0D00CB4FBA /* Arpeggio_Loop_River.wav in Resources */,
C4F8B15929891528005C86A5 /* forest_stream.mp3 in Resources */,
C4BA2AE22995ABE700CB4FBA /* SquareArp_Loop_River.wav in Resources */,
@ -925,7 +922,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C473C30F29A9212E0056B38A /* Localizable.strings in Resources */,
C445FA882984487F0054D761 /* Assets.xcassets in Resources */,
C473C30429A91BB90056B38A /* en.xcloc in Resources */,
C438C7DD2981216300BF3EF9 /* Assets.xcassets in Resources */,
@ -938,7 +934,6 @@
buildActionMask = 2147483647;
files = (
C473C30529A91BB90056B38A /* en.xcloc in Resources */,
C473C30C29A9212E0056B38A /* Localizable.strings in Resources */,
C473C30929A91BCC0056B38A /* fr.xcloc in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1176,46 +1171,32 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
C473C30A29A9212E0056B38A /* Localizable.strings */ = {
C473C31629A925D50056B38A /* SiriIntents.intentdefinition */ = {
isa = PBXVariantGroup;
children = (
C473C30B29A9212E0056B38A /* fr */,
C473C32629AA307D0056B38A /* Base */,
C473C32829AA30890056B38A /* fr */,
);
name = Localizable.strings;
name = SiriIntents.intentdefinition;
sourceTree = "<group>";
};
C473C30D29A9212E0056B38A /* Localizable.strings */ = {
C473C31C29A926F50056B38A /* LaunchWidget.intentdefinition */ = {
isa = PBXVariantGroup;
children = (
C473C30E29A9212E0056B38A /* fr */,
C473C32729AA307D0056B38A /* Base */,
C473C32929AA30890056B38A /* fr */,
);
name = Localizable.strings;
name = LaunchWidget.intentdefinition;
sourceTree = "<group>";
};
C473C31029A9212E0056B38A /* Localizable.strings */ = {
C473C32A29AA330E0056B38A /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
C473C31129A9212E0056B38A /* fr */,
C473C32B29AA330E0056B38A /* fr */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
C473C31629A925D50056B38A /* SiriIntents.intentdefinition */ = {
isa = PBXVariantGroup;
children = (
C473C31729A9262A0056B38A /* en */,
);
name = SiriIntents.intentdefinition;
sourceTree = "<group>";
};
C473C31C29A926F50056B38A /* LaunchWidget.intentdefinition */ = {
isa = PBXVariantGroup;
children = (
C473C31D29A926F80056B38A /* en */,
);
name = LaunchWidget.intentdefinition;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@ -1223,6 +1204,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
@ -1283,6 +1265,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";

@ -43,7 +43,7 @@ extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
print("willPresent notification")
// completionHandler([.banner])
// completionHandler([.sound])
let timerId = self._timerId(notificationId: notification.request.identifier)
Conductor.maestro.notifyUser(countdownId: timerId)

@ -34,7 +34,7 @@
<key>INIntentParameterCombinationIsPrimary</key>
<true/>
<key>INIntentParameterCombinationSubtitle</key>
<string>Starts immediately </string>
<string>Starts immediately</string>
<key>INIntentParameterCombinationSubtitleID</key>
<string>r4Ikzx</string>
<key>INIntentParameterCombinationSupportsBackgroundExecution</key>
@ -95,7 +95,7 @@
<array>
<dict>
<key>INIntentResponseCodeFormatString</key>
<string>Your ${timer} has been launched</string>
<string>${timer} has been launched</string>
<key>INIntentResponseCodeFormatStringID</key>
<string>E3Sz5n</string>
<key>INIntentResponseCodeName</key>

@ -10,6 +10,7 @@ import ActivityKit
import BackgroundTasks
import SwiftUI
import Intents
import AudioToolbox
enum BGTaskIdentifier : String {
case refresh = "com.staxriver.lecountdown.refresh"
@ -207,6 +208,7 @@ class Conductor: ObservableObject {
if let coolSound {
self.playSound(coolSound)
AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
} else {
print("No sound to play!")
}

@ -304,9 +304,9 @@ struct CountdownEditView : View {
dismiss()
}
if self.preset != nil {
// if self.preset != nil {
self.tabSelection?.wrappedValue = 1
}
// }
}

@ -287,7 +287,6 @@ struct StopwatchEditView: View {
}
self.tabSelection?.wrappedValue = 1
}
fileprivate func _delete() {

@ -1,5 +1,5 @@
/* No comment provided by engineer. */
".create countdown" = ".Créer minuteur";
".create countdown" = ".Créer un minuteur";
/* No comment provided by engineer. */
".create stopwatch" = ".Créer un chrono";
@ -238,4 +238,11 @@
/* No comment provided by engineer. */
"Your (duration.minuteSecond) countdown is over!" = "Votre minuteur de (duration.minuteSecond) est terminé !";
"Launch ${timer}" = "Démarrer ${timer}";
"Launch" = "Démarrer";
"Launch Timer" = "Démarrer un compteur";
"Launch timers and stopwatches" = "Démarre des minuteurs et chronos";
"Timer" = "Compteur";
"Starts immediately" = "Démarre immédiatement";
"Launch ${timer}" = "Démarre ${timer}";
"${timer} has been launched" = "${timer} a démarré";

@ -0,0 +1,7 @@
"Launch Timer" = "Démarrer un compteur";
"Launch timers and stopwatches" = "Démarre des minuteurs et chronos";
"Timer" = "Compteur";
"Starts immediately" = "Démarre immédiatement";
"Launch ${timer}" = "Démarre ${timer}";
"${timer} has been launched" = "${timer} a démarré";
Loading…
Cancel
Save