inventory69 3af99f31b8 feat(v1.5.0): Complete i18n implementation + Language Selector feature
- Added comprehensive English (strings.xml) and German (strings-de.xml) localization with 400+ strings
- Created new LanguageSettingsScreen with System Default, English, and German options
- Fixed hardcoded German notification toasts in MainActivity and ComposeMainActivity
- Integrated Language selector in Settings as top-level menu item
- Changed ComposeSettingsActivity from ComponentActivity to AppCompatActivity for AppCompatDelegate compatibility
- Added locales_config.xml for Android 13+ Per-App Language support
- Updated Extensions.kt with i18n-aware timestamp formatting (toReadableTime with context)
- Translated all UI strings including settings, toasts, notifications, and error messages
- Added dynamic language display in SettingsMainScreen showing current language

Fixes:
- Notification permission toast now respects system language setting
- Activity correctly restarts when language is changed
- All string formatting with parameters properly localized

Migration:
- MainViewModel: All toast messages now use getString()
- SettingsViewModel: All toast and dialog messages localized
- NotificationHelper: Notification titles and messages translated
- UrlValidator: Error messages now accept Context parameter for translation
- NoteCard, DeleteConfirmationDialog, SyncStatusBanner: All strings externalized

Testing completed on device with both EN and DE locale switching.
Closes #5
2026-01-16 10:39:21 +01:00

Simple Notes Sync 📝

Minimalist offline notes with auto-sync to your own server

Android Material Design 3 License

Get it on IzzyOnDroid

📱 APK Download · 📖 Documentation · 🚀 Quick Start

🌍 Languages: Deutsch · English


📱 Screenshots

Notes list Edit note Settings


Highlights

  • NEW: Checklists - Tap-to-check, drag & drop, swipe-to-delete
  • 📝 Offline-first - Works without internet
  • 🔄 Auto-sync - On WiFi connection (15/30/60 min)
  • 🔒 Self-hosted - Your data stays with you (WebDAV)
  • 💾 Local backup - Export/Import as JSON file
  • 🖥️ Desktop integration - Markdown export for Obsidian, VS Code, Typora
  • 🔋 Battery-friendly - ~0.2-0.8% per day
  • 🎨 Material Design 3 - Dark mode & dynamic colors

➡️ Complete feature list: FEATURES.en.md


🚀 Quick Start

1. Server Setup (5 minutes)

git clone https://github.com/inventory69/simple-notes-sync.git
cd simple-notes-sync/server
cp .env.example .env
# Set password in .env
docker compose up -d

➡️ Details: Server Setup Guide

2. App Installation (2 minutes)

  1. Download APK
  2. Install & open
  3. ⚙️ Settings → Configure server:
    • URL: http://YOUR-SERVER-IP:8080/ (base URL only!)
    • User: noteuser
    • Password: (from .env)
    • WiFi: (your network name)
  4. Test connection → Enable auto-sync
  5. Done! 🎉

➡️ Detailed guide: QUICKSTART.en.md


📚 Documentation

Document Content
QUICKSTART.en.md Step-by-step installation
FEATURES.en.md Complete feature list
BACKUP.en.md Backup & restore guide
DESKTOP.en.md Desktop integration (Markdown)
DOCS.en.md Technical details & troubleshooting
CHANGELOG.md Version history
UPCOMING.en.md Upcoming features 🚀

🛠️ Development

cd android
./gradlew assembleStandardRelease

➡️ Build guide: DOCS.en.md


🤝 Contributing

Contributions welcome! See CONTRIBUTING.md


📄 License

MIT License - see LICENSE


v1.4.1 · Built with ❤️ using Kotlin + Material Design 3

Description
📝 Minimalist offline note-taking app with automatic Wi-Fi synchronisation via WebDAV without many permissions 🛡️
Readme MIT 5.7 MiB
Languages
Kotlin 98.1%
Shell 1.9%