mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
Merge branch 'master' into master
This commit is contained in:
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,6 +1,20 @@
|
||||
Changelog
|
||||
==========
|
||||
|
||||
Version 6.21.9 *(2023-05-11)*
|
||||
----------------------------
|
||||
|
||||
* Allow customizing individual event colors stored locally
|
||||
* Fix a glitch with scheduled backups
|
||||
* Added some translation, stability and UX improvements
|
||||
|
||||
Version 6.21.8 *(2023-05-11)*
|
||||
----------------------------
|
||||
|
||||
* Allow customizing individual event colors stored locally
|
||||
* Fix a glitch with scheduled backups
|
||||
* Added some translation, stability and UX improvements
|
||||
|
||||
Version 6.21.7 *(2023-04-12)*
|
||||
----------------------------
|
||||
|
||||
|
@@ -17,8 +17,8 @@ android {
|
||||
applicationId "com.simplemobiletools.calendar.pro"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 33
|
||||
versionCode 233
|
||||
versionName "6.21.7"
|
||||
versionCode 235
|
||||
versionName "6.21.9"
|
||||
multiDexEnabled true
|
||||
setProperty("archivesBaseName", "calendar")
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
@@ -70,13 +70,13 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:a98c3fa30f'
|
||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:79c7cde543'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
implementation "androidx.print:print:1.0.0"
|
||||
|
||||
kapt 'androidx.room:room-compiler:2.5.0'
|
||||
implementation 'androidx.room:room-runtime:2.5.0'
|
||||
annotationProcessor 'androidx.room:room-compiler:2.5.0'
|
||||
kapt 'androidx.room:room-compiler:2.5.1'
|
||||
implementation 'androidx.room:room-runtime:2.5.1'
|
||||
annotationProcessor 'androidx.room:room-compiler:2.5.1'
|
||||
}
|
||||
|
@@ -41,6 +41,7 @@
|
||||
android:appCategory="productivity"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_launcher_name"
|
||||
android:localeConfig="@xml/locale_config"
|
||||
android:roundIcon="@mipmap/ic_launcher"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
@@ -133,7 +134,8 @@
|
||||
android:exported="true"
|
||||
android:label="@string/new_event"
|
||||
android:launchMode="singleTask"
|
||||
android:parentActivityName=".activities.MainActivity">
|
||||
android:parentActivityName=".activities.MainActivity"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.EDIT" />
|
||||
@@ -157,7 +159,8 @@
|
||||
android:exported="false"
|
||||
android:label="@string/new_task"
|
||||
android:launchMode="singleTask"
|
||||
android:parentActivityName=".activities.MainActivity" />
|
||||
android:parentActivityName=".activities.MainActivity"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
|
||||
<activity
|
||||
android:name=".activities.SelectTimeZoneActivity"
|
||||
|
@@ -33,7 +33,9 @@ import com.simplemobiletools.calendar.pro.extensions.*
|
||||
import com.simplemobiletools.calendar.pro.helpers.*
|
||||
import com.simplemobiletools.calendar.pro.helpers.Formatter
|
||||
import com.simplemobiletools.calendar.pro.models.*
|
||||
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog
|
||||
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
|
||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
@@ -339,6 +341,10 @@ class EventActivity : SimpleActivity() {
|
||||
event_all_day.toggle()
|
||||
}
|
||||
|
||||
event_color_holder.setOnClickListener {
|
||||
showEventColorDialog()
|
||||
}
|
||||
|
||||
updateTextColors(event_nested_scrollview)
|
||||
updateIconColors()
|
||||
refreshMenuItems()
|
||||
@@ -646,11 +652,13 @@ class EventActivity : SimpleActivity() {
|
||||
event_repetition_limit_label.text = getString(R.string.repeat)
|
||||
resources.getString(R.string.forever)
|
||||
}
|
||||
|
||||
mRepeatLimit > 0 -> {
|
||||
event_repetition_limit_label.text = getString(R.string.repeat_till)
|
||||
val repeatLimitDateTime = Formatter.getDateTimeFromTS(mRepeatLimit)
|
||||
Formatter.getFullDate(this, repeatLimitDateTime)
|
||||
}
|
||||
|
||||
else -> {
|
||||
event_repetition_limit_label.text = getString(R.string.repeat)
|
||||
"${-mRepeatLimit} ${getString(R.string.times)}"
|
||||
@@ -664,12 +672,14 @@ class EventActivity : SimpleActivity() {
|
||||
mRepeatInterval.isXWeeklyRepetition() -> RepeatRuleWeeklyDialog(this, mRepeatRule) {
|
||||
setRepeatRule(it)
|
||||
}
|
||||
|
||||
mRepeatInterval.isXMonthlyRepetition() -> {
|
||||
val items = getAvailableMonthlyRepetitionRules()
|
||||
RadioGroupDialog(this, items, mRepeatRule) {
|
||||
setRepeatRule(it as Int)
|
||||
}
|
||||
}
|
||||
|
||||
mRepeatInterval.isXYearlyRepetition() -> {
|
||||
val items = getAvailableYearlyRepetitionRules()
|
||||
RadioGroupDialog(this, items, mRepeatRule) {
|
||||
@@ -786,6 +796,7 @@ class EventActivity : SimpleActivity() {
|
||||
mRepeatInterval.isXWeeklyRepetition() -> {
|
||||
event_repetition_rule.text = if (mRepeatRule == EVERY_DAY_BIT) getString(R.string.every_day) else getSelectedDaysString(mRepeatRule)
|
||||
}
|
||||
|
||||
mRepeatInterval.isXMonthlyRepetition() -> {
|
||||
val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY)
|
||||
R.string.repeat else R.string.repeat_on
|
||||
@@ -793,6 +804,7 @@ class EventActivity : SimpleActivity() {
|
||||
event_repetition_rule_label.text = getString(repeatString)
|
||||
event_repetition_rule.text = getMonthlyRepetitionRuleText()
|
||||
}
|
||||
|
||||
mRepeatInterval.isXYearlyRepetition() -> {
|
||||
val repeatString = if (mRepeatRule == REPEAT_ORDER_WEEKDAY_USE_LAST || mRepeatRule == REPEAT_ORDER_WEEKDAY)
|
||||
R.string.repeat else R.string.repeat_on
|
||||
@@ -834,25 +846,55 @@ class EventActivity : SimpleActivity() {
|
||||
private fun showEventColorDialog() {
|
||||
hideKeyboard()
|
||||
ensureBackgroundThread {
|
||||
val eventType = eventsHelper.getEventTypeWithCalDAVCalendarId(calendarId = mEventCalendarId)!!
|
||||
val eventColors = getEventColors(eventType)
|
||||
runOnUiThread {
|
||||
val currentColor = if (mEventColor == 0) {
|
||||
eventType.color
|
||||
} else {
|
||||
mEventColor
|
||||
}
|
||||
val isLocalEvent = mEventCalendarId == STORED_LOCALLY_ONLY
|
||||
if (isLocalEvent) {
|
||||
showCustomEventColorDialog()
|
||||
} else {
|
||||
showCalDAVEventColorDialog()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SelectEventColorDialog(activity = this, colors = eventColors, currentColor = currentColor) { newColor ->
|
||||
if (newColor != currentColor) {
|
||||
mEventColor = newColor
|
||||
updateEventColorInfo(defaultColor = eventType.color)
|
||||
}
|
||||
private fun showCustomEventColorDialog() {
|
||||
val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId)!!
|
||||
val currentColor = if (mEventColor == 0) {
|
||||
eventType.color
|
||||
} else {
|
||||
mEventColor
|
||||
}
|
||||
|
||||
runOnUiThread {
|
||||
ColorPickerDialog(activity = this, color = currentColor, addDefaultColorButton = true) { wasPositivePressed, newColor ->
|
||||
if (wasPositivePressed) {
|
||||
gotNewEventColor(newColor, currentColor, eventType.color)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun showCalDAVEventColorDialog() {
|
||||
val eventType = eventsHelper.getEventTypeWithCalDAVCalendarId(calendarId = mEventCalendarId)!!
|
||||
val eventColors = getEventColors(eventType)
|
||||
val currentColor = if (mEventColor == 0) {
|
||||
eventType.color
|
||||
} else {
|
||||
mEventColor
|
||||
}
|
||||
|
||||
runOnUiThread {
|
||||
SelectEventColorDialog(activity = this, colors = eventColors, currentColor = currentColor) { newColor ->
|
||||
gotNewEventColor(newColor, currentColor, eventType.color)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun gotNewEventColor(newColor: Int, currentColor: Int, defaultColor: Int) {
|
||||
if (newColor != currentColor) {
|
||||
mEventColor = newColor
|
||||
updateEventColorInfo(defaultColor = defaultColor)
|
||||
}
|
||||
}
|
||||
|
||||
private fun checkReminderTexts() {
|
||||
updateReminder1Text()
|
||||
updateReminder2Text()
|
||||
@@ -953,7 +995,7 @@ class EventActivity : SimpleActivity() {
|
||||
if (eventType != null) {
|
||||
runOnUiThread {
|
||||
event_type.text = eventType.title
|
||||
event_type_color.setFillWithStroke(eventType.color, getProperBackgroundColor())
|
||||
updateEventColorInfo(eventType.color)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -987,10 +1029,6 @@ class EventActivity : SimpleActivity() {
|
||||
updateAvailabilityImage()
|
||||
}
|
||||
}
|
||||
|
||||
event_caldav_color_holder.setOnClickListener {
|
||||
showEventColorDialog()
|
||||
}
|
||||
} else {
|
||||
updateCurrentCalendarInfo(null)
|
||||
}
|
||||
@@ -1018,9 +1056,17 @@ class EventActivity : SimpleActivity() {
|
||||
setPadding(paddingLeft, mediumMargin, paddingRight, mediumMargin)
|
||||
}
|
||||
|
||||
event_caldav_color_image.beGone()
|
||||
event_caldav_color_holder.beGone()
|
||||
event_caldav_color_divider.beGone()
|
||||
ensureBackgroundThread {
|
||||
val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId)
|
||||
event_color_image.beVisibleIf(eventType != null)
|
||||
event_color_holder.beVisibleIf(eventType != null)
|
||||
event_color_divider.beVisibleIf(eventType != null)
|
||||
if (eventType != null) {
|
||||
runOnUiThread {
|
||||
updateEventColorInfo(eventType.color)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
event_caldav_calendar_email.text = currentCalendar.accountName
|
||||
|
||||
@@ -1043,9 +1089,9 @@ class EventActivity : SimpleActivity() {
|
||||
setPadding(paddingLeft, 0, paddingRight, 0)
|
||||
}
|
||||
|
||||
event_caldav_color_image.beVisibleIf(canCustomizeColors)
|
||||
event_caldav_color_holder.beVisibleIf(canCustomizeColors)
|
||||
event_caldav_color_divider.beVisibleIf(canCustomizeColors)
|
||||
event_color_image.beVisibleIf(canCustomizeColors)
|
||||
event_color_holder.beVisibleIf(canCustomizeColors)
|
||||
event_color_divider.beVisibleIf(canCustomizeColors)
|
||||
if (canCustomizeColors) {
|
||||
updateEventColorInfo(calendarColor)
|
||||
}
|
||||
@@ -1060,7 +1106,7 @@ class EventActivity : SimpleActivity() {
|
||||
} else {
|
||||
mEventColor
|
||||
}
|
||||
event_caldav_color.setFillWithStroke(eventColor, getProperBackgroundColor())
|
||||
event_color.setFillWithStroke(eventColor, getProperBackgroundColor())
|
||||
}
|
||||
|
||||
private fun getEventColors(eventType: EventType): IntArray {
|
||||
@@ -1271,7 +1317,7 @@ class EventActivity : SimpleActivity() {
|
||||
storeEvent(wasRepeatable)
|
||||
}
|
||||
} else {
|
||||
toast(R.string.no_post_notifications_permissions)
|
||||
PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -1851,7 +1897,7 @@ class EventActivity : SimpleActivity() {
|
||||
val textColor = getProperTextColor()
|
||||
arrayOf(
|
||||
event_time_image, event_time_zone_image, event_repetition_image, event_reminder_image, event_type_image, event_caldav_calendar_image,
|
||||
event_reminder_1_type, event_reminder_2_type, event_reminder_3_type, event_attendees_image, event_availability_image, event_caldav_color_image
|
||||
event_reminder_1_type, event_reminder_2_type, event_reminder_3_type, event_attendees_image, event_availability_image, event_color_image
|
||||
).forEach {
|
||||
it.applyColorFilter(textColor)
|
||||
}
|
||||
|
@@ -38,6 +38,7 @@ import com.simplemobiletools.calendar.pro.models.ListItem
|
||||
import com.simplemobiletools.calendar.pro.models.ListSectionDay
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.commons.dialogs.FilePickerDialog
|
||||
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
|
||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
@@ -156,7 +157,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
|
||||
addBirthdaysAnniversariesAtStart()
|
||||
|
||||
if (isPackageInstalled("com.simplemobiletools.calendar")) {
|
||||
ConfirmationDialog(this, "", R.string.upgraded_to_pro_calendar, R.string.ok, 0, false) {}
|
||||
ConfirmationDialog(this, "", R.string.upgraded_from_free_calendar, R.string.ok, 0, false) {}
|
||||
}
|
||||
|
||||
addImportIdsToTasks {
|
||||
@@ -1066,7 +1067,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
toast(R.string.no_post_notifications_permissions)
|
||||
PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@@ -10,7 +10,8 @@ import com.simplemobiletools.calendar.pro.extensions.config
|
||||
import com.simplemobiletools.calendar.pro.extensions.refreshCalDAVCalendars
|
||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.commons.extensions.toast
|
||||
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
|
||||
import com.simplemobiletools.commons.extensions.openNotificationSettings
|
||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||
|
||||
open class SimpleActivity : BaseSimpleActivity() {
|
||||
@@ -84,7 +85,7 @@ open class SimpleActivity : BaseSimpleActivity() {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
toast(R.string.no_post_notifications_permissions)
|
||||
PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -13,18 +13,19 @@ import com.simplemobiletools.calendar.pro.R
|
||||
import com.simplemobiletools.calendar.pro.dialogs.*
|
||||
import com.simplemobiletools.calendar.pro.extensions.*
|
||||
import com.simplemobiletools.calendar.pro.helpers.*
|
||||
import com.simplemobiletools.calendar.pro.helpers.Formatter
|
||||
import com.simplemobiletools.calendar.pro.models.Event
|
||||
import com.simplemobiletools.calendar.pro.models.EventType
|
||||
import com.simplemobiletools.calendar.pro.models.Reminder
|
||||
import com.simplemobiletools.commons.dialogs.ColorPickerDialog
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedDialog
|
||||
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
|
||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import kotlinx.android.synthetic.main.activity_task.*
|
||||
import org.joda.time.DateTime
|
||||
import java.util.*
|
||||
import java.util.Calendar
|
||||
import kotlin.math.pow
|
||||
|
||||
class TaskActivity : SimpleActivity() {
|
||||
@@ -46,6 +47,7 @@ class TaskActivity : SimpleActivity() {
|
||||
private var mTaskCompleted = false
|
||||
private var mLastSavePromptTS = 0L
|
||||
private var mIsNewTask = true
|
||||
private var mEventColor = 0
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
@@ -130,6 +132,7 @@ class TaskActivity : SimpleActivity() {
|
||||
mRepeatInterval != mTask.repeatInterval ||
|
||||
mRepeatRule != mTask.repeatRule ||
|
||||
mEventTypeId != mTask.eventType ||
|
||||
mEventColor != mTask.color ||
|
||||
hasTimeChanged
|
||||
) {
|
||||
return true
|
||||
@@ -175,6 +178,7 @@ class TaskActivity : SimpleActivity() {
|
||||
putLong(EVENT_TYPE_ID, mEventTypeId)
|
||||
putBoolean(IS_NEW_EVENT, mIsNewTask)
|
||||
putLong(ORIGINAL_START_TS, mOriginalStartTS)
|
||||
putInt(EVENT_COLOR, mEventColor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,6 +205,7 @@ class TaskActivity : SimpleActivity() {
|
||||
mEventTypeId = getLong(EVENT_TYPE_ID)
|
||||
mIsNewTask = getBoolean(IS_NEW_EVENT)
|
||||
mOriginalStartTS = getLong(ORIGINAL_START_TS)
|
||||
mEventColor = getInt(EVENT_COLOR)
|
||||
}
|
||||
|
||||
updateEventType()
|
||||
@@ -270,6 +275,7 @@ class TaskActivity : SimpleActivity() {
|
||||
|
||||
task_reminder_2.setOnClickListener { showReminder2Dialog() }
|
||||
task_reminder_3.setOnClickListener { showReminder3Dialog() }
|
||||
task_color_holder.setOnClickListener { showTaskColorDialog() }
|
||||
refreshMenuItems()
|
||||
setupMarkCompleteButton()
|
||||
|
||||
@@ -297,6 +303,7 @@ class TaskActivity : SimpleActivity() {
|
||||
mRepeatInterval = mTask.repeatInterval
|
||||
mRepeatLimit = mTask.repeatLimit
|
||||
mRepeatRule = mTask.repeatRule
|
||||
mEventColor = mTask.color
|
||||
|
||||
task_title.setText(mTask.title)
|
||||
task_description.setText(mTask.description)
|
||||
@@ -416,6 +423,7 @@ class TaskActivity : SimpleActivity() {
|
||||
repeatInterval = mRepeatInterval
|
||||
repeatLimit = if (repeatInterval == 0) 0 else mRepeatLimit
|
||||
repeatRule = mRepeatRule
|
||||
color = mEventColor
|
||||
}
|
||||
|
||||
if (mTask.getReminders().isNotEmpty()) {
|
||||
@@ -425,7 +433,7 @@ class TaskActivity : SimpleActivity() {
|
||||
storeTask(wasRepeatable)
|
||||
}
|
||||
} else {
|
||||
toast(R.string.no_post_notifications_permissions)
|
||||
PermissionRequiredDialog(this, R.string.allow_notifications_reminders)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -762,17 +770,52 @@ class TaskActivity : SimpleActivity() {
|
||||
if (eventType != null) {
|
||||
runOnUiThread {
|
||||
task_type.text = eventType.title
|
||||
task_type_color.setFillWithStroke(eventType.color, getProperBackgroundColor())
|
||||
updateTaskColorInfo(eventType.color)
|
||||
}
|
||||
}
|
||||
task_color_image.beVisibleIf(eventType != null)
|
||||
task_color_holder.beVisibleIf(eventType != null)
|
||||
task_color_divider.beVisibleIf(eventType != null)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showTaskColorDialog() {
|
||||
hideKeyboard()
|
||||
ensureBackgroundThread {
|
||||
val eventType = eventTypesDB.getEventTypeWithId(mEventTypeId)!!
|
||||
val currentColor = if (mEventColor == 0) {
|
||||
eventType.color
|
||||
} else {
|
||||
mEventColor
|
||||
}
|
||||
|
||||
runOnUiThread {
|
||||
ColorPickerDialog(activity = this, color = currentColor, addDefaultColorButton = true) { wasPositivePressed, newColor ->
|
||||
if (wasPositivePressed) {
|
||||
if (newColor != currentColor) {
|
||||
mEventColor = newColor
|
||||
updateTaskColorInfo(defaultColor = eventType.color)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateTaskColorInfo(defaultColor: Int) {
|
||||
val taskColor = if (mEventColor == 0) {
|
||||
defaultColor
|
||||
} else {
|
||||
mEventColor
|
||||
}
|
||||
task_color.setFillWithStroke(taskColor, getProperBackgroundColor())
|
||||
}
|
||||
|
||||
private fun updateColors() {
|
||||
updateTextColors(task_nested_scrollview)
|
||||
val textColor = getProperTextColor()
|
||||
arrayOf(
|
||||
task_time_image, task_reminder_image, task_type_image, task_repetition_image
|
||||
task_time_image, task_reminder_image, task_type_image, task_repetition_image, task_color_image
|
||||
).forEach {
|
||||
it.applyColorFilter(textColor)
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@ import com.simplemobiletools.calendar.pro.helpers.ANNIVERSARY_EVENT
|
||||
import com.simplemobiletools.calendar.pro.helpers.BIRTHDAY_EVENT
|
||||
import com.simplemobiletools.calendar.pro.helpers.OTHER_EVENT
|
||||
import com.simplemobiletools.calendar.pro.helpers.REMINDER_OFF
|
||||
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import kotlinx.android.synthetic.main.dialog_set_reminders.view.*
|
||||
|
||||
@@ -35,7 +36,7 @@ class SetRemindersDialog(val activity: SimpleActivity, val eventType: Int, val c
|
||||
}
|
||||
}
|
||||
} else {
|
||||
activity.toast(R.string.no_post_notifications_permissions)
|
||||
PermissionRequiredDialog(activity, R.string.allow_notifications_reminders)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -50,6 +50,7 @@ import org.joda.time.DateTime
|
||||
import org.joda.time.DateTimeZone
|
||||
import org.joda.time.LocalDate
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.util.*
|
||||
|
||||
val Context.config: Config get() = Config.newInstance(applicationContext)
|
||||
@@ -222,6 +223,7 @@ fun Context.checkAndBackupEventsOnBoot() {
|
||||
}
|
||||
|
||||
fun Context.backupEventsAndTasks() {
|
||||
require(isRPlus())
|
||||
ensureBackgroundThread {
|
||||
val config = config
|
||||
val events = eventsHelper.getEventsToExport(
|
||||
@@ -257,9 +259,24 @@ fun Context.backupEventsAndTasks() {
|
||||
mkdirs()
|
||||
}
|
||||
|
||||
val exportFile = File(outputFolder, "$filename.ics")
|
||||
var exportFile = File(outputFolder, "$filename.ics")
|
||||
var exportFilePath = exportFile.absolutePath
|
||||
val outputStream = try {
|
||||
exportFile.outputStream()
|
||||
if (hasProperStoredFirstParentUri(exportFilePath)) {
|
||||
val exportFileUri = createDocumentUriUsingFirstParentTreeUri(exportFilePath)
|
||||
if (!getDoesFilePathExist(exportFilePath)) {
|
||||
createSAFFileSdk30(exportFilePath)
|
||||
}
|
||||
applicationContext.contentResolver.openOutputStream(exportFileUri, "wt") ?: FileOutputStream(exportFile)
|
||||
} else {
|
||||
var num = 0
|
||||
while (getDoesFilePathExist(exportFilePath) && !exportFile.canWrite()) {
|
||||
num++
|
||||
exportFile = File(outputFolder, "${filename}_${num}.ics")
|
||||
exportFilePath = exportFile.absolutePath
|
||||
}
|
||||
FileOutputStream(exportFile)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
showErrorToast(e)
|
||||
null
|
||||
@@ -273,8 +290,8 @@ fun Context.backupEventsAndTasks() {
|
||||
}
|
||||
MediaScannerConnection.scanFile(
|
||||
this,
|
||||
arrayOf(exportFile.absolutePath),
|
||||
arrayOf(exportFile.getMimeType())
|
||||
arrayOf(exportFilePath),
|
||||
arrayOf(exportFilePath.getMimeType())
|
||||
) { _, _ -> }
|
||||
|
||||
config.lastAutoBackupTime = getNowSeconds()
|
||||
|
@@ -713,7 +713,11 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
||||
@SuppressLint("NewApi")
|
||||
private fun addAllDayEvent(event: Event) {
|
||||
(inflater.inflate(R.layout.week_all_day_event_marker, null, false) as ConstraintLayout).apply {
|
||||
var backgroundColor = eventTypeColors.get(event.eventType, primaryColor)
|
||||
var backgroundColor = if (event.color == 0) {
|
||||
eventTypeColors.get(event.eventType, primaryColor)
|
||||
} else {
|
||||
event.color
|
||||
}
|
||||
var textColor = backgroundColor.getContrastColor()
|
||||
|
||||
val adjustAlpha = if (event.isTask()) {
|
||||
|
3
app/src/main/res/drawable/ic_category_vector.xml
Normal file
3
app/src/main/res/drawable/ic_category_vector.xml
Normal 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>
|
@@ -507,24 +507,24 @@
|
||||
android:importantForAccessibility="no" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_caldav_color_image"
|
||||
android:id="@+id/event_color_image"
|
||||
android:layout_width="@dimen/smaller_icon_size"
|
||||
android:layout_height="@dimen/smaller_icon_size"
|
||||
android:layout_below="@+id/event_availability_divider"
|
||||
android:layout_alignTop="@+id/event_caldav_color_holder"
|
||||
android:layout_alignBottom="@+id/event_caldav_color_holder"
|
||||
android:layout_alignTop="@+id/event_color_holder"
|
||||
android:layout_alignBottom="@+id/event_color_holder"
|
||||
android:layout_marginStart="@dimen/normal_margin"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:src="@drawable/ic_color_vector" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/event_caldav_color_holder"
|
||||
android:id="@+id/event_color_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/event_availability_divider"
|
||||
android:layout_marginTop="@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">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
@@ -533,14 +533,14 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/small_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:paddingBottom="@dimen/normal_margin"
|
||||
android:text="@string/event_color"
|
||||
android:textSize="@dimen/day_text_size" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_caldav_color"
|
||||
android:id="@+id/event_color"
|
||||
android:layout_width="@dimen/color_sample_size"
|
||||
android:layout_height="@dimen/color_sample_size"
|
||||
android:layout_alignParentEnd="true"
|
||||
@@ -551,10 +551,10 @@
|
||||
</RelativeLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/event_caldav_color_divider"
|
||||
android:id="@+id/event_color_divider"
|
||||
android:layout_width="match_parent"
|
||||
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:background="@color/divider_grey"
|
||||
android:importantForAccessibility="no" />
|
||||
@@ -563,7 +563,7 @@
|
||||
android:id="@+id/event_caldav_calendar_image"
|
||||
android:layout_width="@dimen/smaller_icon_size"
|
||||
android:layout_height="@dimen/smaller_icon_size"
|
||||
android:layout_below="@+id/event_caldav_color_divider"
|
||||
android:layout_below="@+id/event_color_divider"
|
||||
android:layout_alignTop="@+id/event_caldav_calendar_holder"
|
||||
android:layout_alignEnd="@+id/event_time_image"
|
||||
android:layout_alignBottom="@+id/event_caldav_calendar_holder"
|
||||
@@ -576,7 +576,7 @@
|
||||
android:id="@+id/event_caldav_calendar_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/event_caldav_color_divider"
|
||||
android:layout_below="@+id/event_color_divider"
|
||||
android:layout_toEndOf="@+id/event_caldav_calendar_image"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:visibility="gone">
|
||||
@@ -627,7 +627,7 @@
|
||||
android:layout_alignBottom="@+id/event_type_holder"
|
||||
android:layout_marginStart="@dimen/normal_margin"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:src="@drawable/ic_color_vector" />
|
||||
android:src="@drawable/ic_category_vector" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/event_type_holder"
|
||||
@@ -645,20 +645,10 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/small_margin"
|
||||
android:layout_marginEnd="@dimen/medium_margin"
|
||||
android:layout_toStartOf="@+id/event_type_color"
|
||||
android:paddingTop="@dimen/normal_margin"
|
||||
android:paddingBottom="@dimen/normal_margin"
|
||||
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>
|
||||
|
||||
<ImageView
|
||||
|
@@ -316,23 +316,76 @@
|
||||
android:importantForAccessibility="no" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/task_type_image"
|
||||
android:id="@+id/task_color_image"
|
||||
android:layout_width="@dimen/smaller_icon_size"
|
||||
android:layout_height="@dimen/smaller_icon_size"
|
||||
android:layout_below="@+id/task_repetition_divider"
|
||||
android:layout_alignTop="@+id/task_type_holder"
|
||||
android:layout_alignBottom="@+id/task_type_holder"
|
||||
android:layout_alignTop="@+id/task_color_holder"
|
||||
android:layout_alignBottom="@+id/task_color_holder"
|
||||
android:layout_marginStart="@dimen/normal_margin"
|
||||
android:padding="@dimen/medium_margin"
|
||||
android:src="@drawable/ic_color_vector" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/task_type_holder"
|
||||
android:id="@+id/task_color_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/task_repetition_divider"
|
||||
android:layout_marginTop="@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:background="?attr/selectableItemBackground">
|
||||
|
||||
@@ -342,20 +395,10 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/small_margin"
|
||||
android:layout_marginEnd="@dimen/medium_margin"
|
||||
android:layout_toStartOf="@+id/task_type_color"
|
||||
android:paddingTop="@dimen/normal_margin"
|
||||
android:paddingBottom="@dimen/normal_margin"
|
||||
android:textSize="@dimen/day_text_size" />
|
||||
|
||||
<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>
|
||||
|
||||
<ImageView
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">تكرار المهمة</string>
|
||||
<string name="mark_completed">وضع علامة \"مكتمل\"</string>
|
||||
<string name="mark_incomplete">وضع علامة غير مكتملة</string>
|
||||
<string name="task_color">لون المهمة</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">تكرار</string>
|
||||
<string name="no_repetition">بدون تكرار</string>
|
||||
@@ -293,4 +294,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Təkrarlama</string>
|
||||
<string name="no_repetition">Təkrarlama yoxdur</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Дубляваць заданне</string>
|
||||
<string name="mark_completed">Адзначыць выкананае</string>
|
||||
<string name="mark_incomplete">Пазначыць як незавершанае</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Паўтарэнне</string>
|
||||
<string name="no_repetition">Без паўтарэння</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Дублиране на задача</string>
|
||||
<string name="mark_completed">Означете като завършено</string>
|
||||
<string name="mark_incomplete">Означете като незавършено</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Повторение</string>
|
||||
<string name="no_repetition">Без повторение</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">পুনরাবৃত্তি</string>
|
||||
<string name="no_repetition">পুনরাবৃত্তি নেই</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Addegouezh</string>
|
||||
<string name="no_repetition">Addegouezh ebet</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplica la tasca</string>
|
||||
<string name="mark_completed">Marca com a completada</string>
|
||||
<string name="mark_incomplete">Marca com a no completada</string>
|
||||
<string name="task_color">Color de la tasca</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetició</string>
|
||||
<string name="no_repetition">Sense repetició</string>
|
||||
@@ -281,4 +282,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Zkopírovat úkol</string>
|
||||
<string name="mark_completed">Označit jako dokončený</string>
|
||||
<string name="mark_incomplete">Označit jako nedokončený</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Opakování</string>
|
||||
<string name="no_repetition">Neopakuje se</string>
|
||||
|
@@ -31,8 +31,8 @@
|
||||
<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="everything_filtered_out">Du har filtreret alle typer begivenheder fra</string>
|
||||
<string name="event_color">Event color</string>
|
||||
<string name="default_calendar_color">Default calendar color</string>
|
||||
<string name="event_color">Farve på begivenhed</string>
|
||||
<string name="default_calendar_color">Kalenderens standardfarve</string>
|
||||
<!-- Tasks -->
|
||||
<string name="task">Opgave</string>
|
||||
<string name="tasks">Opgaver</string>
|
||||
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Kopier opgave</string>
|
||||
<string name="mark_completed">Marker som afsluttet</string>
|
||||
<string name="mark_incomplete">Marker som uafsluttet</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Gentagelse</string>
|
||||
<string name="no_repetition">Gentages ikke</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Aufgabe duplizieren</string>
|
||||
<string name="mark_completed">Als abgeschlossen markieren</string>
|
||||
<string name="mark_incomplete">Als unvollständig markieren</string>
|
||||
<string name="task_color">Aufgabenfarbe</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Wiederholung</string>
|
||||
<string name="no_repetition">Keine Wiederholung</string>
|
||||
@@ -281,4 +282,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Διπλή εργασία</string>
|
||||
<string name="mark_completed">Σήμανση ολοκλ/μένη</string>
|
||||
<string name="mark_incomplete">Σήμανση μη ολοκλ/μένη</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Επανάληψη</string>
|
||||
<string name="no_repetition">Χωρίς Επανάληψη</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetition</string>
|
||||
<string name="no_repetition">No repetition</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicar tarea</string>
|
||||
<string name="mark_completed">Marcar como completada</string>
|
||||
<string name="mark_incomplete">Marcar como no completada</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetir</string>
|
||||
<string name="no_repetition">No repetir</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Tee ülesandest koopia</string>
|
||||
<string name="mark_completed">Märgi tehtuks</string>
|
||||
<string name="mark_incomplete">Märgi poolikuks</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Kordus</string>
|
||||
<string name="no_repetition">Ära korda</string>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<string name="monthly_daily_view">Hilabeteko + eguneko ikuspegia</string>
|
||||
<string name="yearly_view">Urteko ikuspegia</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_date">Joan data zehatz batera</string>
|
||||
<!-- Widget titles -->
|
||||
@@ -29,19 +29,20 @@
|
||||
<string name="filter_events_by_type">Iragazi gertaerak motaren arabera</string>
|
||||
<string name="please_fill_location">Bete kokalekua mapan erakusteko</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="everything_filtered_out">You have filtered out all event types</string>
|
||||
<string name="saving_filtered_out">Gordetzen… Baina hautatutako gertaera mota goiko menuko - Iragazkia-ren bidez iragazten da</string>
|
||||
<string name="everything_filtered_out">Gertaera mota guztiak iragazi dituzu</string>
|
||||
<string name="event_color">Event color</string>
|
||||
<string name="default_calendar_color">Default calendar color</string>
|
||||
<!-- Tasks -->
|
||||
<string name="task">Task</string>
|
||||
<string name="tasks">Tasks</string>
|
||||
<string name="edit_task">Edit Task</string>
|
||||
<string name="new_task">New Task</string>
|
||||
<string name="create_new_task">Create a new task</string>
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task">Zeregina</string>
|
||||
<string name="tasks">Zereginak</string>
|
||||
<string name="edit_task">Editatu zeregina</string>
|
||||
<string name="new_task">Zeregin berria</string>
|
||||
<string name="create_new_task">Sortu zeregin berri bat</string>
|
||||
<string name="duplicate_task">Bikoiztu zeregina</string>
|
||||
<string name="mark_completed">Burutu gisa markatu</string>
|
||||
<string name="mark_incomplete">Markatu burutu gabeko gisa</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Errepikapena</string>
|
||||
<string name="no_repetition">Errepikapenik ez</string>
|
||||
@@ -55,7 +56,7 @@
|
||||
<string name="repeat_till">Noiz arte errepikatu</string>
|
||||
<string name="forever">Betiko</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="delete_one_only">Ezabatu hautatutako gertaera soilik</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="times">aldiz</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="the_same_day">Egun bera</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_same_day_yearly">Errepikatu urtero egun berean</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="second_m">bigarren</string>
|
||||
<string name="third_m">hirugarren</string>
|
||||
@@ -85,8 +86,8 @@
|
||||
<string name="last_m">azken</string>
|
||||
<!-- alternative versions for some languages, use the same translations if you are not sure what this means -->
|
||||
<!-- used in repetition, like "Every first Sunday" -->
|
||||
<string name="repeat_every_f">Erepikatze-maiztasuna:</string>
|
||||
<string name="every_f">Maiztasuna:</string>
|
||||
<string name="repeat_every_f">Errepikatze-maiztasuna</string>
|
||||
<string name="every_f">Maiztasuna</string>
|
||||
<string name="first_f">lehenengo</string>
|
||||
<string name="second_f">bigarren</string>
|
||||
<string name="third_f">hirugarren</string>
|
||||
@@ -99,20 +100,20 @@
|
||||
<string name="no_birthdays">Urtebetetzerik 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="add_birthdays_automatically">Add new birthdays automatically</string>
|
||||
<string name="add_birthdays_automatically">Gehitu urtebetetze berriak automatikoki</string>
|
||||
<!-- Anniversaries -->
|
||||
<string name="anniversaries">Urteurrenak</string>
|
||||
<string name="add_anniversaries">Gehitu kontaktuen urteurrenak</string>
|
||||
<string name="no_anniversaries">Urteurrenik 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="add_anniversaries_automatically">Add new anniversaries automatically</string>
|
||||
<string name="add_anniversaries_automatically">Gehitu urtebetetze berriak automatikoki</string>
|
||||
<!-- Event Reminders -->
|
||||
<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="event_reminders">Gertaera-abisua</string>
|
||||
<string name="reminders">Reminders</string>
|
||||
<string name="reminders">Oroigarriak</string>
|
||||
<!-- Event attendees -->
|
||||
<string name="add_another_attendee">Gehitu beste parte-hartzaile bat</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="default_event_type">Lehenetsitako gertaera mota</string>
|
||||
<string name="export_past_events_too">Esportatu iraganeko gertaerak ere bai</string>
|
||||
<string name="export_tasks">Export tasks</string>
|
||||
<string name="export_past_entries">Export past entries too</string>
|
||||
<string name="export_tasks">Esportatu zereginak</string>
|
||||
<string name="export_past_entries">Esportatu iraganeko sarrerak ere</string>
|
||||
<string name="include_event_types">Gehitu gertaera motak</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 -->
|
||||
<string name="location">Kokalekua</string>
|
||||
<string name="description">Deskripzioa</string>
|
||||
<string name="all_day">Egun osokoa</string>
|
||||
<!-- Weekly view -->
|
||||
<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 -->
|
||||
<string name="event_types">Gertaera motak</string>
|
||||
<string name="add_new_type">Gehitu mota berria</string>
|
||||
@@ -178,14 +179,14 @@
|
||||
<string name="event_lists">Gertaera-zerrendak</string>
|
||||
<string name="display_past_events">Bistaratu iraganeko gertaerak</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_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="show_a_grid">Erakutsi sareta</string>
|
||||
<string name="loop_reminders">Errepikatu abisuak baztertu arte</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="reminder_stream">Abisuek erabilitako audio-transmisioa</string>
|
||||
<string name="system_stream">Sistema</string>
|
||||
@@ -206,10 +207,10 @@
|
||||
<string name="last_used_one">Erabilitako azkena</string>
|
||||
<string name="other_time">Bestelako denbora</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="manage_quick_filter_event_types">Manage quick filter event types</string>
|
||||
<string name="allow_creating_tasks">Allow creating tasks</string>
|
||||
<string name="manage_quick_filter_event_types">Kudeatu iragazki bizkorreko gertaera motak</string>
|
||||
<string name="allow_creating_tasks">Baimendu zereginak sortzea</string>
|
||||
<!-- CalDAV sync -->
|
||||
<string name="caldav">CalDAV</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="no_synchronized_calendars">Sinkronizatu daitekeen egutegirik ez da aurkitu</string>
|
||||
<string name="status_free">Free</string>
|
||||
<string name="status_busy">Busy</string>
|
||||
<string name="fetching_event_failed">Fetching event %s failed</string>
|
||||
<string name="status_busy">Lanpetuta</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 -->
|
||||
<!-- used in repetition, like "Every last Sunday" -->
|
||||
<string name="monday_alt">astelehenean</string>
|
||||
@@ -247,36 +248,36 @@
|
||||
<string name="sample_description_4">Garraxi</string>
|
||||
<string name="sample_title_5">Kafea hartu</string>
|
||||
<!-- List widget config -->
|
||||
<string name="show_events_happening">Show events happening:</string>
|
||||
<string name="within_the_next_one_year">Within the next 1 year</string>
|
||||
<string name="today_only">Today only</string>
|
||||
<string name="within_the_next">Within the next…</string>
|
||||
<string name="show_events_happening">Erakutsi gertatzen ari diren gertaerak:</string>
|
||||
<string name="within_the_next_one_year">Hurrengo urtean</string>
|
||||
<string name="today_only">Gaur bakarrik</string>
|
||||
<string name="within_the_next">Hurrengo zeraren barruan…</string>
|
||||
<plurals name="within_the_next_days">
|
||||
<item quantity="one">Within the next %d day</item>
|
||||
<item quantity="other">Within the next %d days</item>
|
||||
<item quantity="one">Hurrengo %d egunean</item>
|
||||
<item quantity="other">Hurrengo %d egunetan</item>
|
||||
</plurals>
|
||||
<plurals name="within_the_next_weeks">
|
||||
<item quantity="one">Within the next %d week</item>
|
||||
<item quantity="other">Within the next %d weeks</item>
|
||||
<item quantity="one">Hurrengo %d astean</item>
|
||||
<item quantity="other">Hurrengo %d astetan</item>
|
||||
</plurals>
|
||||
<plurals name="within_the_next_months">
|
||||
<item quantity="one">Within the next %d month</item>
|
||||
<item quantity="other">Within the next %d months</item>
|
||||
<item quantity="one">Hurrengo %d hilabetean</item>
|
||||
<item quantity="other">Hurrengo %d hilabetetan</item>
|
||||
</plurals>
|
||||
<!-- FAQ -->
|
||||
<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 -> 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_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_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_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_5_title">The app shows no notifications, why is that\?</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 <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a>, it has some useful tips.</string>
|
||||
<string name="faq_6_title">How can I modify or delete an existing event type\?</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_5_title">Aplikazioak ez du jakinarazpenik erakusten, zergatik\?</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 <a href=https://dontkillmyapp.com>https://dontkillmyapp.com</a> helbidera ere begiratu nahi izatea, aholku erabilgarriak ditu.</string>
|
||||
<string name="faq_6_title">Nola aldatu edo ezabatu dezaket lehendik dagoen gertaera mota bat\?</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
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Monista tehtävä</string>
|
||||
<string name="mark_completed">Merkkaa valmiiksi</string>
|
||||
<string name="mark_incomplete">Merkkaa keskeneräiseksi</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Toisto</string>
|
||||
<string name="no_repetition">Ei toistoa</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Dupliquer la tâche</string>
|
||||
<string name="mark_completed">Marquer comme terminé</string>
|
||||
<string name="mark_incomplete">Marquer comme non terminé</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Répétition</string>
|
||||
<string name="no_repetition">Aucune répétition</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Tarefa duplicada</string>
|
||||
<string name="mark_completed">Marcar como feita</string>
|
||||
<string name="mark_incomplete">Marcar como sen facer</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetición</string>
|
||||
<string name="no_repetition">Sen repetición</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">दुहराव</string>
|
||||
<string name="no_repetition">No repetition</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Dupliciraj zadatak</string>
|
||||
<string name="mark_completed">Označi kao završeno</string>
|
||||
<string name="mark_incomplete">Označi kao nezavršeno</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Ponavljanje</string>
|
||||
<string name="no_repetition">Bez ponavljanja</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Feladat kettőzése</string>
|
||||
<string name="mark_completed">Megjelölés befejezettként</string>
|
||||
<string name="mark_incomplete">Megjelölés nem befejezettként</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Ismétlés</string>
|
||||
<string name="no_repetition">Nincs ismétlés</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Gandakan tugas</string>
|
||||
<string name="mark_completed">Tandai sebagai selesai</string>
|
||||
<string name="mark_incomplete">Tandai sebagai belum selesai</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Perulangan</string>
|
||||
<string name="no_repetition">Tidak ada perulangan</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplica il compito</string>
|
||||
<string name="mark_completed">Segna come completato</string>
|
||||
<string name="mark_incomplete">Segno come incompleto</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Ripeti</string>
|
||||
<string name="no_repetition">Non ripetere</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">משימה כפולה</string>
|
||||
<string name="mark_completed">סימן הושלם</string>
|
||||
<string name="mark_incomplete">סמן כלא שלם</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">אירוע חוזר</string>
|
||||
<string name="no_repetition">אין חזרה</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">タスクのコピー</string>
|
||||
<string name="mark_completed">完了にする</string>
|
||||
<string name="mark_incomplete">未完了にする</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">繰り返し</string>
|
||||
<string name="no_repetition">繰り返さない</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">반복</string>
|
||||
<string name="no_repetition">반복 없음</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Dubliuoti užduotį</string>
|
||||
<string name="mark_completed">Žymėti kaip įvykdytą</string>
|
||||
<string name="mark_incomplete">Žymėti kaip neįvykdytą</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Pasikartojimas</string>
|
||||
<string name="no_repetition">Be pasikartojimo</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Atkārtojošs</string>
|
||||
<string name="no_repetition">Bez atkārtošanās</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Дупликатна задача</string>
|
||||
<string name="mark_completed">Марк е завршен</string>
|
||||
<string name="mark_incomplete">Означи нецелосен</string>
|
||||
<string name="task_color">Task color</string>
|
||||
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Повторување</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetition</string>
|
||||
<string name="no_repetition">No repetition</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Dupliser oppgave</string>
|
||||
<string name="mark_completed">Marker som fullført</string>
|
||||
<string name="mark_incomplete">Marker som ufullstendig</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Gjentagelse</string>
|
||||
<string name="no_repetition">Ingen gjentagelse</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Taak dupliceren</string>
|
||||
<string name="mark_completed">Als voltooid markeren</string>
|
||||
<string name="mark_incomplete">Als onvoltooid markeren</string>
|
||||
<string name="task_color">Taakkleur</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Herhaling</string>
|
||||
<string name="no_repetition">Niet herhalen</string>
|
||||
@@ -281,4 +282,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -71,6 +71,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<string name="repetition">Repetition</string>
|
||||
<string name="no_repetition">No repetition</string>
|
||||
<string name="daily">Daily</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Powiel zadanie</string>
|
||||
<string name="mark_completed">Oznacz jako ukończone</string>
|
||||
<string name="mark_incomplete">Oznacz jako nieukończone</string>
|
||||
<string name="task_color">Kolor zadania</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Powtarzanie</string>
|
||||
<string name="no_repetition">Brak powtarzania</string>
|
||||
@@ -287,4 +288,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicar tarefa</string>
|
||||
<string name="mark_completed">Marcar como concluída</string>
|
||||
<string name="mark_incomplete">Marcar como incompleta</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetição</string>
|
||||
<string name="no_repetition">Sem repetição</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicar tarefa</string>
|
||||
<string name="mark_completed">Marcar como terminado</string>
|
||||
<string name="mark_incomplete">Marcar como não terminado</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetição</string>
|
||||
<string name="no_repetition">Sem repetição</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicați sarcina</string>
|
||||
<string name="mark_completed">Marcare finalizată</string>
|
||||
<string name="mark_incomplete">Marcare incompletă</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetiție</string>
|
||||
<string name="no_repetition">Fără repetiție</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Дублировать задачу</string>
|
||||
<string name="mark_completed">Пометить завершённой</string>
|
||||
<string name="mark_incomplete">Пометить незавершённой</string>
|
||||
<string name="task_color">Цвет задачи</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Повторять</string>
|
||||
<string name="no_repetition">Без повторения</string>
|
||||
@@ -287,4 +288,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -45,6 +45,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetition</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplikovať úlohu</string>
|
||||
<string name="mark_completed">Označiť ako dokončenú</string>
|
||||
<string name="mark_incomplete">Označiť ako nedokončenú</string>
|
||||
<string name="task_color">Farba úlohy</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Opakovanie</string>
|
||||
<string name="no_repetition">Neopakuje sa</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Podvojeno opravilo</string>
|
||||
<string name="mark_completed">Označi dokončano</string>
|
||||
<string name="mark_incomplete">Označi nepopolno</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Ponavljanje</string>
|
||||
<string name="no_repetition">Brez ponavljanja</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Дуплирани задатак</string>
|
||||
<string name="mark_completed">Означи као довршено</string>
|
||||
<string name="mark_incomplete">Означи као непотпуно</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Понављање</string>
|
||||
<string name="no_repetition">Без понављања</string>
|
||||
|
@@ -31,8 +31,8 @@
|
||||
<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="everything_filtered_out">Du har filtrerat bort alla händelsetyper</string>
|
||||
<string name="event_color">Event color</string>
|
||||
<string name="default_calendar_color">Default calendar color</string>
|
||||
<string name="event_color">Händelsens färg</string>
|
||||
<string name="default_calendar_color">Kalenderns standardfärg</string>
|
||||
<!-- Tasks -->
|
||||
<string name="task">Uppgift</string>
|
||||
<string name="tasks">Uppgifter</string>
|
||||
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicera uppgift</string>
|
||||
<string name="mark_completed">Markera avklarad</string>
|
||||
<string name="mark_incomplete">Markera ofullständig</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Upprepning</string>
|
||||
<string name="no_repetition">Ingen upprepning</string>
|
||||
@@ -266,7 +267,7 @@
|
||||
<!-- 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_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 -> 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_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>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetition</string>
|
||||
<string name="no_repetition">No repetition</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Görevi çoğalt</string>
|
||||
<string name="mark_completed">Tamamlandı olarak işaretle</string>
|
||||
<string name="mark_incomplete">Tamamlanmadı olarak işaretle</string>
|
||||
<string name="task_color">Görev rengi</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Tekrarla</string>
|
||||
<string name="no_repetition">Tekrarlama yok</string>
|
||||
@@ -281,4 +282,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Дублювати завдання</string>
|
||||
<string name="mark_completed">Позначити завершеним</string>
|
||||
<string name="mark_incomplete">Позначити незавершеним</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Повторювати</string>
|
||||
<string name="no_repetition">Без повторень</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">重复任务</string>
|
||||
<string name="mark_completed">标记已完成</string>
|
||||
<string name="mark_incomplete">标记未完成</string>
|
||||
<string name="task_color">任务颜色</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">重复</string>
|
||||
<string name="no_repetition">不重复</string>
|
||||
@@ -278,4 +279,4 @@
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">重複</string>
|
||||
<string name="no_repetition">不重複</string>
|
||||
|
@@ -42,6 +42,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">標為已完成</string>
|
||||
<string name="mark_incomplete">標為未完成</string>
|
||||
<string name="task_color">Task color</string>
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">重複</string>
|
||||
<string name="no_repetition">不重複</string>
|
||||
|
@@ -45,6 +45,7 @@
|
||||
<string name="duplicate_task">Duplicate task</string>
|
||||
<string name="mark_completed">Mark completed</string>
|
||||
<string name="mark_incomplete">Mark incomplete</string>
|
||||
<string name="task_color">Task color</string>
|
||||
|
||||
<!-- Event Repetition -->
|
||||
<string name="repetition">Repetition</string>
|
||||
|
3
fastlane/metadata/android/en-US/changelogs/234.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/234.txt
Normal 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
|
3
fastlane/metadata/android/en-US/changelogs/235.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/235.txt
Normal 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
|
@@ -1 +1 @@
|
||||
Widget calendario. Programma e pianifica appuntamenti. Calendario per il lavoro
|
||||
Calendario widget 2023 per Android. Programma appuntamenti, piani e promemoria
|
||||
|
@@ -1 +1 @@
|
||||
Vienkāršs kalendārs Pro
|
||||
Vienkāršs kalendārs Pro
|
||||
|
@@ -1 +1 @@
|
||||
简单移动日历 2023 。每一天的行程计划 & 约会提醒
|
||||
Android 系统 2023 日历小部件 。预约规划、计划和提醒
|
||||
|
@@ -1 +1 @@
|
||||
简单日历 Pro
|
||||
简单日历 Pro
|
||||
|
Reference in New Issue
Block a user