6 Commits

Author SHA1 Message Date
e566624a29 remove log event title
Keep the main page simpler and have a bit more
space for log messages.
2025-09-16 09:39:58 +02:00
77f6a89fcc add setting to disable breastfeeding buttons
Some women do not breastfeed. Hide the buttons
in order to have more space for log messages.
2025-09-16 09:39:58 +02:00
9efe2a3574 replace dp with sp
As suggested by android-studio.
2025-09-16 09:39:58 +02:00
3a65d09e58 values: escape apostrophe characters 2025-09-16 09:39:58 +02:00
1508db2a56 add password toggle view icon 2025-09-16 09:39:58 +02:00
674d4fd744 layout_marginLeft is deprecated 2025-09-16 09:39:21 +02:00
11 changed files with 128 additions and 80 deletions

View File

@@ -168,6 +168,12 @@ class MainActivity : AppCompatActivity() {
logbookRepo = FileLogbookRepository() logbookRepo = FileLogbookRepository()
} }
val noBreastfeeding = settingsRepository.loadNoBreastfeeding()
findViewById<View>(R.id.layout_nipples).visibility = when (noBreastfeeding) {
true -> View.GONE
false -> View.VISIBLE
}
// Update list dates // Update list dates
recyclerView.adapter?.notifyDataSetChanged() recyclerView.adapter?.notifyDataSetChanged()

View File

