diff --git a/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt b/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt
index 691fc2b..b593aee 100644
--- a/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt
+++ b/app/src/main/java/org/fairscan/app/ui/components/Scaffold.kt
@@ -46,7 +46,9 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalConfiguration
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
+import org.fairscan.app.R
import org.fairscan.app.ui.Navigation
@Composable
@@ -169,7 +171,7 @@ fun AppOverflowMenu(
modifier
) {
IconButton(onClick = { expanded = true }) {
- Icon(Icons.Default.MoreVert, contentDescription = "Menu")
+ Icon(Icons.Default.MoreVert, contentDescription = stringResource(R.string.menu))
}
DropdownMenu(
@@ -181,7 +183,7 @@ fun AppOverflowMenu(
DropdownMenuItem(
leadingIcon = { Icon(Icons.Default.Settings, contentDescription = null) },
- text = { Text("Settings") },
+ text = { Text(stringResource(R.string.settings)) },
onClick = {
expanded = false
navigation.toSettingsScreen()
@@ -190,7 +192,7 @@ fun AppOverflowMenu(
DropdownMenuItem(
leadingIcon = { Icon(Icons.Default.Info, contentDescription = null) },
- text = { Text("About") },
+ text = { Text(stringResource(R.string.about)) },
onClick = {
expanded = false
navigation.toAboutScreen()
diff --git a/app/src/main/java/org/fairscan/app/ui/screens/settings/SettingsScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/settings/SettingsScreen.kt
index 4a32e07..be3a04f 100644
--- a/app/src/main/java/org/fairscan/app/ui/screens/settings/SettingsScreen.kt
+++ b/app/src/main/java/org/fairscan/app/ui/screens/settings/SettingsScreen.kt
@@ -15,6 +15,7 @@
package org.fairscan.app.ui.screens.settings
+import android.content.Context
import androidx.activity.compose.BackHandler
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.clickable
@@ -40,9 +41,12 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
+import org.fairscan.app.R
import org.fairscan.app.ui.components.BackButton
import org.fairscan.app.ui.theme.FairScanTheme
@@ -58,7 +62,7 @@ fun SettingsScreen(
Scaffold(
topBar = {
TopAppBar(
- title = { Text("Settings") },
+ title = { Text(stringResource(R.string.settings)) },
navigationIcon = { BackButton(onBack) },
)
}
@@ -76,8 +80,9 @@ private fun SettingsContent(
onResetExportDirClick: () -> Unit,
modifier: Modifier = Modifier,
) {
+ val context = LocalContext.current
val folderName = remember(uiState.exportDirUri) {
- extractFolderName(uiState.exportDirUri)
+ extractFolderName(uiState.exportDirUri, context)
}
Column(
@@ -86,7 +91,7 @@ private fun SettingsContent(
.padding(20.dp)
) {
DirectorySettingItem(
- label = "Export directory",
+ label = stringResource(R.string.export_directory),
folderName = folderName,
onClick = onChooseDirectoryClick
)
@@ -98,7 +103,7 @@ private fun SettingsContent(
onClick = onResetExportDirClick,
border = BorderStroke(1.dp, MaterialTheme.colorScheme.primary),
) {
- Text("Reset to default")
+ Text(stringResource(R.string.reset_to_default))
}
}
}
@@ -138,15 +143,15 @@ fun DirectorySettingItem(
Icon(
Icons.Default.Folder,
- contentDescription = "Change directory",
+ contentDescription = stringResource(R.string.change_directory),
)
}
}
}
}
-private fun extractFolderName(uriString: String?): String {
- if (uriString == null) return "Downloads (default)"
+private fun extractFolderName(uriString: String?, context: Context): String {
+ if (uriString == null) return context.getString(R.string.download_dirname)
return runCatching {
val uri = uriString.toUri()
uri.lastPathSegment?.substringAfter(':')?.substringAfter('/') ?: uriString
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 0f98a39..1c62f8e 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -6,6 +6,7 @@
Byl odepřen přístup k fotoaparátu
Aby bylo možné skenovat dokumenty, tato aplikace potřebuje přístup k fotoaparátu. Nasnímané obrázky jsou ukládány pouze do tohoto zařízení a budou smazány, když zavřete stávající dokument.
Zrušit
+ Změnit složku
Smazat text
Kontakt
Protokoly zkopírovány do schránky
@@ -21,9 +22,10 @@
Nebyl rozpoznán žádná dokument
Nebyla nazelena žádná aplikace pro otevření PDF
Chyba při ukládání PDF
+ Složka pro export
Exportovat PDF
- Název souboru
Velikost souboru: %1$s
+ Název souboru
Povolit přístup
Poslední PDF uložené do stažených:
Kníhovny
@@ -31,14 +33,17 @@
Open-source knihovny
Licence
Tato aplikace je licencována pod GNU General Public License v3.0.
+ Menu
Toto skenování bude ztraceno. Chcete pokračovat?
Otevřít
Otevřít PDF
PDF bylo uloženo do %1s
+ Obnovit výchozí
Obnovit
Uložit
Nové skenování
Probíhá skenování
+ Nastavení
Sdílet
Sdílet PDF
Nelze uložit PDF: přístup zakázán
@@ -46,8 +51,8 @@
Zapnout svítilnu
Neznámá velikost
Verze
- Zobrazit úplnou licenci
Zobrazit úplný seznam
+ Zobrazit úplnou licenci
Ano
- %d stránka
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index b3035ae..6aa6c82 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -6,6 +6,7 @@
Kamerazugriff wurde verweigert
Die App benötigt Zugriff auf die Kamera, um Dokumente zu scannen. Aufgenommene Bilder werden nur auf diesem Gerät gespeichert und beim Schließen des aktuellen Dokuments gelöscht.
Abbrechen
+ Ordner ändern
Text löschen
Kontakt
Logs in die Zwischenablage kopiert
@@ -21,9 +22,10 @@
Kein Dokument erkannt
Keine App zum Öffnen von PDF gefunden
PDF konnte nicht gespeichert werden
+ Exportordner
PDF exportieren
- Dateiname
Dateigröße: %1$s
+ Dateiname
Berechtigung erteilen
Zuletzt gespeicherte PDFs in Downloads:
Bibliotheken
@@ -31,14 +33,17 @@
Open-Source-Bibliotheken
Lizenz
Diese Anwendung ist unter der GNU General Public License v3.0 lizenziert.
+ Menü
Das aktuelle Dokument geht verloren. Möchten Sie fortfahren?
Öffnen
PDF öffnen
PDF gespeichert in %1s
+ Auf Standard zurücksetzen
Fortsetzen
Speichern
Neuer Scan
Scan läuft
+ Einstellungen
Teilen
PDF teilen
PDF-Datei kann nicht gespeichert werden: Berechtigung verweigert
@@ -46,8 +51,8 @@
Taschenlampe einschalten
Unbekannte Größe
Version
- Vollständige Lizenz anzeigen
Vollständige Liste anzeigen
+ Vollständige Lizenz anzeigen
Ja
- %d Seite
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 9cdd7b1..f1c1af6 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -6,6 +6,7 @@
Permiso de cámara denegado
La aplicación necesita acceso a la cámara para escanear documentos. Las imágenes capturadas se guardan solo en este dispositivo y se eliminarán cuando cierres el documento actual.
Cancelar
+ Cambiar carpeta
Borrar texto
Contacto
Registros copiados al portapapeles
@@ -21,9 +22,10 @@
No se detectó ningún documento
No se encontró ninguna aplicación para abrir PDF
Error al guardar el PDF
+ Carpeta de exportación
Exportar PDF
- Nombre del archivo
Tamaño del archivo: %1$s
+ Nombre del archivo
Conceder permiso
PDF recientes guardados en Descargas:
Bibliotecas
@@ -31,14 +33,17 @@
Bibliotecas de código abierto
Licencia
Esta aplicación está licenciada bajo la GNU General Public License v3.0.
+ Menú
El escaneo actual se perderá. ¿Deseas continuar?
Abrir
Abrir PDF
PDF guardado en %1s
+ Restablecer valores predeterminados
Reanudar
Guardar
Nuevo escaneo
Escaneo en curso
+ Ajustes
Compartir
Compartir PDF
No se puede guardar el archivo PDF: permiso denegado
@@ -46,8 +51,8 @@
Encender linterna
Tamaño desconocido
Versión
- Ver la licencia completa
Ver lista completa
+ Ver la licencia completa
Sí
- %d página
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 84e7904..3d68574 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -6,8 +6,9 @@
L\'autorisation d\'accès à la caméra a été refusée
L’application a besoin d’accéder à l’appareil photo pour scanner des documents. Les images capturées sont enregistrées uniquement sur cet appareil et seront supprimées lorsque vous fermerez le document en cours.
Annuler
- Contact
+ Changer de dossier
Effacer le text
+ Contact
Logs copiés dans le presse-papiers
Copier les logs
Création du PDF…
@@ -21,9 +22,10 @@
Aucun document détecté
Aucune application trouvée pour ouvrir un PDF
Échec de l\'enregistrement du PDF
+ Dossier d’export
Exporter en PDF
- Nom de fichier
Taille du fichier : %1$s
+ Nom de fichier
Autoriser
Derniers PDF enregistrés dans Téléchargements :
Bibliothèques
@@ -31,14 +33,17 @@
Bibliothèques open source
Licence
Cette application est distribuée sous licence GNU General Public License v3.0.
+ Menu
Le scan en cours sera perdu. Voulez-vous continuer ?
Ouvrir
Ouvrir le PDF
PDF enregistré dans %1s
+ Réinitialiser par défaut
Reprendre
Enregistrer
Nouveau scan
Scan en cours
+ Paramètres
Partager
Partager le PDF
Impossible d’enregistrer le fichier PDF : permission refusée
@@ -46,8 +51,8 @@
Allumer la torche
Taille inconnue
Version
- Voir la licence complète
Voir la liste complète
+ Voir la licence complète
Oui
- %d page
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index bc3cbae..c94c3a7 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -6,6 +6,7 @@
Autorizzazione fotocamera negata
L\'app richiede l\'accesso alla fotocamera per scansionare documenti. Le immagini catturate sono salvate solo in questo dispositivo e verranno eliminate quando chiudi il documento attuale.
Annulla
+ Cambia cartella
Svuota testo
Contatti
Log copiati negli appunti
@@ -21,9 +22,10 @@
Nessun documento rilevato
Nessuna app trovata per aprire PDF
Salvataggio PDF fallito
+ Cartella di esportazione
Esporta PDF
- Nome file
Dimensione file: %1$s
+ Nome file
Concendi autorizzazione
PDF recenti salvati in Download:
Librerie
@@ -31,14 +33,17 @@
Librerie open source
Licenza
Questa app è concessa in licenza ai sensi della GNU General Public License v3.0.
+ Menu
La scansiona attuale verrà persa. Vuoi continuare?
Apri
Apri PDF
PDF salvato in %1s
+ Ripristina impostazioni predefinite
Riprendi
Salva
Nuova scansione
Scansione in corso
+ Impostazioni
Condividi
Condividi PDF
Impossibile salvare il file PDF: autorizzazione negata
@@ -46,8 +51,8 @@
Accendi la torcia
Dimensione sconosciuta
Versione
- Vedi la licenza completa
Vedi l\'elenco completo
+ Vedi la licenza completa
Sì
- %d pagina
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index ccbbcf9..6808211 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -6,6 +6,7 @@
Permissão da câmera negada
O aplicativo precisa de acesso à câmera para digitalizar documentos. As imagens capturadas são armazenadas apenas neste dispositivo e serão excluídas quando você fechar o documento atual.
Cancelar
+ Alterar diretório
Limpar texto
Contato
Registros copiados para a área de transferência
@@ -21,9 +22,10 @@
Nenhum documento detectado
Nenhum aplicativo encontrado para abrir PDF
Falha ao salvar PDF
+ Diretório de exportação
Exportar PDF
- Nome do arquivo
Tamanho do arquivo: %1$s
+ Nome do arquivo
Conceder permissão
PDFs recentes salvos em Downloads:
Bibliotecas
@@ -31,14 +33,17 @@
Bibliotecas de código aberto
Licença
Este aplicativo é licenciado sob a GNU General Public License v3.0.
+ Menu
A digitalização atual será perdida. Deseja continuar?
Abrir
Abrir PDF
PDF salvo em %1s
+ Restaurar padrão
Retomar
Salvar
Nova digitalização
Digitalização em andamento
+ Configurações
Compartilhar
Compartilhar PDF
Não foi possível salvar o arquivo PDF: permissão negada
@@ -46,8 +51,8 @@
Ligar lanterna
Tamanho desconhecido
Versão
- Ver licença completa
Ver lista completa
+ Ver licença completa
Sim
- %d página
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 9602069..2779caf 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -6,6 +6,7 @@
В доступе к камере отказано
Для сканирования документов приложению требуется доступ к камере. Отснятые изображения хранятся только на данном устройстве и удаляются по окончании работы с текущим документом.
Отмена
+ Изменить папку
Стереть текст
Контакты
Журналы скопированы в буфер обмена
@@ -21,9 +22,10 @@
Документ не обнаружен
Приложения для работы с PDF не обнаружено
Сбой при сохранении PDF
+ Папка экспорта
Экспорт PDF
- Имя файла
Размер файла: %1$s
+ Имя файла
Предоставить разрешение
Последние PDF сохранены в Download:
Библиотеки
@@ -31,14 +33,17 @@
Библиотеки с открытым исходным кодом
Лицензия
Это приложение лицензировано в соответствии с GNU General Public License v3.0.
+ Меню
Результаты текущего сканирования будут потеряны. Желаете продолжить?
Открыть
Открыть PDF
PDF сохранен в %1s
+ Сбросить по умолчанию
Продолжить
Сохранить
Начать
Сканирование выполняется
+ Настройки
Поделиться
Поделиться PDF
Не удается сохранить файл PDF: в разрешении отказано
@@ -46,8 +51,8 @@
Включить фонарик
Неизвестный размер
Версия
- Просмотреть полную лицензию
Просмотреть полный список
+ Просмотреть полную лицензию
Да
- %d страница
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 899ef83..2d9a818 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -6,6 +6,7 @@
相机权限被拒绝
应用请求相机权限访问扫描文档。捕获的图像仅存储在此设备上,并且在关闭当前文档时将被删除。
取消
+ 更改目录
清除文字
联系人
日志已复制到剪贴板
@@ -21,9 +22,10 @@
未检测到任何文档
未找到可打开PDF的应用
保存PDF失败
+ 导出目录
导出PDF
- 文件名字
文件大小: %1$s
+ 文件名字
授予权限
最近保存的PDF:
库
@@ -31,14 +33,17 @@
开源库
许可证
本应用根据GNU General Public License v3.0获得许可。
+ 菜单
当前扫描将丢失。是否继续?
打开
打开 PDF
PDF 已保存到 %1$s
+ 恢复默认设置
恢复
保存
新建扫描
正在进行扫描
+ 设置
共享
共享 PDF
无法保存PDF文件:权限被拒绝
@@ -46,8 +51,8 @@
打开手电筒
未知大小
版本
- 查看完整许可证
查看完整列表
+ 查看完整许可证
是
- %d 页
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index dc2b640..b07a379 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -7,6 +7,7 @@
Camera permission was denied
The app requires camera access to scan documents. Captured images are stored only on this device and will be deleted when you close the current document.
Cancel
+ Change directory
Clear text
Contact
Logs copied to clipboard
@@ -22,9 +23,10 @@
No document detected
No app found to open PDF
Failed to save PDF
+ Export directory
Export PDF
- Filename
File size: %1$s
+ Filename
Grant permission
Recent PDFs saved in Downloads:
Libraries
@@ -32,14 +34,17 @@
Open-source libraries
License
This application is licensed under the GNU General Public License v3.0.
+ Menu
The current scan will be lost. Do you want to continue?
Open
Open PDF
PDF saved in %1s
+ Reset to default
Resume
Save
New Scan
Scan in progress
+ Settings
Share
Share PDF
Cannot save PDF file: permission was denied
@@ -47,8 +52,8 @@
Turn on torch
Unknown size
Version
- View the full license
View full list
+ View the full license
Yes
- %d page