diff --git a/CHANGELOG.md b/CHANGELOG.md index ddf84b734..5ae841143 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,36 @@ Changelog ========== +Version 6.5.7 *(2019-08-07)* +---------------------------- + + * Properly use the selected default event calendar, even at CalDAV synced ones + * Fixing invisible buttons at the date/time pickers with light theme + * Fixed a couple other smaller glitches and added some translation improvements + +Version 6.5.6 *(2019-07-26)* +---------------------------- + + * Properly handle birthday and anniversary updating + * Fixed a widget list related glitch + +Version 6.5.5 *(2019-07-25)* +---------------------------- + + * Added some dark theme related improvements + * Allow customizing the bottom navigation bar color + * Added a Go To Today button at the event list widget + +Version 6.5.4 *(2019-07-01)* +---------------------------- + + * Adding some stability improvements + +Version 6.5.3 *(2019-06-30)* +---------------------------- + + * Added some translation and stability improvements + Version 6.5.2 *(2019-06-28)* ---------------------------- diff --git a/app/build.gradle b/app/build.gradle index 5f502acde..b10ca4bdc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "com.simplemobiletools.calendar.pro" minSdkVersion 21 targetSdkVersion 28 - versionCode 152 - versionName "6.5.2" + versionCode 157 + versionName "6.5.7" multiDexEnabled true setProperty("archivesBaseName", "calendar") } @@ -57,7 +57,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.14.2' + implementation 'com.simplemobiletools:commons:5.16.7' implementation 'joda-time:joda-time:2.10.1' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5f80c7acf..71fecca98 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -176,6 +176,10 @@ android:name=".services.WidgetService" android:permission="android.permission.BIND_REMOTEVIEWS"/> + + () private var mAvailableContacts = ArrayList() private var mSelectedContacts = ArrayList() + private var mStoredEventTypes = ArrayList() private lateinit var mAttendeePlaceholder: Drawable private lateinit var mEventStartDateTime: DateTime @@ -90,7 +91,11 @@ class EventActivity : SimpleActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_event) - supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_cross) + if (checkAppSideloading()) { + return + } + + supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_cross_vector) val intent = intent ?: return mDialogTheme = getDialogTheme() mWasContactsPermissionChecked = hasPermission(PERMISSION_READ_CONTACTS) @@ -99,13 +104,14 @@ class EventActivity : SimpleActivity() { val eventId = intent.getLongExtra(EVENT_ID, 0L) ensureBackgroundThread { + mStoredEventTypes = eventTypesDB.getEventTypes().toMutableList() as ArrayList val event = eventsDB.getEventWithId(eventId) if (eventId != 0L && event == null) { finish() return@ensureBackgroundThread } - val localEventType = eventTypesDB.getEventTypeWithId(config.lastUsedLocalEventTypeId) + val localEventType = mStoredEventTypes.firstOrNull { it.id == config.lastUsedLocalEventTypeId } runOnUiThread { gotEvent(savedInstanceState, localEventType, event) } @@ -216,6 +222,7 @@ class EventActivity : SimpleActivity() { menu.findItem(R.id.share).isVisible = mEvent.id != null menu.findItem(R.id.duplicate).isVisible = mEvent.id != null } + updateMenuItemColors(menu) return true } @@ -338,6 +345,10 @@ class EventActivity : SimpleActivity() { window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE) event_title.requestFocus() updateActionBarTitle(getString(R.string.new_event)) + if (config.defaultEventTypeId != -1L) { + config.lastUsedCaldavCalendarId = mStoredEventTypes.firstOrNull { it.id == config.defaultEventTypeId }?.caldavCalendarId ?: 0 + } + val isLastCaldavCalendarOK = config.caldavSync && config.getSyncedCalendarIdsAsList().contains(config.lastUsedCaldavCalendarId) mEventCalendarId = if (isLastCaldavCalendarOK) config.lastUsedCaldavCalendarId else STORED_LOCALLY_ONLY @@ -706,7 +717,7 @@ class EventActivity : SimpleActivity() { private fun updateReminderTypeImage(view: ImageView, reminder: Reminder) { view.beVisibleIf(reminder.minutes != REMINDER_OFF && mEventCalendarId != STORED_LOCALLY_ONLY) - val drawable = if (reminder.type == REMINDER_NOTIFICATION) R.drawable.ic_bell else R.drawable.ic_email + val drawable = if (reminder.type == REMINDER_NOTIFICATION) R.drawable.ic_bell_vector else R.drawable.ic_email_vector val icon = resources.getColoredDrawableWithColor(drawable, config.textColor) view.setImageDrawable(icon) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index 87b7979e0..82f931ca3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -147,6 +147,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { search_holder.background = ColorDrawable(config.backgroundColor) checkSwipeRefreshAvailability() checkShortcuts() + invalidateOptionsMenu() } override fun onPause() { @@ -176,6 +177,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { } setupSearch(menu) + updateMenuItemColors(menu) return true } @@ -538,7 +540,11 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { if (cursor?.moveToFirst() == true) { val dateFormats = getDateFormats() val existingEvents = if (birthdays) eventsDB.getBirthdays() else eventsDB.getAnniversaries() - val importIDs = existingEvents.map { it.importId } + val importIDs = HashMap() + existingEvents.forEach { + importIDs[it.importId] = it.startTS + } + val eventTypeId = if (birthdays) getBirthdaysEventTypeId() else getAnniversariesEventTypeId() do { @@ -561,7 +567,21 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { reminder3Minutes = reminders[2], importId = contactId, flags = FLAG_ALL_DAY, repeatInterval = YEAR, repeatRule = REPEAT_SAME_DAY, eventType = eventTypeId, source = source, lastUpdated = lastUpdated) - if (!importIDs.contains(contactId)) { + val importIDsToDelete = ArrayList() + for ((key, value) in importIDs) { + if (key == contactId && value != timestamp) { + val deleted = eventsDB.deleteBirthdayAnniversary(source, key) + if (deleted == 1) { + importIDsToDelete.add(key) + } + } + } + + importIDsToDelete.forEach { + importIDs.remove(it) + } + + if (!importIDs.containsKey(contactId)) { eventsHelper.insertEvent(event, false, false) { eventsAdded++ } @@ -935,6 +955,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { add(Release(119, R.string.release_119)) add(Release(129, R.string.release_129)) add(Release(143, R.string.release_143)) + add(Release(155, R.string.release_155)) checkWhatsNew(this, BuildConfig.VERSION_CODE) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt index 4f797fa40..6740d4427 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/ManageEventTypesActivity.kt @@ -41,6 +41,7 @@ class ManageEventTypesActivity : SimpleActivity(), DeleteEventTypesListener { override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu.menu_event_types, menu) + updateMenuItemColors(menu) return true } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt index 076407c24..29463bd01 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt @@ -5,6 +5,7 @@ import android.content.Intent import android.content.res.Resources import android.media.AudioManager import android.os.Bundle +import android.view.Menu import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.dialogs.SelectCalendarsDialog import com.simplemobiletools.calendar.pro.dialogs.SelectEventTypeDialog @@ -77,6 +78,7 @@ class SettingsActivity : SimpleActivity() { setupSectionColors() setupExportSettings() setupImportSettings() + invalidateOptionsMenu() } override fun onPause() { @@ -92,6 +94,11 @@ class SettingsActivity : SimpleActivity() { config.defaultReminder3 = reminders.getOrElse(2) { REMINDER_OFF } } + override fun onCreateOptionsMenu(menu: Menu): Boolean { + updateMenuItemColors(menu) + return super.onCreateOptionsMenu(menu) + } + override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { super.onActivityResult(requestCode, resultCode, resultData) if (requestCode == GET_RINGTONE_URI && resultCode == RESULT_OK && resultData != null) { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SplashActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SplashActivity.kt index 506520e21..3cb6b6ad4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SplashActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SplashActivity.kt @@ -7,8 +7,6 @@ import com.simplemobiletools.commons.activities.BaseSplashActivity import org.joda.time.DateTime class SplashActivity : BaseSplashActivity() { - override fun getAppPackageName() = packageName - override fun initActivity() { when { intent.extras?.containsKey(DAY_CODE) == true -> Intent(this, MainActivity::class.java).apply { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/WidgetListConfigureActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/WidgetListConfigureActivity.kt index 73a605e30..8c76bb403 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/WidgetListConfigureActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/WidgetListConfigureActivity.kt @@ -166,12 +166,8 @@ class WidgetListConfigureActivity : SimpleActivity() { updateBgColor() } - override fun onStartTrackingTouch(seekBar: SeekBar) { + override fun onStartTrackingTouch(seekBar: SeekBar) {} - } - - override fun onStopTrackingTouch(seekBar: SeekBar) { - - } + override fun onStopTrackingTouch(seekBar: SeekBar) {} } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt index 66d4ac3b7..848c00a45 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapter.kt @@ -129,9 +129,9 @@ class EventListWidgetAdapter(val context: Context) : RemoteViewsService.RemoteVi } remoteView.apply { - setTextColor(R.id.event_section_title, curTextColor) - setTextSize(R.id.event_section_title, mediumFontSize) - setText(R.id.event_section_title, item.title) + setTextColor(event_section_title, curTextColor) + setTextSize(event_section_title, mediumFontSize) + setText(event_section_title, item.title) Intent().apply { putExtra(DAY_CODE, item.code) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapterEmpty.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapterEmpty.kt new file mode 100644 index 000000000..09564fdba --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/adapters/EventListWidgetAdapterEmpty.kt @@ -0,0 +1,26 @@ +package com.simplemobiletools.calendar.pro.adapters + +import android.content.Context +import android.widget.RemoteViews +import android.widget.RemoteViewsService +import com.simplemobiletools.calendar.pro.R + +class EventListWidgetAdapterEmpty(val context: Context) : RemoteViewsService.RemoteViewsFactory { + override fun getViewAt(position: Int) = RemoteViews(context.packageName, R.layout.event_list_section_widget) + + override fun getLoadingView() = null + + override fun getViewTypeCount() = 1 + + override fun onCreate() {} + + override fun getItemId(position: Int) = 0L + + override fun onDataSetChanged() {} + + override fun hasStableIds() = true + + override fun getCount() = 0 + + override fun onDestroy() {} +} diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt index f73c05670..c48ce8fa0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/extensions/Context.kt @@ -257,7 +257,7 @@ fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: .setAutoCancel(true) .setSound(Uri.parse(soundUri), config.reminderAudioStream) .setChannelId(channelId) - .addAction(R.drawable.ic_snooze, getString(R.string.snooze), getSnoozePendingIntent(this, event)) + .addAction(R.drawable.ic_snooze_vector, getString(R.string.snooze), getSnoozePendingIntent(this, event)) if (config.vibrateOnReminder) { val vibrateArray = LongArray(2) { 500 } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt index 5ed1a9be8..b78b2265a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragment.kt @@ -57,7 +57,7 @@ class DayFragment : Fragment() { mListener?.goLeft() } - val pointerLeft = context!!.getDrawable(R.drawable.ic_pointer_left) + val pointerLeft = context!!.getDrawable(R.drawable.ic_chevron_left_vector) pointerLeft?.isAutoMirrored = true setImageDrawable(pointerLeft) } @@ -69,7 +69,7 @@ class DayFragment : Fragment() { mListener?.goRight() } - val pointerRight = context!!.getDrawable(R.drawable.ic_pointer_right) + val pointerRight = context!!.getDrawable(R.drawable.ic_chevron_right_vector) pointerRight?.isAutoMirrored = true setImageDrawable(pointerRight) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt index e83e21e08..1722c199e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt @@ -112,7 +112,7 @@ class MonthFragment : Fragment(), MonthlyCalendar { listener?.goLeft() } - val pointerLeft = context!!.getDrawable(R.drawable.ic_pointer_left) + val pointerLeft = context!!.getDrawable(R.drawable.ic_chevron_left_vector) pointerLeft?.isAutoMirrored = true setImageDrawable(pointerLeft) } @@ -124,7 +124,7 @@ class MonthFragment : Fragment(), MonthlyCalendar { listener?.goRight() } - val pointerRight = context!!.getDrawable(R.drawable.ic_pointer_right) + val pointerRight = context!!.getDrawable(R.drawable.ic_chevron_right_vector) pointerRight?.isAutoMirrored = true setImageDrawable(pointerRight) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt index 2dad7c923..0c31b2875 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragment.kt @@ -56,6 +56,7 @@ class WeekFragment : Fragment(), WeeklyCalendar { private var wasExtraHeightAdded = false private var dimPastEvents = true private var selectedGrid: View? = null + private var currentTimeView: ImageView? = null private var events = ArrayList() private var allDayHolders = ArrayList() private var allDayRows = ArrayList>() @@ -372,7 +373,12 @@ class WeekFragment : Fragment(), WeeklyCalendar { if (todayColumnIndex != -1) { val minutes = DateTime().minuteOfDay val todayColumn = getColumnWithId(todayColumnIndex) - (inflater.inflate(R.layout.week_now_marker, null, false) as ImageView).apply { + if (currentTimeView != null) { + mView.week_events_holder.removeView(currentTimeView) + } + + currentTimeView = (inflater.inflate(R.layout.week_now_marker, null, false) as ImageView) + currentTimeView!!.apply { applyColorFilter(primaryColor) mView.week_events_holder.addView(this, 0) val extraWidth = (todayColumn.width * 0.3).toInt() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt index 257785003..d626af001 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt @@ -181,7 +181,14 @@ class WeekFragmentsHolder : MyFragmentHolder(), WeekFragmentListener { setupWeeklyActionbarTitle(currentWeekTS) } - override fun getNewEventDayCode() = Formatter.getDayCodeFromTS(currentWeekTS) + override fun getNewEventDayCode(): String { + val currentTS = System.currentTimeMillis() / 1000 + return if (currentTS > currentWeekTS && currentTS < currentWeekTS + WEEK_SECONDS) { + Formatter.getTodayCode() + } else { + Formatter.getDayCodeFromTS(currentWeekTS) + } + } override fun scrollTo(y: Int) { weekHolder!!.week_view_hours_scrollview.scrollY = y diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Converters.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Converters.kt index 3ff78610d..45de469a6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Converters.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/Converters.kt @@ -9,7 +9,15 @@ class Converters { private val stringType = object : TypeToken>() {}.type @TypeConverter - fun jsonToStringList(value: String) = gson.fromJson>(value, stringType) + fun jsonToStringList(value: String): ArrayList { + val newValue = if (value.isNotEmpty() && !value.startsWith("[")) { + "[$value]" + } else { + value + } + + return gson.fromJson(newValue, stringType) + } @TypeConverter fun stringListToJson(list: ArrayList) = gson.toJson(list) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt index 3f488321e..356d9b660 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt @@ -214,7 +214,8 @@ class EventsHelper(val context: Context) { var repetitionExceptions = parentEvent.repetitionExceptions repetitionExceptions.add(Formatter.getDayCodeFromTS(occurrenceTS)) repetitionExceptions = repetitionExceptions.distinct().toMutableList() as ArrayList - eventsDB.updateEventRepetitionExceptions(repetitionExceptions, parentEventId) + + eventsDB.updateEventRepetitionExceptions(repetitionExceptions.toString(), parentEventId) context.scheduleNextEventReminder(parentEvent, false) if (addToCalDAV && config.caldavSync) { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt index 2cfbda094..ae5e4b6c2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetListProvider.kt @@ -13,12 +13,14 @@ import com.simplemobiletools.calendar.pro.activities.SplashActivity import com.simplemobiletools.calendar.pro.extensions.config import com.simplemobiletools.calendar.pro.extensions.launchNewEventIntent import com.simplemobiletools.calendar.pro.services.WidgetService +import com.simplemobiletools.calendar.pro.services.WidgetServiceEmpty import com.simplemobiletools.commons.extensions.* import org.joda.time.DateTime class MyWidgetListProvider : AppWidgetProvider() { private val NEW_EVENT = "new_event" private val LAUNCH_CAL = "launch_cal" + private val GO_TO_TODAY = "go_to_today" override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) { performUpdate(context) @@ -42,10 +44,13 @@ class MyWidgetListProvider : AppWidgetProvider() { val todayText = Formatter.getLongestDate(getNowSeconds()) views.setText(R.id.widget_event_list_today, todayText) - views.setImageViewBitmap(R.id.widget_event_new_event, context.resources.getColoredBitmap(R.drawable.ic_plus, textColor)) + views.setImageViewBitmap(R.id.widget_event_new_event, context.resources.getColoredBitmap(R.drawable.ic_plus_vector, textColor)) setupIntent(context, views, NEW_EVENT, R.id.widget_event_new_event) setupIntent(context, views, LAUNCH_CAL, R.id.widget_event_list_today) + views.setImageViewBitmap(R.id.widget_event_go_to_today, context.resources.getColoredBitmap(R.drawable.ic_today_vector, textColor)) + setupIntent(context, views, GO_TO_TODAY, R.id.widget_event_go_to_today) + Intent(context, WidgetService::class.java).apply { data = Uri.parse(this.toUri(Intent.URI_INTENT_SCHEME)) views.setRemoteAdapter(R.id.widget_event_list, this) @@ -75,6 +80,7 @@ class MyWidgetListProvider : AppWidgetProvider() { when (intent.action) { NEW_EVENT -> context.launchNewEventIntent() LAUNCH_CAL -> launchCalenderInDefaultView(context) + GO_TO_TODAY -> goToToday(context) else -> super.onReceive(context, intent) } } @@ -87,4 +93,20 @@ class MyWidgetListProvider : AppWidgetProvider() { context.startActivity(this) } } + + // hacky solution for reseting the events list + private fun goToToday(context: Context) { + val appWidgetManager = AppWidgetManager.getInstance(context) + appWidgetManager.getAppWidgetIds(getComponentName(context)).forEach { + val views = RemoteViews(context.packageName, R.layout.widget_event_list) + Intent(context, WidgetServiceEmpty::class.java).apply { + data = Uri.parse(this.toUri(Intent.URI_INTENT_SCHEME)) + views.setRemoteAdapter(R.id.widget_event_list, this) + } + + appWidgetManager.updateAppWidget(it, views) + } + + performUpdate(context) + } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt index 474eafded..a4dfe3dd1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/MyWidgetMonthlyProvider.kt @@ -172,16 +172,16 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() { views.setTextColor(R.id.top_value, textColor) views.setTextSize(R.id.top_value, largerFontSize) - var bmp = resources.getColoredBitmap(R.drawable.ic_pointer_left, textColor) + var bmp = resources.getColoredBitmap(R.drawable.ic_chevron_left_vector, textColor) views.setImageViewBitmap(R.id.top_left_arrow, bmp) - bmp = resources.getColoredBitmap(R.drawable.ic_pointer_right, textColor) + bmp = resources.getColoredBitmap(R.drawable.ic_chevron_right_vector, textColor) views.setImageViewBitmap(R.id.top_right_arrow, bmp) - bmp = resources.getColoredBitmap(R.drawable.ic_today, textColor) + bmp = resources.getColoredBitmap(R.drawable.ic_today_vector, textColor) views.setImageViewBitmap(R.id.top_go_to_today, bmp) - bmp = resources.getColoredBitmap(R.drawable.ic_plus, textColor) + bmp = resources.getColoredBitmap(R.drawable.ic_plus_vector, textColor) views.setImageViewBitmap(R.id.top_new_event, bmp) val shouldGoToTodayBeVisible = currTargetDate.withTime(0, 0, 0, 0) != DateTime.now().withDayOfMonth(1).withTime(0, 0, 0, 0) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/interfaces/EventsDao.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/interfaces/EventsDao.kt index 0c6749744..5c19ea063 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/interfaces/EventsDao.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/interfaces/EventsDao.kt @@ -103,11 +103,14 @@ interface EventsDao { fun updateEventRepetitionLimit(repeatLimit: Long, id: Long) @Query("UPDATE events SET repetition_exceptions = :repetitionExceptions WHERE id = :id") - fun updateEventRepetitionExceptions(repetitionExceptions: ArrayList, id: Long) + fun updateEventRepetitionExceptions(repetitionExceptions: String, id: Long) @Insert(onConflict = OnConflictStrategy.REPLACE) fun insertOrUpdate(event: Event): Long @Query("DELETE FROM events WHERE id IN (:ids)") fun deleteEvents(ids: List) + + @Query("DELETE FROM events WHERE source = :source AND import_id = :importId") + fun deleteBirthdayAnniversary(source: String, importId: String): Int } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/services/WidgetServiceEmpty.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/services/WidgetServiceEmpty.kt new file mode 100644 index 000000000..f29ccd84a --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/services/WidgetServiceEmpty.kt @@ -0,0 +1,9 @@ +package com.simplemobiletools.calendar.pro.services + +import android.content.Intent +import android.widget.RemoteViewsService +import com.simplemobiletools.calendar.pro.adapters.EventListWidgetAdapterEmpty + +class WidgetServiceEmpty : RemoteViewsService() { + override fun onGetViewFactory(intent: Intent) = EventListWidgetAdapterEmpty(applicationContext) +} diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt index ddf7dffa6..9a1d52c60 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/views/MonthView.kt @@ -346,6 +346,6 @@ class MonthView(context: Context, attrs: AttributeSet, defStyle: Int) : View(con private fun isDayValid(event: Event, code: String): Boolean { val date = Formatter.getDateTimeFromCode(code) - return Formatter.getDateTimeFromTS(event.endTS) == Formatter.getDateTimeFromTS(date.seconds()).withTimeAtStartOfDay() + return event.startTS != event.endTS && Formatter.getDateTimeFromTS(event.endTS) == Formatter.getDateTimeFromTS(date.seconds()).withTimeAtStartOfDay() } } diff --git a/app/src/main/res/drawable-hdpi/ic_change_view.png b/app/src/main/res/drawable-hdpi/ic_change_view.png deleted file mode 100644 index cc86415c0..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_change_view.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_color.png b/app/src/main/res/drawable-hdpi/ic_color.png deleted file mode 100644 index 9470e79e1..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_color.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_people.png b/app/src/main/res/drawable-hdpi/ic_people.png deleted file mode 100755 index 26691bec8..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_people.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_pointer_left.png b/app/src/main/res/drawable-hdpi/ic_pointer_left.png deleted file mode 100644 index e8fdcb49c..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_pointer_left.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_pointer_right.png b/app/src/main/res/drawable-hdpi/ic_pointer_right.png deleted file mode 100644 index 95856c86c..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_pointer_right.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_today.png b/app/src/main/res/drawable-hdpi/ic_today.png deleted file mode 100644 index 73a5f63d7..000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_today.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_change_view.png b/app/src/main/res/drawable-xhdpi/ic_change_view.png deleted file mode 100644 index 6c49e9167..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_change_view.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_color.png b/app/src/main/res/drawable-xhdpi/ic_color.png deleted file mode 100644 index 4af10a4d0..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_color.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_people.png b/app/src/main/res/drawable-xhdpi/ic_people.png deleted file mode 100755 index 93f23280c..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_people.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_pointer_left.png b/app/src/main/res/drawable-xhdpi/ic_pointer_left.png deleted file mode 100644 index 932903fa4..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_pointer_left.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_pointer_right.png b/app/src/main/res/drawable-xhdpi/ic_pointer_right.png deleted file mode 100644 index 09bff9fc6..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_pointer_right.png and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_today.png b/app/src/main/res/drawable-xhdpi/ic_today.png deleted file mode 100644 index 76c89b9f9..000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_today.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_change_view.png b/app/src/main/res/drawable-xxhdpi/ic_change_view.png deleted file mode 100644 index 919d083ee..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_change_view.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_color.png b/app/src/main/res/drawable-xxhdpi/ic_color.png deleted file mode 100644 index 119b1fd8c..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_color.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_people.png b/app/src/main/res/drawable-xxhdpi/ic_people.png deleted file mode 100755 index 6695583fe..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_people.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_pointer_left.png b/app/src/main/res/drawable-xxhdpi/ic_pointer_left.png deleted file mode 100644 index fcdff76a2..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_pointer_left.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_pointer_right.png b/app/src/main/res/drawable-xxhdpi/ic_pointer_right.png deleted file mode 100644 index 75cf3776f..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_pointer_right.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_today.png b/app/src/main/res/drawable-xxhdpi/ic_today.png deleted file mode 100644 index d5175f037..000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_today.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_change_view.png b/app/src/main/res/drawable-xxxhdpi/ic_change_view.png deleted file mode 100644 index fa45db74c..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_change_view.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_color.png b/app/src/main/res/drawable-xxxhdpi/ic_color.png deleted file mode 100644 index dba40d4eb..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_color.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_people.png b/app/src/main/res/drawable-xxxhdpi/ic_people.png deleted file mode 100755 index 594db41ff..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_people.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_pointer_left.png b/app/src/main/res/drawable-xxxhdpi/ic_pointer_left.png deleted file mode 100644 index ef5bc95b0..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_pointer_left.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_pointer_right.png b/app/src/main/res/drawable-xxxhdpi/ic_pointer_right.png deleted file mode 100644 index 6abf6dbfa..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_pointer_right.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_today.png b/app/src/main/res/drawable-xxxhdpi/ic_today.png deleted file mode 100644 index 37e5996b6..000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_today.png and /dev/null differ diff --git a/app/src/main/res/drawable/attendee_circular_background.xml b/app/src/main/res/drawable/attendee_circular_background.xml index 4b622c6eb..8101204b6 100644 --- a/app/src/main/res/drawable/attendee_circular_background.xml +++ b/app/src/main/res/drawable/attendee_circular_background.xml @@ -8,7 +8,7 @@ diff --git a/app/src/main/res/drawable/ic_change_view_vector.xml b/app/src/main/res/drawable/ic_change_view_vector.xml new file mode 100644 index 000000000..4f0f114cd --- /dev/null +++ b/app/src/main/res/drawable/ic_change_view_vector.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_chevron_left_vector.xml b/app/src/main/res/drawable/ic_chevron_left_vector.xml new file mode 100644 index 000000000..2a62ae815 --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron_left_vector.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_chevron_right_vector.xml b/app/src/main/res/drawable/ic_chevron_right_vector.xml new file mode 100644 index 000000000..eeed48730 --- /dev/null +++ b/app/src/main/res/drawable/ic_chevron_right_vector.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_color_vector.xml b/app/src/main/res/drawable/ic_color_vector.xml new file mode 100644 index 000000000..929631494 --- /dev/null +++ b/app/src/main/res/drawable/ic_color_vector.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_group_vector.xml b/app/src/main/res/drawable/ic_group_vector.xml new file mode 100644 index 000000000..120218d2c --- /dev/null +++ b/app/src/main/res/drawable/ic_group_vector.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_today_vector.xml b/app/src/main/res/drawable/ic_today_vector.xml new file mode 100644 index 000000000..bac56e0ed --- /dev/null +++ b/app/src/main/res/drawable/ic_today_vector.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_day.xml b/app/src/main/res/layout/activity_day.xml index 84de6d093..8f6045c82 100644 --- a/app/src/main/res/layout/activity_day.xml +++ b/app/src/main/res/layout/activity_day.xml @@ -18,7 +18,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/activity_margin" - android:src="@drawable/ic_plus" + android:src="@drawable/ic_plus_vector" app:backgroundTint="@color/color_primary" app:rippleColor="@color/pressed_item_foreground"/> diff --git a/app/src/main/res/layout/activity_event.xml b/app/src/main/res/layout/activity_event.xml index f1d3cf14c..66a5004bc 100644 --- a/app/src/main/res/layout/activity_event.xml +++ b/app/src/main/res/layout/activity_event.xml @@ -54,7 +54,7 @@ android:background="?attr/selectableItemBackgroundBorderless" android:paddingStart="@dimen/small_margin" android:paddingEnd="@dimen/small_margin" - android:src="@drawable/ic_place"/> + android:src="@drawable/ic_place_vector"/> + android:src="@drawable/ic_clock_vector"/> + android:src="@drawable/ic_bell_vector"/> + android:src="@drawable/ic_bell_vector"/> + android:src="@drawable/ic_bell_vector"/> + android:src="@drawable/ic_bell_vector"/> + android:src="@drawable/ic_repeat_vector"/> + android:src="@drawable/ic_group_vector"/> + android:src="@drawable/ic_color_vector"/> diff --git a/app/src/main/res/layout/dialog_set_reminders.xml b/app/src/main/res/layout/dialog_set_reminders.xml index 09b8597af..83295b799 100644 --- a/app/src/main/res/layout/dialog_set_reminders.xml +++ b/app/src/main/res/layout/dialog_set_reminders.xml @@ -17,7 +17,7 @@ android:layout_marginStart="@dimen/normal_margin" android:alpha="0.8" android:padding="@dimen/medium_margin" - android:src="@drawable/ic_bell"/> + android:src="@drawable/ic_bell_vector"/> + android:src="@drawable/ic_chevron_left_vector"/> + android:src="@drawable/ic_today_vector"/> + android:src="@drawable/ic_chevron_right_vector"/> + android:src="@drawable/ic_plus_vector"/> + android:src="@drawable/ic_cross_vector"/> + android:src="@drawable/ic_chevron_left_vector"/> + android:src="@drawable/ic_chevron_right_vector"/> diff --git a/app/src/main/res/layout/week_grid_item.xml b/app/src/main/res/layout/week_grid_item.xml index 5c7925168..6abb0697c 100644 --- a/app/src/main/res/layout/week_grid_item.xml +++ b/app/src/main/res/layout/week_grid_item.xml @@ -5,4 +5,4 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerInside" - android:src="@drawable/ic_plus"/> + android:src="@drawable/ic_plus_vector"/> diff --git a/app/src/main/res/layout/widget_event_list.xml b/app/src/main/res/layout/widget_event_list.xml index f80e18dba..24245066f 100644 --- a/app/src/main/res/layout/widget_event_list.xml +++ b/app/src/main/res/layout/widget_event_list.xml @@ -1,6 +1,7 @@ @@ -9,15 +10,30 @@ android:id="@+id/widget_event_list_today" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_alignTop="@+id/widget_event_new_event" - android:layout_alignBottom="@+id/widget_event_new_event" - android:layout_toStartOf="@+id/widget_event_new_event" + android:layout_alignTop="@+id/widget_event_go_to_today" + android:layout_alignBottom="@+id/widget_event_go_to_today" + android:layout_toStartOf="@+id/widget_event_go_to_today" android:ellipsize="end" android:gravity="center_vertical" android:maxLines="1" android:paddingStart="@dimen/medium_margin" android:paddingEnd="@dimen/medium_margin" - android:textSize="@dimen/normal_text_size"/> + android:textSize="@dimen/normal_text_size" + tools:text="July 18"/> + + + android:src="@drawable/ic_plus_vector"/> diff --git a/app/src/main/res/menu/cab_event_list.xml b/app/src/main/res/menu/cab_event_list.xml index 6da3de415..096697b44 100644 --- a/app/src/main/res/menu/cab_event_list.xml +++ b/app/src/main/res/menu/cab_event_list.xml @@ -3,12 +3,12 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/menu/cab_event_type.xml b/app/src/main/res/menu/cab_event_type.xml index af34568ba..642b5e421 100644 --- a/app/src/main/res/menu/cab_event_type.xml +++ b/app/src/main/res/menu/cab_event_type.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/menu/menu_event.xml b/app/src/main/res/menu/menu_event.xml index 801cf45bc..550370dc3 100644 --- a/app/src/main/res/menu/menu_event.xml +++ b/app/src/main/res/menu/menu_event.xml @@ -3,12 +3,12 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/menu/menu_event_types.xml b/app/src/main/res/menu/menu_event_types.xml index 22289485b..035fbcacd 100644 --- a/app/src/main/res/menu/menu_event_types.xml +++ b/app/src/main/res/menu/menu_event_types.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 2adc71e60..cdfb2ca48 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -3,28 +3,28 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index 01617d5e0..e3728f00e 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml index 890cb10ef..cb9af6086 100644 --- a/app/src/main/res/values-br/strings.xml +++ b/app/src/main/res/values-br/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 868b972fe..29182cc8d 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 989c32889..589f1efde 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -11,7 +11,7 @@ Du ser ikke ud til at have nogen forestående begivenheder. Gå til i dag Gå til dato - Hey,\n\nseems like you upgraded from the old free app. You have to migrate locally stored events manually via exporting in an .ics file, then importing. You can find both export/import buttons at the main screen menu.\n\nYou can then uninstall the old version, which has an \'Upgrade to Pro\' button at the top of the app settings. You will then only have to reset your app settings.\n\nThanks! + Hej!\n\nDet ser ud til at du har opgraderet fra den gamle, gratis app. Du skal flytte lokalt gemte begivenheder manuelt til en ics-fil via eksportfunktionen og bagefter importere. Både import og eksport finder du i hovedmenuen.\n\nDu kan nu afinstallere den gamle version, som har en \'Upgrade to Pro\'-knap øverst i app-indstillingerne. Du skal til sidst bare nulstille dine app-indstillinger.\n\nTak! Månedlig kalender @@ -51,7 +51,7 @@ Opdater kun denne forekomst Opdater alle forekomster Gentag indtil - Stop repeating after x occurrences + Stop gentagelse efter x gange For altid gange Gentag @@ -82,7 +82,7 @@ sidste - Fødselsdag + Fødselsdage Tilføj dine kontakters fødselsdage Der blev ikke fundet nogen fødselsdage Der blev ikke fundet nogen nye fødselsdage @@ -102,7 +102,7 @@ Påmindelser - Tilføj en anden deltager + Tilføj deltager Min status: Kommer Kommer ikke @@ -188,7 +188,7 @@ Standard varighed Senest brugte Anden tid - Highlight weekends on some views + Fremhæv weekender i visse visninger CalDAV @@ -229,7 +229,7 @@ Helligdage oprettet på den måde er indsat under begivenhedstypen \"Helligdage\". Gå til Indstillinger -> Håndter begivenhedstyper. Efter et par sekunders pres på en type kan du slette den ved at klikke på papirkurven. Kan jeg synkronisere mine begivenheder med Googles kalender eller en anden kalender der understøtter CalDAV? Ja, klik på \"CalDAV sync\" i appens indstillinger og vælg de kalendere du vil synkronisere. Det kræver dog at du har en app til at synkronisere mellem din enhed og kalenderservere. - Hvis du vil synkronisere en Googlekalender, kan deres officielle app klare det. For andre kalenderes vedkommende kan du bruge en 3. partsapp som for eksempel DAVdroid. + Hvis du vil synkronisere en Googlekalender, kan Googles officielle app klare det. For andre kalenderes vedkommende kan du bruge en 3. partsapp som for eksempel DAVdroid. Jeg kan se mine påmindelser, men der er ingen lyd på. Hvad kan jeg gøre ved det? Såvel visning af påmindelser som afspilning af lyd til dem, er afhængig af systemet. Hvis ikke du kan høre nogen lyd, kan du prøve at gå ind i appens indstillinger. Her kan du trykke på \"Audio-stream anvendt af påmindelser\" og vælge en anden indstilling. Virker det stadig ikke skal du tjekke i dine lydindstillinger om lyden i det aktuelle valg er slået fra. @@ -237,7 +237,7 @@ Simpel kalender Pro - Begivenheder & påmindelser - A beautiful calendar without ads or weird permissions. + En skøn kalender uden reklamer, med fuld tilfredshed eller pengene tilbage! Simpel kalender Pro kan tilpasses helt efter din smag, offline kalender er designet til at gøre præcis hvad en kalender skal kunne. Ingen indviklede funktioner, ingen overflødige tilladelser og ingen reklamer! diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index eacfb3fd9..77738b128 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -240,7 +240,7 @@ Simple Calendar Pro - Termine & Erinnerungen - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro ist ein vollständig anpassbarer Offline-Kalender, der genau das bietet, was man von einem Kalender erwartet. Keine umständlichen Funktionen, keine unnötigen Berechtigungen und keine Werbung! diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 7905bc467..49f741c42 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -1,6 +1,6 @@ - Simple Calendar + Απλό Ημερολόγιο Ημερολόγιο Αλλαγή προβολής Ημερήσια προβολή @@ -38,9 +38,9 @@ Εβδομαδιαία Μηνιαία Ετήσια - weeks - months - years + Εβδομάδες + Μήνες + Έτη Επανάληψη μέχρι Για πάντα Η εκδήλωση είναι επαναλαμβανόμενη @@ -53,7 +53,7 @@ Επαναλάβετε μέχρι μια ημερομηνία Παύση επαναλήψεων μετά από x εμφανίσεις Επαναλάβετε για πάντα - times + Φορές Επανάληψη Επανάληψη ενεργή Κάθε μέρα @@ -239,16 +239,16 @@ Απλό Ημερολόγιο Pro - Εκδηλώσεων & Ειδοποιήσεων - A beautiful calendar without ads or weird permissions. + Ένα όμορφο Ημερολόγιο χωρίς διαφημίσεις, 100% εγγύηση επιστροφής χρημάτων. - Simple Calendar Pro είναι ένα πλήρως προσαρμόσιμο ημερολόγιο εκτός σύνδεσης που έχει σχεδιαστεί για να κάνει ακριβώς αυτό που υπόσχεται. Δεν υπάρχουν περίπλοκες λειτουργίες, περιττά δικαιώματα και διαφημίσεις! + Το Απλό Ημερολόγιο Pro είναι ένα πλήρως προσαρμόσιμο ημερολόγιο εκτός σύνδεσης που έχει σχεδιαστεί για να κάνει ακριβώς αυτό που υπόσχεται. Δεν υπάρχουν περίπλοκες λειτουργίες, περιττά δικαιώματα και διαφημίσεις! - Είτε οργανώνετε ένα ή επαναλαμβανόμενα γεγονότα, γενέθλια, επετείους, επαγγελματικές συναντήσεις, ραντεβού ή οτιδήποτε άλλο, το Simple Calendar Pro καθιστάται να παραμένει εύκολα οργανωμένο. Με μια απίστευτη ποικιλία επιλογών προσαρμογής μπορείτε να προσαρμόσετε τις υπενθυμίσεις συμβάντων, τους ήχους ειδοποιήσεων, τα γραφικά στοιχεία ημερολογίου και τον τρόπο εμφάνισης της εφαρμογής. + Είτε οργανώνετε ένα ή επαναλαμβανόμενα γεγονότα, γενέθλια, επετείους, επαγγελματικές συναντήσεις, ραντεβού ή οτιδήποτε άλλο, το Απλό Ημερολόγιο Pro καθιστάται να παραμένει εύκολα οργανωμένο. Με μια απίστευτη ποικιλία επιλογών προσαρμογής μπορείτε να προσαρμόσετε τις υπενθυμίσεις συμβάντων, τους ήχους ειδοποιήσεων, τα γραφικά στοιχεία ημερολογίου και τον τρόπο εμφάνισης της εφαρμογής. Καθημερινές, εβδομαδιαίες και μηνιαίες προβολές κάνουν τον έλεγχο των επερχόμενων εκδηλώσεων & ραντεβού παιχνιδάκι. Μπορείτε ακόμη και να δείτε τα πάντα ως μια απλή λίστα γεγονότων και όχι σε προβολή ημερολογίου, ώστε να γνωρίζετε ακριβώς τι έρχεται στη ζωή σας και πότε. ---------------------------------------------------------- - Simple Calendar Pro – Χαρακτηριστικά & Οφέλη + Απλό Ημερολόγιο Pro – Χαρακτηριστικά & Πλεονεκτήματα ---------------------------------------------------------- ✔️ Δεν υπάρχουν διαφημίσεις ή ενοχλητικά αναδυόμενα παράθυρα @@ -270,7 +270,7 @@ ✔️ Χρησιμοποιήστε το ως προσωπικό ή επιχειρηματικό ημερολόγιο ✔️ Επιλέξτε μεταξύ υπενθυμίσεων & email για να σας ειδοποιήσει για ένα συμβάν - ΛΗΨΗ SIMPLE CALENDAR PRO – ΕΚΤΟΣ ΣΥΝΔΕΣΗΣ ΚΑΙ ΧΩΡΊΣ ΔΙΑΦΗΜΗΣΕΙΣ! + ΛΗΨΗ ΑΠΛΟ ΗΜΕΡΟΛΟΓΙΟ Pro – ΕΚΤΟΣ ΣΥΝΔΕΣΗΣ ΚΑΙ ΧΩΡΊΣ ΔΙΑΦΗΜΗΣΕΙΣ! Δείτε την πλήρη σειρά των Simple Tools εδώ: https://www.simplemobiletools.com diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4ce96e1cd..08250b4e3 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 91aaee56c..f6eae13f2 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,30 +1,31 @@ - Agenda simple + Simple agenda Agenda Changer de vue Vue quotidienne Vue hebdomadaire Vue mensuelle Vue annuelle - Liste simple d\'événements - Il semblerait que vous n\'ayez aucun événement à venir. - Aller à aujourd\'hui - Aller à un jour - Bonjour,\n\nIl semblerait que vous ayez mis à jour depuis l\'ancienne application gratuite. Vous devez déplacer les évènements enregistrés localement manuellement en exportant un fichier .ics, puis en l\'important. Vous pouvez trouver les boutons export/import dans le menu de l\'écran principal.\n\nVous pourrez ensuite désinstaller l\'ancienne version, qui a un bouton \'Mise à jour vers Pro\' en haut des paramètres de l\'application. Vous aurez ensuite juste à réinitialiser les paramètres de l\'application.\n\nMerci ! + Liste simple d\’événements + Il semblerait que vous n\’ayez aucun événement à venir. + Aller vers aujourd\’hui + Aller vers un date + Bonjour,\n\nIl semblerait que vous soyez passé de l\’ancienne appli gratuite à la Pro. Vous devez migrer manuellement les évènements enregistrés localement manuellement en exportant un fichier .ics, puis en l\’important. Vous trouverez les boutons Exporter/Importer dans le menu de l\’écran principal.\n\nVous pourrez ensuite désinstaller l\’ancienne version, qui présente un bouton \'Passer à la version + Pro\' en haut des paramètres de l\’appli. Vous n\’aurez ensuite qu\’à réinitialiser les paramètres de l\’appli.\n\nMerci ! - Calendrier mensuel - Liste d\'événements du calendrier + agenda mensuel + Liste d\’événements de l\’agenda Événement - Éditer l\'événement + Éditer l\’événement Nouvel événement Créer un nouvel événement - Dupliquer l\'événement + Dupliquer l\’événement Le titre ne peut pas être vide - L\'événement ne peut pas se terminer plus tôt qu\'il ne commence + L\’événement ne peut pas se terminer plus tôt qu\’il ne commence Événement ajouté avec succès Événement ajouté avec succès Filtrer les événements par type @@ -41,16 +42,16 @@ semaines mois années - Répéter jusqu\'à + Répéter jusqu\’à Pour toujours - L\'événement est répétable + L\’événement est répétable La sélection contient des événements avec répétition - Supprimer seulement l\'occurrence sélectionnée + Supprimer seulement l\’occurrence sélectionnée Supprimer ceci et toutes les occurrences futures Supprimer toutes les occurrences - Mettre à jour seulement l\'occurrence sélectionnée + Mettre à jour seulement l\’occurrence sélectionnée Mettre à jour toutes les occurrences - Répéter jusqu\'à une date + Répéter jusqu\’à une date Arrêter de répéter après x occurrences Répéter éternellement fois @@ -84,22 +85,22 @@ Anniversaires Ajouter les anniversaires des contacts - Aucun anniversaire n\'a été trouvé + Aucun anniversaire n\’a été trouvé No new birthdays have been found Anniversaires ajoutés avec succès - Anniversaires d\'évènements - Ajouter des anniversaires d\'évènements de contact - Aucun anniversaire d\'évènements n\'a été trouvé + Anniversaires d\’évènements + Ajouter des anniversaires d\’évènements de contact + Aucun anniversaire d\’évènements n\’a été trouvé No new anniversaries have been found - Anniversaires d\'évènements ajoutés avec succès + Anniversaires d\’évènements ajoutés avec succès Rappel avant Ajouter un autre rappel - Rappels d\'événements + Rappels d\’événements Ajouter un autre participant @@ -112,13 +113,13 @@ Importer des événements Exporter des événements - Importer des événements depuis un fichier .ics + Importer des événements d\’un fichier .ics Exporter des événements vers un fichier .ics - Type d\'événement par défaut + Type d\’événement par défaut Exporter aussi les événements passés - Inclure les types d\'événement + Inclure les types d\’événement Nom de fichier (sans .ics) - Remplacer les types d\'événement dans le fichier + Remplacer les types d\’événement dans le fichier Titre @@ -130,46 +131,46 @@ Semaine - Type d\'événement + Type d\’événement Ajouter un nouveau type Éditer le type Un type avec ce titre existe déjà Couleur Événement ordinaire - Le type d\'événement par défaut ne peut pas être supprimé - Sélectionner un type d\'événement - Déplacer les événements affectés dans le type d\'événement par défaut + Le type d\’événement par défaut ne peut pas être supprimé + Sélectionner un type d\’événement + Déplacer les événements affectés dans le type d\’événement par défaut Supprimer de façon permanente les événements affectés - Pour supprimer un calendrier CalDAV vous devez le désynchroniser + Pour supprimer un agenda CalDAV vous devez le désynchroniser Jours fériés Ajouter des jours fériés Jours fériés nationaux Jours fériés religieux - Les vacances ont été importées avec succès dans le type d\'événement \"Vacances\" - L\'import de certains événements a échoué - L\'import des jours fériés a échoué + Les vacances ont été importées avec succès dans le type d\’événement « Vacances » + Échec d\’importation de certains événements + Échec d\’importation des jours fériés - Gestion des types d\'événements + Gestion des types d\’événements Jour de début de la vue hebdomadaire Jour de fin de la vue hebdomadaire Afficher les numéros de semaine Vibrer à la notification de rappel Son de rappel - Aucune application capable de configurer la sonnerie trouvée + Aucune appli n\’a été trouvée pour définir la sonnerie Aucune - Le jour ne peut pas se terminer plus tôt qu\'il ne débute + Le jour ne peut pas se terminer plus tôt qu\’il ne débute Synchronisation CalDAV - Listes d\'événements + Listes d\’événements Afficher les événements du passé - Remplacer la description de l\'événement par l\'emplacement + Remplacer la description de l\’événement par l\’emplacement Supprimer tous les événements - Êtes-vous sûr de vouloir supprimer tous les événements ? Cela laissera vos types d\'événements et autres paramètres intacts. + Êtes-vous sûr de vouloir supprimer tous les événements ? Cela laissera vos types d\’événements et autres paramètres intacts. Afficher une grille - Boucles de rappel jusqu\'à ce qu\'il soit rejeté - Diminuer l\'affichage des événements passés + Boucles de rappel jusqu\’à ce qu\’il soit rejeté + Diminuer l\’affichage des événements passés Evénements Flux audio utilisé par les rappels System @@ -180,7 +181,7 @@ Rappel par défaut 1 Rappel par défaut 2 Rappel par défaut 3 - Affichage à ouvrir à partir du widget de liste d\'événements + Affichage à ouvrir à partir du widget de liste d\’événements Dernière vue Nouveaux évènements Début par défaut @@ -192,17 +193,17 @@ CalDAV - Seléctionner les calendriers à synchroniser - Gérer les calendriers synchronisés + Seléctionner les agendas à synchroniser + Gérer les agendas synchronisés Stocker uniquement localement - Rafraîchir les calendriers CalDAV - Rafraîchissement… - Rafraîchissement terminé - Édition du calendrier échouée + Rafraîchir les agendas CalDAV + Actualisation… + L’actualisation est terminée + Échec d\’édition de l\’agenda Synchronisation… - Synchronisation terminée + La synchronisation est terminée Sélectionnez une couleur différente (peut être appliqué localement uniquement) - Vous n\'êtes pas autorisé à écrire dans l\'agenda sélectionné + Vous n\’êtes pas autorisé à écrire dans l\’agenda sélectionné @@ -225,21 +226,21 @@ Heure du café - Comment supprimer les congés importés par le bouton « Ajouter des jours fériés » ? - Les jours fériés ajoutés de cette manière sont du type « Jours fériés ». Vous pouvez aller dans « Paramètres » puis « Gestion des types d\'événements », - faire un appui long sur « Jours fériés » et les supprimer en appuyant sur la corbeille. - Puis-je synchroniser mes événements via Google Agenda, ou tout autre service proposant la synchronisation CalDAV ? - Oui, il faut juste activer l\'option « Synchronisation CalDAV » dans les paramètres de l\'application puis choisir les calendriers à synchroniser. Une application tierce pour gérer la synchronisation entre votre appareil et les serveurs sera par contre nécessaire. - Dans le cas d\'un calendrier Google Agenda, l\'application officielle fera l\'affaire. Pour les autres calendriers, il vous faudra une application comme DAVdroid par exemple. - Je vois les rappels visuels, mais n\'entends aucun son. Que puis-je faire? - Pas seulement l\'affichage du rappel, mais la lecture de l\'audio est également énormément affectée par le système. Si vous n’entendez aucun son, essayez d’entrer dans les paramètres de l’application, - en appuyant sur l\'option "Flux audio utilisé par les rappels" et en la modifiant. Si cela ne fonctionne toujours pas, vérifiez vos paramètres audio, si le flux particulier n’est pas mis en sourdine. + Comment supprimer les congés importés par le bouton « Ajouter des jours fériés » ? + Les jours fériés ajoutés de cette manière sont du type « Jours fériés ». Vous pouvez aller dans « Paramètres » puis « Gestion des types d\’événements », + faire un appui long sur « Jours fériés » et les supprimer en appuyant sur la corbeille. + Puis-je synchroniser mes événements par Google Agenda, ou tout autre service proposant la synchronisation CalDAV ? + Oui, il faut juste activer l\’option « Synchronisation CalDAV » dans les paramètres de l\’appli, puis choisir les agendas à synchroniser. Une appli tierce pour gérer la synchronisation entre votre appareil et les serveurs sera par contre nécessaire. + Dans le cas d\’un agenda Google, l\’appli officielle fera l\’affaire. Pour les autres agendas, il vous faudra une appli comme DAVdroid par exemple. + Je vois les rappels visuels, mais n\’entends aucun son. Que puis-je faire ? + Pas seulement l\’affichage du rappel, mais la lecture de l\’audio est également énormément affectée par le système. Si vous n’entendez aucun son, essayez d’entrer dans les paramètres de l’appli, + en appuyant sur l\’option « Flux audio utilisé par les rappels » et en la modifiant. Si cela ne fonctionne toujours pas, vérifiez vos paramètres audio, si le flux particulier n’est pas mis en sourdine. Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 0650e898a..0671774aa 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 66f9bdd81..08a38c68d 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - יומן פשוט - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 9eb0f5ce1..d7c7a35a7 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index e26f980e7..b4225c5c6 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 3765322ce..b477ada5b 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 88acaa520..2d03a8e71 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -3,19 +3,19 @@ Simple Calendar Kalender Ubah tampilan - Tampilan harian - Tampilan mingguan - Tampilan bulanan - Tampilan tahunan - Daftar acara sederhana + Tampilan hari + Tampilan minggu + Tampilan bulan + Tampilan tahun + Daftar acara Sepertinya anda tidak memiliki acara yang akan datang. Buka hari ini Buka tanggal Hai,\n\nsepertinya anda memperbarui dari versi aplikasi gratis yang lama. Anda perlu memindahkan acara yang disimpan lokal secara manual dengan cara mengekspornya ke berkas .ics, lalu mengimpornya kembali. Anda bisa menemukan tombol ekspor/impor di layar menu utama.\n\nSetelah itu anda bisa mencopot versi yang lama, yang memiliki tombol \'Tingkatkan ke Pro\' di bagian atas pengaturan aplikasi. Lalu anda hanya perlu menyetel ulang pengaturan aplikasi anda.\n\nTerima kasih! - Kalender bulanan - Daftar acara kalender + Bulan + Daftar acara Acara @@ -46,7 +46,7 @@ Acara berulang Acara yang dipilih berisi acara yang berulang Hapus acara ini saja - Hapus acara ini dan semua perulangannya di masa depan + Hapus acara ini dan semua perulangannya Hapus semua perulangan acara Perbarui acara ini saja Perbarui semua perulangan acara @@ -144,7 +144,7 @@ Hari Libur - Tambah hari libur + Tambahkan hari libur Libur nasional Libur keagamaan Hari libur berhasil diimpor ke dalam kategori acara \"Hari Libur\" @@ -153,8 +153,8 @@ Kelola kategori acara - Mulai hari pada - Akhir hari pada + Hari dimulai pada jam + Hari berakhir pada jam Tampilkan nomor minggu Getar pada notifikasi pengingat Suara pengingat @@ -168,10 +168,10 @@ Hapus semua acara Apakah anda yakin ingin menghapus semua acara? Tindakan ini tidak akan menghapus kategori dan pengaturan lainnya. Tampilkan grid - Ulangi pengingat sampai diberhentikan + Ulangi pengingat sampai dihentikan Redupkan acara yang sudah lewat Acara - Audio yang digunakan oleh pengingat + Audio yang digunakan pengingat Sistem Alarm Notifikasi @@ -184,9 +184,9 @@ Tampilan terakhir Acara baru Waktu mulai default - Seluruh jam berikutnya + Satu jam kedepan Durasi default - Yang terakhir digunakan + Terakhir digunakan Waktu lainnya Sorot akhir pekan pada beberapa tampilan @@ -239,7 +239,7 @@ Simple Calendar Pro - Acara & Pengingat - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro adalah kalender luring sederhana yang mudah digunakan dan dibuat sesuai dengan fungsi-fungsi dasar sebuah kalender. Tanpa fitur yang terlalu rumit, perizinan yang tidak diperlukan dan sama sekali tanpa iklan! diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 88acaa520..2d03a8e71 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -3,19 +3,19 @@ Simple Calendar Kalender Ubah tampilan - Tampilan harian - Tampilan mingguan - Tampilan bulanan - Tampilan tahunan - Daftar acara sederhana + Tampilan hari + Tampilan minggu + Tampilan bulan + Tampilan tahun + Daftar acara Sepertinya anda tidak memiliki acara yang akan datang. Buka hari ini Buka tanggal Hai,\n\nsepertinya anda memperbarui dari versi aplikasi gratis yang lama. Anda perlu memindahkan acara yang disimpan lokal secara manual dengan cara mengekspornya ke berkas .ics, lalu mengimpornya kembali. Anda bisa menemukan tombol ekspor/impor di layar menu utama.\n\nSetelah itu anda bisa mencopot versi yang lama, yang memiliki tombol \'Tingkatkan ke Pro\' di bagian atas pengaturan aplikasi. Lalu anda hanya perlu menyetel ulang pengaturan aplikasi anda.\n\nTerima kasih! - Kalender bulanan - Daftar acara kalender + Bulan + Daftar acara Acara @@ -46,7 +46,7 @@ Acara berulang Acara yang dipilih berisi acara yang berulang Hapus acara ini saja - Hapus acara ini dan semua perulangannya di masa depan + Hapus acara ini dan semua perulangannya Hapus semua perulangan acara Perbarui acara ini saja Perbarui semua perulangan acara @@ -144,7 +144,7 @@ Hari Libur - Tambah hari libur + Tambahkan hari libur Libur nasional Libur keagamaan Hari libur berhasil diimpor ke dalam kategori acara \"Hari Libur\" @@ -153,8 +153,8 @@ Kelola kategori acara - Mulai hari pada - Akhir hari pada + Hari dimulai pada jam + Hari berakhir pada jam Tampilkan nomor minggu Getar pada notifikasi pengingat Suara pengingat @@ -168,10 +168,10 @@ Hapus semua acara Apakah anda yakin ingin menghapus semua acara? Tindakan ini tidak akan menghapus kategori dan pengaturan lainnya. Tampilkan grid - Ulangi pengingat sampai diberhentikan + Ulangi pengingat sampai dihentikan Redupkan acara yang sudah lewat Acara - Audio yang digunakan oleh pengingat + Audio yang digunakan pengingat Sistem Alarm Notifikasi @@ -184,9 +184,9 @@ Tampilan terakhir Acara baru Waktu mulai default - Seluruh jam berikutnya + Satu jam kedepan Durasi default - Yang terakhir digunakan + Terakhir digunakan Waktu lainnya Sorot akhir pekan pada beberapa tampilan @@ -239,7 +239,7 @@ Simple Calendar Pro - Acara & Pengingat - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro adalah kalender luring sederhana yang mudah digunakan dan dibuat sesuai dengan fungsi-fungsi dasar sebuah kalender. Tanpa fitur yang terlalu rumit, perizinan yang tidak diperlukan dan sama sekali tanpa iklan! diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4e23f20ab..2b0924997 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -239,7 +239,7 @@ Semplice Calendario Pro - Eventi & Promemoria - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Semplice Calendario Pro è un calendario offline completamente personalizzabile progettato per fare esattamente quello che un calendario dovrebbe fare. Non ci sono funzionalità complicate, permessi non necessari e senza pubblicità! diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 5072ea1d0..6f6627920 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - יומן פשוט - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index c80abd94e..c749f07ac 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index a0d72bfa3..d7b62b05f 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 31df3e2aa..0391a12b5 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 5dd06f262..12080b729 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index a28acf141..03f6d51e7 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -239,7 +239,7 @@ Eenvoudige Agenda Pro - Afspraken & Herinneringen - A beautiful calendar without ads or weird permissions. + Stijlvolle agenda zonder advertenties. 100% niet-goed-geld-teruggarantie. Eenvoudige Agenda Pro is een volledig aan te passen offline agenda, ontwikkeld om precies te doen waar een agenda voor bedoeld is. Geen ingewikkelde poespas of onnodige machtigingen, en zonder advertenties! diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index d86145a5e..6aa628233 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 60752c701..12f1774f2 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -237,7 +237,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 01dabafa0..ea92b14f7 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -239,7 +239,7 @@ selecionando a opção \"Fonte de áudio usada pelos lembretes\" e modificando o Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index eb2c8087a..0dd304ee3 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -237,9 +237,9 @@ - Simple Calendar Pro - Events & Reminders + Simple Calendar Pro - Eventos e lembretes - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! @@ -248,7 +248,7 @@ Daily, weekly and monthly views make checking your upcoming events & appointments a breeze. You can even view everything as a simple list of events rather than in calendar view, so you know exactly what’s coming up in your life and when. ---------------------------------------------------------- - Simple Calendar Pro – Features & Benefits + Simple Calendar Pro – Funcionalidades ---------------------------------------------------------- ✔️ No ads or annoying popups @@ -270,9 +270,9 @@ ✔️ Use as a personal calendar or a business calendar ✔️ Choose between reminders & email notifications to alert you about an event - DOWNLOAD SIMPLE CALENDAR PRO – THE SIMPLE OFFLINE CALENDAR WITH NO ADS! + DESCARREGUAR SIMPLE CALENDAR PRO – O CALENDÁRIO SIMPLES QUE NÃO TEM ANÚNCIOS! - Check out the full suite of Simple Tools here: + Consulte todas as aplicações Simple Tools aqui: https://www.simplemobiletools.com Facebook: diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 79f35b1af..1f1edb326 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - события и напоминания - Красивый календарь без рекламы и ненужных разрешений. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro — это полностью настраиваемый автономный календарь, предназначенный для выполнения именно того, что должен делать календарь. Никаких непонятных функций, ненужных разрешений и рекламы! @@ -268,7 +268,7 @@ ✔️ Настройка событий: время начала, продолжительность, напоминания и т.д. ✔️ Добавление участников мероприятия для каждого события ✔️ Использование как личного, так и рабочего календаря - ✔️ На выыбор напоминание или уведомление по электронной почте для предупреждения о событии + ✔️ На выбор напоминание или уведомление по электронной почте для предупреждения о событии СКАЧАЙТЕ SIMPLE CALENDAR PRO - ПРОСТОЙ АВТОНОМНЫЙ КАЛЕНДАРЬ БЕЗ РЕКЛАМЫ! diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 7650a7f5a..c91510e28 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -239,7 +239,7 @@ Jednoduchý kalendár Pro - Udalosti a pripomienky - Krásny kalendár bez reklám a čudných oprávnení. + Krásny kalendár bez reklám so 100% garanciou vrátenia peňazí. Jednoduchý kalendár Pro je prispôsobiteľný offline kalendár vytvorený presne na to, čo by kalendáre mali zvládať.Nenachádzajú sa tu žiadne nepotrebné funkcie, nepotrebné oprávnenia, ani reklamy! diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index daff9cea1..a2d8bec80 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -45,10 +45,10 @@ Alltid Händelsen är återkommande Markeringen innehåller återkommande händelser - Ta bara bort den markerade förekomsten + Ta bara bort den valda förekomsten Ta bort denna och alla framtida förekomster Ta bort alla förekomster - Uppdatera bara den markerade förekomsten + Uppdatera bara den valda förekomsten Uppdatera alla förekomster Upprepa till ett datum Sluta upprepa efter x förekomster @@ -57,7 +57,7 @@ Upprepa Upprepa på Varje dag - På markerade dagar + På valda dagar Samma dag Den sista dagen Upprepa på samma dag varje månad @@ -85,29 +85,29 @@ Födelsedagar Lägg till kontakters födelsedagar Inga födelsedagar hittades - No new birthdays have been found + Inga nya födelsedagar hittades Födelsedagarna har lagts till Årsdagar Lägg till kontakters årsdagar Inga årsdagar hittades - No new anniversaries have been found + Inga nya årsdagar hittades Årsdagarna har lagts till Påminnelse - före + innan Lägg till en annan påminnelse Händelsepåminnelser - Add another attendee - My status: - Going - Not going - Maybe going - Invited + Lägg till en annan deltagare + Min status: + Kommer + Kommer inte + Kommer kanske + Inbjuden Importera händelser @@ -188,7 +188,7 @@ Standardvaraktighet Senast använda Annan tid - Highlight weekends on some views + Markera veckoslut i vissa vyer CalDAV @@ -220,7 +220,7 @@ Möte med Johan I trädgården Biblioteket - Lunch med Marie + Lunch med Maria På stranden Kaffedags @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index ae25c054f..75aa87d8b 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -238,7 +238,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index d8fe81d29..8e163ef73 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -239,7 +239,7 @@ Простий Календар Pro - Події і Нагадування - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Простий Календар Pro - це офлайн-календар з дуже гнучкими налаштуваннями, призначений робити саме те, що календар повинен робити. Не містить складних особливостей, лише необхідні дозволи та без реклами! diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index f75e8f0d2..a0783dcfd 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -239,7 +239,7 @@          简易行事历 Pro - 活动&约会      -    A beautiful calendar without ads or weird permissions. +    A beautiful calendar without ads, 100% money back guarantee.              简易行事历Pro是一个高度自定义,完全旨在于行事历应该做什么的离线行事历。 没有复杂的功能、非必要的权限和广告! diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index dc8bb4dd4..c6fa5ee96 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -239,7 +239,7 @@ 簡易行事曆 Pro - 活動&約會 - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. 簡易行事曆Pro是一個高度自訂化,完全旨在於行事曆應該做什麼的離線行事曆。 沒有複雜的功能、非必要的權限和廣告! diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 558a34814..edb52d5a8 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -11,7 +11,7 @@ 你近期似乎沒有任何活動。 前往今天 前往日期 - 嘿\n\n你似乎從舊版免費應用程式升級了。你必須手動搬移儲存在本機端的活動,透過匯出.ics檔案再接著匯入。你可以在主畫面選單中,找到 匯出/匯入 兩個按鈕。\n\n然後你能解除安裝舊版了,在應用程式設定的頂端有個\'升級至專業版\'按鈕。你只需要重置你的應用程式設定。\n\n感謝! + 嘿\n\n你似乎從舊版免費應用程式升級了。你必須手動搬移儲存在本機端的活動,透過匯出 .ics 檔案再接著匯入。你可以在主畫面選單中,找到 匯出/匯入 兩個按鈕。\n\n然後你能解除安裝舊版了,在應用程式設定的頂端有個\'升級至專業版\'按鈕。你只需要重置你的應用程式設定。\n\n感謝! 月曆 @@ -51,13 +51,13 @@ 只更新選擇的事件 更新全部事件 重複直到某日 - 經過x次後停止重複 + 經過 x 次後停止重複 永遠重複 重複 重複於 每天 - On selected days + 在選定的日期 同一天 最後一天 重複每月同一天 @@ -112,12 +112,12 @@ 匯入活動 匯出活動 - 從.ics檔案匯入活動 - 匯出活動成.ics檔案 + 從 .ics 檔案匯入活動 + 匯出活動成 .ics 檔案 預設活動類型 也匯出過去的活動 包含活動類型 - 檔案名稱 (不含.ics) + 檔案名稱 (不含 .ics ) 覆寫檔案內的活動類型 @@ -140,14 +140,14 @@ 選擇活動類型 受影響的活動移到預設活動類型 受影響的活動永久移除 - 想移除CalDAV行事曆,你必須取消同步 + 想移除 CalDAV 行事曆,你必須取消同步 節日 添加節日 國定節日 宗教節日 - 節日已成功匯入"節日"活動類型 + 節日已成功匯入「節日」活動類型 匯入一些活動失敗 匯入節日失敗 @@ -225,30 +225,30 @@ 休息時間 - 我如何移除用[添加節日]按鈕所匯入的節日? + 我如何移除用「添加節日」按鈕所匯入的節日? 以這方式建立的節日,會被加進一個叫做「節日」的新活動類型。 你可以到[設定] -> [管理活動類型],長按特定的活動類型,然後選擇垃圾桶來刪除。 - 我可以透過Google日曆或其它支援CalDAV的服務來同步我的活動嗎? - 行的,只要打開程式設定內的[CalDAV同步],然後選擇你要同步的行事曆。然而你需要一些第三方應用程式來處理裝置和伺服器之間的同步。 - 如果你要同步Google日曆,他們官方的行事曆程式就能做到了。而其它行事曆,你需要有第三方同步工具才行,像是DAVdroid。 + 我可以透過 Google 日曆或其它支援 CalDAV 的服務來同步我的活動嗎? + 行的,只要打開程式設定內的「CalDAV 同步」,然後選擇你要同步的行事曆。然而你需要一些第三方應用程式來處理裝置和伺服器之間的同步。 + 如果你要同步 Google 日曆,他們官方的行事曆程式就能做到了。而其它行事曆,你需要有第三方同步工具才行,像是 DAVdroid。 我看到了視覺的提醒,但沒聽到音效。我能怎麼辦? 不只是顯示實際的提醒,播放音效也受到系統極大的影響。如果你聽不到任何聲音,試著到應用程式設定, 按\"用於提醒的音源串流\"選項,然後更改成不同數值。如果還是沒有用,檢查你的音量設定,指定串流是不是靜音的。 - 簡易行事曆 Pro - 活動&約會 + 簡易行事曆 Pro - 活動和約會 - A beautiful calendar without ads or weird permissions. + 一個沒有廣告而且美麗的日曆,100%保證退款。 - 簡易行事曆Pro是一個高度自訂化,完全旨在於行事曆應該做什麼的離線行事曆。 沒有複雜的功能、非必要的權限和廣告! + 簡易行事曆Pro是一個高度自訂化,完全旨在於行事曆應該做什麼的離線行事曆。 沒有複雜的功能、非必要的權限和廣告! - 無論您是要安排單一還是反復的活動、生日、紀念日、業務會議、約會或任何其他活動,簡易行事曆Pro都能讓您輕鬆維持安排。透過多樣化的自訂選項,您可以自訂活動提醒、通知音效、行事曆小工具和應用程式外觀。 + 無論您是要安排單一還是反復的活動、生日、紀念日、業務會議、約會或任何其他活動,簡易行事曆 Pro 都能讓您輕鬆維持安排。透過多樣化的自訂選項,您可以自訂活動提醒、通知音效、行事曆小工具和應用程式外觀。 - 每日、每週、每月的檢視模式使您輕易就確認即將到來的活動&約會。您甚至能夠以簡單的活動列表來瀏覽全部,而不是行事曆畫面,所以您完全知道生活中何時會發生什麼事。 + 每日、每週、每月的檢視模式使您輕易就確認即將到來的活動和約會。您甚至能夠以簡單的活動列表來瀏覽全部,而不是行事曆畫面,所以您完全知道生活中何時會發生什麼事。 ---------------------------------------------------------- - 簡易行事曆Pro – 特色 & 優點 + 簡易行事曆 Pro – 特色和優點 ---------------------------------------------------------- ✔️ 沒有廣告和討厭的彈出畫面 @@ -256,12 +256,12 @@ ✔️ 只需要最低限度的權限 ✔️ 著重於簡單 – 做行事曆該做的! ✔️ 開放原始碼 - ✔️ 完整自訂化主題&行事曆/活動小工具 - ✔️ 翻譯成29種語言 - ✔️ 將設定匯出成.txt檔案,以匯入到別的裝置 - ✔️ 支援CalDAV行事曆同步,來跨裝置同步活動 + ✔️ 完整自訂化主題和行事曆/活動小工具 + ✔️ 翻譯成 29 種語言 + ✔️ 將設定匯出成 .txt 檔案,以匯入到別的裝置 + ✔️ 支援 CalDAV 行事曆同步,來跨裝置同步活動 ✔️ 在行事曆上有每日、每週、每月、每年及活動瀏覽的檢視方式 - ✔️ 支援透過.ics檔案來匯出&匯入活動 + ✔️ 支援透過 .ics 檔案來匯出和匯入活動 ✔️ 設置多個活動提醒,自訂活動提醒音效和震動 ✔️ 提醒有延遲選項 ✔️ 輕鬆添加假日、生日、紀念日和約會 @@ -270,9 +270,9 @@ ✔️ 用做於個人行事曆或業務行事曆 ✔️ 在提醒和電子信箱通知之間選擇,以提醒您關於活動的訊息 - 下載簡易行事曆PRO – 沒有廣告的簡易離線行事曆! + 下載簡易行事曆 PRO – 沒有廣告的簡易離線行事曆! - 於此查看簡易工具系列全套: + 於此查看簡易工具系列全套: https://www.simplemobiletools.com Facebook: diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 4a46b6a49..b48cf4953 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -1,10 +1,10 @@ + com.simplemobiletools.calendar.pro - - Added email reminders and attendees in CalDAV synced events - + Allow customizing the bottom navigation bar color + Added email reminders and attendees in CalDAV synced events Allow setting default start time/duration/event type for new events\n Allow exporting/importing settings diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4def3c4b5..7478012ad 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -239,7 +239,7 @@ Simple Calendar Pro - Events & Reminders - A beautiful calendar without ads or weird permissions. + A beautiful calendar without ads, 100% money back guarantee. Simple Calendar Pro is a fully customizable, offline calendar designed to do exactly what a calendar should do. No complicated features, unnecessary permissions and no ads! diff --git a/build.gradle b/build.gradle index 40be1ea6f..256ea0838 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.3.40' + ext.kotlin_version = '1.3.41' repositories { google() @@ -10,7 +10,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.4.1' + classpath 'com.android.tools.build:gradle:3.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "de.timfreiheit.resourceplaceholders:placeholders:0.3" diff --git a/fastlane/metadata/android/en-US/images/featureGraphic.jpg b/fastlane/metadata/android/en-US/images/featureGraphic.jpg new file mode 100644 index 000000000..c8da03255 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/featureGraphic.jpg differ diff --git a/fastlane/metadata/android/en-US/images/featureGraphic.png b/fastlane/metadata/android/en-US/images/featureGraphic.png deleted file mode 100644 index faa9471fe..000000000 Binary files a/fastlane/metadata/android/en-US/images/featureGraphic.png and /dev/null differ