fix: User-facing Strings Cards → Cardecky komplett, Build 3
User-facing Rebrand:
- LoginView Heading (war schon in v0.8.5)
- NotificationManager.title (war schon in v0.8.5)
- ShareEditorView Footer-Text: "...in der Cards-App" → "...in der Cardecky-App"
- StudyAppIntents Description: "Öffnet Cards" → "Öffnet Cardecky"
- Localizable.xcstrings: "Cards" key → "Cardecky"
- NSPhotoLibraryUsageDescription: "Cards greift..." → "Cardecky greift..."
- Log.app.info("Cards starting") → "Cardecky starting"
- MARKETING_COPY.md: alle "Cards"-Treffer in DE + EN auf Cardecky
- RELEASE_CHECKLIST: App-Name "Cards" → "Cardecky"
Build-Nummer 2 → 3 (Apple lehnt doppelte Build-Nummern ab, Code-
Hash hat sich geändert).
Code-Identifier bleiben: CardsAPI, CardsTheme, CardsNativeApp,
CardsWidgetExtension, CardsShareExtension — interne Symbol-Namen,
nicht user-facing.
Archive verifiziert: CFBundleDisplayName=Cardecky, Build=3.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2eb7f61f9c
commit
b5edf5cf2e
7 changed files with 19 additions and 19 deletions
|
|
@ -39,7 +39,7 @@ struct ShareEditorView: View {
|
|||
}
|
||||
}
|
||||
Section {
|
||||
Text("Wähle das Ziel-Deck in der Cards-App.")
|
||||
Text("Wähle das Ziel-Deck in der Cardecky-App.")
|
||||
.font(.caption)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ struct CardsNativeApp: App {
|
|||
auth.bootstrap()
|
||||
_auth = State(initialValue: auth)
|
||||
mediaCache = MediaCache(api: CardsAPI(auth: auth))
|
||||
Log.app.info("Cards starting — auth status: \(String(describing: auth.status), privacy: .public)")
|
||||
Log.app.info("Cardecky starting — auth status: \(String(describing: auth.status), privacy: .public)")
|
||||
}
|
||||
|
||||
var body: some Scene {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import SwiftUI
|
|||
struct StudyCardsIntent: AppIntent {
|
||||
static let title: LocalizedStringResource = "Karten lernen"
|
||||
static let description = IntentDescription(
|
||||
"Öffnet Cards und zeigt deine Decks mit fälligen Karten.",
|
||||
"Öffnet Cardecky und zeigt deine Decks mit fälligen Karten.",
|
||||
categoryName: "Lernen"
|
||||
)
|
||||
static let openAppWhenRun: Bool = true
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
"Card-Type »%@« kommt in einer späteren Phase" : {
|
||||
|
||||
},
|
||||
"Cards" : {
|
||||
"Cardecky" : {
|
||||
|
||||
},
|
||||
"Changelog" : {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ gegenlesen, Tonalität an Vereins-Stil schärfen (siehe `mana/docs/BRAND.md`,
|
|||
|
||||
## Name + Subtitle
|
||||
|
||||
**App-Name:** `Cards`
|
||||
**App-Name:** `Cardecky`
|
||||
**Subtitle (max 30 Zeichen):** `Karteikarten — mana e.V.`
|
||||
|
||||
## Keywords (max 100 Zeichen, comma-separated)
|
||||
|
|
@ -21,7 +21,7 @@ Karteikarten,Spaced Repetition,Lernen,Vokabeln,Anki,Flashcards,FSRS,mana,Verein,
|
|||
## Description — DE (max 4000 Zeichen)
|
||||
|
||||
```
|
||||
Cards ist die Karteikarten-App des Vereins mana e.V. — Spaced
|
||||
Cardecky ist die Karteikarten-App des Vereins mana e.V. — Spaced
|
||||
Repetition wie es sein soll: ohne Werbung, ohne Tracking, ohne
|
||||
Abo-Zwang.
|
||||
|
||||
|
|
@ -33,13 +33,13 @@ KARTEN, WIE DU SIE BRAUCHST
|
|||
- Audio-Karten für Sprachen und Aussprache
|
||||
|
||||
MODERNER LERN-ALGORITHMUS
|
||||
Cards nutzt FSRS (Free Spaced Repetition Scheduler), den genauesten
|
||||
Cardecky nutzt FSRS (Free Spaced Repetition Scheduler), den genauesten
|
||||
offenen Algorithmus für Karteikarten. Karten kommen wieder, wenn du
|
||||
sie wirklich brauchst — nicht nach willkürlichen Intervallen.
|
||||
|
||||
OFFLINE LERNEN
|
||||
Karten cachen lokal auf deinem Gerät. Im Flugzeug, in der U-Bahn,
|
||||
ohne WLAN — Cards funktioniert. Deine Bewertungen werden gequeued
|
||||
ohne WLAN — Cardecky funktioniert. Deine Bewertungen werden gequeued
|
||||
und beim nächsten Online-Moment automatisch hochgeladen.
|
||||
|
||||
WIDGETS UND NOTIFICATIONS
|
||||
|
|
@ -53,7 +53,7 @@ Sprachen, Wissenschaft. Abonnieren = Karten landen direkt in deiner
|
|||
Bibliothek, du kannst sie nach Belieben anpassen.
|
||||
|
||||
VEREIN, NICHT FIRMA
|
||||
Cards wird vom Verein mana e.V. (Schweiz, in Gründung) betrieben.
|
||||
Cardecky wird vom Verein mana e.V. (Schweiz, in Gründung) betrieben.
|
||||
Kein Tracking, kein Werbe-Anbieter, kein Crash-Reporter. Wenn du dem
|
||||
Verein etwas zurückgeben willst: mana-ev.ch/spende.
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ selbst.
|
|||
## Description — EN (max 4000 Zeichen)
|
||||
|
||||
```
|
||||
Cards is the flashcard app from mana e.V. — spaced repetition the
|
||||
Cardecky is the flashcard app from mana e.V. — spaced repetition the
|
||||
way it should be: no ads, no tracking, no subscription pressure.
|
||||
|
||||
THE CARDS YOU NEED
|
||||
|
|
@ -80,12 +80,12 @@ THE CARDS YOU NEED
|
|||
- Audio cards for languages and pronunciation
|
||||
|
||||
MODERN SPACED-REPETITION
|
||||
Cards uses FSRS (Free Spaced Repetition Scheduler), the most accurate
|
||||
open algorithm available. Cards come back when you actually need them.
|
||||
Cardecky uses FSRS (Free Spaced Repetition Scheduler), the most accurate
|
||||
open algorithm available. Your cards come back when you actually need them.
|
||||
|
||||
OFFLINE-FIRST
|
||||
Decks cache locally on your device. On a plane, in the subway, off
|
||||
the grid — Cards keeps working. Your reviews queue up and sync on
|
||||
the grid — Cardecky keeps working. Your reviews queue up and sync on
|
||||
the next online moment.
|
||||
|
||||
WIDGETS AND REMINDERS
|
||||
|
|
@ -97,7 +97,7 @@ Browse public decks from the Cardecky community: geography, languages,
|
|||
science. Subscribe = decks land in your library, ready to be edited.
|
||||
|
||||
ASSOCIATION, NOT CORPORATION
|
||||
Cards is operated by mana e.V. (Switzerland, formation in progress).
|
||||
Cardecky is operated by mana e.V. (Switzerland, formation in progress).
|
||||
No tracking, no ad networks, no crash reporters. Want to give back?
|
||||
mana-ev.ch/donate.
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ AASA) und über Xcode (für Build + Sign).
|
|||
- [ ] **App-Eintrag erstellen** unter https://appstoreconnect.apple.com
|
||||
mit Bundle-ID `ev.mana.cardecky`.
|
||||
- [ ] **App-Name** + **Subtitle** (max 30 Zeichen):
|
||||
- Name: "Cards"
|
||||
- Name: "Cardecky"
|
||||
- Subtitle: "Karteikarten — Verein mana"
|
||||
- [ ] **Description** (de + en, max 4000 Zeichen). Vorschlag in
|
||||
[`docs/MARKETING_COPY.md`](MARKETING_COPY.md) — vor Submission
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ targets:
|
|||
path: Sources/Resources/Info.plist
|
||||
properties:
|
||||
CFBundleShortVersionString: "0.1.0"
|
||||
CFBundleVersion: "2"
|
||||
CFBundleVersion: "3"
|
||||
CFBundleDevelopmentRegion: de
|
||||
CFBundleDisplayName: Cardecky
|
||||
LSApplicationCategoryType: "public.app-category.education"
|
||||
|
|
@ -75,7 +75,7 @@ targets:
|
|||
- cards
|
||||
NSUserActivityTypes:
|
||||
- NSUserActivityTypeBrowsingWeb
|
||||
NSPhotoLibraryUsageDescription: "Cards greift auf deine Fotos zu, damit du Bilder zu Image-Occlusion-Karten hinzufügen kannst."
|
||||
NSPhotoLibraryUsageDescription: "Cardecky greift auf deine Fotos zu, damit du Bilder zu Image-Occlusion-Karten hinzufügen kannst."
|
||||
ITSAppUsesNonExemptEncryption: false
|
||||
entitlements:
|
||||
path: Sources/Resources/CardsNative.entitlements
|
||||
|
|
@ -111,7 +111,7 @@ targets:
|
|||
properties:
|
||||
CFBundleDisplayName: Als Karte speichern
|
||||
CFBundleShortVersionString: "0.1.0"
|
||||
CFBundleVersion: "2"
|
||||
CFBundleVersion: "3"
|
||||
NSExtension:
|
||||
NSExtensionPointIdentifier: com.apple.share-services
|
||||
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).ShareViewController
|
||||
|
|
@ -144,7 +144,7 @@ targets:
|
|||
properties:
|
||||
CFBundleDisplayName: Cardecky Widget
|
||||
CFBundleShortVersionString: "0.1.0"
|
||||
CFBundleVersion: "2"
|
||||
CFBundleVersion: "3"
|
||||
NSExtension:
|
||||
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
||||
entitlements:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue