Merge branch 'master' into master

This commit is contained in:
Tibor Kaputa
2023-05-18 14:40:35 +02:00
committed by GitHub
69 changed files with 372 additions and 150 deletions

View File

@@ -1,6 +1,20 @@
Changelog 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)* Version 6.21.7 *(2023-04-12)*
---------------------------- ----------------------------

View File

@@ -17,8 +17,8 @@ android {
applicationId "com.simplemobiletools.calendar.pro" applicationId "com.simplemobiletools.calendar.pro"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 33 targetSdkVersion 33
versionCode 233 versionCode 235
versionName "6.21.7" versionName "6.21.9"
multiDexEnabled true multiDexEnabled true
setProperty("archivesBaseName", "calendar") setProperty("archivesBaseName", "calendar")
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
@@ -70,13 +70,13 @@ android {
} }
dependencies { dependencies {
implementation 'com.github.SimpleMobileTools:Simple-Commons:a98c3fa30f' implementation 'com.github.SimpleMobileTools:Simple-Commons:79c7cde543'
implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation "androidx.print:print:1.0.0" implementation "androidx.print:print:1.0.0"
kapt 'androidx.room:room-compiler:2.5.0' kapt 'androidx.room:room-compiler:2.5.1'
implementation 'androidx.room:room-runtime:2.5.0' implementation 'androidx.room:room-runtime:2.5.1'
annotationProcessor 'androidx.room:room-compiler:2.5.0' annotationProcessor 'androidx.room:room-compiler:2.5.1'
} }

View File

@@ -41,6 +41,7 @@
android:appCategory="productivity" android:appCategory="productivity"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_launcher_name" android:label="@string/app_launcher_name"
android:localeConfig="@xml/locale_config"
android:roundIcon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
@@ -133,7 +134,8 @@
android:exported="true" android:exported="true"
android:label="@string/new_event" android:label="@string/new_event"
android:launchMode="singleTask" android:launchMode="singleTask"
android:parentActivityName=".activities.MainActivity"> android:parentActivityName=".activities.MainActivity"
android:windowSoftInputMode="adjustResize">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.EDIT" /> <action android:name="android.intent.action.EDIT" />
@@ -157,7 +159,8 @@
android:exported="false" android:exported="false"
android:label="@string/new_task" android:label="@string/new_task"
android:launchMode="singleTask" android:launchMode="singleTask"
android:parentActivityName=".activities.MainActivity" /> android:parentActivityName=".activities.MainActivity"
android:windowSoftInputMode="adjustResize" />
<activity <activity
android:name=".activities.SelectTimeZoneActivity" android:name=".activities.SelectTimeZoneActivity"

View File

@@ -33,7 +33,9 @@ import com.simplemobiletools.calendar.pro.extensions.*
import com.simplemobiletools.calendar.pro.helpers.* import com.simplemobiletools.calendar.pro.helpers.*
import com.simplemobiletools.calendar.pro.helpers.Formatter import com.simplemobiletools.calendar.pro.helpers.Formatter
import com.simplemobiletools.calendar.pro.models.* import com.simplemobiletools.calendar.pro.models.*
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.helpers.*
@@ -339,6 +341,10 @@ class EventActivity : SimpleActivity() {
event_all_day.toggle() event_all_day.toggle()
} }
event_color_holder.setOnClickListener {
showEventColorDialog()
}
updateTextColors(event_nested_scrollview) updateTextColors(event_nested_scrollview)
updateIconColors() updateIconColors()
refreshMenuItems() refreshMenuItems()
@@ -646,11 +652,13 @@ class EventActivity : SimpleActivity() {
event_repetition_limit_label.text = getString(R.string.repeat) event_repetition_limit_label.text = getString(R.string.repeat)
resources.getString(R.string.forever) resources.getString(R.string.forever)
} }
mRepeatLimit > 0 -> { mRepeatLimit > 0 -> {
event_repetition_limit_label.text = getString(R.string.repeat_till) event_repetition_limit_label.text = getString(R.string.repeat_till)
val repeatLimitDateTime = Formatter.getDateTimeFromTS(mRepeatLimit) val repeatLimitDateTime = Formatter.getDateTimeFromTS(mRepeatLimit)
Formatter.getFullDate(this, repeatLimitDateTime) Formatter.getFullDate(this, repeatLimitDateTime)
} }
else -> { else -> {
event_repetition_limit_label.text = getString(R.string.repeat) event_repetition_limit_label.text = getString(R.string.repeat)
"${-mRepeatLimit} ${getString(R.string.times)}" "${-mRepeatLimit} ${getString(R.string.times)}"
@@ -664,12 +672,14 @@ class EventActivity : SimpleActivity() {
mRepeatInterval.isXWeeklyRepetition() -> RepeatRuleWeeklyDialog(this, mRepeatRule) { mRepeatInterval.isXWeeklyRepetition() -> RepeatRuleWeeklyDialog(this, mRepeatRule) {
setRepeatRule(it) setRepeatRule(it)
} }
mRepeatInterval.isXMonthlyRepetition() -> { mRepeatInterval.isXMonthlyRepetition() -> {
val items = getAvailableMonthlyRepetitionRules() val items = getAvailableMonthlyRepetitionRules()
RadioGroupDialog(this, items, mRepeatRule) { RadioGroupDialog(this, items, mRepeatRule) {
setRepeatRule(it as Int) setRepeatRule(it as Int)
} }
} }
mRepeatInterval.isXYearlyRepetition() -> { mRepeatInterval.isXYearlyRepetition() -> {
val items = getAvailableYearlyRepetitionRules() val items = getAvailableYearlyRepetitionRules()
RadioGroupDialog(this, items, mRepeatRule) { RadioGroupDialog(this, items, mRepeatRule) {
@@ -786,6 +796,7 @@ class EventActivity : SimpleActivity() {
mRepeatInterval.isXWeeklyRepetition() -> { mRepeatInterval.isXWeeklyRepetition() -> {
event_repetition_rule.text = if (mRepeatRule == EVERY_DAY_BIT) getString(R.string.every_day) else getSelectedDaysString(mRepeatRule) event_repetition_rule.text = if (mRepeatRule == EVERY_DAY_BIT) getString(R.string.every_day) else getSelectedDaysString(mRepeatRule)
} }
mRepeatInterval.isXMonthlyRepetition() -> { mRepeatInterval.isXMonthlyRepetition() -> {
val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY) val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY)
R.string.repeat else R.string.repeat_on 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_label.text = getString(repeatString)
event_repetition_rule.text = getMonthlyRepetitionRuleText() event_repetition_rule.text = getMonthlyRepetitionRuleText()
} }
mRepeatInterval.isXYearlyRepetition() -> { mRepeatInterval.isXYearlyRepetition() -> {
val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY) val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY)
R.string.repeat else R.string.repeat_on R.string.repeat else R.string.repeat_on
@@ -834,25 +846,55 @@ class EventActivity : SimpleActivity() {
private fun showEventColorDialog() { private fun showEventColorDialog() {
hideKeyboard() hideKeyboard()
ensureBackgroundThread { ensureBackgroundThread {
val eventType = eventsHelper.getEventTypeWithCalDAVCalendarId(calendarId = mEventCalendarId)!! val isLocalEvent = mEventCalendarId == STORED_LOCALLY_ONLY
val eventColors = getEventColors(eventType) if (isLocalEvent) {
runOnUiThread { showCustomEventColorDialog()
val currentColor = if (mEventColor == 0) { } else {
eventType.color showCalDAVEventColorDialog()
} else { }
mEventColor }
} }
SelectEventColorDialog(activity = this, colors = eventColors, currentColor = currentColor) { newColor -> private fun showCustomEventColorDialog() {
if (newColor != currentColor) { val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId)!!
mEventColor = newColor val currentColor = if (mEventColor == 0) {
updateEventColorInfo(defaultColor = eventType.color) 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() { private fun checkReminderTexts() {
updateReminder1Text() updateReminder1Text()
updateReminder2Text() updateReminder2Text()
@@ -953,7 +995,7 @@ class EventActivity : SimpleActivity() {
if (eventType != null) { if (eventType != null) {
runOnUiThread { runOnUiThread {
event_type.text = eventType.title event_type.text = eventType.title
event_type_color.setFillWithStroke(eventType.color, getProperBackgroundColor()) updateEventColorInfo(eventType.color)
} }
} }
} }
@@ -987,10 +1029,6 @@ class EventActivity : SimpleActivity() {
updateAvailabilityImage() updateAvailabilityImage()
} }
} }
event_caldav_color_holder.setOnClickListener {
showEventColorDialog()
}
} else { } else {
updateCurrentCalendarInfo(null) updateCurrentCalendarInfo(null)
} }
@@ -1018,9 +1056,17 @@ class EventActivity : SimpleActivity() {
setPadding(paddingLeft, mediumMargin, paddingRight, mediumMargin) setPadding(paddingLeft, mediumMargin, paddingRight, mediumMargin)
} }
event_caldav_color_image.beGone() ensureBackgroundThread {
event_caldav_color_holder.beGone() val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId)
event_caldav_color_divider.beGone() 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 { } else {
event_caldav_calendar_email.text = currentCalendar.accountName event_caldav_calendar_email.text = currentCalendar.accountName
@@ -1043,9 +1089,9 @@ class EventActivity : SimpleActivity() {
setPadding(paddingLeft, 0, paddingRight, 0) setPadding(paddingLeft, 0, paddingRight, 0)
} }
event_caldav_color_image.beVisibleIf(canCustomizeColors) event_color_image.beVisibleIf(canCustomizeColors)
event_caldav_color_holder.beVisibleIf(canCustomizeColors) event_color_holder.beVisibleIf(canCustomizeColors)
event_caldav_color_divider.beVisibleIf(canCustomizeColors) event_color_divider.beVisibleIf(canCustomizeColors)
if (canCustomizeColors) { if (canCustomizeColors) {
updateEventColorInfo(calendarColor) updateEventColorInfo(calendarColor)
} }
@@ -1060,7 +1106,7 @@ class EventActivity : SimpleActivity() {
} else { } else {
mEventColor mEventColor
} }
event_caldav_color.setFillWithStroke(eventColor, getProperBackgroundColor()) event_color.setFillWithStroke(eventColor, getProperBackgroundColor())
} }
private fun getEventColors(eventType: EventType): IntArray { private fun getEventColors(eventType: EventType): IntArray {
@@ -1271,7 +1317,7 @@ class EventActivity : SimpleActivity() {
storeEvent(wasRepeatable) storeEvent(wasRepeatable)
} }
} else { } else {
toast(R.string.no_post_notifications_permissions) PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
} }
} }
} else { } else {
@@ -1851,7 +1897,7 @@ class EventActivity : SimpleActivity() {
val textColor = getProperTextColor() val textColor = getProperTextColor()
arrayOf( arrayOf(
event_time_image, event_time_zone_image, event_repetition_image, event_reminder_image, event_type_image, event_caldav_calendar_image, 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 { ).forEach {
it.applyColorFilter(textColor) it.applyColorFilter(textColor)
} }

View File

@@ -38,6 +38,7 @@ import com.simplemobiletools.calendar.pro.models.ListItem
import com.simplemobiletools.calendar.pro.models.ListSectionDay import com.simplemobiletools.calendar.pro.models.ListSectionDay
import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.FilePickerDialog import com.simplemobiletools.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.helpers.*
@@ -156,7 +157,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
addBirthdaysAnniversariesAtStart() addBirthdaysAnniversariesAtStart()
if (isPackageInstalled("com.simplemobiletools.calendar")) { 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 { addImportIdsToTasks {
@@ -1066,7 +1067,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
} }
} }
} else { } else {
toast(R.string.no_post_notifications_permissions) PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
} }
} }
} else { } else {

View File

@@ -10,7 +10,8 @@ import com.simplemobiletools.calendar.pro.extensions.config
import com.simplemobiletools.calendar.pro.extensions.refreshCalDAVCalendars import com.simplemobiletools.calendar.pro.extensions.refreshCalDAVCalendars
import com.simplemobiletools.commons.activities.BaseSimpleActivity import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.dialogs.ConfirmationDialog 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 import com.simplemobiletools.commons.helpers.ensureBackgroundThread
open class SimpleActivity : BaseSimpleActivity() { open class SimpleActivity : BaseSimpleActivity() {
@@ -84,7 +85,7 @@ open class SimpleActivity : BaseSimpleActivity() {
} }
} }
} else { } else {
toast(R.string.no_post_notifications_permissions) PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
} }
} }
} }

View File

@@ -13,18 +13,19 @@ import com.simplemobiletools.calendar.pro.R
import com.simplemobiletools.calendar.pro.dialogs.* import com.simplemobiletools.calendar.pro.dialogs.*
import com.simplemobiletools.calendar.pro.extensions.* import com.simplemobiletools.calendar.pro.extensions.*
import com.simplemobiletools.calendar.pro.helpers.* 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.Event
import com.simplemobiletools.calendar.pro.models.EventType import com.simplemobiletools.calendar.pro.models.EventType
import com.simplemobiletools.calendar.pro.models.Reminder import com.simplemobiletools.calendar.pro.models.Reminder
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.models.RadioItem
import kotlinx.android.synthetic.main.activity_task.* import kotlinx.android.synthetic.main.activity_task.*
import org.joda.time.DateTime import org.joda.time.DateTime
import java.util.* import java.util.Calendar
import kotlin.math.pow import kotlin.math.pow
class TaskActivity : SimpleActivity() { class TaskActivity : SimpleActivity() {
@@ -46,6 +47,7 @@ class TaskActivity : SimpleActivity() {
private var mTaskCompleted = false private var mTaskCompleted = false
private var mLastSavePromptTS = 0L private var mLastSavePromptTS = 0L
private var mIsNewTask = true private var mIsNewTask = true
private var mEventColor = 0
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
isMaterialActivity = true isMaterialActivity = true
@@ -130,6 +132,7 @@ class TaskActivity : SimpleActivity() {
mRepeatInterval != mTask.repeatInterval || mRepeatInterval != mTask.repeatInterval ||
mRepeatRule != mTask.repeatRule || mRepeatRule != mTask.repeatRule ||
mEventTypeId != mTask.eventType || mEventTypeId != mTask.eventType ||
mEventColor != mTask.color ||
hasTimeChanged hasTimeChanged
) { ) {
return true return true
@@ -175,6 +178,7 @@ class TaskActivity : SimpleActivity() {
putLong(EVENT_TYPE_ID, mEventTypeId) putLong(EVENT_TYPE_ID, mEventTypeId)
putBoolean(IS_NEW_EVENT, mIsNewTask) putBoolean(IS_NEW_EVENT, mIsNewTask)
putLong(ORIGINAL_START_TS, mOriginalStartTS) putLong(ORIGINAL_START_TS, mOriginalStartTS)
putInt(EVENT_COLOR, mEventColor)
} }
} }
@@ -201,6 +205,7 @@ class TaskActivity : SimpleActivity() {
mEventTypeId = getLong(EVENT_TYPE_ID) mEventTypeId = getLong(EVENT_TYPE_ID)
mIsNewTask = getBoolean(IS_NEW_EVENT) mIsNewTask = getBoolean(IS_NEW_EVENT)
mOriginalStartTS = getLong(ORIGINAL_START_TS) mOriginalStartTS = getLong(ORIGINAL_START_TS)
mEventColor = getInt(EVENT_COLOR)
} }
updateEventType() updateEventType()
@@ -270,6 +275,7 @@ class TaskActivity : SimpleActivity() {
task_reminder_2.setOnClickListener { showReminder2Dialog() } task_reminder_2.setOnClickListener { showReminder2Dialog() }
task_reminder_3.setOnClickListener { showReminder3Dialog() } task_reminder_3.setOnClickListener { showReminder3Dialog() }
task_color_holder.setOnClickListener { showTaskColorDialog() }
refreshMenuItems() refreshMenuItems()
setupMarkCompleteButton() setupMarkCompleteButton()
@@ -297,6 +303,7 @@ class TaskActivity : SimpleActivity() {
mRepeatInterval = mTask.repeatInterval mRepeatInterval = mTask.repeatInterval
mRepeatLimit = mTask.repeatLimit mRepeatLimit = mTask.repeatLimit
mRepeatRule = mTask.repeatRule mRepeatRule = mTask.repeatRule
mEventColor = mTask.color
task_title.setText(mTask.title) task_title.setText(mTask.title)
task_description.setText(mTask.description) task_description.setText(mTask.description)
@@ -416,6 +423,7 @@ class TaskActivity : SimpleActivity() {
repeatInterval = mRepeatInterval repeatInterval = mRepeatInterval
repeatLimit = if (repeatInterval == 0) 0 else mRepeatLimit repeatLimit = if (repeatInterval == 0) 0 else mRepeatLimit
repeatRule = mRepeatRule repeatRule = mRepeatRule
color = mEventColor
} }
if (mTask.getReminders().isNotEmpty()) { if (mTask.getReminders().isNotEmpty()) {
@@ -425,7 +433,7 @@ class TaskActivity : SimpleActivity() {
storeTask(wasRepeatable) storeTask(wasRepeatable)
} }
} else { } else {
toast(R.string.no_post_notifications_permissions) PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
} }
} }
} else { } else {
@@ -762,17 +770,52 @@ class TaskActivity : SimpleActivity() {
if (eventType != null) { if (eventType != null) {
runOnUiThread { runOnUiThread {
task_type.text = eventType.title 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() { private fun updateColors() {
updateTextColors(task_nested_scrollview) updateTextColors(task_nested_scrollview)
val textColor = getProperTextColor() val textColor = getProperTextColor()
arrayOf( 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 { ).forEach {
it.applyColorFilter(textColor) it.applyColorFilter(textColor)
} }

View File

@@ -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.BIRTHDAY_EVENT
import com.simplemobiletools.calendar.pro.helpers.OTHER_EVENT import com.simplemobiletools.calendar.pro.helpers.OTHER_EVENT
import com.simplemobiletools.calendar.pro.helpers.REMINDER_OFF import com.simplemobiletools.calendar.pro.helpers.REMINDER_OFF
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import kotlinx.android.synthetic.main.dialog_set_reminders.view.* import kotlinx.android.synthetic.main.dialog_set_reminders.view.*
@@ -35,7 +36,7 @@ class SetRemindersDialog(val activity: SimpleActivity, val eventType: Int, val c
} }
} }
} else { } else {
activity.toast(R.string.no_post_notifications_permissions) PermissionRequiredDialog(activity, R.string.allow_notifications_reminders)
} }
} }
} }

View File

