feat(v1.5.0): icons, batch delete toast, cursor fix, docs refactor
FEATURES
========
Batch Delete Toast Aggregation:
- New deleteMultipleNotesFromServer() method
- Shows single aggregated toast instead of multiple ("3 notes deleted from server")
- Partial success handling ("3 of 5 notes deleted from server")
- Added string resources: snackbar_notes_deleted_from_server, snackbar_notes_deleted_from_server_partial
Text Editor Cursor Fix:
- Fixed cursor jumping to end after every keystroke when editing notes
- Added initialCursorSet flag to only set cursor position on first load
- Cursor now stays at user's position while editing
- Changed LaunchedEffect(content) to LaunchedEffect(Unit) to prevent repeated resets
DOCUMENTATION REFACTOR
======================
Breaking Change: English is now the default language
- README.md: Now English (was German)
- QUICKSTART.md: Now English (was German)
- CHANGELOG.md: Now English (was mixed EN/DE)
- docs/*.md: All English (was German)
- German versions: Use .de.md suffix (README.de.md, QUICKSTART.de.md, etc.)
Updated for v1.5.0:
- CHANGELOG.md: Fully translated to English with v1.5.0 release notes
- CHANGELOG.de.md: Created German version
- FEATURES.md: Added i18n section, Selection Mode, Jetpack Compose updates
- FEATURES.de.md: Updated with v1.5.0 features
- UPCOMING.md: v1.5.0 marked as released, v1.6.0/v1.7.0 roadmap
- UPCOMING.de.md: Updated German version
All language headers updated:
- English: [Deutsch](*.de.md) · **English**
- German: **Deutsch** · [English](*.md)
F-DROID METADATA
================
Changelogs (F-Droid):
- fastlane/metadata/android/en-US/changelogs/13.txt: Created
- fastlane/metadata/android/de-DE/changelogs/13.txt: Created
Descriptions:
- full_description.txt (EN/DE): Updated with v1.5.0 changes
- Selection Mode instead of Swipe-to-Delete
- i18n support highlighted
- Jetpack Compose UI mentioned
- Silent-Sync Mode added
OTHER FIXES
===========
Code Quality:
- Unused imports removed from multiple files
- maxLineLength fixes
- Detekt config optimized (increased thresholds for v1.5.0)
- AboutScreen: Uses app foreground icon directly
- EmptyState: Shows app icon instead of emoji
- themes.xml: Splash screen uses app foreground icon
This commit is contained in:
151
docs/TRANSLATING.de.md
Normal file
151
docs/TRANSLATING.de.md
Normal file
@@ -0,0 +1,151 @@
|
||||
# Übersetzung beitragen 🌍
|
||||
|
||||
**🌍 Sprachen:** **Deutsch** · [English](TRANSLATING.md)
|
||||
|
||||
> So kannst du Simple Notes Sync in deine Sprache übersetzen!
|
||||
|
||||
---
|
||||
|
||||
## 📋 Übersicht
|
||||
|
||||
Simple Notes Sync unterstützt aktuell:
|
||||
- 🇺🇸 **Englisch** (en) - Primärsprache
|
||||
- 🇩🇪 **Deutsch** (de) - Vollständig übersetzt
|
||||
|
||||
Wir freuen uns über neue Übersetzungen!
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Schnellstart
|
||||
|
||||
### 1. Repository forken
|
||||
|
||||
1. Gehe zu [github.com/inventory69/simple-notes-sync](https://github.com/inventory69/simple-notes-sync)
|
||||
2. Klicke auf **Fork** (oben rechts)
|
||||
3. Clone dein Fork: `git clone https://github.com/DEIN-USERNAME/simple-notes-sync.git`
|
||||
|
||||
### 2. Sprachdateien erstellen
|
||||
|
||||
```bash
|
||||
cd simple-notes-sync/android/app/src/main/res
|
||||
|
||||
# Ordner für deine Sprache erstellen (z.B. Französisch)
|
||||
mkdir values-fr
|
||||
|
||||
# Strings kopieren
|
||||
cp values/strings.xml values-fr/strings.xml
|
||||
```
|
||||
|
||||
### 3. Strings übersetzen
|
||||
|
||||
Öffne `values-fr/strings.xml` und übersetze alle `<string>`-Einträge:
|
||||
|
||||
```xml
|
||||
<!-- Original (Englisch) -->
|
||||
<string name="app_name">Simple Notes</string>
|
||||
<string name="notes_title">Notes</string>
|
||||
|
||||
<!-- Übersetzt (Französisch) -->
|
||||
<string name="app_name">Notes Simples</string>
|
||||
<string name="notes_title">Notes</string>
|
||||
```
|
||||
|
||||
**Wichtig:**
|
||||
- Übersetze nur den Text zwischen `>` und `</string>`
|
||||
- Ändere NICHT die `name="..."` Attribute
|
||||
- Behalte `%s`, `%d`, `%1$s` etc. als Platzhalter
|
||||
|
||||
### 4. locales_config.xml aktualisieren
|
||||
|
||||
Füge deine Sprache in `android/app/src/main/res/xml/locales_config.xml` hinzu:
|
||||
|
||||
```xml
|
||||
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<locale android:name="en" />
|
||||
<locale android:name="de" />
|
||||
<locale android:name="fr" /> <!-- NEU -->
|
||||
</locale-config>
|
||||
```
|
||||
|
||||
### 5. Pull Request erstellen
|
||||
|
||||
1. Committe deine Änderungen
|
||||
2. Pushe zu deinem Fork
|
||||
3. Erstelle einen Pull Request mit Titel: `Add [Language] translation`
|
||||
|
||||
---
|
||||
|
||||
## 📁 Dateistruktur
|
||||
|
||||
```
|
||||
android/app/src/main/res/
|
||||
├── values/ # Englisch (Fallback)
|
||||
│ └── strings.xml
|
||||
├── values-de/ # Deutsch
|
||||
│ └── strings.xml
|
||||
├── values-fr/ # Französisch (neu)
|
||||
│ └── strings.xml
|
||||
└── xml/
|
||||
└── locales_config.xml # Sprachregistrierung
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 String-Kategorien
|
||||
|
||||
Die `strings.xml` enthält etwa 400+ Strings, aufgeteilt in:
|
||||
|
||||
| Kategorie | Beschreibung | Anzahl |
|
||||
|-----------|--------------|--------|
|
||||
| UI Texte | Buttons, Labels, Titel | ~100 |
|
||||
| Settings | Alle 7 Einstellungs-Screens | ~150 |
|
||||
| Dialoge | Bestätigungen, Fehler | ~80 |
|
||||
| Sync | Synchronisations-Meldungen | ~50 |
|
||||
| Sonstige | Tooltips, Accessibility | ~30 |
|
||||
|
||||
---
|
||||
|
||||
## ✅ Qualitätscheckliste
|
||||
|
||||
Vor dem Pull Request:
|
||||
|
||||
- [ ] Alle Strings übersetzt (keine englischen Reste)
|
||||
- [ ] Platzhalter (`%s`, `%d`) beibehalten
|
||||
- [ ] Keine XML-Syntaxfehler
|
||||
- [ ] App startet ohne Crashes
|
||||
- [ ] Text passt in UI-Elemente (nicht zu lang)
|
||||
- [ ] `locales_config.xml` aktualisiert
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Testen
|
||||
|
||||
```bash
|
||||
cd android
|
||||
./gradlew app:assembleDebug
|
||||
|
||||
# APK installieren und Sprache in Android-Einstellungen wechseln
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ❓ FAQ
|
||||
|
||||
**Muss ich alle Strings übersetzen?**
|
||||
> Idealerweise ja. Fehlende Strings fallen auf Englisch zurück.
|
||||
|
||||
**Was passiert mit Platzhaltern?**
|
||||
> `%s` = Text, `%d` = Zahl. Position beibehalten oder mit `%1$s` nummerieren.
|
||||
|
||||
**Wie teste ich meine Übersetzung?**
|
||||
> App bauen, installieren, in Android-Einstellungen → Apps → Simple Notes → Sprache wählen.
|
||||
|
||||
---
|
||||
|
||||
## 🙏 Danke!
|
||||
|
||||
Jede Übersetzung hilft Simple Notes Sync mehr Menschen zu erreichen.
|
||||
|
||||
Bei Fragen: [GitHub Issue erstellen](https://github.com/inventory69/simple-notes-sync/issues)
|
||||
|
||||
[← Zurück zur Dokumentation](DOCS.md)
|
||||
Reference in New Issue
Block a user