@@ -7,6 +7,7 @@ import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.progressindicator.LinearProgressIndicator import com.google.android.material.progressindicator.LinearProgressIndicator
import com.google.android.material.switchmaterial.SwitchMaterial
import com.thegrizzlylabs.sardineandroid.impl.SardineException import com.thegrizzlylabs.sardineandroid.impl.SardineException
import it.danieleverducci.lunatracker.repository.FileLogbookRepository import it.danieleverducci.lunatracker.repository.FileLogbookRepository
import it.danieleverducci.lunatracker.repository.LocalSettingsRepository import it.danieleverducci.lunatracker.repository.LocalSettingsRepository
@@ -24,6 +25,7 @@ open class SettingsActivity : AppCompatActivity() {
protected lateinit var textViewWebDAVUser: TextView protected lateinit var textViewWebDAVUser: TextView
protected lateinit var textViewWebDAVPass: TextView protected lateinit var textViewWebDAVPass: TextView
protected lateinit var progressIndicator: LinearProgressIndicator protected lateinit var progressIndicator: LinearProgressIndicator
protected lateinit var switchNoBreastfeeding: SwitchMaterial
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@@ -35,6 +37,8 @@ open class SettingsActivity : AppCompatActivity() {
textViewWebDAVUser = findViewById(R.id.settings_data_webdav_user) textViewWebDAVUser = findViewById(R.id.settings_data_webdav_user)
textViewWebDAVPass = findViewById(R.id.settings_data_webdav_pass) textViewWebDAVPass = findViewById(R.id.settings_data_webdav_pass)
progressIndicator = findViewById(R.id.progress_indicator) progressIndicator = findViewById(R.id.progress_indicator)
switchNoBreastfeeding = findViewById(R.id.switch_no_breastfeeding)
findViewById<View>(R.id.settings_save).setOnClickListener({ findViewById<View>(R.id.settings_save).setOnClickListener({
validateAndSave() validateAndSave()
}) })
@@ -49,11 +53,15 @@ open class SettingsActivity : AppCompatActivity() {
fun loadSettings() { fun loadSettings() {
val dataRepo = settingsRepository.loadDataRepository() val dataRepo = settingsRepository.loadDataRepository()
val webDavCredentials = settingsRepository.loadWebdavCredentials() val webDavCredentials = settingsRepository.loadWebdavCredentials()
val noBreastfeeding = settingsRepository.loadNoBreastfeeding()
when (dataRepo) { when (dataRepo) {
LocalSettingsRepository.DATA_REPO.LOCAL_FILE -> radioDataLocal.isChecked = true LocalSettingsRepository.DATA_REPO.LOCAL_FILE -> radioDataLocal.isChecked = true
LocalSettingsRepository.DATA_REPO.WEBDAV -> radioDataWebDAV.isChecked = true LocalSettingsRepository.DATA_REPO.WEBDAV -> radioDataWebDAV.isChecked = true
} }
switchNoBreastfeeding.isChecked = noBreastfeeding
if (webDavCredentials != null) { if (webDavCredentials != null) {
textViewWebDAVUrl.setText(webDavCredentials[0]) textViewWebDAVUrl.setText(webDavCredentials[0])
textViewWebDAVUser.setText(webDavCredentials[1]) textViewWebDAVUser.setText(webDavCredentials[1])
@@ -149,6 +157,7 @@ open class SettingsActivity : AppCompatActivity() {
if (radioDataWebDAV.isChecked) LocalSettingsRepository.DATA_REPO.WEBDAV if (radioDataWebDAV.isChecked) LocalSettingsRepository.DATA_REPO.WEBDAV
else LocalSettingsRepository.DATA_REPO.LOCAL_FILE else LocalSettingsRepository.DATA_REPO.LOCAL_FILE
) )
settingsRepository.saveNoBreastfeeding(switchNoBreastfeeding.isChecked)
settingsRepository.saveWebdavCredentials( settingsRepository.saveWebdavCredentials(
textViewWebDAVUrl.text.toString(), textViewWebDAVUrl.text.toString(),
textViewWebDAVUser.text.toString(), textViewWebDAVUser.text.toString(),

View File

@@ -3,6 +3,7 @@ package it.danieleverducci.lunatracker.repository
import android.content.Context import android.content.Context
import android.content.Context.MODE_PRIVATE import android.content.Context.MODE_PRIVATE
import android.content.SharedPreferences import android.content.SharedPreferences
import androidx.core.content.edit
class LocalSettingsRepository(val context: Context) { class LocalSettingsRepository(val context: Context) {
companion object { companion object {
@@ -12,6 +13,7 @@ class LocalSettingsRepository(val context: Context) {
val SHARED_PREFS_DAV_URL = "webdav_url" val SHARED_PREFS_DAV_URL = "webdav_url"
val SHARED_PREFS_DAV_USER = "webdav_user" val SHARED_PREFS_DAV_USER = "webdav_user"
val SHARED_PREFS_DAV_PASS = "webdav_password" val SHARED_PREFS_DAV_PASS = "webdav_password"
val SHARED_PREFS_NO_BREASTFEEDING = "no_breastfeeding"
} }
enum class DATA_REPO {LOCAL_FILE, WEBDAV} enum class DATA_REPO {LOCAL_FILE, WEBDAV}
val sharedPreferences: SharedPreferences val sharedPreferences: SharedPreferences
@@ -28,6 +30,14 @@ class LocalSettingsRepository(val context: Context) {
return sharedPreferences.getInt(SHARED_PREFS_BB_CONTENT, 1) return sharedPreferences.getInt(SHARED_PREFS_BB_CONTENT, 1)
} }
fun saveNoBreastfeeding(content: Boolean) {
sharedPreferences.edit().putBoolean(SHARED_PREFS_NO_BREASTFEEDING, content).apply()
}
fun loadNoBreastfeeding(): Boolean {
return sharedPreferences.getBoolean(SHARED_PREFS_NO_BREASTFEEDING, false)
}
fun saveDataRepository(repo: DATA_REPO) { fun saveDataRepository(repo: DATA_REPO) {
val spe = sharedPreferences.edit() val spe = sharedPreferences.edit()
spe.putString( spe.putString(

View File

@@ -30,7 +30,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/title" android:text="@string/title"
android:textSize="26dp" android:textSize="26sp"
android:gravity="center"/> android:gravity="center"/>
<ImageView <ImageView
@@ -68,23 +68,17 @@
android:id="@+id/logbooks_add_button" android:id="@+id/logbooks_add_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="10dp" android:layout_marginStart="10dp"
android:paddingLeft="16dp" android:paddingLeft="16dp"
android:paddingRight="16dp" android:paddingRight="16dp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/accent" android:textColor="@color/accent"
android:textSize="20dp" android:textSize="20sp"
android:text="+" android:text="+"
android:background="@drawable/button_background"/> android:background="@drawable/button_background"/>
</LinearLayout> </LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/log_an_event"
android:gravity="center_horizontal"/>
<LinearLayout <LinearLayout
android:id="@+id/buttons_container" android:id="@+id/buttons_container"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -104,7 +98,7 @@
android:layout_margin="10dp" android:layout_margin="10dp"
android:background="@drawable/button_background" android:background="@drawable/button_background"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="50dp" android:textSize="50sp"
android:text="@string/event_bottle_type"/> android:text="@string/event_bottle_type"/>
<TextView <TextView
@@ -115,14 +109,15 @@
android:layout_margin="10dp" android:layout_margin="10dp"
android:background="@drawable/button_background" android:background="@drawable/button_background"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="50dp" android:textSize="50sp"
android:text="@string/event_food_type"/> android:text="@string/event_food_type"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:id="@+id/layout_nipples">
<TextView <TextView
android:id="@+id/button_nipple_left" android:id="@+id/button_nipple_left"
@@ -132,7 +127,7 @@
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/button_background" android:background="@drawable/button_background"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="30dp" android:textSize="30sp"
android:text="🤱⬅️"/> android:text="🤱⬅️"/>
<TextView <TextView
@@ -143,7 +138,7 @@
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/button_background" android:background="@drawable/button_background"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="30dp" android:textSize="30sp"
android:text="🤱↔️"/> android:text="🤱↔️"/>
<TextView <TextView
@@ -154,7 +149,7 @@
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/button_background" android:background="@drawable/button_background"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="30dp" android:textSize="30sp"
android:text="🤱➡️️"/> android:text="🤱➡️️"/>
</LinearLayout> </LinearLayout>
@@ -171,7 +166,7 @@
android:layout_weight="2" android:layout_weight="2"
android:background="@drawable/button_background" android:background="@drawable/button_background"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="30dp" android:textSize="30sp"
android:text="🚼 💩"/> android:text="🚼 💩"/>
<TextView <TextView
@@ -182,7 +177,7 @@
android:layout_weight="2" android:layout_weight="2"
android:background="@drawable/button_background" android:background="@drawable/button_background"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="30dp" android:textSize="30sp"
android:text="🚼 💧"/> android:text="🚼 💧"/>
<ImageView <ImageView
@@ -247,7 +242,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:textSize="30dp" android:textSize="30sp"
android:textColor="@color/accent" android:textColor="@color/accent"
android:text="@string/no_connection"/> android:text="@string/no_connection"/>
@@ -264,7 +259,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:drawableLeft="@drawable/ic_sync" android:drawableStart="@drawable/ic_sync"
android:drawableTint="@color/white" android:drawableTint="@color/white"
android:drawablePadding="10dp" android:drawablePadding="10dp"
android:text="@string/no_connection_retry" android:text="@string/no_connection_retry"
@@ -275,7 +270,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:drawableLeft="@drawable/ic_settings" android:drawableStart="@drawable/ic_settings"
android:drawableTint="@color/white" android:drawableTint="@color/white"
android:drawablePadding="10dp" android:drawablePadding="10dp"
android:text="@string/no_connection_go_to_settings" android:text="@string/no_connection_go_to_settings"

View File

@@ -39,7 +39,7 @@
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:text="@string/settings_storage_local_desc"/> android:text="@string/settings_storage_local_desc"/>
<RadioButton android:id="@+id/settings_data_webdav" <RadioButton android:id="@+id/settings_data_webdav"
@@ -51,14 +51,14 @@
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:text="@string/settings_storage_dav_desc"/> android:text="@string/settings_storage_dav_desc"/>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:textStyle="bold" android:textStyle="bold"
android:text="@string/settings_storage_dav_url"/> android:text="@string/settings_storage_dav_url"/>
@@ -66,7 +66,7 @@
android:id="@+id/settings_data_webdav_url" android:id="@+id/settings_data_webdav_url"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:hint="@string/settings_storage_dav_url_hint" android:hint="@string/settings_storage_dav_url_hint"
android:inputType="textUri" android:inputType="textUri"
android:background="@drawable/textview_background"/> android:background="@drawable/textview_background"/>
@@ -75,7 +75,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:textStyle="bold" android:textStyle="bold"
android:text="@string/settings_storage_dav_user"/> android:text="@string/settings_storage_dav_user"/>
@@ -83,7 +83,7 @@
android:id="@+id/settings_data_webdav_user" android:id="@+id/settings_data_webdav_user"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:inputType="textEmailAddress" android:inputType="textEmailAddress"
android:background="@drawable/textview_background"/> android:background="@drawable/textview_background"/>
@@ -91,17 +91,23 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:textStyle="bold" android:textStyle="bold"
android:text="@string/settings_storage_dav_pass"/> android:text="@string/settings_storage_dav_pass"/>
<EditText <com.google.android.material.textfield.TextInputLayout
android:id="@+id/settings_data_webdav_pass"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="30dp" android:layout_marginStart="30dp"
android:inputType="textPassword" app:passwordToggleEnabled="true">
android:background="@drawable/textview_background"/>
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/settings_data_webdav_pass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/textview_background"
android:inputType="textPassword" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.progressindicator.LinearProgressIndicator <com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/progress_indicator" android:id="@+id/progress_indicator"
@@ -109,36 +115,58 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:indeterminate="true" android:indeterminate="true"
app:indicatorColor="@color/accent" app:indicatorColor="@color/accent"
android:layout_margin="20dp" android:layout_marginTop="20dp"
android:visibility="invisible"/> android:visibility="invisible"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/settings_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginRight="20dp"
android:background="@drawable/button_background"
android:textColor="@color/accent"
android:text="@android:string/cancel"/>
<Button
android:id="@+id/settings_save"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/accent"
android:background="@drawable/button_background"
android:text="@android:string/ok"/>
</LinearLayout>
</RadioGroup> </RadioGroup>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginEnd="30dp">
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textStyle="bold"
android:text="@string/no_breastfeeding" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/switch_no_breastfeeding"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<Button
android:id="@+id/settings_cancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginEnd="20dp"
android:background="@drawable/button_background"
android:textColor="@color/accent"
android:text="@android:string/cancel"/>
<Button
android:id="@+id/settings_save"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@color/accent"
android:background="@drawable/button_background"
android:text="@android:string/ok"/>
</LinearLayout>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View File

@@ -17,6 +17,6 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginStart="10dp"
android:text="g"/> android:text="g"/>
</LinearLayout> </LinearLayout>

View File

@@ -14,6 +14,6 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginStart="10dp"
android:text="ml"/> android:text="ml"/>
</LinearLayout> </LinearLayout>

View File

@@ -1,7 +1,6 @@
<resources> <resources>
<string name="app_name">LunaTracker</string> <string name="app_name">LunaTracker</string>
<string name="title">🌜 LunaTracker 🌛</string> <string name="title">🌜 LunaTracker 🌛</string>
<string name="log_an_event">Ereignis protokollieren:</string>
<string name="logbook">Ereignisprotokoll</string> <string name="logbook">Ereignisprotokoll</string>
<string name="log_bottle_dialog_title">Fläschchen</string> <string name="log_bottle_dialog_title">Fläschchen</string>
@@ -51,6 +50,8 @@
<string name="no_connection_go_to_settings">Einstellungen</string> <string name="no_connection_go_to_settings">Einstellungen</string>
<string name="no_connection_retry">Erneut versuchen</string> <string name="no_connection_retry">Erneut versuchen</string>
<string name="no_breastfeeding">Kein Stillen</string>
<string name="settings_title">Einstellungen</string> <string name="settings_title">Einstellungen</string>
<string name="settings_storage">Speicherort für Daten auswählen</string> <string name="settings_storage">Speicherort für Daten auswählen</string>
<string name="settings_storage_local">Auf dem Gerät</string> <string name="settings_storage_local">Auf dem Gerät</string>

View File

@@ -1,7 +1,6 @@
<resources> <resources>
<string name="app_name">LunaTracker</string> <string name="app_name">LunaTracker</string>
<string name="title">🌜 LunaTracker 🌛</string> <string name="title">🌜 LunaTracker 🌛</string>
<string name="log_an_event">Ajouter une entrée:</string>
<string name="logbook">Entrées enregistrées</string> <string name="logbook">Entrées enregistrées</string>
<string name="log_bottle_dialog_title">Biberon</string> <string name="log_bottle_dialog_title">Biberon</string>
@@ -37,7 +36,7 @@
<string name="toast_event_added">Entrée ajoutée</string> <string name="toast_event_added">Entrée ajoutée</string>
<string name="toast_logbook_saved">Journal ajouté</string> <string name="toast_logbook_saved">Journal ajouté</string>
<string name="toast_event_add_error">Impossible d'enregistrer cette entrée</string> <string name="toast_event_add_error">Impossible d\'enregistrer cette entrée</string>
<string name="toast_integer_error">Valeur invalide. Renseignez un nombre.</string> <string name="toast_integer_error">Valeur invalide. Renseignez un nombre.</string>
<string name="now">maintenant </string> <string name="now">maintenant </string>
@@ -53,18 +52,18 @@
<string name="settings_title">Paramètres</string> <string name="settings_title">Paramètres</string>
<string name="settings_storage">Choisir le lieu de stockage des données</string> <string name="settings_storage">Choisir le lieu de stockage des données</string>
<string name="settings_storage_local">Sur l'appareil'</string> <string name="settings_storage_local">Sur l\'appareil\'</string>
<string name="settings_storage_local_desc">La solution la plus respectueuse de la vie privée : les données ne quittent pas l'appareil</string> <string name="settings_storage_local_desc">La solution la plus respectueuse de la vie privée : les données ne quittent pas l\'appareil</string>
<string name="settings_storage_dav">Sur un serveur WebDAV</string> <string name="settings_storage_dav">Sur un serveur WebDAV</string>
<string name="settings_storage_dav_desc">Vous pouvez utiliser n'importe quel service WebDAV (par exemple Nextcloud, Owncloud, Dropbox, Box...) pour sauvegarder les données. De cette façon, vous pouvez les synchroniser entre plusieurs appareils (Ex : celui de papa, celui de maman, celui de grand-mère...). Vous aurez besoin de l'adresse WebDAV, que vous trouverez dans la documentation de votre fournisseur (par exemple, pour Nextcloud web, vous la trouverez dans les paramètres de l'application Fichiers).</string> <string name="settings_storage_dav_desc">Vous pouvez utiliser n\'importe quel service WebDAV (par exemple Nextcloud, Owncloud, Dropbox, Box...) pour sauvegarder les données. De cette façon, vous pouvez les synchroniser entre plusieurs appareils (Ex : celui de papa, celui de maman, celui de grand-mère...). Vous aurez besoin de l\'adresse WebDAV, que vous trouverez dans la documentation de votre fournisseur (par exemple, pour Nextcloud web, vous la trouverez dans les paramètres de l\'application Fichiers).</string>
<string name="settings_storage_dav_url">URL WebDAV</string> <string name="settings_storage_dav_url">URL WebDAV</string>
<string name="settings_storage_dav_url_hint">https://</string> <string name="settings_storage_dav_url_hint">https://</string>
<string name="settings_storage_dav_user">Nom d'utilisateur</string> <string name="settings_storage_dav_user">Nom d\'utilisateur</string>
<string name="settings_storage_dav_pass">Mot de passe</string> <string name="settings_storage_dav_pass">Mot de passe</string>
<string name="settings_network_error">Impossible d'accéder au serveur: </string> <string name="settings_network_error">Impossible d\'accéder au serveur: </string>
<string name="settings_webdav_error_denied">Nom d'utilisateur ou mot de passe incorrect pour le service WebDAV</string> <string name="settings_webdav_error_denied">Nom d\'utilisateur ou mot de passe incorrect pour le service WebDAV</string>
<string name="settings_webdav_error_server_offline">Impossible d'accéder au serveur WebDAV</string> <string name="settings_webdav_error_server_offline">Impossible d\'accéder au serveur WebDAV</string>
<string name="settings_webdav_error_generic">Une erreur est survenue en essayant d'accéder au serveur WebDAV:</string> <string name="settings_webdav_error_generic">Une erreur est survenue en essayant d\'accéder au serveur WebDAV:</string>
<string name="settings_webdav_creation_error_generic">Impossible de sauvegarder un fichier sur le serveur WebDAV:</string> <string name="settings_webdav_creation_error_generic">Impossible de sauvegarder un fichier sur le serveur WebDAV:</string>
<string name="settings_webdav_creation_ok">Connexion réussie avec le serveur WebDAV</string> <string name="settings_webdav_creation_ok">Connexion réussie avec le serveur WebDAV</string>
<string name="settings_json_error">Il y a un fichier sur le serveur WebDAV, toutefois il est corronpu ou illisible. Merci de le supprimer et réessayer</string> <string name="settings_json_error">Il y a un fichier sur le serveur WebDAV, toutefois il est corronpu ou illisible. Merci de le supprimer et réessayer</string>
@@ -72,8 +71,8 @@
<string name="settings_webdav_upload_error">Une erreur est survenue en téléversant le journal local %1$s sur %2$s</string> <string name="settings_webdav_upload_error">Une erreur est survenue en téléversant le journal local %1$s sur %2$s</string>
<string name="trim_logbook_dialog_title">Votre journal grossit !</string> <string name="trim_logbook_dialog_title">Votre journal grossit !</string>
<string name="trim_logbook_dialog_message_local">Le fichier de votre journal a beaucoup grossi. Nous recommandons de supprimer les entrées les plus vieilles pour éviter des crashs de l'application.</string> <string name="trim_logbook_dialog_message_local">Le fichier de votre journal a beaucoup grossi. Nous recommandons de supprimer les entrées les plus vieilles pour éviter des crashs de l\'application.</string>
<string name="trim_logbook_dialog_message_dav">Le fichier de votre journal a beaucoup grossi. Nous recommandons de supprimer les entrées les plus vieilles pour éviter des crashs de l'application. Si vous voulez garder un historique, vous pouvez sauvegarder le fichier "lunatracker_logbook.json" ou le renommer pour créer un nouveau journal.</string> <string name="trim_logbook_dialog_message_dav">Le fichier de votre journal a beaucoup grossi. Nous recommandons de supprimer les entrées les plus vieilles pour éviter des crashs de l\'application. Si vous voulez garder un historique, vous pouvez sauvegarder le fichier "lunatracker_logbook.json" ou le renommer pour créer un nouveau journal.</string>
<string name="trim_logbook_dialog_button_ok">Supprimer les vieilles entrées maintenant</string> <string name="trim_logbook_dialog_button_ok">Supprimer les vieilles entrées maintenant</string>
<string name="trim_logbook_dialog_button_cancel">Me rappeller plus tard</string> <string name="trim_logbook_dialog_button_cancel">Me rappeller plus tard</string>
@@ -82,15 +81,15 @@
<string name="log_notes_dialog_qty_hint">Quantité (ou vide)</string> <string name="log_notes_dialog_qty_hint">Quantité (ou vide)</string>
<string name="log_notes_dialog_note_hint">Notes ...</string> <string name="log_notes_dialog_note_hint">Notes ...</string>
<string name="dialog_event_detail_title">Détails de l'entrée</string> <string name="dialog_event_detail_title">Détails de l\'entrée</string>
<string name="dialog_event_detail_close_button">OK</string> <string name="dialog_event_detail_close_button">OK</string>
<string name="dialog_event_detail_delete_button">Supprimer</string> <string name="dialog_event_detail_delete_button">Supprimer</string>
<string name="dialog_add_logbook_title">Ajouter un journal</string> <string name="dialog_add_logbook_title">Ajouter un journal</string>
<string name="dialog_add_logbook_logbookname">👶 Nom du journal</string> <string name="dialog_add_logbook_logbookname">👶 Nom du journal</string>
<string name="dialog_add_logbook_message">Renseignez un nom pour identifier ce journal. Ce nom apparaîtra en haut de l'écran et, si vous utilisez WebDAV, il figurera également dans le nom du fichier enreigstré.</string>
<string name="dialog_add_logbook_message_intro">Bienvenue ! Pour utiliser cette application, vous devez créer au moins un carnet de bord. Vous voudrez probablement l'appeler avec le nom de votre enfant.</string>
<string name="dialog_add_logbook_message">Renseignez un nom pour identifier ce journal. Ce nom apparaîtra en haut de l\'écran et, si vous utilisez WebDAV, il figurera également dans le nom du fichier enreigstré.</string>
<string name="dialog_add_logbook_message_intro">Bienvenue ! Pour utiliser cette application, vous devez créer au moins un carnet de bord. Vous voudrez probablement l\'appeler avec le nom de votre enfant.</string>
<string name="default_logbook_name">👶 Mon premier carnet de bord</string> <string name="default_logbook_name">👶 Mon premier carnet de bord</string>
<string name="logbook_created">Journal ajouté: </string> <string name="logbook_created">Journal ajouté: </string>

View File

@@ -1,7 +1,6 @@
<resources> <resources>
<string name="app_name">LunaTracker</string> <string name="app_name">LunaTracker</string>
<string name="title">🌜 LunaTracker 🌛</string> <string name="title">🌜 LunaTracker 🌛</string>
<string name="log_an_event">Logga un evento:</string>
<string name="logbook">Diario di bordo</string> <string name="logbook">Diario di bordo</string>
<string name="log_bottle_dialog_title">Biberon</string> <string name="log_bottle_dialog_title">Biberon</string>

View File

@@ -1,7 +1,6 @@
<resources> <resources>
<string name="app_name">LunaTracker</string> <string name="app_name">LunaTracker</string>
<string name="title">🌜 LunaTracker 🌛</string> <string name="title">🌜 LunaTracker 🌛</string>
<string name="log_an_event">Log an event:</string>
<string name="logbook">Logged events</string> <string name="logbook">Logged events</string>
<string name="log_bottle_dialog_title">Baby bottle</string> <string name="log_bottle_dialog_title">Baby bottle</string>
@@ -66,12 +65,14 @@
<string name="no_connection_go_to_settings">Settings</string> <string name="no_connection_go_to_settings">Settings</string>
<string name="no_connection_retry">Retry</string> <string name="no_connection_retry">Retry</string>
<string name="no_breastfeeding">No Breastfeeding</string>
<string name="settings_title">Settings</string> <string name="settings_title">Settings</string>
<string name="settings_storage">Choose where to save data</string> <string name="settings_storage">Choose where to save data</string>
<string name="settings_storage_local">On device</string> <string name="settings_storage_local">On device</string>
<string name="settings_storage_local_desc">Most privacy-friendly solution: data doesn\'t leave your device</string> <string name="settings_storage_local_desc">Most privacy-friendly solution: data doesn\'t leave your device</string>
<string name="settings_storage_dav">On a WebDAV server</string> <string name="settings_storage_dav">On a WebDAV server</string>
<string name="settings_storage_dav_desc">You can use any WebDAV service (i.e. Nextcloud, Owncloud, Dropbox, Box…) to save the data. In this way, you can syncronize it between more devices, i.e., the dad\'s, the mom\'s, the grandma\'s… You will need the WebDAV url, you can find it in your provider\'s documentation (i.e. in Nextcloud web is in the Files app settings)</string> <string name="settings_storage_dav_desc">You can use any WebDAV service (i.e. Nextcloud, Owncloud, Dropbox, Box…) to save the data. In this way, you can syncronize it between more devices, i.e., the dad\'s, the mom\'s, the grandma\'s… You will need the WebDAV URL, you can find it in your provider\'s documentation (i.e. in Nextcloud web is in the Files app settings)</string>
<string name="settings_storage_dav_url">WebDAV URL</string> <string name="settings_storage_dav_url">WebDAV URL</string>
<string name="settings_storage_dav_url_hint">https://</string> <string name="settings_storage_dav_url_hint">https://</string>
<string name="settings_storage_dav_user">Username</string> <string name="settings_storage_dav_user">Username</string>