Merge branch 'master' into patch-1

pull/129/head
Allan Nordhøy 4 years ago committed by GitHub
commit b1a6f60e58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -138,7 +138,7 @@ dependencies {
implementation "org.jetbrains.anko:anko-commons:0.10.4"
implementation "com.etesync:journalmanager:1.1.1"
def etebaseVersion = '0.2.1'
def etebaseVersion = '0.2.2'
implementation "com.etebase:client:$etebaseVersion"
def acraVersion = '5.3.0'

@ -3,34 +3,15 @@ package com.etesync.syncadapter
import android.content.Context
import com.etebase.client.*
import com.etebase.client.Collection
import com.etebase.client.exceptions.EtebaseException
import okhttp3.OkHttpClient
import java.io.File
import java.util.*
/*
File structure:
cache_dir/
user1/ <--- the name of the user
stoken <-- the stokens of the collection fetch
cols/
UID1/ - The uid of the first col
...
UID2/ - The uid of the second col
col <-- the col itself
stoken <-- the stoken of the items fetch
items/
item_uid1 <-- the item with uid 1
item_uid2
...
*/
class EtebaseLocalCache private constructor(context: Context, username: String) {
private val fsCache: FileSystemCache = FileSystemCache.create(context.filesDir.absolutePath, username)
private val filesDir: File = File(context.filesDir, username)
private val colsDir: File
init {
colsDir = File(filesDir, "cols")
colsDir.mkdirs()
}
private val colsDir: File = File(filesDir, "cols")
private fun getCollectionItemsDir(colUid: String): File {
val colsDir = File(filesDir, "cols")
@ -38,103 +19,74 @@ class EtebaseLocalCache private constructor(context: Context, username: String)
return File(colDir, "items")
}
fun clearUserCache() {
filesDir.deleteRecursively()
private fun clearUserCache() {
fsCache.clearUserCache()
}
fun saveStoken(stoken: String) {
val stokenFile = File(filesDir, "stoken")
stokenFile.writeText(stoken)
fsCache.saveStoken(stoken)
}
fun loadStoken(): String? {
val stokenFile = File(filesDir, "stoken")
return if (stokenFile.exists()) stokenFile.readText() else null
return fsCache.loadStoken()
}
fun collectionSaveStoken(colUid: String, stoken: String) {
val colDir = File(colsDir, colUid)
val stokenFile = File(colDir, "stoken")
stokenFile.writeText(stoken)
fsCache.collectionSaveStoken(colUid, stoken)
}
fun collectionLoadStoken(colUid: String): String? {
val colDir = File(colsDir, colUid)
val stokenFile = File(colDir, "stoken")
return if (stokenFile.exists()) stokenFile.readText() else null
return fsCache.collectionLoadStoken(colUid)
}
fun collectionList(colMgr: CollectionManager, withDeleted: Boolean = false): List<CachedCollection> {
return colsDir.list().map {
val colDir = File(colsDir, it)
val colFile = File(colDir, "col")
val content = colFile.readBytes()
colMgr.cacheLoad(content)
}.filter { withDeleted || !it.isDeleted }.map{
return fsCache._unstable_collectionList(colMgr).filter {
withDeleted || !it.isDeleted
}.map{
CachedCollection(it, it.meta)
}
}
fun collectionGet(colMgr: CollectionManager, colUid: String): CachedCollection? {
val colDir = File(colsDir, colUid)
val colFile = File(colDir, "col")
if (!colFile.exists()) {
return null
}
val content = colFile.readBytes()
return colMgr.cacheLoad(content).let {
fun collectionGet(colMgr: CollectionManager, colUid: String): CachedCollection {
return fsCache.collectionGet(colMgr, colUid).let {
CachedCollection(it, it.meta)
}
}
fun collectionSet(colMgr: CollectionManager, collection: Collection) {
val colDir = File(colsDir, collection.uid)
colDir.mkdirs()
val colFile = File(colDir, "col")
colFile.writeBytes(colMgr.cacheSaveWithContent(collection))
val itemsDir = getCollectionItemsDir(collection.uid)
itemsDir.mkdirs()
fsCache.collectionSet(colMgr, collection)
}
fun collectionUnset(colMgr: CollectionManager, colUid: String) {
val colDir = File(colsDir, colUid)
colDir.deleteRecursively()
fsCache.collectionUnset(colMgr, colUid)
}
fun itemList(itemMgr: ItemManager, colUid: String, withDeleted: Boolean = false): List<CachedItem> {
val itemsDir = getCollectionItemsDir(colUid)
return itemsDir.list().map {
val itemFile = File(itemsDir, it)
val content = itemFile.readBytes()
itemMgr.cacheLoad(content)
}.filter { withDeleted || !it.isDeleted }.map {
return fsCache._unstable_itemList(itemMgr, colUid).filter {
withDeleted || !it.isDeleted
}.map {
CachedItem(it, it.meta, it.contentString)
}
}
fun itemGet(itemMgr: ItemManager, colUid: String, itemUid: String): CachedItem? {
val itemsDir = getCollectionItemsDir(colUid)
val itemFile = File(itemsDir, itemUid)
if (!itemFile.exists()) {
// Need the try because the inner call doesn't return null on missing, but an error
val ret = try {
fsCache.itemGet(itemMgr, colUid, itemUid)
} catch (e: EtebaseException) {
return null
}
val content = itemFile.readBytes()
return itemMgr.cacheLoad(content).let {
return ret.let {
CachedItem(it, it.meta, it.contentString)
}
}
fun itemSet(itemMgr: ItemManager, colUid: String, item: Item) {
val itemsDir = getCollectionItemsDir(colUid)
val itemFile = File(itemsDir, item.uid)
itemFile.writeBytes(itemMgr.cacheSaveWithContent(item))
fsCache.itemSet(itemMgr, colUid, item)
}
fun itemUnset(itemMgr: ItemManager, colUid: String, itemUid: String) {
val itemsDir = getCollectionItemsDir(colUid)
val itemFile = File(itemsDir, itemUid)
itemFile.delete()
fsCache.itemUnset(itemMgr, colUid, itemUid)
}
companion object {
@ -153,6 +105,12 @@ class EtebaseLocalCache private constructor(context: Context, username: String)
}
}
fun clearUserCache(context: Context, username: String) {
val localCache = getInstance(context, username)
localCache.clearUserCache()
localCacheCache.remove(username)
}
// FIXME: If we ever cache this we need to cache bust on changePassword
fun getEtebase(context: Context, httpClient: OkHttpClient, settings: AccountSettings): Account {
val client = Client.create(httpClient, settings.uri?.toString())

@ -562,8 +562,7 @@ class AccountActivity : BaseActivity(), Toolbar.OnMenuItemClickListener, PopupMe
Logger.log.warning(e.toString())
}
} else {
val etebaseLocalCache = EtebaseLocalCache.getInstance(this@AccountActivity, account.name)
etebaseLocalCache.clearUserCache()
EtebaseLocalCache.clearUserCache(this@AccountActivity, account.name)
try {
val httpClient = HttpClient.Builder(this@AccountActivity).build()

@ -79,7 +79,7 @@ class SignupFragment(private val initialUsername: String?, private val initialPa
createAccount.setOnClickListener {
val credentials = validateData()
if (credentials != null) {
SignupDoFragment(credentials).show(fragmentManager!!, null)
SignupDoFragment(credentials).show(requireFragmentManager(), null)
}
}
@ -102,7 +102,8 @@ class SignupFragment(private val initialUsername: String?, private val initialPa
var valid = true
val userName = editUserName.editText?.text.toString()
if (userName.isEmpty()) {
// FIXME: this validation should only be done in the server, we are doing it here until the Java library supports field errors
if ((userName.length < 6) || (!userName.matches(Regex("""^[\w.-]+$""")))) {
editUserName.error = getString(R.string.login_username_error)
valid = false
} else {
@ -118,7 +119,7 @@ class SignupFragment(private val initialUsername: String?, private val initialPa
}
val password = editPassword.editText?.text.toString()
if (password.isEmpty()) {
if (password.length < 8) {
editPassword.error = getString(R.string.signup_password_restrictions)
valid = false
} else {

@ -11,18 +11,16 @@ import android.content.Context
import com.etebase.client.Account
import com.etebase.client.Client
import com.etebase.client.exceptions.EtebaseException
import com.etesync.syncadapter.HttpClient
import com.etesync.journalmanager.Crypto
import com.etesync.journalmanager.Exceptions
import com.etesync.journalmanager.JournalAuthenticator
import com.etesync.journalmanager.UserInfoManager
import com.etesync.syncadapter.Constants
import com.etesync.syncadapter.HttpClient
import com.etesync.syncadapter.log.Logger
import com.etesync.syncadapter.model.CollectionInfo
import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.OkHttpClient
import okhttp3.Request
import java.io.IOException
import java.io.Serializable
import java.net.URI
@ -37,18 +35,13 @@ class BaseConfigurationFinder(protected val context: Context, protected val cred
private fun isServerEtebase(): Boolean {
if (credentials.uri != null) {
val remote = credentials.uri.toHttpUrlOrNull()!!.newBuilder()
.addPathSegments("api/v1/authentication/is_etebase/")
.build()
val request = Request.Builder()
.get()
.url(remote)
.build()
val response = httpClient.newCall(request).execute()
return response.isSuccessful
val client = Client.create(httpClient, credentials.uri.toString())
return try {
Account.isEtebaseServer(client)
true
} catch (e: EtebaseException) {
false
}
} else {
return !credentials.userName.contains("@")
}

@ -10,12 +10,12 @@
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/login_email_address"
android:hint="@string/login_username"
android:inputType="textEmailAddress" />
<CheckBox
android:id="@+id/read_only"
android:text="Read only?"
android:text="@string/collection_members_add_read_only"
style="?android:attr/textAppearanceMedium"
android:layout_width="fill_parent"
android:layout_height="wrap_content"

@ -68,12 +68,6 @@
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="@string/login_encryption_check_password"/>
<TextView
android:id="@+id/encryption_extra_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="web"
android:text="@string/change_encryption_password_extra_info"/>
</LinearLayout>
</ScrollView>

@ -0,0 +1,326 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="app_settings_debug">ניפוי תקלים</string>
<string name="app_settings_reset_certificates_success">מתן אמון בתעודת האבטחה אופס בהצלחה</string>
<string name="app_settings_reset_certificates_summary">אפס מתן אמון בכל תעודות האבטחה</string>
<string name="app_settings_reset_certificates">אפס מתן אמון בתעודות אבטחה</string>
<string name="app_settings_distrust_system_certs">אל תסמוך על תעודות האבטחה של המערכת</string>
<string name="app_settings_security">אבטחה</string>
<string name="app_settings_override_proxy_off">שימוש בהגדרות פרוקסי של המערכת</string>
<string name="app_settings_override_proxy_on">השתמש בהגדרות פרוקסי מותאמות אישית</string>
<string name="app_settings_override_proxy">עקיפת הגדרות פרוקסי</string>
<string name="app_settings_connection">קישוריות</string>
<string name="app_settings_prefer_tasksorg_snack">ייתכן ותיאלץ להסיר ולהוסיף מחדש את חשבונך בכדי ששינויים אלה ייכנסו לתוקפם.</string>
<string name="app_settings_prefer_tasksorg_off">המשימות יסתנכרנו עם OpenTasks אם מותקן</string>
<string name="app_settings_prefer_tasksorg_on">המשימות יסתנכרנו עם Tasks.org אם מותקן</string>
<string name="app_settings_prefer_tasksorg">העדף את Tasks.org כספק המשימות</string>
<string name="app_settings_sync">סנכרן</string>
<string name="app_settings_reset_hints_success">הודעות העזרה יוצגו שוב</string>
<string name="app_settings_reset_hints_summary">הפעל מחדש הודעות עזרה שבוטלו</string>
<string name="app_settings_reset_hints">אפס הודעות עזרה</string>
<string name="app_settings_notification_settings_summary">נהל הגדרות וערוצי התראות</string>
<string name="app_settings_notification_settings">הגדרת התראות</string>
<string name="app_settings_user_interface">ממשק משתמש</string>
<string name="app_settings">הגדרות</string>
<string name="accounts_missing_permissions">הרשאות חסרות:%s</string>
<string name="accounts_showcase_add">יש להוסיף חשבון בכדי להשתמש ב EteSync. לחץ כאן להוספה…</string>
<string name="accounts_global_sync_enable">הפעל</string>
<string name="accounts_global_sync_disabled">סנכרון אוטומטי גלובלי לא פעיל</string>
<string name="account_list_empty">ברוך הבא ל EteSync!</string>
<string name="navigation_drawer_contact">יצירת קשר</string>
<string name="navigation_drawer_report_issue">דווח על בעיה</string>
<string name="navigation_drawer_guide">מדריך למשתמש</string>
<string name="navigation_drawer_faq">שאלות נפוצות</string>
<string name="navigation_drawer_website">דף הבית</string>
<string name="navigation_drawer_external_links">קישורים שימושיים</string>
<string name="navigation_drawer_settings">הגדרות</string>
<string name="navigation_drawer_about">אודות/רשיון</string>
<string name="navigation_drawer_subtitle">מתאם סנכרון מוצפן</string>
<string name="navigation_drawer_close">סגור את תפריט הניווט</string>
<string name="navigation_drawer_open">פתח את תפריט הניווט</string>
<string name="logging_no_external_storage">לא נמצא אחסון חיצוני</string>
<string name="logging_couldnt_create_file">כישלון ביצירת קובץ תיעוד שגיאות: %s</string>
<string name="logging_to_external_storage_warning">ביטול יגרום למחיקת קובץ תיעוד השגיאות</string>
<string name="logging_to_external_storage">מתעד שגיאות לקובץ: %s</string>
<string name="logging_davdroid_file_logging">תיעוד שגיאות לקובץ מופעל</string>
<string name="about_license_terms">תנאי הרשיון</string>
<string name="startup_vendor_specific_bugs_open_faq">פתח את \"שאלות נפוצות\"</string>
<string name="startup_vendor_specific_bugs_message">EteSync זיהתה שאתה משתמש בגירסת מערכת Android שעשויה להכיל תקלות.
\nאנא עיין ב\"שאלות נפוצות\" לקבלת מידע נוסף.</string>
<string name="startup_vendor_specific_bugs">תקלות פוטנציאליות במערכת ההפעלה</string>
<string name="startup_development_version_give_feedback">שלח משוב</string>
<string name="startup_dont_show_again">אל תציג שוב</string>
<string name="startup_battery_optimization_disable">כבה עבור EteSync</string>
<string name="startup_battery_optimization_message">אנדרואיד עשוי להשבית / להפחית את סינכרון האפליקציה לאחר מספר ימים. כדי למנוע זאת, כבה את ייעול חיי הסוללה.</string>
<string name="startup_battery_optimization">ייעול חיי סוללה</string>
<string name="tourguide_title">הידעת\?</string>
<string name="crash_email_body">במידת האפשר, אנא כלול מידע רלוונטי נוסף אודות השגיאה, לדוגמא מה הפעולה שעשית שגרמה לשגיאה.</string>
<string name="crash_message">אנא שלח מידע אודות השגיאה למפתחים.</string>
<string name="crash_title">האפליקציה קרסה!</string>
<string name="notification_channel_sync_status">התראות סטטוס סנכרון</string>
<string name="notification_channel_sync_warnings_desc">בעיות סנכרון לא קריטיות</string>
<string name="notification_channel_sync_errors_desc">שגיאות קריטיות המונעות סנכרון</string>
<string name="notification_channel_sync_warnings">אזהרות סנכרון</string>
<string name="notification_channel_sync_errors">שגיאות סנכרון</string>
<string name="notification_channel_sync">סנכרון</string>
<string name="notification_channel_general">התראות כלליות</string>
<string name="notification_channel_debugging">ניפוי שגיאות</string>
<string name="notification_channel_crash_reports">דיווח שגיאות</string>
<string name="send">שלח</string>
<string name="please_wait">אנא המתן…</string>
<string name="manage_accounts">ניהול חשבונות</string>
<string name="help">עזרה</string>
<string name="address_books_authority_title">אנשי קשר</string>
<string name="sync_calendar_attendees_email_subject" formatted="false">הזמנה: %s @ %s</string>
<string name="calendar_attendees_send_email_action">שלח הזמנות</string>
<string name="sync_calendar_attendees_notification_content">האם לשלוח הזמנות לאורחים\?</string>
<string name="sync_calendar_attendees_notification_title" formatted="false">%s</string>
<string name="sync_journal_readonly_message">האוסף הוא לקריאה בלבד, כך שכל השינויים (%d) שביצעת בוטלו.</string>
<string name="sync_journal_readonly">יומן \"%s\" הוא לקריאה בלבד.</string>
<string name="sync_successfully_modified_full" formatted="false">%s עודכן.
\n%s נמחק.</string>
<string name="sync_successfully_modified" formatted="false">%s שונה.</string>
<string name="sync_successfully_tasks" formatted="false">משימות \"%s\" שונו (%s)</string>
<string name="sync_successfully_contacts" formatted="false">אנשי הקשר שונו (%s)</string>
<string name="sync_successfully_calendar" formatted="false">לוח השנה \"%s\" שונה (%s)</string>
<string name="sync_error_user_inactive">המשתמש אינו פעיל</string>
<string name="sync_error_unauthorized">האימות נכשל</string>
<string name="sync_phase_post_processing">לאחר עיבוד</string>
<string name="sync_phase_apply_remote_entries">מחיל ערכים מרוחקים</string>
<string name="sync_phase_fetch_entries">מאחזר ערכים מרוחקים</string>
<string name="sync_phase_create_local_entries">יוצר ערכים מקומיים</string>
<string name="sync_phase_prepare_fetch">מתכונן לאחזור</string>
<string name="sync_phase_journals">מסנכרן יומנים</string>
<string name="sync_phase_prepare">מכין סנכרון</string>
<string name="sync_error_permission_denied">ההרשאה נדחתה: %s</string>
<string name="sync_error_journal_readonly">היומן לקריאה בלבד</string>
<string name="sync_error_local_storage">שגיאת מסד נתונים בעת %s</string>
<string name="sync_error_unavailable">לא היתה אפשרות להתחבר לשרת בעת %s</string>
<string name="sync_error_http_dav">שגיאת שרת בעת %s</string>
<string name="sync_error_integrity">שגיאת תקינות בתהליך: %s</string>
<string name="sync_error">שגיאה בתהליך: %s</string>
<string name="sync_error_tasks">סנכרון המשימות נכשל (%s)</string>
<string name="sync_error_contacts">סנכרון אנשי הקשר נכשל (%s)</string>
<string name="sync_error_calendar">סנכרון לוח השנה נכשל (%s)</string>
<string name="sync_error_generic">הסנכרון נכשל (%s)</string>
<string name="sync_error_permissions_text">נדרשות הרשאות נוספות</string>
<string name="sync_error_permissions">הרשאות EteSync</string>
<string name="debug_info_more_data_shared">לחיצה על שיתוף תפתח את אפליקציית הדוא\"ל עם הנתונים שלמטה וכן מידע נוסף עבור ניפוי תקלים. ייתכן ואלה מכילים מידע רגיש, לכן אנא בדוק אותם לפני שליחה.</string>
<string name="debug_info_title">מידע על ניפוי תקלים</string>
<string name="exception_show_details">הצג פרטים</string>
<string name="exception_ioexception">אירעה שגיאת I/O.</string>
<string name="exception_httpexception">אירעה שגיאת HTTP.</string>
<string name="exception">אירעה שגיאה.</string>
<string name="journal_entries_loading">טוען היסטוריית שינויים…</string>
<string name="journal_entries_list_empty">האוסף ריק.
\nייתכן שהוא עדיין מסנכרן\?</string>
<string name="delete_collection_deleting_collection">מוחק אוסף</string>
<string name="delete_collection_confirm_warning">אוסף זה (%s) וכל נתוניו יוסרו מהשרת.</string>
<string name="delete_collection_confirm_title">האם אתה בטוח\?</string>
<string name="delete_collection">מחק</string>
<string name="create_collection_create">שמור</string>
<string name="view_collection_members">נהל משתמשים</string>
<string name="view_collection_import">ייבא</string>
<string name="view_collection_edit">ערוך</string>
<string name="create_collection_description">תיאור (אופציונלי):</string>
<string name="create_collection_display_name_required">יש להזין כותרת</string>
<string name="create_collection_display_name">הצג את כותרת האוסף:</string>
<string name="create_collection_creating">יוצר אוסף</string>
<string name="create_collection_color">הגדר את צבע האוסף</string>
<string name="edit_collection">ערוך אוסף</string>
<string name="install_opentasks">התקן את OpenTasks</string>
<string name="install_tasksorg">התקן את Tasks.org</string>
<string name="create_tasklist_display_name_hint">רשימת המשימות שלי</string>
<string name="create_tasklist">צור רשימת משימות</string>
<string name="create_calendar_display_name_hint">לוח השנה שלי</string>
<string name="create_calendar">צור לוח שנה</string>
<string name="create_addressbook_display_name_hint">אנשי הקשר שלי</string>
<string name="create_addressbook">צור יומן כתובות</string>
<string name="settings_taskdav">משימות</string>
<string name="settings_caldav">לוח שנה</string>
<string name="settings_carddav">אנשי קשר</string>
<string name="settings_sync_wifi_only_ssid_message">"הזן שם של רשת WiFi כדי להגביל את הסנכרון לרשת זו (SSID), או השאר ריק עבור כל חיבורי ה-WiFi"</string>
<string name="settings_sync_wifi_only_ssid_off">ניתן להשתמש בכל חיבורי ה WiFi</string>
<string name="settings_sync_wifi_only_ssid_on">יסנכרן רק מעל %s</string>
<string name="settings_sync_wifi_only_ssid">הגבלת SSID של WiFi</string>
<string name="settings_sync_wifi_only_off">סוג החיבור אינו נלקח בחשבון</string>
<string name="settings_sync_wifi_only_on">הסינכרון מוגבל לחיבורי WiFi</string>
<string name="settings_sync_wifi_only">סנכרן באמצעות WiFi בלבד</string>
<string name="settings_sync_summary_not_available">לא זמין</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">%s ומיידי על שינויים מקומיים</string>
<string name="settings_sync_summary_manually">באופן ידני בלבד</string>
<string name="settings_sync">סנכרון</string>
<string name="settings_enter_encryption_password">הזן את סיסמת ההצפנה שלך:</string>
<string name="settings_encryption_password_summary">שנה את סיסמת ההצפנה שלך</string>
<string name="settings_encryption_password">סיסמת הצפנה</string>
<string name="settings_enter_password">הזן סיסמה:</string>
<string name="settings_password_summary">השתמש בסיסמת אימות שונה</string>
<string name="settings_password">סיסמת אימות</string>
<string name="settings_encryption">הצפנה</string>
<string name="settings_manage_account_summary">שנה את פרטי התשלום שלך, התכנית ושאר הגדרות החשבון</string>
<string name="settings_manage_account">נהל חשבון</string>
<string name="settings_title">הגדרות: %s</string>
<string name="choose_file">בחר קובץ</string>
<string name="import_account_top_notice">בחר בבקשה חשבון בכדי לייבא ממנו את כל הפריטים.</string>
<string name="import_permission_required">קריאת הרשאות האיחסון נדרשת לצורך ייבוא.</string>
<string name="import_dialog_adding_entries">מוסיף ערכים...</string>
<string name="import_dialog_loading_file">טוען קובץ (ייתכן שיימשך זמן מה)…</string>
<string name="import_dialog_failed_body">סיבה: %s
\nהאם לדווח למפתחים\?</string>
<string name="import_dialog_failed_title">הייבוא נכשל</string>
<string name="import_dialog_title">ייבא</string>
<string name="login_user_info_error_title">שגיאה בהגדרת פרטי משתמש</string>
<string name="change_encryption_password_success_body">סיסמת ההצפנה שונתה בהצלחה!</string>
<string name="change_encryption_password_success_title">שינוי סיסמת הצפנה</string>
<string name="change_encryption_password_are_you_sure">האם אתה בטוח שברצונך להמשיך\? לא ניתן לעצור את התהליך או לבטלו, וייתכן שהשלמתו תימשך זמן מה.</string>
<string name="change_encryption_password_new_password">סיסמת הצפנה חדשה</string>
<string name="change_encryption_password_title">שנה סיסמת הצפנה</string>
<string name="signup_password_restrictions">הסיסמה צריכה להיות באורך של 8 תווים לפחות</string>
<string name="signup_title">הזן פרטי התחברות</string>
<string name="wrong_encryption_password">סיסמת הצפנה שגויה</string>
<string name="account_creation_failed">יצירת חשבון נכשלה</string>
<string name="setting_up_encryption_content">המתן בבקשה, מגדיר הצפנה…</string>
<string name="setting_up_encryption">מגדיר הצפנה</string>
<string name="login_view_logs">צפה בתיעוד אבטחה</string>
<string name="login_wrong_username_or_password">האימות נכשל (כנראה שם משתמש או סיסמה שגויים).
\nהאם נרשמת\?</string>
<string name="login_forgot_password">שכחת סיסמה\?</string>
<string name="login_service_details_description">זו סיסמת ההתחברות שלך, ו*לא* סיסמת ההצפנה!</string>
<string name="login_encryption_account_label">חשבון:</string>
<string name="login_enter_encryption_details">סיסמת הצפנה סודית</string>
<string name="login_enter_service_details">הכנס פרטי התחברות</string>
<string name="login_back">חזור</string>
<string name="login_finish">סיים</string>
<string name="login_signup">הירשם</string>
<string name="login_login">התחבר</string>
<string name="login_password_required">נדרשת סיסמה</string>
<string name="login_encryption_extra_info">* סיסמה זו משמשת להצפנת הנתונים שלך, בניגוד לסיסמה הקודמת, המשמשת לכניסה לשירות.
\nאתה מתבקש לבחור סיסמת הצפנה נפרדת מסיבות אבטחה. לקבלת מידע נוסף, עיין ב\"שאלות נפוצות\" ב: %s</string>
<string name="login_encryption_check_password">* וודא שאתה זוכר את סיסמתך, משום שלא תוכל לשחזר אותה!</string>
<string name="login_encryption_enter_password">אתה מחובר כעת כ\"%s\". כדי להמשיך, הזן את סיסמת ההצפנה, או התנתק מהתפריט הצדדי.</string>
<string name="login_encryption_set_new_password">נא הגדר את סיסמת ההצפנה שלך. וודא את נכונותה, משום שלא תוכל לשחזר אותה אם היא תאבד!</string>
<string name="login_encryption_password">סיסמת הצפנה</string>
<string name="login_toggle_advanced">הצג הגדרות מתקדמות</string>
<string name="login_custom_server_error">נמצאה כתובת שרת לא חוקית. האם שכחת לכלול https://\?</string>
<string name="login_custom_server">כתובת שרת EteSync</string>
<string name="login_password">סיסמה</string>
<string name="login_email_address_error">נדרשת כתובת מייל תקנית</string>
<string name="login_email_address">כתובת מייל</string>
<string name="login_username_error">נדרש שם משתמש תקני</string>
<string name="login_username">שם משתמש</string>
<string name="login_title">הוסף חשבון</string>
<string name="permissions_tasks_org_request">נדרשות הרשאות Tasks.org</string>
<string name="permissions_tasks_org_details">כדי לסנכרן משימות עם רשימות המשימות הקיימות שלך, על EteSync לגשת ל-Tasks.org.</string>
<string name="permissions_tasks_org">הרשאות Tasks.org</string>
<string name="permissions_opentasks_request">נדרשות הרשאות OpenTasks</string>
<string name="permissions_opentasks_details">כדי לסנכרן משימות עם רשימות המשימות הקיימות שלך, על EteSync לגשת ל- OpenTasks.</string>
<string name="permissions_opentasks">הרשאות OpenTasks</string>
<string name="permissions_contacts_request">נדרשות הרשאות אנשי קשר</string>
<string name="permissions_contacts_details">כדי לסנכרן את אנשי הקשר עם אנשי הקשר הקיימים שלך, EteSync צריך לגשת לאנשי הקשר שלך.</string>
<string name="permissions_contacts">הרשאות אנשי קשר</string>
<string name="permissions_calendar_request">נדרשות הרשאות לוח שנה</string>
<string name="permissions_calendar_details">כדי לסנכרן אירועי לוח שנה עם לוחות השנה המקומיים שלך, EteSync זקוקה לגישה ללוחות השנה שלך.</string>
<string name="permissions_calendar">הרשאות לוח שנה</string>
<string name="permissions_title">הרשאות EteSync</string>
<string name="journal_item_restore_dialog_body">שוחזרה בהצלחה הכניסה למצב הקודם.</string>
<string name="journal_item_restore_action">מצב שחזור</string>
<string name="journal_item_member_count">מספר חברים</string>
<string name="journal_item_member">משתמש</string>
<string name="journal_item_relation">קשר</string>
<string name="journal_item_birthday">יום הולדת</string>
<string name="journal_item_anniversary">יום השנה</string>
<string name="journal_item_website">אתר</string>
<string name="journal_item_note">הערה</string>
<string name="journal_item_address">כתובת</string>
<string name="journal_item_nickname">כינוי</string>
<string name="journal_item_impp">הודעות מיידיות</string>
<string name="journal_item_job_description">תיאור תפקיד</string>
<string name="journal_item_organization">ארגון</string>
<string name="journal_item_email">כתובת מייל</string>
<string name="journal_item_phone">מספר טלפון</string>
<string name="journal_item_reminders">תזכורות</string>
<string name="journal_item_attendees">משתתפים</string>
<string name="journal_item_tab_raw">גולמי</string>
<string name="journal_item_tab_revisions">תיקונים</string>
<string name="journal_item_tab_main">ראשי</string>
<string name="about">אודות</string>
<string name="invitations_reject">דחה</string>
<string name="invitations_accept">קבל</string>
<string name="invitations_accept_reject_dialog">האם תרצה לקבל או לדחות את ההזמנה\?</string>
<string name="invitations_list_empty">אין הזמנות</string>
<string name="invitations_loading">טוען הזמנות…</string>
<string name="invitations_title">הזמנות</string>
<string name="collection_members_leave">עזוב</string>
<string name="collection_members_no_access">רק מנהלים רשאים לנהל את אוסף המשתמשים. האם תרצה לעזוב את האוסף\?</string>
<string name="collection_members_remove_admin">הסרת גישה למנהלים לא נתמכת כרגע.</string>
<string name="collection_members_remove">האם תרצה לבטל את הגישה ל %s\?
\nשים לב שמשתמש זדוני יוכל לשמר גישה למפתחות ההצפנה. למידע נוסף עיין ב\"שאלות נפוצות\".</string>
<string name="collection_members_remove_title">הסר משתמש</string>
<string name="collection_members_remove_error">שגיאה בהסרת משתמש</string>
<string name="collection_members_removing">מסיר משתמש</string>
<string name="collection_members_error_user_not_found">משתמש (%s) לא נמצא</string>
<string name="trust_fingerprint_body">אמת את קוד האבטחה של %s כדי לוודא שההצפנה מאובטחת.</string>
<string name="trust_fingerprint_title">אמת קוד אבטחה</string>
<string name="collection_members_adding">ערוך משתמש</string>
<string name="collection_members_add_error">שגיאה בהוספת משתמש</string>
<string name="collection_members_add">הוסף משתמש</string>
<string name="collection_members_list_empty">אין משתמשים</string>
<string name="collection_members_list_loading">טוען משתמשים…</string>
<string name="collection_members_title">משתמשים</string>
<string name="use_native_apps_body">EteSync משתלב בצורה חלקה עם Android. כדי להשתמש בו תוכל להוסיף את אפליקציות אנשי הקשר והיומן הקיימות!
\n
\nלקבלת מידע נוסף, עיין במדריך למשתמש.</string>
<string name="use_native_apps_title">הידעת\?</string>
<string name="edit_owner_only_anon">רק מנהלים של אוסף זה רשאים לערוך אותו.</string>
<string name="edit_owner_only">רק מנהלים של אוסף זה (%s) רשאים לערוך אותו.</string>
<string name="not_allowed_title">לא מורשה</string>
<string name="members_owner_only">רק מנהלים של האוסף (%s) מורשים לצפות ברשימת המשתמשים.</string>
<string name="account_owner">מנהל: %s</string>
<string name="account_showcase_import">בכדי לייבא אנשי קשר ויומנים לאפליקציה, יש ללחוץ על התפריט ולבחור \"ייבא\".</string>
<string name="tasks_not_showing">* היסטוריית שינויים מוצגת רק כאשר ספק משימות מותקן.</string>
<string name="change_journal_title">יומן שינויים</string>
<string name="show_fingperprint_title">קוד האבטחה שלי</string>
<string name="account_click_install_tasks">לחץ כאן כדי להתקין את OpenTasks!</string>
<string name="account_showcase_view_collection">באפשרותך ללחוץ על פריט בכדי להציג ולנהל את האוסף.</string>
<string name="account_delete_collection_last_text">מחיקת האוסף האחרון אינה מורשית. אנא צור אוסף חדש אם ברצונך למחוק את האוסף האחרון.</string>
<string name="account_delete_collection_last_title">לא ניתן למחוק את האוסף האחרון</string>
<string name="account_delete_confirmation_text">כל העותקים המקומיים של אנשי הקשר, לוחות שנה ורשימות המשימות יימחקו.</string>
<string name="account_delete_confirmation_title">האם אתה בטוח שברצונך להסיר את החשבון\?</string>
<string name="account_show_fingerprint">קוד אבטחה</string>
<string name="account_delete">הסר חשבון</string>
<string name="account_settings">הגדרות חשבון</string>
<string name="account_synchronizing_now">סנכרן כעת</string>
<string name="account_synchronize_now">סנכרן כעת</string>
<string name="app_settings_change_notification">הצג התראות על שינויים</string>
<string name="app_settings_force_language_default">אוטומטי</string>
<string name="app_settings_force_language">כפה שפת ממשק</string>
<string name="app_settings_show_debug_info_details">צפה בפרטים והגדרות לצרכי ניפוי תקלים</string>
<string name="app_settings_show_debug_info">הראה מידע על ניפוי תקלים</string>
<string name="app_settings_log_verbose_summary">תיעוד שגיאות מפורט עלול להכיל מידע פרטי</string>
<string name="app_settings_log_verbose">תיעוד שגיאות מפורט</string>
<string name="app_settings_log_to_external_storage_off">אפשר לשמור הודעות תיעוד שגיאות לקובץ</string>
<string name="app_settings_log_to_external_storage_on">הפוך ללא זמין כדי להסתיר את ההתראות ולמחוק את תיעוד השגיאות</string>
<string name="app_settings_log_to_external_storage">תעד שגיאות לקובץ</string>
<string name="notification_channel_description">התראות EteSync</string>
<string name="notification_channel_name">EteSync</string>
<string name="event_info_organizer">מארגן האירוע:</string>
<string name="import_select_account">בחר חשבון</string>
<string name="import_button_local">מחשבון</string>
<string name="import_button_file">מקובץ</string>
<string name="open_url_no_activity">נכשל בפתיחת קישור: הקישור אינו נתמך!</string>
<string name="loading_error_content">רענן</string>
<string name="loading_error_title">שגיאה בטעינה</string>
<string name="loading">טוען…</string>
<string name="trust_certificate_unknown_certificate_found">EteSync נתקלה באישור לא ידוע. האם אתה רוצה לתת אמון\?</string>
<string name="certificate_notification_connection_security">EteSync: אבטחת חיבור</string>
<string name="sync_calendar_attendees_email_content" formatted="false">הוזמנת לאירוע הבא:
\n
\n%s
\nמתי: %s
\nאיפה: %s
\nמשתתפים: %s
\n
\n--
\nנשלח על-ידי EteSync - סינכרון נתונים מאובטח ופרטי מקצה לקצה.
\nhttps://www.EteSync.com</string>
</resources>

@ -55,7 +55,7 @@
<!-- AccountsActivity -->
<string name="navigation_drawer_open">Åpne navigasjonsmeny</string>
<string name="navigation_drawer_close">Lukk navigasjonsmeny</string>
<string name="navigation_drawer_subtitle">Secure Sync Adapter</string>
<string name="navigation_drawer_subtitle">Secure Sync-adapter</string>
<string name="navigation_drawer_about">Om / Lisens</string>
<string name="navigation_drawer_settings">Innstillinger</string>
<string name="navigation_drawer_external_links">Nyttige lenker</string>
@ -131,7 +131,7 @@
<string name="collection_members_adding">Legger til medlem</string>
<string name="trust_fingerprint_title">Kontroller sikkerhetsfingeravtrykk</string>
<string name="trust_fingerprint_body">Kontroller %s sitt fingeravtrykk for å bekrefte at krypteringen er sikker.</string>
<string name="collection_members_error_user_not_found">Brukeren (%s) finnes ikke, eller har skrudd av journaldeling.</string>
<string name="collection_members_error_user_not_found">Brukeren (%s) finnes ikke</string>
<string name="collection_members_removing">Fjerner medlem</string>
<string name="collection_members_remove_error">Kunne ikke fjerne medlem</string>
<string name="collection_members_remove_title">Fjern medlem</string>
@ -205,7 +205,6 @@
\neil: %s</string>
<!-- ChangeEncryptionPasswordActivity -->
<string name="change_encryption_password_title">Endre krypteringspassord</string>
<string name="change_encryption_password_extra_info">Ikke bruk dette verktøyet dersom du mistenker at krypteringspassordet ditt har blitt kompromittert. Kontakt brukerstøtte i stedet.</string>
<string name="change_encryption_password_new_password">Nytt krypteringspassord</string>
<string name="change_encryption_password_are_you_sure">Er du sikker på at du vil fortsette? Denne prosessen kan ikke stoppes halvveis eller angres, og kan ta en stund å fullføre.</string>
<string name="change_encryption_password_success_title">Endring av krypteringspassord</string>
@ -279,8 +278,9 @@
<string name="delete_collection_confirm_warning">Denne samlingen (%s) og alle dens data vil slettes fra tjeneren.</string>
<string name="delete_collection_deleting_collection">Sletter samling</string>
<!-- JournalViewer -->
<string name="journal_entries_list_empty">Journalen er tom.\n(Kanskje den fortsatt synkroniserer?)</string>
<string name="journal_entries_loading">Laster inn journalelementer …</string>
<string name="journal_entries_list_empty">Samlingen er tom.
\n(Kanskje den fortsatt synkroniserer\?)</string>
<string name="journal_entries_loading">Laster endringsloggsoppføringer …</string>
<!-- ExceptionInfoFragment -->
<string name="exception">En feil har oppstått.</string>
<string name="exception_httpexception">En HTTP-feil har oppstått.</string>
@ -378,4 +378,4 @@
<string name="collection_members_no_access">Kun administratorer kan håndtere samlingsmedlemskap. Ønsker du å forlate denne samlingen\?</string>
<string name="collection_members_remove_admin">Fjerning av tilganger for administratorer støttes ikke.</string>
<string name="edit_owner_only_anon">Kun eiere av denne samlingen kan redigere den.</string>
</resources>
</resources>

@ -3,7 +3,7 @@
<!--common strings-->
<string name="help">Help</string>
<string name="manage_accounts">Beheer accounts</string>
<string name="please_wait">Een moment geduld …</string>
<string name="please_wait">Een ogenblik geduld …</string>
<string name="send">Verzenden</string>
<!--startup dialogs-->
<string name="startup_battery_optimization">Batterij optimalisatie</string>
@ -61,7 +61,7 @@
<!--AddAccountActivity-->
<string name="login_title">Account toevoegen</string>
<string name="login_email_address">Email adres</string>
<string name="login_email_address_error">Geldig email adres vereist</string>
<string name="login_email_address_error">Geldige email vereist</string>
<string name="login_password">Wachtwoord</string>
<string name="login_password_required">Wachtwoord vereist</string>
<string name="login_back">Terug</string>
@ -141,9 +141,9 @@
<string name="collection_members_error_user_not_found">Gebruiker (%s) niet gevonden</string>
<string name="trust_fingerprint_body">Verifieer %s\'s beveiligingsvingerafdruk om te verzekeren dat de encryptie veilig is.</string>
<string name="trust_fingerprint_title">Verifieer beveiligheidsvingerafdruk</string>
<string name="collection_members_adding">Lid aan het toevoegen</string>
<string name="collection_members_adding">Gebruiker aan het uitnodigen</string>
<string name="collection_members_add_error">Fout bij het toevoegen van lid</string>
<string name="collection_members_add">Voeg lid toe</string>
<string name="collection_members_add">Nodig gebruiker uit</string>
<string name="collection_members_list_empty">Geen leden</string>
<string name="collection_members_list_loading">Laden van members...</string>
<string name="collection_members_title">Leden</string>
@ -209,7 +209,7 @@
<string name="crash_email_subject">EteSync Debug Informatie</string>
<string name="crash_message">Zend a.u.b. de stack trace naar de ontwikkelaars.</string>
<string name="crash_title">EteSync is gecrasht!</string>
<string name="notification_channel_sync_status_desc">Informatie statusberichten zoals de samenvatting van de sync veranderingen</string>
<string name="notification_channel_sync_status_desc">Informatieve statusberichten zoals de samenvatting van de sync veranderingen</string>
<string name="notification_channel_sync_status">Statusberichten</string>
<string name="notification_channel_sync_warnings_desc">Niet-fotale synchronisatieproblemen zoals afgewezen veranderingen van read-only verzamelingen</string>
<string name="notification_channel_sync_warnings">Synchronisatiewaarschuwingen</string>
@ -222,4 +222,165 @@
<string name="address_books_authority_title">Adresboeken</string>
<string name="account_title_address_book">EteSync Adresboek</string>
<string name="app_name">EteSync</string>
</resources>
<string name="notification_channel_description">EteSync notificaties</string>
<string name="notification_channel_name">EteSync</string>
<string name="event_info_organizer">Organisator:</string>
<string name="import_select_account">Selecteer Account</string>
<string name="import_button_local">Van Account</string>
<string name="import_button_file">Van Bestand</string>
<string name="open_url_no_activity">Openen link niet gelukt: link is niet ondersteund!</string>
<string name="loading_error_content">Vernieuw</string>
<string name="loading_error_title">Fout Bij Laden</string>
<string name="loading">Aan het laden...</string>
<string name="trust_certificate_unknown_certificate_found">EteSync heeft een onbekend certificaat tegengekomen. Wilt u het vertrouwen\?</string>
<string name="certificate_notification_connection_security">EteSync: Verbindingsveiligheid</string>
<string name="sync_calendar_attendees_email_content" formatted="false">U bent uitgenodigd op het volgende evenement:
\n
\n%s
\nWanneer: %s
\nWaar: %s
\nAanwezigen: %s
\n
\n--
\nVerstuurd door EteSync - veilige, end-to-end encrypted en private data sync.
\nVerkrijg het via https://www.EteSync.com</string>
<string name="sync_calendar_attendees_email_subject" formatted="false">Uitnodiging: %s @ %s</string>
<string name="calendar_attendees_send_email_action">Verzend uitnodigingen</string>
<string name="sync_calendar_attendees_notification_content">Uitnodigingen naar gasten versturen\?</string>
<string name="sync_calendar_attendees_notification_title" formatted="false">%s</string>
<string name="sync_journal_readonly_message">Het logboek is enkel-lezen dus al uw aanpassingen (%d) zijn ongedaan gemaakt.</string>
<string name="sync_journal_readonly">Logboek \"%s\" is enkel-lezen</string>
<string name="sync_successfully_modified_full" formatted="false">%s geupdate.
\n%s verwijderd.</string>
<string name="sync_successfully_modified" formatted="false">%s gewijzigd.</string>
<string name="sync_successfully_tasks" formatted="false">Takes \"%s\" gewijzigd (%s)</string>
<string name="sync_successfully_contacts" formatted="false">Contacten gewijzigd (%s)</string>
<string name="sync_successfully_calendar" formatted="false">Kalender \"%s\" werd gewijzigd (%s)</string>
<string name="sync_error_user_inactive">Gebruiker is non-actief</string>
<string name="sync_error_unauthorized">Authenticatie mislukt</string>
<string name="sync_phase_post_processing">aan het naverwerken</string>
<string name="sync_phase_push_entries">boekingen aan het pushen</string>
<string name="sync_phase_apply_local_entries">lokale boekingen opnieuw aan het toepassen</string>
<string name="sync_phase_apply_remote_entries">externe boekingen aan het toepassen</string>
<string name="sync_phase_fetch_entries">externe gegevens aan het ophalen</string>
<string name="sync_phase_create_local_entries">lokale boekingen aan het aanmaken</string>
<string name="sync_phase_prepare_local">lokale boekingen aan het voorbereiden</string>
<string name="sync_phase_prepare_fetch">aan het voorbereiden om op te halen</string>
<string name="sync_phase_journals">logboeken aan het synchroniseren</string>
<string name="sync_phase_prepare">synchronisatie aan het voorbereiden</string>
<string name="sync_error_permission_denied">Permissie geweigerd: %s</string>
<string name="sync_error_journal_readonly">Journaal is enkel-lezen</string>
<string name="sync_error_unavailable">Kan niet verbinden met de server tijdens %s</string>
<string name="sync_error_integrity">Integriteitsfout tijdens %s</string>
<string name="sync_error_tasks">Sync van taken mislukt (%s)</string>
<string name="sync_error_contacts">Sync van contacten mislukt (%s)</string>
<string name="sync_error_generic">Syc mislukt (%s)</string>
<string name="sync_error_permissions_text">Bijkomende permissies vereist</string>
<string name="sync_error_permissions">EteSync permissies</string>
<string name="debug_info_more_data_shared">Op delen klikken zal de email app openen met onderstaande data, samen met bijkomstige debug informatie in bijlage. Het bevat mogelijk gevoelige informatie, dus bekijk het eerst alvorens te versturen.</string>
<string name="journal_entries_loading">Laden van de change log boekingen...</string>
<string name="journal_entries_list_empty">Verzameling is leeg.
\nMisschien is het nog aan het synchroniseren\?</string>
<string name="view_collection_members">Beheer Leden</string>
<string name="view_collection_import">Importeer</string>
<string name="view_collection_edit">Wijzig</string>
<string name="create_collection_color">Stel de kleur van de verzameling in</string>
<string name="edit_collection">Wijzig verzameling</string>
<string name="install_opentasks">Installeer OpenTasks</string>
<string name="install_tasksorg">Installeer Tasks.org</string>
<string name="create_tasklist_display_name_hint">Mijn Takenlijst</string>
<string name="create_tasklist">Maak takenlijst</string>
<string name="create_calendar_display_name_hint">Mijn Kalender</string>
<string name="create_calendar">Maak kalender</string>
<string name="settings_taskdav">Taken</string>
<string name="settings_caldav">Kalender</string>
<string name="settings_carddav">Contacten</string>
<string name="settings_sync_interval">Sync interval</string>
<string name="settings_enter_encryption_password">Geef uw encryptiewachtwoord in:</string>
<string name="settings_encryption_password_summary">Wijzig uw encryptiewachtwoord</string>
<string name="settings_encryption_password">Encryptiewachtwoord</string>
<string name="settings_password_summary">Gebruik een ander authentificatiewachtwoord</string>
<string name="settings_encryption">Encryptie</string>
<string name="settings_manage_account_summary">Verander uw betalingsinformatie, -plan en ander accountsinstellingen</string>
<string name="settings_account_dashboard">Account Gebruikspaneel</string>
<string name="settings_manage_account">Beheer Account</string>
<string name="choose_file">Kies bestand</string>
<string name="import_account_top_notice">Kies een ander account om alle boekingen van te importeren.</string>
<string name="import_permission_required">Toegang om opslag te lezen is vereist om te importeren.</string>
<string name="import_dialog_success">Verwerkt: %1$d boekingen.
\nToegevoegd: %2$d
\nGewijzigd: %3$d
\nOvergeslagen (mislukt): %4$d</string>
<string name="import_dialog_adding_entries">Boekingen aan het toevoegen...</string>
<string name="import_dialog_loading_file">File aan het laden (dit kan even duren)...</string>
<string name="import_dialog_failed_body">Reden: %s
\nRapporteer aan ontwikkelaars\?</string>
<string name="import_dialog_failed_title">Importeren Mislukt</string>
<string name="import_dialog_title">Importeer</string>
<string name="login_user_info_error_title">Fout Bij Opzetten Gebruikersinformatie</string>
<string name="change_encryption_password_success_body">Encryptiewachtwoord werd succesvol veranderd!</string>
<string name="change_encryption_password_success_title">Encryptiewachtwoord Verandering</string>
<string name="change_encryption_password_are_you_sure">Bent u zeker dat u wilt verdergaan\? Het proces kan niet halfweg worden onderbroken of kan niet ongedaan gemaakt worden, en kan even duren.</string>
<string name="change_encryption_password_new_password">Nieuw Encryptiewachtwoord</string>
<string name="change_encryption_password_title">Wijzig Encryptiewachtwoord</string>
<string name="signup_password_restrictions">Wachtwoord moet minstens 8 karakters lang zijn</string>
<string name="signup_title">Geef Aanmeldgegevens In</string>
<string name="wrong_encryption_password_content">Verkreeg een integriteitsfout tijdens het ophalen van uw account, wat hoogstwaarschijnlijk betekent dat u het verkeerde encryptiewachtwoord hebt opgegeven.
\nBemerk dat de gebruikersnaam hoofdlettergevoelig is, dus probeer ook verschillende versies zoals het schrijven van de eerste letter als hoofdletter.
\n
\nError: %s</string>
<string name="wrong_encryption_password">Verkeerd ecryptiewachtwoord</string>
<string name="account_creation_failed">Accountcreatie mislukt</string>
<string name="setting_up_encryption_content">Even geduld, encryptie aan het instellen…</string>
<string name="setting_up_encryption">Encryptie instellen</string>
<string name="login_wrong_username_or_password">Kan niet authenticeren (waarschijnlijk verkeerde gebruikersnaam of wachtwoord).
\nBent u al geregistreerd\?</string>
<string name="login_forgot_password">Wachtwoord vergeten\?</string>
<string name="login_service_details_description">Dit is uw login wachtwoord, *niet* uw encryptiewachtwoord!</string>
<string name="login_encryption_account_label">Account:</string>
<string name="login_enter_encryption_details">Geheim Encryptiewachtwoord</string>
<string name="login_enter_service_details">Logingegegevens Ingeven</string>
<string name="login_finish">Beëindigen</string>
<string name="login_signup">Aanmelden</string>
<string name="login_login">Inloggen</string>
<string name="login_encryption_extra_info">* Dit wachtwoord wordt gebruikt om je data te encrypteren, in tegenstelling tot de vorige, welke gebruikt wordt om in te loggen op de dients.
\nU wordt gevraagd om een apart encryptiewachtwoord te kiezen voor veiligheidsredenen. Voor meer informatie, bekijk de FAQ: %s</string>
<string name="login_encryption_check_password">* Zorg er a.u.b. voor dat u uw wachtwoord onthoudt, aangezien het niet kan hersteld worden indien verloren!</string>
<string name="login_encryption_enter_password">U bent ingelogd als \"%s\". Gelieve uw encryptiewachtwoord in te geven om verder te gaan, of meld u af via het zijmenu.</string>
<string name="login_encryption_set_new_password">Stel a.u.b. uw encryptiewachtwoord hieronder in, en wees er zeker van dat het correct is aangezien het *niet* hersteld kan worden indien verloren!</string>
<string name="login_encryption_password">Encryptiewachtwoord</string>
<string name="login_toggle_advanced">Toon geavanceerde instellingen</string>
<string name="login_custom_server_error">Ongeldige URL gevonden, bent u vergeten om https:// toe te voegen\?</string>
<string name="login_custom_server">EteSync Server URL</string>
<string name="login_username_error">Geldige gebruikersnaam vereist</string>
<string name="login_username">Gebruikersnaam</string>
<string name="permissions_tasks_org_request">Vraag Tasks.org permissies aan</string>
<string name="permissions_tasks_org_details">Om taken met uw lokale takenlijst te synchroniseren moet EteSync toegang hebben tot Tasks.org.</string>
<string name="permissions_tasks_org">Tasks.org permissies</string>
<string name="permissions_opentasks_details">Om taken te synchroniseren met uw lokale takenlijst moet EteSync toegang hebben tot OpenTasks.</string>
<string name="permissions_contacts_details">Om adresboeken met uw lokale contacten te synchroniseren moet EteSync toegang hebben tot uw contacten.</string>
<string name="permissions_calendar_details">Om kalenderevenementen met uw lokale kalenders te synchroniseren moet EteSync toegang hebben tot uw kalenders.</string>
<string name="permissions_title">EteSync permissies</string>
<string name="journal_item_restore_dialog_body">De aanmelding is succesvol hersteld naar vorige staat.</string>
<string name="journal_item_restore_action">Herstel status</string>
<string name="journal_item_member_count">Ledenaantal</string>
<string name="journal_item_member">Lid</string>
<string name="journal_item_relation">Relatie</string>
<string name="journal_item_birthday">Verjaardag</string>
<string name="journal_item_anniversary">Verjaardag</string>
<string name="journal_item_website">Website</string>
<string name="journal_item_note">Notitie</string>
<string name="journal_item_address">Adres</string>
<string name="journal_item_nickname">Gebruikersnaam</string>
<string name="journal_item_impp">Instant Messaging</string>
<string name="journal_item_job_description">Jobbeschrijving</string>
<string name="journal_item_organization">Organisatie</string>
<string name="journal_item_email">Email</string>
<string name="journal_item_phone">Telefoon</string>
<string name="collection_members_add_success">Uitnodiging verstuurd. De gebruiker zal worden toegevoegd zodra de uitnodiging is geaccepteerd.</string>
<string name="account_wizard_collections_body">Om EteSync te gebruiken moet u eerst verzamelingen aanmaken om data in op te slaan. Klik op Maken om voor u een standaardkalender, -adresboek en -takenlijst aan te maken.</string>
<string name="account_wizard_collections_title">Welkom bij EteSync!</string>
<string name="retry">Opnieuw proberen</string>
<string name="skip">Sla over</string>
<string name="create">Maak</string>
</resources>

@ -9,11 +9,11 @@
<string name="startup_dont_show_again">Bir daha gösterme</string>
<!--AboutActivity-->
<string name="about_license_terms">Lisans şartları</string>
<string name="about_license_info_no_warranty">Bu uygulama HİÇ BİR GARANTİ ile gelmemektedir. Bedava bir yazılımdır ve belli koşullar altında dağıtabilirsiniz.</string>
<string name="about_license_info_no_warranty">Bu program KESİNLİKLE HİÇBİR GARANTİ OLMADAN gelir. Özgür bir yazılımdır ve belirli koşullar altında yeniden dağıtabilirsiniz.</string>
<!--global settings-->
<string name="logging_to_external_storage">Harici depolamaya jurnalleniyor: %s</string>
<string name="logging_to_external_storage">Günlükler harici depolamaya kaydediliyor: %s</string>
<string name="logging_to_external_storage_warning">Devre dışı bırakmak günlük kayıtlarını silecektir</string>
<string name="logging_couldnt_create_file">Harici jurnal dosyası yaratılamadı: %s </string>
<string name="logging_couldnt_create_file">Harici günlük dosyası oluşturulamadı: %s</string>
<string name="logging_no_external_storage">Harici depolama alanı bulunamadı</string>
<!--AccountsActivity-->
<string name="navigation_drawer_open">Navigasyon çekmecesini aç</string>
@ -32,9 +32,9 @@
<string name="app_settings_reset_hints_success">Tüm ipuçları artık gösterilecek</string>
<string name="app_settings_security">Güvenlik</string>
<string name="app_settings_debug">Hata ayıklama</string>
<string name="app_settings_log_to_external_storage">Harici dosyaya jurnalle</string>
<string name="app_settings_log_to_external_storage_on">Harici depolamaya jurnalleniyor (eğer uygunsa)</string>
<string name="app_settings_log_to_external_storage_off">Harici depolama mevcut değil</string>
<string name="app_settings_log_to_external_storage">Günlükleri dosyaya kaydet</string>
<string name="app_settings_log_to_external_storage_on">Bildirimi gizlemek ve günlükleri silmek için devre dışı bırakın</string>
<string name="app_settings_log_to_external_storage_off">Günlük mesajlarını dosyaya kaydetmek için etkinleştirin</string>
<string name="app_settings_show_debug_info">Hata ayıklama bilgilerini göster</string>
<string name="app_settings_show_debug_info_details">Yazılım ve konfigürasyon detaylarına bak/paylaş</string>
<!--AccountActivity-->
@ -60,7 +60,7 @@
<string name="login_back">Geri</string>
<string name="login_configuration_detection">Konfigürasyon keşfi</string>
<string name="login_querying_server">Lütfen bekleyin, sunucu sorgulanıyor…</string>
<string name="login_view_logs">Jurnallere bak</string>
<string name="login_view_logs">Günlükleri görüntüle</string>
<!--AccountSettingsActivity-->
<string name="settings_title">Ayarlar: %s</string>
<string name="settings_authentication">Doğrulama</string>
@ -68,7 +68,7 @@
<string name="settings_enter_password">Parola girin:</string>
<string name="settings_sync">Eşzamanlama</string>
<string name="settings_sync_interval_contacts">Kişiler senk. aralığı</string>
<string name="settings_sync_summary_manually">Sadece elle</string>
<string name="settings_sync_summary_manually">Yalnızca elle</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">%s + yerel değişikliklerde hemen</string>
<string name="settings_sync_summary_not_available">Mevcut değil</string>
<string name="settings_sync_interval_calendars">Takvimler senk. aralığı</string>
@ -80,21 +80,21 @@
<item>Her 4 saatte bir</item>
<item>Günde bir</item>
</string-array>
<string name="settings_sync_wifi_only">Sadece WiFi üzerinden eşzamanla</string>
<string name="settings_sync_wifi_only">Yalnızca WiFi üzerinden eşzamanla</string>
<string name="settings_sync_wifi_only_on">Eşzamanlama WiFi bağlantıları ile sınırlı</string>
<string name="settings_sync_wifi_only_off">Bağlantı tipi göz önünde bulundurulmaz</string>
<string name="settings_sync_wifi_only_ssid">WiFi SSID kısıtlaması</string>
<string name="settings_sync_wifi_only_ssid_on">Sadece %s üzerinden eşzamanlanacak</string>
<string name="settings_sync_wifi_only_ssid_on">Yalnızca %s üzerinden eşzamanlanacak</string>
<string name="settings_sync_wifi_only_ssid_off">Tüm WiFi bağlantıları kullanılabilir</string>
<string name="settings_sync_wifi_only_ssid_message">Eşzamanlamayı sadece bir WiFi ağına kısıtlamak için bu ağın adını (SSID) girin, veya tüm WiFi bağlantıları için boş bırakın.</string>
<string name="settings_sync_wifi_only_ssid_message">Eşzamanlamayı yalnızca bir WiFi ağıyla kısıtlamak için bu ağın adını (SSID) girin, veya tüm WiFi bağlantıları için boş bırakın.</string>
<!--collection management-->
<string name="create_addressbook">Rehber yarat</string>
<string name="create_addressbook">Adres defteri oluştur</string>
<string name="create_addressbook_display_name_hint">Benim Rehberim</string>
<string name="create_collection_creating">Koleksiyon yaratılıyor</string>
<string name="create_collection_creating">Koleksiyon oluşturuluyor</string>
<string name="create_collection_display_name">Bu koleksiyonun gösterilen adı (başlığı):</string>
<string name="create_collection_display_name_required">Başlık zorunlu</string>
<string name="create_collection_description">ıklama (isteğe bağlı):</string>
<string name="create_collection_create">Yarat</string>
<string name="create_collection_create">Kaydet</string>
<string name="delete_collection">Koleksiyonu sil</string>
<string name="delete_collection_confirm_title">Emin misin?</string>
<string name="delete_collection_confirm_warning">Bu koleksiyon (%s) ve tüm verisi sunucudan silinecek.</string>
@ -221,7 +221,6 @@
<string name="change_encryption_password_success_title">Şifreleme Parolası Değişikliği</string>
<string name="change_encryption_password_are_you_sure">Devam etmek istediğinizden emin misiniz\? İşlem yarı yolda durdurulamaz veya geri alınamaz ve tamamlanması biraz zaman alabilir.</string>
<string name="change_encryption_password_new_password">Yeni şifreleme parolası</string>
<string name="change_encryption_password_extra_info">Şifreleme parolanızın ele geçirildiğine inanıyorsanız, lütfen bu aracı kullanmayın. Bunun yerine desteğe başvurun.</string>
<string name="change_encryption_password_title">Şifreleme Parolasını Değiştir</string>
<string name="wrong_encryption_password_content">Hesabınıza erişirken bir bütünlük hatası alındı, bu büyük olasılıkla yanlış şifreleme parolası girdiğiniz anlamına gelir.
\nLütfen kullanıcı adının büyük/küçük harfe duyarlı olduğunu unutmayın, bu nedenle lütfen farklı durumları deneyin, örneğin ilk karakteri büyük harf yapın.
@ -280,12 +279,12 @@
<string name="collection_members_remove_title">Üyeyi kaldır</string>
<string name="collection_members_remove_error">Üye kaldırılırken hata oluştu</string>
<string name="collection_members_removing">Üye kaldırma</string>
<string name="collection_members_adding">Üye ekleme</string>
<string name="collection_members_adding">Kullanıcı davet ediliyor</string>
<string name="collection_members_error_user_not_found">Kullanıcı (%s) bulunamadı</string>
<string name="trust_fingerprint_body">Şifrelemenin güvenli olduğundan emin olmak için %s\'in güvenlik parmak izini doğrulayın.</string>
<string name="trust_fingerprint_title">Güvenlik parmak izini doğrula</string>
<string name="collection_members_add_error">Üye eklenirken hata oluştu</string>
<string name="collection_members_add">Üye ekle</string>
<string name="collection_members_add">Kullanıcı davet et</string>
<string name="collection_members_list_empty">Üye yok</string>
<string name="collection_members_list_loading">Üyeler yükleniyor...</string>
<string name="collection_members_title">Üyeler</string>
@ -294,12 +293,12 @@
\nDaha fazla bilgi için lütfen kullanıcı rehberine bakın.</string>
<string name="use_native_apps_title">Biliyor musunuz\?</string>
<string name="members_old_journals_not_allowed">Eski tarz günlüklerin paylaşılmasına izin verilmiyor. Bu günlüğü paylaşmak için yeni bir tane oluşturun ve \"içe aktar\" iletişim kutusunu kullanarak içeriğini kopyalayın. Herhangi bir sorun yaşıyorsanız, lütfen desteğe başvurun.</string>
<string name="edit_owner_only">Sadece bu koleksiyonun sahibinin (%s) onu düzenlemesine izin verilir.</string>
<string name="edit_owner_only">Yalnızca bu koleksiyonun sahibinin (%s) onu düzenlemesine izin verilir.</string>
<string name="not_allowed_title">İzin Yok</string>
<string name="members_owner_only">Sadece bu koleksiyonun sahibi (%s) üyelerini görüntüleyebilir.</string>
<string name="members_owner_only">Yalnızca bu koleksiyonun sahibi (%s) üyelerini görüntüleyebilir.</string>
<string name="account_owner">Sahibi: %s</string>
<string name="account_showcase_import">Kişileri ve takvimleri EteSync\'e aktarmak için menüye tıklamanız ve \"İçe aktar\"ı seçmeniz gerekmektedir.</string>
<string name="tasks_not_showing">* Günlük kaydı sadece bir görev sağlayıcı kuruluysa gösterilir.</string>
<string name="tasks_not_showing">* Günlük kaydı yalnızca bir görev sağlayıcı kuruluysa gösterilir.</string>
<string name="change_journal_title">Günlüğü Değiştir</string>
<string name="show_fingperprint_title">Parmak İzim</string>
<string name="account_tasks_not_showing">* Görevler eşzamanlanmıyor (bir sağlayıcı kurun)</string>
@ -365,7 +364,7 @@
<string name="sync_error_generic">Eşzamanlama başarısız oldu (%s)</string>
<string name="signup_password_restrictions">Parola en az 8 karakter uzunluğunda olmalıdır</string>
<string name="signup_title">Kayıt Ayrıntılarını Girin</string>
<string name="login_username_error">Geçerli bir kullanıcı adı gerekli</string>
<string name="login_username_error">Kullanıcı adı en az 6 karakter uzunluğunda olmalı ve yalnızca harf, rakam ve ./-/_ içermelidir.</string>
<string name="login_username">Kullanıcı adı</string>
<string name="journal_item_tab_revisions">Düzeltmeler</string>
<string name="invitations_reject">Reddet</string>
@ -375,7 +374,14 @@
<string name="invitations_loading">Davetler yükleniyor...</string>
<string name="invitations_title">Davetler</string>
<string name="collection_members_leave">Ayrıl</string>
<string name="collection_members_no_access">Sadece yöneticilerin koleksiyon üyeliklerini yönetmesine izin verilir. Koleksiyondan ayrılmak ister misiniz\?</string>
<string name="collection_members_no_access">Yalnızca yöneticilerin koleksiyon üyeliklerini yönetmesine izin verilir. Koleksiyondan ayrılmak ister misiniz\?</string>
<string name="collection_members_remove_admin">Yöneticilere erişimin kaldırılması şu anda desteklenmiyor.</string>
<string name="edit_owner_only_anon">Sadece bu koleksiyonun sahibinin onu düzenlemesine izin verilir.</string>
<string name="edit_owner_only_anon">Yalnızca bu koleksiyonun sahibinin onu düzenlemesine izin verilir.</string>
<string name="collection_members_add_success">Davet gönderildi. Davet kabul edildikten sonra kullanıcı eklenecek.</string>
<string name="account_wizard_collections_body">EteSync\'i kullanmaya başlamak için verilerinizi depolamak üzere koleksiyonlar oluşturmanız gerekmektedir. Sizin için öntanımlı bir takvim, adres defteri ve bir görev listesi oluşturmak için Oluştur düğmesine tıklayın.</string>
<string name="account_wizard_collections_title">EteSync\'e hoş geldiniz!</string>
<string name="retry">Yeniden dene</string>
<string name="skip">Atla</string>
<string name="create">Oluştur</string>
<string name="collection_members_add_read_only">Salt okunur</string>
</resources>

@ -164,6 +164,7 @@
<string name="collection_members_list_loading">Loading members…</string>
<string name="collection_members_list_empty">No members</string>
<string name="collection_members_add">Invite user</string>
<string name="collection_members_add_read_only">Read only</string>
<string name="collection_members_add_error">Error adding member</string>
<string name="collection_members_adding">Inviting user</string>
<string name="collection_members_add_success">Invitation sent. User will be added once the invitation has been accepted.</string>
@ -229,7 +230,7 @@
<!-- AddAccountActivity -->
<string name="login_title">Add account</string>
<string name="login_username">Username</string>
<string name="login_username_error">Valid username required</string>
<string name="login_username_error">Enter a username of at least 6 characters using letters, digitis and ./-/_.</string>
<string name="login_email_address">E-mail</string>
<string name="login_email_address_error">Enter a valid e-mail address</string>
<string name="login_password">Password</string>
@ -267,7 +268,6 @@
<!-- ChangeEncryptionPasswordActivity -->
<string name="change_encryption_password_title">Change Encryption Password</string>
<string name="change_encryption_password_extra_info">Please don\'t use this tool if you believe someone else could have gained knowledge of your password. Contact support instead.</string>
<string name="change_encryption_password_new_password">New Encryption Password</string>
<string name="change_encryption_password_are_you_sure">Are you sure you would like to continue? The process can not be stopped half way or be undone, and may take a while to complete.</string>
<string name="change_encryption_password_success_title">Encryption Password Change</string>

Loading…
Cancel
Save