@@ -50,6 +50,7 @@ import org.joda.time.DateTime
import org.joda.time.DateTimeZone import org.joda.time.DateTimeZone
import org.joda.time.LocalDate import org.joda.time.LocalDate
import java.io.File import java.io.File
import java.io.FileOutputStream
import java.util.* import java.util.*
val Context.config: Config get() = Config.newInstance(applicationContext) val Context.config: Config get() = Config.newInstance(applicationContext)
@@ -222,6 +223,7 @@ fun Context.checkAndBackupEventsOnBoot() {
} }
fun Context.backupEventsAndTasks() { fun Context.backupEventsAndTasks() {
require(isRPlus())
ensureBackgroundThread { ensureBackgroundThread {
val config = config val config = config
val events = eventsHelper.getEventsToExport( val events = eventsHelper.getEventsToExport(
@@ -257,9 +259,24 @@ fun Context.backupEventsAndTasks() {
mkdirs() mkdirs()
} }
val exportFile = File(outputFolder, "$filename.ics") var exportFile = File(outputFolder, "$filename.ics")
var exportFilePath = exportFile.absolutePath
val outputStream = try { 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) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
null null
@@ -273,8 +290,8 @@ fun Context.backupEventsAndTasks() {
} }
MediaScannerConnection.scanFile( MediaScannerConnection.scanFile(
this, this,
arrayOf(exportFile.absolutePath), arrayOf(exportFilePath),
arrayOf(exportFile.getMimeType()) arrayOf(exportFilePath.getMimeType())
) { _, _ -> } ) { _, _ -> }
config.lastAutoBackupTime = getNowSeconds() config.lastAutoBackupTime = getNowSeconds()

View File

@@ -713,7 +713,11 @@ class WeekFragment : Fragment(), WeeklyCalendar {
@SuppressLint("NewApi") @SuppressLint("NewApi")
private fun addAllDayEvent(event: Event) { private fun addAllDayEvent(event: Event) {
(inflater.inflate(R.layout.week_all_day_event_marker, null, false) as ConstraintLayout).apply { (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() var textColor = backgroundColor.getContrastColor()
val adjustAlpha = if (event.isTask()) { val adjustAlpha = if (event.isTask()) {

View File

@@ -0,0 +1,3 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960">
<path android:fillColor="#FFFFFFFF" android:pathData="M315 434q-18 0-26.5-15.5T289 388l167-267q8-14 25-14t25 14l167 267q9 15 0.5 30.5T647 434H315zm391 446q-74 0-124-50t-50-124q0-74 50-124t124-50q74 0 124 50t50 124q0 74-50 124t-124 50zm-556-25q-13 0-21.5-8.5T120 825V581q0-13 8.5-21.5T150 551h244q13 0 21.5 8.5T424 581v244q0 13-8.5 21.5T394 855H150z"/>
</vector>

View File

@@ -507,24 +507,24 @@
android:importantForAccessibility="no" /> android:importantForAccessibility="no" />
<ImageView <ImageView
android:id="@+id/event_caldav_color_image" android:id="@+id/event_color_image"
android:layout_width="@dimen/smaller_icon_size" android:layout_width="@dimen/smaller_icon_size"
android:layout_height="@dimen/smaller_icon_size" android:layout_height="@dimen/smaller_icon_size"
android:layout_below="@+id/event_availability_divider" android:layout_below="@+id/event_availability_divider"
android:layout_alignTop="@+id/event_caldav_color_holder" android:layout_alignTop="@+id/event_color_holder"
android:layout_alignBottom="@+id/event_caldav_color_holder" android:layout_alignBottom="@+id/event_color_holder"
android:layout_marginStart="@dimen/normal_margin" android:layout_marginStart="@dimen/normal_margin"
android:padding="@dimen/medium_margin" android:padding="@dimen/medium_margin"
android:src="@drawable/ic_color_vector" /> android:src="@drawable/ic_color_vector" />
<RelativeLayout <RelativeLayout
android:id="@+id/event_caldav_color_holder" android:id="@+id/event_color_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/event_availability_divider" android:layout_below="@+id/event_availability_divider"
android:layout_marginTop="@dimen/medium_margin" android:layout_marginTop="@dimen/medium_margin"
android:layout_marginBottom="@dimen/medium_margin" android:layout_marginBottom="@dimen/medium_margin"
android:layout_toEndOf="@+id/event_caldav_color_image" android:layout_toEndOf="@+id/event_color_image"
android:background="?attr/selectableItemBackground"> android:background="?attr/selectableItemBackground">
<com.simplemobiletools.commons.views.MyTextView <com.simplemobiletools.commons.views.MyTextView
@@ -533,14 +533,14 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/small_margin" android:layout_marginStart="@dimen/small_margin"
android:layout_marginEnd="@dimen/medium_margin" android:layout_marginEnd="@dimen/medium_margin"
android:layout_toStartOf="@+id/event_caldav_color" android:layout_toStartOf="@+id/event_color"
android:paddingTop="@dimen/normal_margin" android:paddingTop="@dimen/normal_margin"
android:paddingBottom="@dimen/normal_margin" android:paddingBottom="@dimen/normal_margin"
android:text="@string/event_color" android:text="@string/event_color"
android:textSize="@dimen/day_text_size" /> android:textSize="@dimen/day_text_size" />
<ImageView <ImageView
android:id="@+id/event_caldav_color" android:id="@+id/event_color"
android:layout_width="@dimen/color_sample_size" android:layout_width="@dimen/color_sample_size"
android:layout_height="@dimen/color_sample_size" android:layout_height="@dimen/color_sample_size"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
@@ -551,10 +551,10 @@
</RelativeLayout> </RelativeLayout>
<ImageView <ImageView
android:id="@+id/event_caldav_color_divider" android:id="@+id/event_color_divider"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/divider_height" android:layout_height="@dimen/divider_height"
android:layout_below="@+id/event_caldav_color_image" android:layout_below="@+id/event_color_image"
android:layout_marginTop="@dimen/medium_margin" android:layout_marginTop="@dimen/medium_margin"
android:background="@color/divider_grey" android:background="@color/divider_grey"
android:importantForAccessibility="no" /> android:importantForAccessibility="no" />
@@ -563,7 +563,7 @@
android:id="@+id/event_caldav_calendar_image" android:id="@+id/event_caldav_calendar_image"
android:layout_width="@dimen/smaller_icon_size" android:layout_width="@dimen/smaller_icon_size"
android:layout_height="@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_alignTop="@+id/event_caldav_calendar_holder"
android:layout_alignEnd="@+id/event_time_image" android:layout_alignEnd="@+id/event_time_image"
android:layout_alignBottom="@+id/event_caldav_calendar_holder" android:layout_alignBottom="@+id/event_caldav_calendar_holder"
@@ -576,7 +576,7 @@
android:id="@+id/event_caldav_calendar_holder" android:id="@+id/event_caldav_calendar_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" 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:layout_toEndOf="@+id/event_caldav_calendar_image"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:visibility="gone"> android:visibility="gone">
@@ -627,7 +627,7 @@
android:layout_alignBottom="@+id/event_type_holder" android:layout_alignBottom="@+id/event_type_holder"
android:layout_marginStart="@dimen/normal_margin" android:layout_marginStart="@dimen/normal_margin"
android:padding="@dimen/medium_margin" android:padding="@dimen/medium_margin"
android:src="@drawable/ic_color_vector" /> android:src="@drawable/ic_category_vector" />
<RelativeLayout <RelativeLayout
android:id="@+id/event_type_holder" android:id="@+id/event_type_holder"
@@ -645,20 +645,10 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/small_margin" android:layout_marginStart="@dimen/small_margin"
android:layout_marginEnd="@dimen/medium_margin" android:layout_marginEnd="@dimen/medium_margin"
android:layout_toStartOf="@+id/event_type_color"
android:paddingTop="@dimen/normal_margin" android:paddingTop="@dimen/normal_margin"
android:paddingBottom="@dimen/normal_margin" android:paddingBottom="@dimen/normal_margin"
android:textSize="@dimen/day_text_size" /> android:textSize="@dimen/day_text_size" />
<ImageView
android:id="@+id/event_type_color"
android:layout_width="@dimen/color_sample_size"
android:layout_height="@dimen/color_sample_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/activity_margin"
android:clickable="false" />
</RelativeLayout> </RelativeLayout>
<ImageView <ImageView

View File

@@ -316,23 +316,76 @@
android:importantForAccessibility="no" /> android:importantForAccessibility="no" />
<ImageView <ImageView
android:id="@+id/task_type_image" android:id="@+id/task_color_image"
android:layout_width="@dimen/smaller_icon_size" android:layout_width="@dimen/smaller_icon_size"
android:layout_height="@dimen/smaller_icon_size" android:layout_height="@dimen/smaller_icon_size"
android:layout_below="@+id/task_repetition_divider" android:layout_below="@+id/task_repetition_divider"
android:layout_alignTop="@+id/task_type_holder" android:layout_alignTop="@+id/task_color_holder"
android:layout_alignBottom="@+id/task_type_holder" android:layout_alignBottom="@+id/task_color_holder"
android:layout_marginStart="@dimen/normal_margin" android:layout_marginStart="@dimen/normal_margin"
android:padding="@dimen/medium_margin" android:padding="@dimen/medium_margin"
android:src="@drawable/ic_color_vector" /> android:src="@drawable/ic_color_vector" />
<RelativeLayout <RelativeLayout
android:id="@+id/task_type_holder" android:id="@+id/task_color_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/task_repetition_divider" android:layout_below="@+id/task_repetition_divider"
android:layout_marginTop="@dimen/medium_margin" android:layout_marginTop="@dimen/medium_margin"
android:layout_marginBottom="@dimen/medium_margin" android:layout_marginBottom="@dimen/medium_margin"
android:layout_toEndOf="@+id/task_color_image"
android:background="?attr/selectableItemBackground">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/task_color_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/small_margin"
android:layout_marginEnd="@dimen/medium_margin"
android:layout_toStartOf="@+id/task_color"
android:paddingTop="@dimen/normal_margin"
android:paddingBottom="@dimen/normal_margin"
android:text="@string/task_color"
android:textSize="@dimen/day_text_size" />
<ImageView
android:id="@+id/task_color"
android:layout_width="@dimen/color_sample_size"
android:layout_height="@dimen/color_sample_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/activity_margin"
android:clickable="false" />
</RelativeLayout>
<ImageView
android:id="@+id/task_color_divider"
android:layout_width="match_parent"
android:layout_height="@dimen/divider_height"
android:layout_below="@+id/task_color_image"
android:layout_marginTop="@dimen/medium_margin"
android:background="@color/divider_grey"
android:importantForAccessibility="no" />
<ImageView
android:id="@+id/task_type_image"
android:layout_width="@dimen/smaller_icon_size"
android:layout_height="@dimen/smaller_icon_size"
android:layout_below="@+id/task_color_divider"
android:layout_alignTop="@+id/task_type_holder"
android:layout_alignBottom="@+id/task_type_holder"
android:layout_marginStart="@dimen/normal_margin"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_category_vector" />
<RelativeLayout
android:id="@+id/task_type_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/task_color_divider"
android:layout_marginTop="@dimen/medium_margin"
android:layout_marginBottom="@dimen/medium_margin"
android:layout_toEndOf="@+id/task_type_image" android:layout_toEndOf="@+id/task_type_image"
android:background="?attr/selectableItemBackground"> android:background="?attr/selectableItemBackground">
@@ -342,20 +395,10 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/small_margin" android:layout_marginStart="@dimen/small_margin"
android:layout_marginEnd="@dimen/medium_margin" android:layout_marginEnd="@dimen/medium_margin"
android:layout_toStartOf="@+id/task_type_color"
android:paddingTop="@dimen/normal_margin" android:paddingTop="@dimen/normal_margin"
android:paddingBottom="@dimen/normal_margin" android:paddingBottom="@dimen/normal_margin"
android:textSize="@dimen/day_text_size" /> android:textSize="@dimen/day_text_size" />
<ImageView
android:id="@+id/task_type_color"
android:layout_width="@dimen/color_sample_size"
android:layout_height="@dimen/color_sample_size"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/activity_margin"
android:clickable="false" />
</RelativeLayout> </RelativeLayout>
<ImageView <ImageView

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">تكرار المهمة</string> <string name="duplicate_task">تكرار المهمة</string>
<string name="mark_completed">وضع علامة \"مكتمل\"</string> <string name="mark_completed">وضع علامة \"مكتمل\"</string>
<string name="mark_incomplete">وضع علامة غير مكتملة</string> <string name="mark_incomplete">وضع علامة غير مكتملة</string>
<string name="task_color">لون المهمة</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">تكرار</string> <string name="repetition">تكرار</string>
<string name="no_repetition">بدون تكرار</string> <string name="no_repetition">بدون تكرار</string>
@@ -293,4 +294,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Təkrarlama</string> <string name="repetition">Təkrarlama</string>
<string name="no_repetition">Təkrarlama yoxdur</string> <string name="no_repetition">Təkrarlama yoxdur</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Дубляваць заданне</string> <string name="duplicate_task">Дубляваць заданне</string>
<string name="mark_completed">Адзначыць выкананае</string> <string name="mark_completed">Адзначыць выкананае</string>
<string name="mark_incomplete">Пазначыць як незавершанае</string> <string name="mark_incomplete">Пазначыць як незавершанае</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Паўтарэнне</string> <string name="repetition">Паўтарэнне</string>
<string name="no_repetition">Без паўтарэння</string> <string name="no_repetition">Без паўтарэння</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Дублиране на задача</string> <string name="duplicate_task">Дублиране на задача</string>
<string name="mark_completed">Означете като завършено</string> <string name="mark_completed">Означете като завършено</string>
<string name="mark_incomplete">Означете като незавършено</string> <string name="mark_incomplete">Означете като незавършено</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Повторение</string> <string name="repetition">Повторение</string>
<string name="no_repetition">Без повторение</string> <string name="no_repetition">Без повторение</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">পুনরাবৃত্তি</string> <string name="repetition">পুনরাবৃত্তি</string>
<string name="no_repetition">পুনরাবৃত্তি নেই</string> <string name="no_repetition">পুনরাবৃত্তি নেই</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Addegouezh</string> <string name="repetition">Addegouezh</string>
<string name="no_repetition">Addegouezh ebet</string> <string name="no_repetition">Addegouezh ebet</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplica la tasca</string> <string name="duplicate_task">Duplica la tasca</string>
<string name="mark_completed">Marca com a completada</string> <string name="mark_completed">Marca com a completada</string>
<string name="mark_incomplete">Marca com a no completada</string> <string name="mark_incomplete">Marca com a no completada</string>
<string name="task_color">Color de la tasca</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetició</string> <string name="repetition">Repetició</string>
<string name="no_repetition">Sense repetició</string> <string name="no_repetition">Sense repetició</string>
@@ -281,4 +282,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Zkopírovat úkol</string> <string name="duplicate_task">Zkopírovat úkol</string>
<string name="mark_completed">Označit jako dokončený</string> <string name="mark_completed">Označit jako dokončený</string>
<string name="mark_incomplete">Označit jako nedokončený</string> <string name="mark_incomplete">Označit jako nedokončený</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Opakování</string> <string name="repetition">Opakování</string>
<string name="no_repetition">Neopakuje se</string> <string name="no_repetition">Neopakuje se</string>

View File

@@ -31,8 +31,8 @@
<string name="public_event_notification_text">En begivenhed er forestående</string> <string name="public_event_notification_text">En begivenhed er forestående</string>
<string name="saving_filtered_out">Gemmer - men den valgte begivenhedstype er filtreret fra under Menu - Filter</string> <string name="saving_filtered_out">Gemmer - men den valgte begivenhedstype er filtreret fra under Menu - Filter</string>
<string name="everything_filtered_out">Du har filtreret alle typer begivenheder fra</string> <string name="everything_filtered_out">Du har filtreret alle typer begivenheder fra</string>
<string name="event_color">Event color</string> <string name="event_color">Farve på begivenhed</string>
<string name="default_calendar_color">Default calendar color</string> <string name="default_calendar_color">Kalenderens standardfarve</string>
<!-- Tasks --> <!-- Tasks -->
<string name="task">Opgave</string> <string name="task">Opgave</string>
<string name="tasks">Opgaver</string> <string name="tasks">Opgaver</string>
@@ -42,6 +42,7 @@
<string name="duplicate_task">Kopier opgave</string> <string name="duplicate_task">Kopier opgave</string>
<string name="mark_completed">Marker som afsluttet</string> <string name="mark_completed">Marker som afsluttet</string>
<string name="mark_incomplete">Marker som uafsluttet</string> <string name="mark_incomplete">Marker som uafsluttet</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Gentagelse</string> <string name="repetition">Gentagelse</string>
<string name="no_repetition">Gentages ikke</string> <string name="no_repetition">Gentages ikke</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Aufgabe duplizieren</string> <string name="duplicate_task">Aufgabe duplizieren</string>
<string name="mark_completed">Als abgeschlossen markieren</string> <string name="mark_completed">Als abgeschlossen markieren</string>
<string name="mark_incomplete">Als unvollständig markieren</string> <string name="mark_incomplete">Als unvollständig markieren</string>
<string name="task_color">Aufgabenfarbe</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Wiederholung</string> <string name="repetition">Wiederholung</string>
<string name="no_repetition">Keine Wiederholung</string> <string name="no_repetition">Keine Wiederholung</string>
@@ -281,4 +282,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Διπλή εργασία</string> <string name="duplicate_task">Διπλή εργασία</string>
<string name="mark_completed">Σήμανση ολοκλ/μένη</string> <string name="mark_completed">Σήμανση ολοκλ/μένη</string>
<string name="mark_incomplete">Σήμανση μη ολοκλ/μένη</string> <string name="mark_incomplete">Σήμανση μη ολοκλ/μένη</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Επανάληψη</string> <string name="repetition">Επανάληψη</string>
<string name="no_repetition">Χωρίς Επανάληψη</string> <string name="no_repetition">Χωρίς Επανάληψη</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetition</string> <string name="repetition">Repetition</string>
<string name="no_repetition">No repetition</string> <string name="no_repetition">No repetition</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicar tarea</string> <string name="duplicate_task">Duplicar tarea</string>
<string name="mark_completed">Marcar como completada</string> <string name="mark_completed">Marcar como completada</string>
<string name="mark_incomplete">Marcar como no completada</string> <string name="mark_incomplete">Marcar como no completada</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetir</string> <string name="repetition">Repetir</string>
<string name="no_repetition">No repetir</string> <string name="no_repetition">No repetir</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Tee ülesandest koopia</string> <string name="duplicate_task">Tee ülesandest koopia</string>
<string name="mark_completed">Märgi tehtuks</string> <string name="mark_completed">Märgi tehtuks</string>
<string name="mark_incomplete">Märgi poolikuks</string> <string name="mark_incomplete">Märgi poolikuks</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Kordus</string> <string name="repetition">Kordus</string>
<string name="no_repetition">Ära korda</string> <string name="no_repetition">Ära korda</string>

View File

@@ -9,7 +9,7 @@
<string name="monthly_daily_view">Hilabeteko + eguneko ikuspegia</string> <string name="monthly_daily_view">Hilabeteko + eguneko ikuspegia</string>
<string name="yearly_view">Urteko ikuspegia</string> <string name="yearly_view">Urteko ikuspegia</string>
<string name="simple_event_list">Gertaera-zerrenda sinplea</string> <string name="simple_event_list">Gertaera-zerrenda sinplea</string>
<string name="no_upcoming_events">No upcoming events.</string> <string name="no_upcoming_events">Ez dago hurbileko gertaerarik.</string>
<string name="go_to_today">Joan gaurko egunera</string> <string name="go_to_today">Joan gaurko egunera</string>
<string name="go_to_date">Joan data zehatz batera</string> <string name="go_to_date">Joan data zehatz batera</string>
<!-- Widget titles --> <!-- Widget titles -->
@@ -29,19 +29,20 @@
<string name="filter_events_by_type">Iragazi gertaerak motaren arabera</string> <string name="filter_events_by_type">Iragazi gertaerak motaren arabera</string>
<string name="please_fill_location">Bete kokalekua mapan erakusteko</string> <string name="please_fill_location">Bete kokalekua mapan erakusteko</string>
<string name="public_event_notification_text">Gertaera bat dator</string> <string name="public_event_notification_text">Gertaera bat dator</string>
<string name="saving_filtered_out">Saving… But the selected event type is filtered out in the top Menu - Filter</string> <string name="saving_filtered_out">Gordetzen… Baina hautatutako gertaera mota goiko menuko - Iragazkia-ren bidez iragazten da</string>
<string name="everything_filtered_out">You have filtered out all event types</string> <string name="everything_filtered_out">Gertaera mota guztiak iragazi dituzu</string>
<string name="event_color">Event color</string> <string name="event_color">Event color</string>
<string name="default_calendar_color">Default calendar color</string> <string name="default_calendar_color">Default calendar color</string>
<!-- Tasks --> <!-- Tasks -->
<string name="task">Task</string> <string name="task">Zeregina</string>
<string name="tasks">Tasks</string> <string name="tasks">Zereginak</string>
<string name="edit_task">Edit Task</string> <string name="edit_task">Editatu zeregina</string>
<string name="new_task">New Task</string> <string name="new_task">Zeregin berria</string>
<string name="create_new_task">Create a new task</string> <string name="create_new_task">Sortu zeregin berri bat</string>
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Bikoiztu zeregina</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Burutu gisa markatu</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Markatu burutu gabeko gisa</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Errepikapena</string> <string name="repetition">Errepikapena</string>
<string name="no_repetition">Errepikapenik ez</string> <string name="no_repetition">Errepikapenik ez</string>
@@ -55,7 +56,7 @@
<string name="repeat_till">Noiz arte errepikatu</string> <string name="repeat_till">Noiz arte errepikatu</string>
<string name="forever">Betiko</string> <string name="forever">Betiko</string>
<string name="event_is_repeatable">Gertaera errepikagarria da</string> <string name="event_is_repeatable">Gertaera errepikagarria da</string>
<string name="task_is_repeatable">The task is repeatable</string> <string name="task_is_repeatable">Zeregina errepika daiteke</string>
<string name="selection_contains_repetition">Hautaketak errepikatzen diren gertaerak ditu</string> <string name="selection_contains_repetition">Hautaketak errepikatzen diren gertaerak ditu</string>
<string name="delete_one_only">Ezabatu hautatutako gertaera soilik</string> <string name="delete_one_only">Ezabatu hautatutako gertaera soilik</string>
<string name="delete_future_occurrences">Ezabatu gertaera hau eta datozen guztiak</string> <string name="delete_future_occurrences">Ezabatu gertaera hau eta datozen guztiak</string>
@@ -68,7 +69,7 @@
<string name="repeat_forever">Errepikatu betiko</string> <string name="repeat_forever">Errepikatu betiko</string>
<string name="times">aldiz</string> <string name="times">aldiz</string>
<string name="repeat">Errepikatu</string> <string name="repeat">Errepikatu</string>
<string name="repeat_on">Errepikatu egun hauetan:</string> <string name="repeat_on">Errepikatu egun hauetan</string>
<string name="selected_days">Hautatutako egunetan</string> <string name="selected_days">Hautatutako egunetan</string>
<string name="the_same_day">Egun bera</string> <string name="the_same_day">Egun bera</string>
<string name="the_last_day">Azken eguna</string> <string name="the_last_day">Azken eguna</string>
@@ -76,7 +77,7 @@
<string name="repeat_on_the_last_day_monthly">Errepikatu hilabeteko azken egunean</string> <string name="repeat_on_the_last_day_monthly">Errepikatu hilabeteko azken egunean</string>
<string name="repeat_on_the_same_day_yearly">Errepikatu urtero egun berean</string> <string name="repeat_on_the_same_day_yearly">Errepikatu urtero egun berean</string>
<string name="repeat_every_m">Errepikatze-maiztasuna</string> <string name="repeat_every_m">Errepikatze-maiztasuna</string>
<string name="every_m">Maiztasuna:</string> <string name="every_m">Maiztasuna</string>
<string name="first_m">lehenengo</string> <string name="first_m">lehenengo</string>
<string name="second_m">bigarren</string> <string name="second_m">bigarren</string>
<string name="third_m">hirugarren</string> <string name="third_m">hirugarren</string>
@@ -85,8 +86,8 @@
<string name="last_m">azken</string> <string name="last_m">azken</string>
<!-- alternative versions for some languages, use the same translations if you are not sure what this means --> <!-- alternative versions for some languages, use the same translations if you are not sure what this means -->
<!-- used in repetition, like "Every first Sunday" --> <!-- used in repetition, like "Every first Sunday" -->
<string name="repeat_every_f">Erepikatze-maiztasuna:</string> <string name="repeat_every_f">Errepikatze-maiztasuna</string>
<string name="every_f">Maiztasuna:</string> <string name="every_f">Maiztasuna</string>
<string name="first_f">lehenengo</string> <string name="first_f">lehenengo</string>
<string name="second_f">bigarren</string> <string name="second_f">bigarren</string>
<string name="third_f">hirugarren</string> <string name="third_f">hirugarren</string>
@@ -99,20 +100,20 @@
<string name="no_birthdays">Urtebetetzerik ez da aurkitu</string> <string name="no_birthdays">Urtebetetzerik ez da aurkitu</string>
<string name="no_new_birthdays">Urtebetetze berririk ez da aurkitu</string> <string name="no_new_birthdays">Urtebetetze berririk ez da aurkitu</string>
<string name="birthdays_added">Urtebetetzeak ondo gehitu dira</string> <string name="birthdays_added">Urtebetetzeak ondo gehitu dira</string>
<string name="add_birthdays_automatically">Add new birthdays automatically</string> <string name="add_birthdays_automatically">Gehitu urtebetetze berriak automatikoki</string>
<!-- Anniversaries --> <!-- Anniversaries -->
<string name="anniversaries">Urteurrenak</string> <string name="anniversaries">Urteurrenak</string>
<string name="add_anniversaries">Gehitu kontaktuen urteurrenak</string> <string name="add_anniversaries">Gehitu kontaktuen urteurrenak</string>
<string name="no_anniversaries">Urteurrenik ez da aurkitu</string> <string name="no_anniversaries">Urteurrenik ez da aurkitu</string>
<string name="no_new_anniversaries">Urteurren berririk ez da aurkitu</string> <string name="no_new_anniversaries">Urteurren berririk ez da aurkitu</string>
<string name="anniversaries_added">Urteurrenak ondo gehitu dira</string> <string name="anniversaries_added">Urteurrenak ondo gehitu dira</string>
<string name="add_anniversaries_automatically">Add new anniversaries automatically</string> <string name="add_anniversaries_automatically">Gehitu urtebetetze berriak automatikoki</string>
<!-- Event Reminders --> <!-- Event Reminders -->
<string name="reminder">Abisua</string> <string name="reminder">Abisua</string>
<string name="before">hau baino lehen:</string> <string name="before">hau baino lehen</string>
<string name="add_another_reminder">Gehitu beste abisu bat</string> <string name="add_another_reminder">Gehitu beste abisu bat</string>
<string name="event_reminders">Gertaera-abisua</string> <string name="event_reminders">Gertaera-abisua</string>
<string name="reminders">Reminders</string> <string name="reminders">Oroigarriak</string>
<!-- Event attendees --> <!-- Event attendees -->
<string name="add_another_attendee">Gehitu beste parte-hartzaile bat</string> <string name="add_another_attendee">Gehitu beste parte-hartzaile bat</string>
<string name="my_status">Nire egoera:</string> <string name="my_status">Nire egoera:</string>
@@ -130,18 +131,18 @@
<string name="export_events_to_ics">Esportatu gertaerak .ics fitxategi batetik</string> <string name="export_events_to_ics">Esportatu gertaerak .ics fitxategi batetik</string>
<string name="default_event_type">Lehenetsitako gertaera mota</string> <string name="default_event_type">Lehenetsitako gertaera mota</string>
<string name="export_past_events_too">Esportatu iraganeko gertaerak ere bai</string> <string name="export_past_events_too">Esportatu iraganeko gertaerak ere bai</string>
<string name="export_tasks">Export tasks</string> <string name="export_tasks">Esportatu zereginak</string>
<string name="export_past_entries">Export past entries too</string> <string name="export_past_entries">Esportatu iraganeko sarrerak ere</string>
<string name="include_event_types">Gehitu gertaera motak</string> <string name="include_event_types">Gehitu gertaera motak</string>
<string name="filename_without_ics">Fitxategi-izena (.ics gabe)</string> <string name="filename_without_ics">Fitxategi-izena (.ics gabe)</string>
<string name="ignore_event_types">Ignore event types in the file, always use the default one</string> <string name="ignore_event_types">Ez ikusi gertaera motak fitxategian, erabili beti lehenetsitakoa</string>
<!-- Event details --> <!-- Event details -->
<string name="location">Kokalekua</string> <string name="location">Kokalekua</string>
<string name="description">Deskripzioa</string> <string name="description">Deskripzioa</string>
<string name="all_day">Egun osokoa</string> <string name="all_day">Egun osokoa</string>
<!-- Weekly view --> <!-- Weekly view -->
<string name="week">Astea</string> <string name="week">Astea</string>
<string name="start_week_with_current_day">Start week with the current day</string> <string name="start_week_with_current_day">Hasi astea uneko egunarekin</string>
<!-- Event types --> <!-- Event types -->
<string name="event_types">Gertaera motak</string> <string name="event_types">Gertaera motak</string>
<string name="add_new_type">Gehitu mota berria</string> <string name="add_new_type">Gehitu mota berria</string>
@@ -178,14 +179,14 @@
<string name="event_lists">Gertaera-zerrendak</string> <string name="event_lists">Gertaera-zerrendak</string>
<string name="display_past_events">Bistaratu iraganeko gertaerak</string> <string name="display_past_events">Bistaratu iraganeko gertaerak</string>
<string name="replace_description_with_location">Ordeztu gertaeraren deskripzioa kokalekuarekin</string> <string name="replace_description_with_location">Ordeztu gertaeraren deskripzioa kokalekuarekin</string>
<string name="display_description_or_location">Display description or location</string> <string name="display_description_or_location">Bistaratu deskribapena edo kokapena</string>
<string name="delete_all_events">Ezabatu gertaera guztiak</string> <string name="delete_all_events">Ezabatu gertaera guztiak</string>
<string name="delete_all_events_and_tasks">Delete all events and tasks</string> <string name="delete_all_events_and_tasks">Ezabatu gertaera eta zeregin guztiak</string>
<string name="delete_all_events_confirmation">Ziur zaude gertaera guztiak ezabatu nahi dituzula\? Honek gertaera motak eta bestelako ezarpenak berdin utziko ditu.</string> <string name="delete_all_events_confirmation">Ziur zaude gertaera guztiak ezabatu nahi dituzula\? Honek gertaera motak eta bestelako ezarpenak berdin utziko ditu.</string>
<string name="show_a_grid">Erakutsi sareta</string> <string name="show_a_grid">Erakutsi sareta</string>
<string name="loop_reminders">Errepikatu abisuak baztertu arte</string> <string name="loop_reminders">Errepikatu abisuak baztertu arte</string>
<string name="dim_past_events">Lausotu iraganeko gertaerak</string> <string name="dim_past_events">Lausotu iraganeko gertaerak</string>
<string name="dim_completed_tasks">Dim completed tasks</string> <string name="dim_completed_tasks">Indargabetu burututako zereginak</string>
<string name="events">Gertaerak</string> <string name="events">Gertaerak</string>
<string name="reminder_stream">Abisuek erabilitako audio-transmisioa</string> <string name="reminder_stream">Abisuek erabilitako audio-transmisioa</string>
<string name="system_stream">Sistema</string> <string name="system_stream">Sistema</string>
@@ -206,10 +207,10 @@
<string name="last_used_one">Erabilitako azkena</string> <string name="last_used_one">Erabilitako azkena</string>
<string name="other_time">Bestelako denbora</string> <string name="other_time">Bestelako denbora</string>
<string name="highlight_weekends">Nabarmendu asteburuak ikuspegi batzuetan</string> <string name="highlight_weekends">Nabarmendu asteburuak ikuspegi batzuetan</string>
<string name="highlight_weekends_color">Color of highlighted weekends</string> <string name="highlight_weekends_color">Nabarmendutako asteburuen kolorea</string>
<string name="allow_changing_time_zones">Baimendu gertaeren ordu-zonak aldatzea</string> <string name="allow_changing_time_zones">Baimendu gertaeren ordu-zonak aldatzea</string>
<string name="manage_quick_filter_event_types">Manage quick filter event types</string> <string name="manage_quick_filter_event_types">Kudeatu iragazki bizkorreko gertaera motak</string>
<string name="allow_creating_tasks">Allow creating tasks</string> <string name="allow_creating_tasks">Baimendu zereginak sortzea</string>
<!-- CalDAV sync --> <!-- CalDAV sync -->
<string name="caldav">CalDAV</string> <string name="caldav">CalDAV</string>
<string name="select_caldav_calendars">Hautatu sinkronizatu nahi dituzun egutegiak</string> <string name="select_caldav_calendars">Hautatu sinkronizatu nahi dituzun egutegiak</string>
@@ -226,8 +227,8 @@
<string name="caldav_event_not_found">Gertaera ez da aurkitu. Gaitu egutegi aproposerako CalDAV sinkronizazioa aplikazioaren ezarpenetan.</string> <string name="caldav_event_not_found">Gertaera ez da aurkitu. Gaitu egutegi aproposerako CalDAV sinkronizazioa aplikazioaren ezarpenetan.</string>
<string name="no_synchronized_calendars">Sinkronizatu daitekeen egutegirik ez da aurkitu</string> <string name="no_synchronized_calendars">Sinkronizatu daitekeen egutegirik ez da aurkitu</string>
<string name="status_free">Free</string> <string name="status_free">Free</string>
<string name="status_busy">Busy</string> <string name="status_busy">Lanpetuta</string>
<string name="fetching_event_failed">Fetching event %s failed</string> <string name="fetching_event_failed">%s gertaera eskuratzeak huts egin du</string>
<!-- alternative versions for some languages, use the same translations if you are not sure what this means --> <!-- alternative versions for some languages, use the same translations if you are not sure what this means -->
<!-- used in repetition, like "Every last Sunday" --> <!-- used in repetition, like "Every last Sunday" -->
<string name="monday_alt">astelehenean</string> <string name="monday_alt">astelehenean</string>
@@ -247,36 +248,36 @@
<string name="sample_description_4">Garraxi</string> <string name="sample_description_4">Garraxi</string>
<string name="sample_title_5">Kafea hartu</string> <string name="sample_title_5">Kafea hartu</string>
<!-- List widget config --> <!-- List widget config -->
<string name="show_events_happening">Show events happening:</string> <string name="show_events_happening">Erakutsi gertatzen ari diren gertaerak:</string>
<string name="within_the_next_one_year">Within the next 1 year</string> <string name="within_the_next_one_year">Hurrengo urtean</string>
<string name="today_only">Today only</string> <string name="today_only">Gaur bakarrik</string>
<string name="within_the_next">Within the next</string> <string name="within_the_next">Hurrengo zeraren barruan</string>
<plurals name="within_the_next_days"> <plurals name="within_the_next_days">
<item quantity="one">Within the next %d day</item> <item quantity="one">Hurrengo %d egunean</item>
<item quantity="other">Within the next %d days</item> <item quantity="other">Hurrengo %d egunetan</item>
</plurals> </plurals>
<plurals name="within_the_next_weeks"> <plurals name="within_the_next_weeks">
<item quantity="one">Within the next %d week</item> <item quantity="one">Hurrengo %d astean</item>
<item quantity="other">Within the next %d weeks</item> <item quantity="other">Hurrengo %d astetan</item>
</plurals> </plurals>
<plurals name="within_the_next_months"> <plurals name="within_the_next_months">
<item quantity="one">Within the next %d month</item> <item quantity="one">Hurrengo %d hilabetean</item>
<item quantity="other">Within the next %d months</item> <item quantity="other">Hurrengo %d hilabetetan</item>
</plurals> </plurals>
<!-- FAQ --> <!-- FAQ -->
<string name="faq_1_title">Nola kendu ditzaket \"Gehitu jaiegunak\" botoiarekin inportatutako jaiegunak\?</string> <string name="faq_1_title">Nola kendu ditzaket \"Gehitu jaiegunak\" botoiarekin inportatutako jaiegunak\?</string>
<string name="faq_1_text">Modu horretan sortutako jaiegunak \"Jaiegunak\" deituriko gertaera mota berrian sartzen dira. Joan Ezarpenak -&gt; Kudeatu gertaera motak atalera, sakatu luze gertaera mota hori eta ezabatu zakarrontzia hautatuz.</string> <string name="faq_1_text">Modu horretan sortutako jaiegunak \"Jaiegunak\" deituriko gertaera mota berrian sartzen dira. Joan Ezarpenak -&gt; Kudeatu gertaera motak atalera, sakatu luze gertaera mota hori eta ezabatu zakarrontzia hautatuz.</string>
<string name="faq_2_title">Gertaerak Google Calendar bidez sinkronizatu ditzaket, edo CalDAV onartzen duen bestelako zerbitzurik\?</string> <string name="faq_2_title">Gertaerak Google Calendar bidez sinkronizatu ditzaket, edo CalDAV onartzen duen bestelako zerbitzurik\?</string>
<string name="faq_2_title_extra">Maybe even share calendars with other people?</string> <string name="faq_2_title_extra">Agian egutegiak beste pertsona batzuekin partekatu ere\?</string>
<string name="faq_2_text">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.</string> <string name="faq_2_text">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.</string>
<string name="faq_3_title">Abisu bisualak ikusten ditut, baina audiorik ez dut entzuten. Zer egin dezaket\?</string> <string name="faq_3_title">Abisu bisualak ikusten ditut, baina audiorik ez dut entzuten. Zer egin dezaket\?</string>
<string name="faq_3_text">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.</string> <string name="faq_3_text">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.</string>
<string name="faq_4_title">Aplikazioak ordu-zonak onartzen ditu\?</string> <string name="faq_4_title">Aplikazioak ordu-zonak onartzen ditu\?</string>
<string name="faq_4_text">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.</string> <string name="faq_4_text">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.</string>
<string name="faq_5_title">The app shows no notifications, why is that\?</string> <string name="faq_5_title">Aplikazioak ez du jakinarazpenik erakusten, zergatik\?</string>
<string name="faq_5_text">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 &lt;a href=https://dontkillmyapp.com&gt;https://dontkillmyapp.com&lt;/a&gt;, it has some useful tips.</string> <string name="faq_5_text">Egiaztatu gailuaren bateria eta jakinarazpenen ezarpenak, egiaztatu abisuak ez daudela blokeatuta edo aplikazioa bigarren planoan exekutatzea galarazten duen ezer ez dagoela. Baliteke &lt;a href=https://dontkillmyapp.com&gt;https://dontkillmyapp.com&lt;/a&gt; helbidera ere begiratu nahi izatea, aholku erabilgarriak ditu.</string>
<string name="faq_6_title">How can I modify or delete an existing event type\?</string> <string name="faq_6_title">Nola aldatu edo ezabatu dezaket lehendik dagoen gertaera mota bat\?</string>
<string name="faq_6_text">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.</string> <string name="faq_6_text">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.</string>
<!-- <!--
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Monista tehtävä</string> <string name="duplicate_task">Monista tehtävä</string>
<string name="mark_completed">Merkkaa valmiiksi</string> <string name="mark_completed">Merkkaa valmiiksi</string>
<string name="mark_incomplete">Merkkaa keskeneräiseksi</string> <string name="mark_incomplete">Merkkaa keskeneräiseksi</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Toisto</string> <string name="repetition">Toisto</string>
<string name="no_repetition">Ei toistoa</string> <string name="no_repetition">Ei toistoa</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Dupliquer la tâche</string> <string name="duplicate_task">Dupliquer la tâche</string>
<string name="mark_completed">Marquer comme terminé</string> <string name="mark_completed">Marquer comme terminé</string>
<string name="mark_incomplete">Marquer comme non terminé</string> <string name="mark_incomplete">Marquer comme non terminé</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Répétition</string> <string name="repetition">Répétition</string>
<string name="no_repetition">Aucune répétition</string> <string name="no_repetition">Aucune répétition</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Tarefa duplicada</string> <string name="duplicate_task">Tarefa duplicada</string>
<string name="mark_completed">Marcar como feita</string> <string name="mark_completed">Marcar como feita</string>
<string name="mark_incomplete">Marcar como sen facer</string> <string name="mark_incomplete">Marcar como sen facer</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetición</string> <string name="repetition">Repetición</string>
<string name="no_repetition">Sen repetición</string> <string name="no_repetition">Sen repetición</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">दुहराव</string> <string name="repetition">दुहराव</string>
<string name="no_repetition">No repetition</string> <string name="no_repetition">No repetition</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Dupliciraj zadatak</string> <string name="duplicate_task">Dupliciraj zadatak</string>
<string name="mark_completed">Označi kao završeno</string> <string name="mark_completed">Označi kao završeno</string>
<string name="mark_incomplete">Označi kao nezavršeno</string> <string name="mark_incomplete">Označi kao nezavršeno</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Ponavljanje</string> <string name="repetition">Ponavljanje</string>
<string name="no_repetition">Bez ponavljanja</string> <string name="no_repetition">Bez ponavljanja</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Feladat kettőzése</string> <string name="duplicate_task">Feladat kettőzése</string>
<string name="mark_completed">Megjelölés befejezettként</string> <string name="mark_completed">Megjelölés befejezettként</string>
<string name="mark_incomplete">Megjelölés nem befejezettként</string> <string name="mark_incomplete">Megjelölés nem befejezettként</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Ismétlés</string> <string name="repetition">Ismétlés</string>
<string name="no_repetition">Nincs ismétlés</string> <string name="no_repetition">Nincs ismétlés</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Gandakan tugas</string> <string name="duplicate_task">Gandakan tugas</string>
<string name="mark_completed">Tandai sebagai selesai</string> <string name="mark_completed">Tandai sebagai selesai</string>
<string name="mark_incomplete">Tandai sebagai belum selesai</string> <string name="mark_incomplete">Tandai sebagai belum selesai</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Perulangan</string> <string name="repetition">Perulangan</string>
<string name="no_repetition">Tidak ada perulangan</string> <string name="no_repetition">Tidak ada perulangan</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplica il compito</string> <string name="duplicate_task">Duplica il compito</string>
<string name="mark_completed">Segna come completato</string> <string name="mark_completed">Segna come completato</string>
<string name="mark_incomplete">Segno come incompleto</string> <string name="mark_incomplete">Segno come incompleto</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Ripeti</string> <string name="repetition">Ripeti</string>
<string name="no_repetition">Non ripetere</string> <string name="no_repetition">Non ripetere</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">משימה כפולה</string> <string name="duplicate_task">משימה כפולה</string>
<string name="mark_completed">סימן הושלם</string> <string name="mark_completed">סימן הושלם</string>
<string name="mark_incomplete">סמן כלא שלם</string> <string name="mark_incomplete">סמן כלא שלם</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">אירוע חוזר</string> <string name="repetition">אירוע חוזר</string>
<string name="no_repetition">אין חזרה</string> <string name="no_repetition">אין חזרה</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">タスクのコピー</string> <string name="duplicate_task">タスクのコピー</string>
<string name="mark_completed">完了にする</string> <string name="mark_completed">完了にする</string>
<string name="mark_incomplete">未完了にする</string> <string name="mark_incomplete">未完了にする</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">繰り返し</string> <string name="repetition">繰り返し</string>
<string name="no_repetition">繰り返さない</string> <string name="no_repetition">繰り返さない</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">반복</string> <string name="repetition">반복</string>
<string name="no_repetition">반복 없음</string> <string name="no_repetition">반복 없음</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Dubliuoti užduotį</string> <string name="duplicate_task">Dubliuoti užduotį</string>
<string name="mark_completed">Žymėti kaip įvykdytą</string> <string name="mark_completed">Žymėti kaip įvykdytą</string>
<string name="mark_incomplete">Žymėti kaip neįvykdytą</string> <string name="mark_incomplete">Žymėti kaip neįvykdytą</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Pasikartojimas</string> <string name="repetition">Pasikartojimas</string>
<string name="no_repetition">Be pasikartojimo</string> <string name="no_repetition">Be pasikartojimo</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Atkārtojošs</string> <string name="repetition">Atkārtojošs</string>
<string name="no_repetition">Bez atkārtošanās</string> <string name="no_repetition">Bez atkārtošanās</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Дупликатна задача</string> <string name="duplicate_task">Дупликатна задача</string>
<string name="mark_completed">Марк е завршен</string> <string name="mark_completed">Марк е завршен</string>
<string name="mark_incomplete">Означи нецелосен</string> <string name="mark_incomplete">Означи нецелосен</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Повторување</string> <string name="repetition">Повторување</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetition</string> <string name="repetition">Repetition</string>
<string name="no_repetition">No repetition</string> <string name="no_repetition">No repetition</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Dupliser oppgave</string> <string name="duplicate_task">Dupliser oppgave</string>
<string name="mark_completed">Marker som fullført</string> <string name="mark_completed">Marker som fullført</string>
<string name="mark_incomplete">Marker som ufullstendig</string> <string name="mark_incomplete">Marker som ufullstendig</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Gjentagelse</string> <string name="repetition">Gjentagelse</string>
<string name="no_repetition">Ingen gjentagelse</string> <string name="no_repetition">Ingen gjentagelse</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Taak dupliceren</string> <string name="duplicate_task">Taak dupliceren</string>
<string name="mark_completed">Als voltooid markeren</string> <string name="mark_completed">Als voltooid markeren</string>
<string name="mark_incomplete">Als onvoltooid markeren</string> <string name="mark_incomplete">Als onvoltooid markeren</string>
<string name="task_color">Taakkleur</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Herhaling</string> <string name="repetition">Herhaling</string>
<string name="no_repetition">Niet herhalen</string> <string name="no_repetition">Niet herhalen</string>
@@ -281,4 +282,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -71,6 +71,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<string name="repetition">Repetition</string> <string name="repetition">Repetition</string>
<string name="no_repetition">No repetition</string> <string name="no_repetition">No repetition</string>
<string name="daily">Daily</string> <string name="daily">Daily</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Powiel zadanie</string> <string name="duplicate_task">Powiel zadanie</string>
<string name="mark_completed">Oznacz jako ukończone</string> <string name="mark_completed">Oznacz jako ukończone</string>
<string name="mark_incomplete">Oznacz jako nieukończone</string> <string name="mark_incomplete">Oznacz jako nieukończone</string>
<string name="task_color">Kolor zadania</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Powtarzanie</string> <string name="repetition">Powtarzanie</string>
<string name="no_repetition">Brak powtarzania</string> <string name="no_repetition">Brak powtarzania</string>
@@ -287,4 +288,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicar tarefa</string> <string name="duplicate_task">Duplicar tarefa</string>
<string name="mark_completed">Marcar como concluída</string> <string name="mark_completed">Marcar como concluída</string>
<string name="mark_incomplete">Marcar como incompleta</string> <string name="mark_incomplete">Marcar como incompleta</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetição</string> <string name="repetition">Repetição</string>
<string name="no_repetition">Sem repetição</string> <string name="no_repetition">Sem repetição</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicar tarefa</string> <string name="duplicate_task">Duplicar tarefa</string>
<string name="mark_completed">Marcar como terminado</string> <string name="mark_completed">Marcar como terminado</string>
<string name="mark_incomplete">Marcar como não terminado</string> <string name="mark_incomplete">Marcar como não terminado</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetição</string> <string name="repetition">Repetição</string>
<string name="no_repetition">Sem repetição</string> <string name="no_repetition">Sem repetição</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicați sarcina</string> <string name="duplicate_task">Duplicați sarcina</string>
<string name="mark_completed">Marcare finalizată</string> <string name="mark_completed">Marcare finalizată</string>
<string name="mark_incomplete">Marcare incompletă</string> <string name="mark_incomplete">Marcare incompletă</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetiție</string> <string name="repetition">Repetiție</string>
<string name="no_repetition">Fără repetiție</string> <string name="no_repetition">Fără repetiție</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Дублировать задачу</string> <string name="duplicate_task">Дублировать задачу</string>
<string name="mark_completed">Пометить завершённой</string> <string name="mark_completed">Пометить завершённой</string>
<string name="mark_incomplete">Пометить незавершённой</string> <string name="mark_incomplete">Пометить незавершённой</string>
<string name="task_color">Цвет задачи</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Повторять</string> <string name="repetition">Повторять</string>
<string name="no_repetition">Без повторения</string> <string name="no_repetition">Без повторения</string>
@@ -287,4 +288,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -45,6 +45,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetition</string> <string name="repetition">Repetition</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplikovať úlohu</string> <string name="duplicate_task">Duplikovať úlohu</string>
<string name="mark_completed">Označiť ako dokončenú</string> <string name="mark_completed">Označiť ako dokončenú</string>
<string name="mark_incomplete">Označiť ako nedokončenú</string> <string name="mark_incomplete">Označiť ako nedokončenú</string>
<string name="task_color">Farba úlohy</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Opakovanie</string> <string name="repetition">Opakovanie</string>
<string name="no_repetition">Neopakuje sa</string> <string name="no_repetition">Neopakuje sa</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Podvojeno opravilo</string> <string name="duplicate_task">Podvojeno opravilo</string>
<string name="mark_completed">Označi dokončano</string> <string name="mark_completed">Označi dokončano</string>
<string name="mark_incomplete">Označi nepopolno</string> <string name="mark_incomplete">Označi nepopolno</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Ponavljanje</string> <string name="repetition">Ponavljanje</string>
<string name="no_repetition">Brez ponavljanja</string> <string name="no_repetition">Brez ponavljanja</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Дуплирани задатак</string> <string name="duplicate_task">Дуплирани задатак</string>
<string name="mark_completed">Означи као довршено</string> <string name="mark_completed">Означи као довршено</string>
<string name="mark_incomplete">Означи као непотпуно</string> <string name="mark_incomplete">Означи као непотпуно</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Понављање</string> <string name="repetition">Понављање</string>
<string name="no_repetition">Без понављања</string> <string name="no_repetition">Без понављања</string>

View File

@@ -31,8 +31,8 @@
<string name="public_event_notification_text">Du har en kommande händelse</string> <string name="public_event_notification_text">Du har en kommande händelse</string>
<string name="saving_filtered_out">Sparar... Men den valda händelsetypen filtreras bort i den översta menyn - Filter</string> <string name="saving_filtered_out">Sparar... Men den valda händelsetypen filtreras bort i den översta menyn - Filter</string>
<string name="everything_filtered_out">Du har filtrerat bort alla händelsetyper</string> <string name="everything_filtered_out">Du har filtrerat bort alla händelsetyper</string>
<string name="event_color">Event color</string> <string name="event_color">Händelsens färg</string>
<string name="default_calendar_color">Default calendar color</string> <string name="default_calendar_color">Kalenderns standardfärg</string>
<!-- Tasks --> <!-- Tasks -->
<string name="task">Uppgift</string> <string name="task">Uppgift</string>
<string name="tasks">Uppgifter</string> <string name="tasks">Uppgifter</string>
@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicera uppgift</string> <string name="duplicate_task">Duplicera uppgift</string>
<string name="mark_completed">Markera avklarad</string> <string name="mark_completed">Markera avklarad</string>
<string name="mark_incomplete">Markera ofullständig</string> <string name="mark_incomplete">Markera ofullständig</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Upprepning</string> <string name="repetition">Upprepning</string>
<string name="no_repetition">Ingen upprepning</string> <string name="no_repetition">Ingen upprepning</string>
@@ -266,7 +267,7 @@
<!-- FAQ --> <!-- FAQ -->
<string name="faq_1_title">Hur kan jag ta bort helgdagar som importerats via knappen \"Lägg till helgdagar\"\?</string> <string name="faq_1_title">Hur kan jag ta bort helgdagar som importerats via knappen \"Lägg till helgdagar\"\?</string>
<string name="faq_1_text">Helgdagar som skapas på detta sätt läggs in i en ny händelsetyp som kallas \"Helgdagar\". Du kan gå till Inställningar -&gt; Hantera händelsetyper, trycka länge på den aktuella händelsetypen och ta bort den genom att välja papperskorgen.</string> <string name="faq_1_text">Helgdagar som skapas på detta sätt läggs in i en ny händelsetyp som kallas \"Helgdagar\". Du kan gå till Inställningar -&gt; Hantera händelsetyper, trycka länge på den aktuella händelsetypen och ta bort den genom att välja papperskorgen.</string>
<string name="faq_2_title">Kan jag synkronisera mina evenemang via Google Calendar eller en annan tjänst som stöder CalDAV\?</string> <string name="faq_2_title">Kan jag synkronisera mina händelser via Google Kalender eller en annan tjänst som stöder CalDAV\?</string>
<string name="faq_2_title_extra">Kanske även dela kalendrar med andra\?</string> <string name="faq_2_title_extra">Kanske även dela kalendrar med andra\?</string>
<string name="faq_2_text">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.</string> <string name="faq_2_text">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.</string>
<string name="faq_3_title">Jag ser de visuella påminnelserna, men hör inget ljud. Vad kan jag göra\?</string> <string name="faq_3_title">Jag ser de visuella påminnelserna, men hör inget ljud. Vad kan jag göra\?</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetition</string> <string name="repetition">Repetition</string>
<string name="no_repetition">No repetition</string> <string name="no_repetition">No repetition</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Görevi çoğalt</string> <string name="duplicate_task">Görevi çoğalt</string>
<string name="mark_completed">Tamamlandı olarak işaretle</string> <string name="mark_completed">Tamamlandı olarak işaretle</string>
<string name="mark_incomplete">Tamamlanmadı olarak işaretle</string> <string name="mark_incomplete">Tamamlanmadı olarak işaretle</string>
<string name="task_color">Görev rengi</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Tekrarla</string> <string name="repetition">Tekrarla</string>
<string name="no_repetition">Tekrarlama yok</string> <string name="no_repetition">Tekrarlama yok</string>
@@ -281,4 +282,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Дублювати завдання</string> <string name="duplicate_task">Дублювати завдання</string>
<string name="mark_completed">Позначити завершеним</string> <string name="mark_completed">Позначити завершеним</string>
<string name="mark_incomplete">Позначити незавершеним</string> <string name="mark_incomplete">Позначити незавершеним</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Повторювати</string> <string name="repetition">Повторювати</string>
<string name="no_repetition">Без повторень</string> <string name="no_repetition">Без повторень</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">重复任务</string> <string name="duplicate_task">重复任务</string>
<string name="mark_completed">标记已完成</string> <string name="mark_completed">标记已完成</string>
<string name="mark_incomplete">标记未完成</string> <string name="mark_incomplete">标记未完成</string>
<string name="task_color">任务颜色</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">重复</string> <string name="repetition">重复</string>
<string name="no_repetition">不重复</string> <string name="no_repetition">不重复</string>
@@ -278,4 +279,4 @@
Haven't found some strings? There's more at Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
--> -->
</resources> </resources>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">重複</string> <string name="repetition">重複</string>
<string name="no_repetition">不重複</string> <string name="no_repetition">不重複</string>

View File

@@ -42,6 +42,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">標為已完成</string> <string name="mark_completed">標為已完成</string>
<string name="mark_incomplete">標為未完成</string> <string name="mark_incomplete">標為未完成</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">重複</string> <string name="repetition">重複</string>
<string name="no_repetition">不重複</string> <string name="no_repetition">不重複</string>

View File

@@ -45,6 +45,7 @@
<string name="duplicate_task">Duplicate task</string> <string name="duplicate_task">Duplicate task</string>
<string name="mark_completed">Mark completed</string> <string name="mark_completed">Mark completed</string>
<string name="mark_incomplete">Mark incomplete</string> <string name="mark_incomplete">Mark incomplete</string>
<string name="task_color">Task color</string>
<!-- Event Repetition --> <!-- Event Repetition -->
<string name="repetition">Repetition</string> <string name="repetition">Repetition</string>

View File

@@ -0,0 +1,3 @@
* Allow customizing individual event colors stored locally
* Fix a glitch with scheduled backups
* Added some translation, stability and UX improvements

View File

@@ -0,0 +1,3 @@
* Allow customizing individual event colors stored locally
* Fix a glitch with scheduled backups
* Added some translation, stability and UX improvements

View File

@@ -1 +1 @@
Widget calendario. Programma e pianifica appuntamenti. Calendario per il lavoro Calendario widget 2023 per Android. Programma appuntamenti, piani e promemoria

View File

@@ -1 +1 @@
Vienkāršs kalendārs Pro Vienkāršs kalendārs Pro

View File

@@ -1 +1 @@
简单移动日历 2023 。每一天的行程计划 & 约会提醒 Android 系统 2023 日历小部件 。预约规划、计划和提醒

View File

@@ -1 +1 @@
简单日历 Pro 简单日历 Pro