M3 — calendar filter: the navigation drawer now hosts the calendar list inline (grouped by account, colour swatch + checkbox per calendar). Hidden calendars are persisted app-side and filtered centrally in the repository, so month/week/day re-filter live the moment a checkbox flips. Drawer trimmed to Today, the calendar filter, and Settings, with leading icons and a clear title/section type scale; the stubbed jump-to-date entry (M2) was removed. M4 — settings: full-screen destination with appearance (theme System/Light/ Dark, Material You dynamic colour auto-disabled < API 31, week start Auto/Mon/ Sun), language (per-app locales via AppCompat, persisted to API 29), and an about section (version, licence, source link). Theme is driven by one activity-scoped settings source so changes apply app-wide at once. Week start now drives the month grid and week view; Auto follows the locale. Also: - default view switched from month to week - Settings screen handles system back (was closing the app) - fix pre-existing NonObservableLocale/LocalContextConfigurationRead lint errors in EventDetailScreen so CI lint is green again - versionName/versionCode bumped to 0.5.0 / 5 Tests: repository hidden-filter (incl. live re-emit), SettingsPrefs round-trip + week-start resolution, filter grouping. lint + unit tests + assembleDebug green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
108 lines
5.7 KiB
XML
108 lines
5.7 KiB
XML
<resources>
|
|
<string name="app_name">Calendula</string>
|
|
<string name="app_tagline">A modern calendar.</string>
|
|
|
|
<!-- Loading / Failure / Success generic strings (used across screens) -->
|
|
<string name="state_loading">Loading…</string>
|
|
<string name="state_retry">Retry</string>
|
|
<string name="state_failure_unknown">Something went wrong.</string>
|
|
<string name="state_failure_permission">Calendar access is required.</string>
|
|
<string name="state_failure_permission_action">Grant access</string>
|
|
<string name="state_failure_no_calendars">No calendars configured.</string>
|
|
<string name="state_failure_no_calendars_action">Open system calendar settings</string>
|
|
<string name="state_failure_provider">Could not read the calendar.</string>
|
|
|
|
<!-- Permission flow (F1) -->
|
|
<string name="permission_rationale_title">Calendar access</string>
|
|
<string name="permission_rationale_body">Calendula reads only your device calendar — no data leaves your device.</string>
|
|
<string name="permission_request_button">Continue</string>
|
|
<string name="permission_denied_title">Calendar access denied</string>
|
|
<string name="permission_denied_body">Calendula cannot show events without calendar access. You can grant it again in the system settings.</string>
|
|
<string name="permission_open_settings_button">Open system settings</string>
|
|
<string name="permission_retry_button">Try again</string>
|
|
|
|
<!-- Month view (S1) -->
|
|
<string name="month_prev">Previous month</string>
|
|
<string name="month_next">Next month</string>
|
|
<string name="month_today_action">Today</string>
|
|
<string name="month_more_actions">More actions</string>
|
|
<string name="month_open_menu">Open menu</string>
|
|
<string name="month_action_settings">Settings</string>
|
|
<string name="month_a11y_today_prefix">Today</string>
|
|
|
|
<!-- Week view (S2) -->
|
|
<string name="week_today_action">This week</string>
|
|
<string name="week_number_label">Wk</string>
|
|
|
|
<!-- Day view (S3) -->
|
|
<string name="day_today_action">Today</string>
|
|
|
|
<!-- Event detail screen (S4) -->
|
|
<string name="event_detail_back">Back</string>
|
|
<string name="event_detail_edit">Edit</string>
|
|
<string name="event_detail_delete">Delete</string>
|
|
<string name="event_detail_all_day">All day</string>
|
|
<string name="event_detail_calendar">Calendar</string>
|
|
<string name="event_detail_calendar_unknown">Unknown calendar</string>
|
|
<string name="event_detail_location">Location</string>
|
|
<string name="event_detail_description">Description</string>
|
|
<string name="event_detail_attendees">Attendees</string>
|
|
<string name="event_detail_recurrence">Recurrence</string>
|
|
<string name="event_detail_recurring">Repeating event</string>
|
|
<string name="recurrence_daily">Every day</string>
|
|
<string name="recurrence_weekly">Every week</string>
|
|
<string name="recurrence_monthly">Every month</string>
|
|
<string name="recurrence_yearly">Every year</string>
|
|
<string name="recurrence_every_n_days">Every %1$d days</string>
|
|
<string name="recurrence_every_n_weeks">Every %1$d weeks</string>
|
|
<string name="recurrence_every_n_months">Every %1$d months</string>
|
|
<string name="recurrence_every_n_years">Every %1$d years</string>
|
|
<string name="recurrence_on_days">%1$s on %2$s</string>
|
|
<string name="recurrence_with_until">%1$s until %2$s</string>
|
|
<string name="recurrence_with_count">%1$s, %2$d times</string>
|
|
<string name="event_detail_not_found">This event no longer exists.</string>
|
|
<string name="event_attendee_accepted">Accepted</string>
|
|
<string name="event_attendee_declined">Declined</string>
|
|
<string name="event_attendee_tentative">Tentative</string>
|
|
<string name="event_attendee_needs_action">No response</string>
|
|
<string name="event_attendee_unknown">—</string>
|
|
|
|
<!-- Shared event strings -->
|
|
<string name="event_untitled">(No title)</string>
|
|
|
|
<!-- View switcher (M1) -->
|
|
<string name="view_month">Month</string>
|
|
<string name="view_week">Week</string>
|
|
<string name="view_day">Day</string>
|
|
|
|
<!-- Calendar filter (M3) -->
|
|
<string name="filter_title">Calendars</string>
|
|
|
|
<!-- Settings (M4) -->
|
|
<string name="settings_title">Settings</string>
|
|
<string name="settings_back">Back</string>
|
|
<string name="settings_section_appearance">Appearance</string>
|
|
<string name="settings_theme">Theme</string>
|
|
<string name="settings_theme_system">System</string>
|
|
<string name="settings_theme_light">Light</string>
|
|
<string name="settings_theme_dark">Dark</string>
|
|
<string name="settings_dynamic_color">Dynamic colour</string>
|
|
<string name="settings_dynamic_color_unavailable">Requires Android 12 or newer</string>
|
|
<string name="settings_week_start">Week starts on</string>
|
|
<string name="settings_week_start_auto">Automatic</string>
|
|
<string name="settings_week_start_monday">Monday</string>
|
|
<string name="settings_week_start_sunday">Sunday</string>
|
|
<string name="settings_section_language">Language</string>
|
|
<string name="settings_language">App language</string>
|
|
<string name="settings_language_auto">System default</string>
|
|
<string name="settings_language_german">Deutsch</string>
|
|
<string name="settings_language_english">English</string>
|
|
<string name="settings_section_about">About</string>
|
|
<string name="settings_version">Version</string>
|
|
<string name="settings_license">License</string>
|
|
<string name="settings_license_value">MIT</string>
|
|
<string name="settings_source">Source code</string>
|
|
<string name="settings_source_open">Open</string>
|
|
<string name="about_source_url" translatable="false">https://gitea.jeanlucmakiola.de/makiolaj/calendula</string>
|
|
</resources>
|