diff --git a/CHANGELOG.md b/CHANGELOG.md index 396644010..80db77553 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,20 @@ Changelog ========== +Version 6.21.9 *(2023-05-11)* +---------------------------- + + * Allow customizing individual event colors stored locally + * Fix a glitch with scheduled backups + * Added some translation, stability and UX improvements + +Version 6.21.8 *(2023-05-11)* +---------------------------- + + * Allow customizing individual event colors stored locally + * Fix a glitch with scheduled backups + * Added some translation, stability and UX improvements + Version 6.21.7 *(2023-04-12)* ---------------------------- diff --git a/app/build.gradle b/app/build.gradle index 83fb75922..fa2755e9b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { applicationId "com.simplemobiletools.calendar.pro" minSdkVersion 23 targetSdkVersion 33 - versionCode 233 - versionName "6.21.7" + versionCode 235 + versionName "6.21.9" multiDexEnabled true setProperty("archivesBaseName", "calendar") vectorDrawables.useSupportLibrary = true @@ -70,13 +70,13 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:a98c3fa30f' + implementation 'com.github.SimpleMobileTools:Simple-Commons:79c7cde543' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation "androidx.print:print:1.0.0" - kapt 'androidx.room:room-compiler:2.5.0' - implementation 'androidx.room:room-runtime:2.5.0' - annotationProcessor 'androidx.room:room-compiler:2.5.0' + kapt 'androidx.room:room-compiler:2.5.1' + implementation 'androidx.room:room-runtime:2.5.1' + annotationProcessor 'androidx.room:room-compiler:2.5.1' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5eca4365f..81c0faa74 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -41,6 +41,7 @@ android:appCategory="productivity" android:icon="@mipmap/ic_launcher" android:label="@string/app_launcher_name" + android:localeConfig="@xml/locale_config" android:roundIcon="@mipmap/ic_launcher" android:supportsRtl="true" android:theme="@style/AppTheme"> @@ -133,7 +134,8 @@ android:exported="true" android:label="@string/new_event" android:launchMode="singleTask" - android:parentActivityName=".activities.MainActivity"> + android:parentActivityName=".activities.MainActivity" + android:windowSoftInputMode="adjustResize"> @@ -157,7 +159,8 @@ android:exported="false" android:label="@string/new_task" android:launchMode="singleTask" - android:parentActivityName=".activities.MainActivity" /> + android:parentActivityName=".activities.MainActivity" + android:windowSoftInputMode="adjustResize" /> 0 -> { event_repetition_limit_label.text = getString(R.string.repeat_till) val repeatLimitDateTime = Formatter.getDateTimeFromTS(mRepeatLimit) Formatter.getFullDate(this, repeatLimitDateTime) } + else -> { event_repetition_limit_label.text = getString(R.string.repeat) "${-mRepeatLimit} ${getString(R.string.times)}" @@ -664,12 +672,14 @@ class EventActivity : SimpleActivity() { mRepeatInterval.isXWeeklyRepetition() -> RepeatRuleWeeklyDialog(this, mRepeatRule) { setRepeatRule(it) } + mRepeatInterval.isXMonthlyRepetition() -> { val items = getAvailableMonthlyRepetitionRules() RadioGroupDialog(this, items, mRepeatRule) { setRepeatRule(it as Int) } } + mRepeatInterval.isXYearlyRepetition() -> { val items = getAvailableYearlyRepetitionRules() RadioGroupDialog(this, items, mRepeatRule) { @@ -786,6 +796,7 @@ class EventActivity : SimpleActivity() { mRepeatInterval.isXWeeklyRepetition() -> { event_repetition_rule.text = if (mRepeatRule == EVERY_DAY_BIT) getString(R.string.every_day) else getSelectedDaysString(mRepeatRule) } + mRepeatInterval.isXMonthlyRepetition() -> { val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY) R.string.repeat else R.string.repeat_on @@ -793,6 +804,7 @@ class EventActivity : SimpleActivity() { event_repetition_rule_label.text = getString(repeatString) event_repetition_rule.text = getMonthlyRepetitionRuleText() } + mRepeatInterval.isXYearlyRepetition() -> { val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY) R.string.repeat else R.string.repeat_on @@ -834,25 +846,55 @@ class EventActivity : SimpleActivity() { private fun showEventColorDialog() { hideKeyboard() ensureBackgroundThread { - val eventType = eventsHelper.getEventTypeWithCalDAVCalendarId(calendarId = mEventCalendarId)!! - val eventColors = getEventColors(eventType) - runOnUiThread { - val currentColor = if (mEventColor == 0) { - eventType.color - } else { - mEventColor - } + val isLocalEvent = mEventCalendarId == STORED_LOCALLY_ONLY + if (isLocalEvent) { + showCustomEventColorDialog() + } else { + showCalDAVEventColorDialog() + } + } + } - SelectEventColorDialog(activity = this, colors = eventColors, currentColor = currentColor) { newColor -> - if (newColor != currentColor) { - mEventColor = newColor - updateEventColorInfo(defaultColor = eventType.color) - } + private fun showCustomEventColorDialog() { + val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId)!! + val currentColor = if (mEventColor == 0) { + eventType.color + } else { + mEventColor + } + + runOnUiThread { + ColorPickerDialog(activity = this, color = currentColor, addDefaultColorButton = true) { wasPositivePressed, newColor -> + if (wasPositivePressed) { + gotNewEventColor(newColor, currentColor, eventType.color) } } } } + private fun showCalDAVEventColorDialog() { + val eventType = eventsHelper.getEventTypeWithCalDAVCalendarId(calendarId = mEventCalendarId)!! + val eventColors = getEventColors(eventType) + val currentColor = if (mEventColor == 0) { + eventType.color + } else { + mEventColor + } + + runOnUiThread { + SelectEventColorDialog(activity = this, colors = eventColors, currentColor = currentColor) { newColor -> + gotNewEventColor(newColor, currentColor, eventType.color) + } + } + } + + private fun gotNewEventColor(newColor: Int, currentColor: Int, defaultColor: Int) { + if (newColor != currentColor) { + mEventColor = newColor + updateEventColorInfo(defaultColor = defaultColor) + } + } + private fun checkReminderTexts() { updateReminder1Text() updateReminder2Text() @@ -953,7 +995,7 @@ class EventActivity : SimpleActivity() { if (eventType != null) { runOnUiThread { event_type.text = eventType.title - event_type_color.setFillWithStroke(eventType.color, getProperBackgroundColor()) + updateEventColorInfo(eventType.color) } } } @@ -987,10 +1029,6 @@ class EventActivity : SimpleActivity() { updateAvailabilityImage() } } - - event_caldav_color_holder.setOnClickListener { - showEventColorDialog() - } } else { updateCurrentCalendarInfo(null) } @@ -1018,9 +1056,17 @@ class EventActivity : SimpleActivity() { setPadding(paddingLeft, mediumMargin, paddingRight, mediumMargin) } - event_caldav_color_image.beGone() - event_caldav_color_holder.beGone() - event_caldav_color_divider.beGone() + ensureBackgroundThread { + val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId) + event_color_image.beVisibleIf(eventType != null) + event_color_holder.beVisibleIf(eventType != null) + event_color_divider.beVisibleIf(eventType != null) + if (eventType != null) { + runOnUiThread { + updateEventColorInfo(eventType.color) + } + } + } } else { event_caldav_calendar_email.text = currentCalendar.accountName @@ -1043,9 +1089,9 @@ class EventActivity : SimpleActivity() { setPadding(paddingLeft, 0, paddingRight, 0) } - event_caldav_color_image.beVisibleIf(canCustomizeColors) - event_caldav_color_holder.beVisibleIf(canCustomizeColors) - event_caldav_color_divider.beVisibleIf(canCustomizeColors) + event_color_image.beVisibleIf(canCustomizeColors) + event_color_holder.beVisibleIf(canCustomizeColors) + event_color_divider.beVisibleIf(canCustomizeColors) if (canCustomizeColors) { updateEventColorInfo(calendarColor) } @@ -1060,7 +1106,7 @@ class EventActivity : SimpleActivity() { } else { mEventColor } - event_caldav_color.setFillWithStroke(eventColor, getProperBackgroundColor()) + event_color.setFillWithStroke(eventColor, getProperBackgroundColor()) } private fun getEventColors(eventType: EventType): IntArray { @@ -1271,7 +1317,7 @@ class EventActivity : SimpleActivity() { storeEvent(wasRepeatable) } } else { - toast(R.string.no_post_notifications_permissions) + PermissionRequiredDialog(this, R.string.allow_notifications_reminders) } } } else { @@ -1851,7 +1897,7 @@ class EventActivity : SimpleActivity() { val textColor = getProperTextColor() arrayOf( event_time_image, event_time_zone_image, event_repetition_image, event_reminder_image, event_type_image, event_caldav_calendar_image, - event_reminder_1_type, event_reminder_2_type, event_reminder_3_type, event_attendees_image, event_availability_image, event_caldav_color_image + event_reminder_1_type, event_reminder_2_type, event_reminder_3_type, event_attendees_image, event_availability_image, event_color_image ).forEach { it.applyColorFilter(textColor) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index 9d8ffb22c..0f675a185 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -38,6 +38,7 @@ import com.simplemobiletools.calendar.pro.models.ListItem import com.simplemobiletools.calendar.pro.models.ListSectionDay import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.FilePickerDialog +import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* @@ -156,7 +157,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { addBirthdaysAnniversariesAtStart() if (isPackageInstalled("com.simplemobiletools.calendar")) { - ConfirmationDialog(this, "", R.string.upgraded_to_pro_calendar, R.string.ok, 0, false) {} + ConfirmationDialog(this, "", R.string.upgraded_from_free_calendar, R.string.ok, 0, false) {} } addImportIdsToTasks { @@ -1066,7 +1067,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { } } } else { - toast(R.string.no_post_notifications_permissions) + PermissionRequiredDialog(this, R.string.allow_notifications_reminders) } } } else { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SimpleActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SimpleActivity.kt index 84b5e4cdf..d656cede8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SimpleActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SimpleActivity.kt @@ -10,7 +10,8 @@ import com.simplemobiletools.calendar.pro.extensions.config import com.simplemobiletools.calendar.pro.extensions.refreshCalDAVCalendars import com.simplemobiletools.commons.activities.BaseSimpleActivity import com.simplemobiletools.commons.dialogs.ConfirmationDialog -import com.simplemobiletools.commons.extensions.toast +import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog +import com.simplemobiletools.commons.extensions.openNotificationSettings import com.simplemobiletools.commons.helpers.ensureBackgroundThread open class SimpleActivity : BaseSimpleActivity() { @@ -84,7 +85,7 @@ open class SimpleActivity : BaseSimpleActivity() { } } } else { - toast(R.string.no_post_notifications_permissions) + PermissionRequiredDialog(this, R.string.allow_notifications_reminders) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt index d90a1bf4b..9dc569daf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/TaskActivity.kt @@ -13,18 +13,19 @@ import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.dialogs.* import com.simplemobiletools.calendar.pro.extensions.* import com.simplemobiletools.calendar.pro.helpers.* -import com.simplemobiletools.calendar.pro.helpers.Formatter import com.simplemobiletools.calendar.pro.models.Event import com.simplemobiletools.calendar.pro.models.EventType import com.simplemobiletools.calendar.pro.models.Reminder +import com.simplemobiletools.commons.dialogs.ColorPickerDialog import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog +import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.RadioItem import kotlinx.android.synthetic.main.activity_task.* import org.joda.time.DateTime -import java.util.* +import java.util.Calendar import kotlin.math.pow class TaskActivity : SimpleActivity() { @@ -46,6 +47,7 @@ class TaskActivity : SimpleActivity() { private var mTaskCompleted = false private var mLastSavePromptTS = 0L private var mIsNewTask = true + private var mEventColor = 0 override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true @@ -130,6 +132,7 @@ class TaskActivity : SimpleActivity() { mRepeatInterval != mTask.repeatInterval || mRepeatRule != mTask.repeatRule || mEventTypeId != mTask.eventType || + mEventColor != mTask.color || hasTimeChanged ) { return true @@ -175,6 +178,7 @@ class TaskActivity : SimpleActivity() { putLong(EVENT_TYPE_ID, mEventTypeId) putBoolean(IS_NEW_EVENT, mIsNewTask) putLong(ORIGINAL_START_TS, mOriginalStartTS) + putInt(EVENT_COLOR, mEventColor) } } @@ -201,6 +205,7 @@ class TaskActivity : SimpleActivity() { mEventTypeId = getLong(EVENT_TYPE_ID) mIsNewTask = getBoolean(IS_NEW_EVENT) mOriginalStartTS = getLong(ORIGINAL_START_TS) + mEventColor = getInt(EVENT_COLOR) } updateEventType() @@ -270,6 +275,7 @@ class TaskActivity : SimpleActivity() { task_reminder_2.setOnClickListener { showReminder2Dialog() } task_reminder_3.setOnClickListener { showReminder3Dialog() } + task_color_holder.setOnClickListener { showTaskColorDialog() } refreshMenuItems() setupMarkCompleteButton() @@ -297,6 +303,7 @@ class TaskActivity : SimpleActivity() { mRepeatInterval = mTask.repeatInterval mRepeatLimit = mTask.repeatLimit mRepeatRule = mTask.repeatRule + mEventColor = mTask.color task_title.setText(mTask.title) task_description.setText(mTask.description) @@ -416,6 +423,7 @@ class TaskActivity : SimpleActivity() { repeatInterval = mRepeatInterval repeatLimit = if (repeatInterval == 0) 0 else mRepeatLimit repeatRule = mRepeatRule + color = mEventColor } if (mTask.getReminders().isNotEmpty()) { @@ -425,7 +433,7 @@ class TaskActivity : SimpleActivity() { storeTask(wasRepeatable) } } else { - toast(R.string.no_post_notifications_permissions) + PermissionRequiredDialog(this, R.string.allow_notifications_reminders) } } } else { @@ -762,17 +770,52 @@ class TaskActivity : SimpleActivity() { if (eventType != null) { runOnUiThread { task_type.text = eventType.title - task_type_color.setFillWithStroke(eventType.color, getProperBackgroundColor()) + updateTaskColorInfo(eventType.color) + } + } + task_color_image.beVisibleIf(eventType != null) + task_color_holder.beVisibleIf(eventType != null) + task_color_divider.beVisibleIf(eventType != null) + } + } + + private fun showTaskColorDialog() { + hideKeyboard() + ensureBackgroundThread { + val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId)!! + val currentColor = if (mEventColor == 0) { + eventType.color + } else { + mEventColor + } + + runOnUiThread { + ColorPickerDialog(activity = this, color = currentColor, addDefaultColorButton = true) { wasPositivePressed, newColor -> + if (wasPositivePressed) { + if (newColor != currentColor) { + mEventColor = newColor + updateTaskColorInfo(defaultColor = eventType.color) + } + } } } } } + private fun updateTaskColorInfo(defaultColor: Int) { + val taskColor = if (mEventColor == 0) { + defaultColor + } else { + mEventColor + } + task_color.setFillWithStroke(taskColor, getProperBackgroundColor()) + } + private fun updateColors() { updateTextColors(task_nested_scrollview) val textColor = getProperTextColor() arrayOf( - task_time_image, task_reminder_image, task_type_image, task_repetition_image + task_time_image, task_reminder_image, task_type_image, task_repetition_image, task_color_image ).forEach { it.applyColorFilter(textColor) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/dialogs/SetRemindersDialog.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/dialogs/SetRemindersDialog.kt index 17c9bb256..bdb38ac80 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/dialogs/SetRemindersDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/dialogs/SetRemindersDialog.kt @@ -8,6 +8,7 @@ import com.simplemobiletools.calendar.pro.helpers.ANNIVERSARY_EVENT import com.simplemobiletools.calendar.pro.helpers.BIRTHDAY_EVENT import com.simplemobiletools.calendar.pro.helpers.OTHER_EVENT import com.simplemobiletools.calendar.pro.helpers.REMINDER_OFF +import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog import com.simplemobiletools.commons.extensions.* import kotlinx.android.synthetic.main.dialog_set_reminders.view.* @@ -35,7 +36,7 @@ class SetRemindersDialog(val activity: SimpleActivity, val eventType: Int, val c } } } else { - activity.toast(R.string.no_post_notifications_permissions) + PermissionRequiredDialog(activity, R.string.allow_notifications_reminders) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt index de9e5ad25..ad7a1f3e8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt @@ -50,6 +50,7 @@ import org.joda.time.DateTime import org.joda.time.DateTimeZone import org.joda.time.LocalDate import java.io.File +import java.io.FileOutputStream import java.util.* val Context.config: Config get() = Config.newInstance(applicationContext) @@ -222,6 +223,7 @@ fun Context.checkAndBackupEventsOnBoot() { } fun Context.backupEventsAndTasks() { + require(isRPlus()) ensureBackgroundThread { val config = config val events = eventsHelper.getEventsToExport( @@ -257,9 +259,24 @@ fun Context.backupEventsAndTasks() { mkdirs() } - val exportFile = File(outputFolder, "$filename.ics") + var exportFile = File(outputFolder, "$filename.ics") + var exportFilePath = exportFile.absolutePath val outputStream = try { - exportFile.outputStream() + if (hasProperStoredFirstParentUri(exportFilePath)) { + val exportFileUri = createDocumentUriUsingFirstParentTreeUri(exportFilePath) + if (!getDoesFilePathExist(exportFilePath)) { + createSAFFileSdk30(exportFilePath) + } + applicationContext.contentResolver.openOutputStream(exportFileUri, "wt") ?: FileOutputStream(exportFile) + } else { + var num = 0 + while (getDoesFilePathExist(exportFilePath) && !exportFile.canWrite()) { + num++ + exportFile = File(outputFolder, "${filename}_${num}.ics") + exportFilePath = exportFile.absolutePath + } + FileOutputStream(exportFile) + } } catch (e: Exception) { showErrorToast(e) null @@ -273,8 +290,8 @@ fun Context.backupEventsAndTasks() { } MediaScannerConnection.scanFile( this, - arrayOf(exportFile.absolutePath), - arrayOf(exportFile.getMimeType()) + arrayOf(exportFilePath), + arrayOf(exportFilePath.getMimeType()) ) { _, _ -> } config.lastAutoBackupTime = getNowSeconds() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt index 7418548a9..3f4c344b0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt @@ -713,7 +713,11 @@ class WeekFragment : Fragment(), WeeklyCalendar { @SuppressLint("NewApi") private fun addAllDayEvent(event: Event) { (inflater.inflate(R.layout.week_all_day_event_marker, null, false) as ConstraintLayout).apply { - var backgroundColor = eventTypeColors.get(event.eventType, primaryColor) + var backgroundColor = if (event.color == 0) { + eventTypeColors.get(event.eventType, primaryColor) + } else { + event.color + } var textColor = backgroundColor.getContrastColor() val adjustAlpha = if (event.isTask()) { diff --git a/app/src/main/res/drawable/ic_category_vector.xml b/app/src/main/res/drawable/ic_category_vector.xml new file mode 100644 index 000000000..bcbd37d7d --- /dev/null +++ b/app/src/main/res/drawable/ic_category_vector.xml @@ -0,0 +1,3 @@ + + + diff --git a/app/src/main/res/layout/activity_event.xml b/app/src/main/res/layout/activity_event.xml index 5f5382cf9..7110125c6 100644 --- a/app/src/main/res/layout/activity_event.xml +++ b/app/src/main/res/layout/activity_event.xml @@ -507,24 +507,24 @@ android:importantForAccessibility="no" /> @@ -563,7 +563,7 @@ android:id="@+id/event_caldav_calendar_image" android:layout_width="@dimen/smaller_icon_size" android:layout_height="@dimen/smaller_icon_size" - android:layout_below="@+id/event_caldav_color_divider" + android:layout_below="@+id/event_color_divider" android:layout_alignTop="@+id/event_caldav_calendar_holder" android:layout_alignEnd="@+id/event_time_image" android:layout_alignBottom="@+id/event_caldav_calendar_holder" @@ -576,7 +576,7 @@ android:id="@+id/event_caldav_calendar_holder" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_below="@+id/event_caldav_color_divider" + android:layout_below="@+id/event_color_divider" android:layout_toEndOf="@+id/event_caldav_calendar_image" android:background="?attr/selectableItemBackground" android:visibility="gone"> @@ -627,7 +627,7 @@ android:layout_alignBottom="@+id/event_type_holder" android:layout_marginStart="@dimen/normal_margin" android:padding="@dimen/medium_margin" - android:src="@drawable/ic_color_vector" /> + android:src="@drawable/ic_category_vector" /> - - + + + + + + + + + + + + @@ -342,20 +395,10 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/small_margin" android:layout_marginEnd="@dimen/medium_margin" - android:layout_toStartOf="@+id/task_type_color" android:paddingTop="@dimen/normal_margin" android:paddingBottom="@dimen/normal_margin" android:textSize="@dimen/day_text_size" /> - - تكرار المهمة وضع علامة \"مكتمل\" وضع علامة غير مكتملة + لون المهمة تكرار بدون تكرار @@ -293,4 +294,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 0c4e5586c..ea0aa0042 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color Təkrarlama Təkrarlama yoxdur diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 603802866..170bed6f4 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -42,6 +42,7 @@ Дубляваць заданне Адзначыць выкананае Пазначыць як незавершанае + Task color Паўтарэнне Без паўтарэння diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 2e3ac6425..3ef151ea7 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -42,6 +42,7 @@ Дублиране на задача Означете като завършено Означете като незавършено + Task color Повторение Без повторение diff --git a/app/src/main/res/values-bn/strings.xml b/app/src/main/res/values-bn/strings.xml index 7b28d4e03..6cdda6fa0 100644 --- a/app/src/main/res/values-bn/strings.xml +++ b/app/src/main/res/values-bn/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color পুনরাবৃত্তি পুনরাবৃত্তি নেই diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index f0148cbd6..624f03f9f 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color Addegouezh Addegouezh ebet diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 5e8d61aac..163ca3816 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -42,6 +42,7 @@ Duplica la tasca Marca com a completada Marca com a no completada + Color de la tasca Repetició Sense repetició @@ -281,4 +282,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 08f14f1a6..70a3eac2b 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -42,6 +42,7 @@ Zkopírovat úkol Označit jako dokončený Označit jako nedokončený + Task color Opakování Neopakuje se diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 5178d9838..9053180c1 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -31,8 +31,8 @@ En begivenhed er forestående Gemmer - men den valgte begivenhedstype er filtreret fra under Menu - Filter Du har filtreret alle typer begivenheder fra - Event color - Default calendar color + Farve på begivenhed + Kalenderens standardfarve Opgave Opgaver @@ -42,6 +42,7 @@ Kopier opgave Marker som afsluttet Marker som uafsluttet + Task color Gentagelse Gentages ikke diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f9c01293e..d1b6dfda3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -42,6 +42,7 @@ Aufgabe duplizieren Als abgeschlossen markieren Als unvollständig markieren + Aufgabenfarbe Wiederholung Keine Wiederholung @@ -281,4 +282,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 0e28490ae..adec96b6f 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -42,6 +42,7 @@ Διπλή εργασία Σήμανση ολοκλ/μένη Σήμανση μη ολοκλ/μένη + Task color Επανάληψη Χωρίς Επανάληψη diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 8523b6c5f..ac2af0b0f 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color Repetition No repetition diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 744ac96b3..fab53cb2b 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -42,6 +42,7 @@ Duplicar tarea Marcar como completada Marcar como no completada + Task color Repetir No repetir diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 33be1a952..531e70c0c 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -42,6 +42,7 @@ Tee ülesandest koopia Märgi tehtuks Märgi poolikuks + Task color Kordus Ära korda diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index d105afe51..db7ac16ce 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -9,7 +9,7 @@ Hilabeteko + eguneko ikuspegia Urteko ikuspegia Gertaera-zerrenda sinplea - No upcoming events. + Ez dago hurbileko gertaerarik. Joan gaurko egunera Joan data zehatz batera @@ -29,19 +29,20 @@ Iragazi gertaerak motaren arabera Bete kokalekua mapan erakusteko Gertaera bat dator - Saving… But the selected event type is filtered out in the top Menu - Filter - You have filtered out all event types + Gordetzen… Baina hautatutako gertaera mota goiko menuko - Iragazkia-ren bidez iragazten da + Gertaera mota guztiak iragazi dituzu Event color Default calendar color - Task - Tasks - Edit Task - New Task - Create a new task - Duplicate task - Mark completed - Mark incomplete + Zeregina + Zereginak + Editatu zeregina + Zeregin berria + Sortu zeregin berri bat + Bikoiztu zeregina + Burutu gisa markatu + Markatu burutu gabeko gisa + Task color Errepikapena Errepikapenik ez @@ -55,7 +56,7 @@ Noiz arte errepikatu Betiko Gertaera errepikagarria da - The task is repeatable + Zeregina errepika daiteke Hautaketak errepikatzen diren gertaerak ditu Ezabatu hautatutako gertaera soilik Ezabatu gertaera hau eta datozen guztiak @@ -68,7 +69,7 @@ Errepikatu betiko aldiz Errepikatu - Errepikatu egun hauetan: + Errepikatu egun hauetan Hautatutako egunetan Egun bera Azken eguna @@ -76,7 +77,7 @@ Errepikatu hilabeteko azken egunean Errepikatu urtero egun berean Errepikatze-maiztasuna - Maiztasuna: + Maiztasuna lehenengo bigarren hirugarren @@ -85,8 +86,8 @@ azken - Erepikatze-maiztasuna: - Maiztasuna: + Errepikatze-maiztasuna + Maiztasuna lehenengo bigarren hirugarren @@ -99,20 +100,20 @@ Urtebetetzerik ez da aurkitu Urtebetetze berririk ez da aurkitu Urtebetetzeak ondo gehitu dira - Add new birthdays automatically + Gehitu urtebetetze berriak automatikoki Urteurrenak Gehitu kontaktuen urteurrenak Urteurrenik ez da aurkitu Urteurren berririk ez da aurkitu Urteurrenak ondo gehitu dira - Add new anniversaries automatically + Gehitu urtebetetze berriak automatikoki Abisua - hau baino lehen: + hau baino lehen Gehitu beste abisu bat Gertaera-abisua - Reminders + Oroigarriak Gehitu beste parte-hartzaile bat Nire egoera: @@ -130,18 +131,18 @@ Esportatu gertaerak .ics fitxategi batetik Lehenetsitako gertaera mota Esportatu iraganeko gertaerak ere bai - Export tasks - Export past entries too + Esportatu zereginak + Esportatu iraganeko sarrerak ere Gehitu gertaera motak Fitxategi-izena (.ics gabe) - Ignore event types in the file, always use the default one + Ez ikusi gertaera motak fitxategian, erabili beti lehenetsitakoa Kokalekua Deskripzioa Egun osokoa Astea - Start week with the current day + Hasi astea uneko egunarekin Gertaera motak Gehitu mota berria @@ -178,14 +179,14 @@ Gertaera-zerrendak Bistaratu iraganeko gertaerak Ordeztu gertaeraren deskripzioa kokalekuarekin - Display description or location + Bistaratu deskribapena edo kokapena Ezabatu gertaera guztiak - Delete all events and tasks + Ezabatu gertaera eta zeregin guztiak Ziur zaude gertaera guztiak ezabatu nahi dituzula\? Honek gertaera motak eta bestelako ezarpenak berdin utziko ditu. Erakutsi sareta Errepikatu abisuak baztertu arte Lausotu iraganeko gertaerak - Dim completed tasks + Indargabetu burututako zereginak Gertaerak Abisuek erabilitako audio-transmisioa Sistema @@ -206,10 +207,10 @@ Erabilitako azkena Bestelako denbora Nabarmendu asteburuak ikuspegi batzuetan - Color of highlighted weekends + Nabarmendutako asteburuen kolorea Baimendu gertaeren ordu-zonak aldatzea - Manage quick filter event types - Allow creating tasks + Kudeatu iragazki bizkorreko gertaera motak + Baimendu zereginak sortzea CalDAV Hautatu sinkronizatu nahi dituzun egutegiak @@ -226,8 +227,8 @@ Gertaera ez da aurkitu. Gaitu egutegi aproposerako CalDAV sinkronizazioa aplikazioaren ezarpenetan. Sinkronizatu daitekeen egutegirik ez da aurkitu Free - Busy - Fetching event %s failed + Lanpetuta + %s gertaera eskuratzeak huts egin du astelehenean @@ -247,36 +248,36 @@ Garraxi Kafea hartu - Show events happening: - Within the next 1 year - Today only - Within the next… + Erakutsi gertatzen ari diren gertaerak: + Hurrengo urtean + Gaur bakarrik + Hurrengo zeraren barruan… - Within the next %d day - Within the next %d days + Hurrengo %d egunean + Hurrengo %d egunetan - Within the next %d week - Within the next %d weeks + Hurrengo %d astean + Hurrengo %d astetan - Within the next %d month - Within the next %d months + Hurrengo %d hilabetean + Hurrengo %d hilabetetan Nola kendu ditzaket \"Gehitu jaiegunak\" botoiarekin inportatutako jaiegunak\? Modu horretan sortutako jaiegunak \"Jaiegunak\" deituriko gertaera mota berrian sartzen dira. Joan Ezarpenak -> Kudeatu gertaera motak atalera, sakatu luze gertaera mota hori eta ezabatu zakarrontzia hautatuz. Gertaerak Google Calendar bidez sinkronizatu ditzaket, edo CalDAV onartzen duen bestelako zerbitzurik\? - Maybe even share calendars with other people? + Agian egutegiak beste pertsona batzuekin partekatu ere\? Bai, aldatu \"CalDAVekin sinkronizatu\" aplikazioaren ezarpenetan eta hautatu sinkronizatu nahi dituzun egutegiak. Hala ere, gailuaren eta zerbitzarien arteko sinkronizazioa maneiatzen duen hirugarrenen aplikazioren bat beharko duzu. Googlen egutegiren bat sinkronizatu nahi izanez gero, beren egutegiaren aplikazio ofizialak egingo du lana. Bestelako egutegientzat sinkronizazio-moldagailua duen hirugarrenen aplikazio bat beharko duzu, DAVx5, esate baterako. Abisu bisualak ikusten ditut, baina audiorik ez dut entzuten. Zer egin dezaket\? Abisua bistaratzeari eta audioa erreproduzitzeari sistemak eragiten dio. Soinurik ez baduzu entzuten, saiatu aplikazioaren ezarpenetara joaten, \"Abisuek erabilitako audio-transmisioa\" aukera sakatu eta balio ezberdina jarri. Oraindik ez badabil, egiaztatu soinu-ezarpenak, transmisio jakina mututua ez badago. Aplikazioak ordu-zonak onartzen ditu\? Bai, onartzen ditu. Gertaera guztiak zure ordu-zonaren arabera sortzen dira modu lehenetsian. Gertaera baten ordu-zona aldatu nahi baduzu, lehenengo ordu-zonaren hautatzailea gaitu behar duzu aplikazioaren ezarpenetan eta, ondoren, Gartaeraren xehetasunen pantailan aldatu. Modu lehenetsian desgaituta dago, jende gehienak ez duelako behar. - The app shows no notifications, why is that\? - Check your device battery and notification settings, if there is nothing blocking the reminders, or killing the app in the background. You might also want to take a look at <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a>, it has some useful tips. - How can I modify or delete an existing event type\? - You can do both of those in the app Settings - Manage event types. Just click on the wanted one for changing the label and color, or select the wanted one by long pressing it and use the trashbin at the top menu for deleting. + Aplikazioak ez du jakinarazpenik erakusten, zergatik\? + Egiaztatu gailuaren bateria eta jakinarazpenen ezarpenak, egiaztatu abisuak ez daudela blokeatuta edo aplikazioa bigarren planoan exekutatzea galarazten duen ezer ez dagoela. Baliteke <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a> helbidera ere begiratu nahi izatea, aholku erabilgarriak ditu. + Nola aldatu edo ezabatu dezaket lehendik dagoen gertaera mota bat\? + Gauza biak egin ditzakezu Ezarpenak - Kudeatu gertaera motak aplikazioan. Egin klik nahi duzun elementuan etiketa eta kolorea aldatzeko, edo hautatu nahi duzuna luze sakatuz eta erabili goiko menuko zakarrontzia ezabatzeko. Toisto Ei toistoa diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 9b0f23c38..f56d05471 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -42,6 +42,7 @@ Dupliquer la tâche Marquer comme terminé Marquer comme non terminé + Task color Répétition Aucune répétition diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 2b9794025..66aabafe7 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -42,6 +42,7 @@ Tarefa duplicada Marcar como feita Marcar como sen facer + Task color Repetición Sen repetición diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 7a558dcde..860c844e5 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color दुहराव No repetition diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 39aabfa43..21da7dc87 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -42,6 +42,7 @@ Dupliciraj zadatak Označi kao završeno Označi kao nezavršeno + Task color Ponavljanje Bez ponavljanja diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index c2649339a..05b471af9 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -42,6 +42,7 @@ Feladat kettőzése Megjelölés befejezettként Megjelölés nem befejezettként + Task color Ismétlés Nincs ismétlés diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 51b080d94..26c7d9838 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -42,6 +42,7 @@ Gandakan tugas Tandai sebagai selesai Tandai sebagai belum selesai + Task color Perulangan Tidak ada perulangan diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 3d6c30276..4a6e9c800 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -42,6 +42,7 @@ Duplica il compito Segna come completato Segno come incompleto + Task color Ripeti Non ripetere diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 4cf037946..44d2296d6 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -42,6 +42,7 @@ משימה כפולה סימן הושלם סמן כלא שלם + Task color אירוע חוזר אין חזרה diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 5534a6183..8943e80a5 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -42,6 +42,7 @@ タスクのコピー 完了にする 未完了にする + Task color 繰り返し 繰り返さない diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index d80cf0f43..13783175f 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color 반복 반복 없음 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index a99ad081b..3708f730d 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -42,6 +42,7 @@ Dubliuoti užduotį Žymėti kaip įvykdytą Žymėti kaip neįvykdytą + Task color Pasikartojimas Be pasikartojimo diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index cba212028..183bcf0ab 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color Atkārtojošs Bez atkārtošanās diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index dc32e80da..4a7cd07ba 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -42,6 +42,7 @@ Дупликатна задача Марк е завршен Означи нецелосен + Task color Повторување diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 9574fe401..e47ae6e54 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color Repetition No repetition diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 8b1e50cfb..9ca7af2c9 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -42,6 +42,7 @@ Dupliser oppgave Marker som fullført Marker som ufullstendig + Task color Gjentagelse Ingen gjentagelse diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index f3b69c1fa..a4fc072d2 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -42,6 +42,7 @@ Taak dupliceren Als voltooid markeren Als onvoltooid markeren + Taakkleur Herhaling Niet herhalen @@ -281,4 +282,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-pa-rPK/strings.xml b/app/src/main/res/values-pa-rPK/strings.xml index e1513ccd5..d44da62ec 100644 --- a/app/src/main/res/values-pa-rPK/strings.xml +++ b/app/src/main/res/values-pa-rPK/strings.xml @@ -71,6 +71,7 @@ Duplicate task Mark completed Mark incomplete + Task color Repetition No repetition Daily diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index afd07d47b..9088eac77 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -42,6 +42,7 @@ Powiel zadanie Oznacz jako ukończone Oznacz jako nieukończone + Kolor zadania Powtarzanie Brak powtarzania @@ -287,4 +288,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 6c2fcd36b..cb2a91f6e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -42,6 +42,7 @@ Duplicar tarefa Marcar como concluída Marcar como incompleta + Task color Repetição Sem repetição diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 2c9c89add..025bf9425 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -42,6 +42,7 @@ Duplicar tarefa Marcar como terminado Marcar como não terminado + Task color Repetição Sem repetição diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 61af0234f..aeddc5919 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -42,6 +42,7 @@ Duplicați sarcina Marcare finalizată Marcare incompletă + Task color Repetiție Fără repetiție diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 91401d6ed..ef3e1b538 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -42,6 +42,7 @@ Дублировать задачу Пометить завершённой Пометить незавершённой + Цвет задачи Повторять Без повторения @@ -287,4 +288,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-si/strings.xml b/app/src/main/res/values-si/strings.xml index ce94f8420..0447dc069 100644 --- a/app/src/main/res/values-si/strings.xml +++ b/app/src/main/res/values-si/strings.xml @@ -45,6 +45,7 @@ Duplicate task Mark completed Mark incomplete + Task color Repetition diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 3465c3e5c..218a968d4 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -42,6 +42,7 @@ Duplikovať úlohu Označiť ako dokončenú Označiť ako nedokončenú + Farba úlohy Opakovanie Neopakuje sa diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index fd561a7ba..ddee1adb3 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -42,6 +42,7 @@ Podvojeno opravilo Označi dokončano Označi nepopolno + Task color Ponavljanje Brez ponavljanja diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index f8f93ab6d..7ac81025d 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -42,6 +42,7 @@ Дуплирани задатак Означи као довршено Означи као непотпуно + Task color Понављање Без понављања diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 1b23cbcd9..76a6e7bfc 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -31,8 +31,8 @@ Du har en kommande händelse Sparar... Men den valda händelsetypen filtreras bort i den översta menyn - Filter Du har filtrerat bort alla händelsetyper - Event color - Default calendar color + Händelsens färg + Kalenderns standardfärg Uppgift Uppgifter @@ -42,6 +42,7 @@ Duplicera uppgift Markera avklarad Markera ofullständig + Task color Upprepning Ingen upprepning @@ -266,7 +267,7 @@ Hur kan jag ta bort helgdagar som importerats via knappen \"Lägg till helgdagar\"\? Helgdagar som skapas på detta sätt läggs in i en ny händelsetyp som kallas \"Helgdagar\". Du kan gå till Inställningar -> Hantera händelsetyper, trycka länge på den aktuella händelsetypen och ta bort den genom att välja papperskorgen. - Kan jag synkronisera mina evenemang via Google Calendar eller en annan tjänst som stöder CalDAV\? + Kan jag synkronisera mina händelser via Google Kalender eller en annan tjänst som stöder CalDAV\? Kanske även dela kalendrar med andra\? Ja, det är bara att slå på \"CalDAV-synkronisering\" i appens inställningar och välja de kalendrar du vill synkronisera. Du behöver dock någon tredjepartsapp som hanterar synkroniseringen mellan enheten och servrarna. Om du vill synkronisera en Google-kalender kan deras officiella kalenderapp göra jobbet. För andra kalendrar behöver du en tredjepartssynkroniseringsadapter, till exempel DAVx5. Jag ser de visuella påminnelserna, men hör inget ljud. Vad kan jag göra\? diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 2a7983395..31f633882 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color Repetition No repetition diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index e8c962e82..1bc7156ef 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -42,6 +42,7 @@ Görevi çoğalt Tamamlandı olarak işaretle Tamamlanmadı olarak işaretle + Görev rengi Tekrarla Tekrarlama yok @@ -281,4 +282,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index cee579b75..58fc74626 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -42,6 +42,7 @@ Дублювати завдання Позначити завершеним Позначити незавершеним + Task color Повторювати Без повторень diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index ce1fd9d1a..ac21f18fe 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -42,6 +42,7 @@ 重复任务 标记已完成 标记未完成 + 任务颜色 重复 不重复 @@ -278,4 +279,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index f451e0b5d..ccf39bdd4 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -42,6 +42,7 @@ Duplicate task Mark completed Mark incomplete + Task color 重複 不重複 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index d0fc848b1..5d2d3094f 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -42,6 +42,7 @@ Duplicate task 標為已完成 標為未完成 + Task color 重複 不重複 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ce94f8420..0447dc069 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -45,6 +45,7 @@ Duplicate task Mark completed Mark incomplete + Task color Repetition diff --git a/fastlane/metadata/android/en-US/changelogs/234.txt b/fastlane/metadata/android/en-US/changelogs/234.txt new file mode 100644 index 000000000..93e6a9195 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/234.txt @@ -0,0 +1,3 @@ + * Allow customizing individual event colors stored locally + * Fix a glitch with scheduled backups + * Added some translation, stability and UX improvements diff --git a/fastlane/metadata/android/en-US/changelogs/235.txt b/fastlane/metadata/android/en-US/changelogs/235.txt new file mode 100644 index 000000000..93e6a9195 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/235.txt @@ -0,0 +1,3 @@ + * Allow customizing individual event colors stored locally + * Fix a glitch with scheduled backups + * Added some translation, stability and UX improvements diff --git a/fastlane/metadata/android/it-IT/short_description.txt b/fastlane/metadata/android/it-IT/short_description.txt index 1f83d343f..16f9a180a 100644 --- a/fastlane/metadata/android/it-IT/short_description.txt +++ b/fastlane/metadata/android/it-IT/short_description.txt @@ -1 +1 @@ -Widget calendario. Programma e pianifica appuntamenti. Calendario per il lavoro +Calendario widget 2023 per Android. Programma appuntamenti, piani e promemoria diff --git a/fastlane/metadata/android/lv/title.txt b/fastlane/metadata/android/lv/title.txt index f37164864..ff21a31ee 100644 --- a/fastlane/metadata/android/lv/title.txt +++ b/fastlane/metadata/android/lv/title.txt @@ -1 +1 @@ -Vienkāršs kalendārs Pro \ No newline at end of file +Vienkāršs kalendārs Pro diff --git a/fastlane/metadata/android/zh-CN/short_description.txt b/fastlane/metadata/android/zh-CN/short_description.txt index d6e5ff249..3a6bc7b69 100644 --- a/fastlane/metadata/android/zh-CN/short_description.txt +++ b/fastlane/metadata/android/zh-CN/short_description.txt @@ -1 +1 @@ -简单移动日历 2023 。每一天的行程计划 & 约会提醒 +Android 系统 2023 日历小部件 。预约规划、计划和提醒 diff --git a/fastlane/metadata/android/zh-CN/title.txt b/fastlane/metadata/android/zh-CN/title.txt index 4aaaa2d22..6433648ab 100644 --- a/fastlane/metadata/android/zh-CN/title.txt +++ b/fastlane/metadata/android/zh-CN/title.txt @@ -1 +1 @@ -简单日历 Pro \ No newline at end of file +简单日历 Pro