diff --git a/app/src/main/java/org/fairscan/app/ui/components/Strings.kt b/app/src/main/java/org/fairscan/app/ui/components/Strings.kt
index ef46bee..aba6b2c 100644
--- a/app/src/main/java/org/fairscan/app/ui/components/Strings.kt
+++ b/app/src/main/java/org/fairscan/app/ui/components/Strings.kt
@@ -25,9 +25,3 @@ import java.util.Date
fun pageCountText(quantity: Int): String {
return LocalResources.current.getQuantityString(R.plurals.page_count, quantity, quantity)
}
-
-fun formatDate(timestamp: Long, context: Context): String {
- val date = Date(timestamp)
- return DateFormat.getMediumDateFormat(context).format(date) + " " +
- DateFormat.getTimeFormat(context).format(date)
-}
diff --git a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt
index 69e074b..1b193b1 100644
--- a/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt
+++ b/app/src/main/java/org/fairscan/app/ui/screens/export/ExportScreen.kt
@@ -286,8 +286,10 @@ private fun PdfInfos(
uiState.ocrActivation?.let { activated ->
Text(
- // TODO externalize
- if (activated) "Text recognition: enabled" else "Text recognition: disabled",
+ if (activated)
+ stringResource(R.string.text_recognition_enabled)
+ else
+ stringResource(R.string.text_recognition_disabled),
style = MaterialTheme.typography.bodySmall,
)
}
diff --git a/app/src/main/java/org/fairscan/app/ui/screens/settings/AddOcrLanguage.kt b/app/src/main/java/org/fairscan/app/ui/screens/settings/AddOcrLanguage.kt
index 9a93089..ee1fdaf 100644
--- a/app/src/main/java/org/fairscan/app/ui/screens/settings/AddOcrLanguage.kt
+++ b/app/src/main/java/org/fairscan/app/ui/screens/settings/AddOcrLanguage.kt
@@ -43,8 +43,10 @@ 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.text.intl.Locale
import androidx.compose.ui.unit.dp
+import org.fairscan.app.R
import org.fairscan.app.data.OcrLanguage
@Composable
@@ -79,14 +81,15 @@ fun AddLanguageBottomSheetContent(
.fillMaxWidth()
.padding(start = 16.dp, end = 8.dp, top = 0.dp)
) {
- Text( // TODO externalize
- text = "Language files are downloaded from the official Tesseract project. " +
- "OCR processing remains fully offline.",
+ Text(
+ text = stringResource(R.string.settings_ocr_download_intro),
style = MaterialTheme.typography.bodyMedium,
- modifier = Modifier.weight(1f).padding(0.dp)
+ modifier = Modifier
+ .weight(1f)
+ .padding(0.dp)
)
IconButton(onDismiss) {
- Icon(Icons.Default.Close, contentDescription = "Close") // TODO Externalize
+ Icon(Icons.Default.Close, contentDescription = stringResource(R.string.close))
}
}
@@ -94,14 +97,14 @@ fun AddLanguageBottomSheetContent(
modifier = Modifier.fillMaxSize()
) {
if (suggested != null) {
- item { TextItem("Suggested") }
+ item { TextItem(stringResource(R.string.settings_ocr_suggested)) }
item {
val displayName = suggested.displayName(locale)
LanguageItem(suggested, displayName, onInstallLanguage)
}
item { HorizontalDivider(modifier = Modifier.padding(vertical = 8.dp)) }
}
- item { TextItem("All languages") }
+ item { TextItem(stringResource(R.string.settings_ocr_all_languages)) }
items(
availableLanguages.filter { (lang, _) -> lang != suggested },
key = { (lang, _) -> lang.code }
@@ -114,7 +117,7 @@ fun AddLanguageBottomSheetContent(
@Composable
private fun TextItem(text: String) {
Text(
- text = text, // TODO externalize
+ text = text,
style = MaterialTheme.typography.titleSmall,
modifier = Modifier.padding(horizontal = 16.dp, vertical = 16.dp)
)
@@ -142,7 +145,7 @@ fun OcrDownloadDialog(
) {
AlertDialog(
onDismissRequest = {}, // tapping outside the dialog should not cancel
- title = { Text("Downloading OCR language") }, // TODO externalize
+ title = { Text(stringResource(R.string.settings_ocr_downloading)) },
text = {
Column{
Text(state.language.displayName(Locale.current.platformLocale))
@@ -168,7 +171,7 @@ fun OcrDownloadDialog(
}
},
dismissButton = {
- TextButton(onClick = onCancel) { Text("Cancel") } // TODO externalize
+ TextButton(onClick = onCancel) { Text(stringResource(R.string.cancel)) }
},
confirmButton = {}
)
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 284847c..76901e9 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
@@ -209,7 +209,7 @@ private fun SettingsContent(
HorizontalDivider()
Spacer(Modifier.height(16.dp))
Text(
- "OCR", // TODO externalize
+ stringResource(R.string.settings_section_ocr),
style = MaterialTheme.typography.titleLarge
)
Spacer(Modifier.height(16.dp))
@@ -242,11 +242,11 @@ private fun SettingsContent(
) {
Icon(Icons.Default.Add, contentDescription = null)
Spacer(Modifier.width(4.dp))
- Text("Add language") // TODO externalize
+ Text(stringResource(R.string.settings_ocr_add_language))
}
if (uiState.enabledOcrLanguages != uiState.installedOcrLanguages) {
TextButton(onClick = { showDeleteLanguageDialog.value = true }) {
- Text("Clean up inactive languages…") // TODO externalize
+ Text(stringResource(R.string.settings_ocr_clean_up))
}
}
}
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index e575644..b23fcce 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -9,6 +9,7 @@
ألغِ
غيّر المجلد
امحُ النص
+ إغلاق
فلتر
تلقائي
ألوان
@@ -57,6 +58,13 @@
احفظ
مسح جديد
الإعدادات
+ إضافة لغة
+ جميع اللغات
+ تنظيف اللغات غير المستخدمة…
+ يتم تنزيل ملفات اللغة من مشروع Tesseract الرسمي. تبقى عملية التعرّف على النصوص دون اتصال بالإنترنت بالكامل.
+ جارٍ تنزيل ملف اللغة
+ مقترح
+ التعرّف على النصوص
المسح
التصدير
شارك
@@ -64,6 +72,8 @@
تعذر حفظ الملف: رُفض الإذن
المساعدة
أبلِغ عن مشكلة في آخر صورة مُلتقطَة
+ التعرّف على النصوص: معطّل
+ التعرّف على النصوص: مفعّل
أطفئ الكشاف
شغّل الكشاف
حجم مجهول
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index fc98aa5..b033ed2 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -9,6 +9,7 @@
Zrušit
Změnit složku
Smazat text
+ Zavřít
Filtr
Automaticky
Barva
@@ -57,6 +58,13 @@
Uložit
Nové skenování
Nastavení
+ Přidat jazyk
+ Všechny jazyky
+ Odstranit nepoužívané jazyky…
+ Jazykové soubory jsou stahovány z oficiálního projektu Tesseract. Rozpoznávání textu zůstává zcela offline.
+ Stahování jazykového souboru
+ Doporučeno
+ Rozpoznávání textu
Skenování
Export
Sdílet
@@ -64,6 +72,8 @@
Nelze uložit soubor: oprávnění bylo odmítnuto
Podpora
Nahlásit problém s posledním zachyceným obrázkem
+ Rozpoznávání textu: vypnuto
+ Rozpoznávání textu: zapnuto
Vypnout svítilnu
Zapnout svítilnu
Neznámá velikost
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 05337dc..ba721ab 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -9,6 +9,7 @@
Abbrechen
Ordner ändern
Text löschen
+ Schließen
Filter
Automatisch
Farbe
@@ -57,6 +58,13 @@
Speichern
Neuer Scan
Einstellungen
+ Sprache hinzufügen
+ Alle Sprachen
+ Nicht verwendete Sprachen bereinigen…
+ Sprachdateien werden vom offiziellen Tesseract-Projekt heruntergeladen. Die Texterkennung bleibt vollständig offline.
+ Sprachdatei wird heruntergeladen
+ Empfohlen
+ Texterkennung
Scan
Export
Teilen
@@ -64,6 +72,8 @@
Datei kann nicht gespeichert werden: Berechtigung verweigert
Support
Problem mit dem zuletzt aufgenommenen Bild melden
+ Texterkennung: deaktiviert
+ Texterkennung: aktiviert
Taschenlampe ausschalten
Taschenlampe einschalten
Unbekannte Größe
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index e7eacc5..8fbd158 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -9,6 +9,7 @@
Cancelar
Cambiar carpeta
Borrar texto
+ Cerrar
Filtro
Automático
Color
@@ -57,6 +58,13 @@
Guardar
Nuevo escaneo
Ajustes
+ Añadir idioma
+ Todos los idiomas
+ Limpiar idiomas no utilizados…
+ Los archivos de idioma se descargan desde el proyecto oficial Tesseract. El reconocimiento de texto sigue siendo completamente local.
+ Descargando archivo de idioma
+ Sugerido
+ Reconocimiento de texto
Escaneo
Exportación
Compartir
@@ -64,6 +72,8 @@
No se puede guardar el archivo: permiso denegado
Soporte
Informar de un problema con la última imagen capturada
+ Reconocimiento de texto: desactivado
+ Reconocimiento de texto: activado
Apagar linterna
Encender linterna
Tamaño desconocido
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 9adc448..b9a5096 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -9,6 +9,7 @@
Annuler
Changer de dossier
Effacer le text
+ Fermer
Filtre
Automatique
Couleur
@@ -57,6 +58,13 @@
Enregistrer
Nouveau scan
Paramètres
+ Ajouter une langue
+ Toutes les langues
+ Supprimer les langues inutilisées…
+ Les fichiers de langue sont téléchargés depuis le projet officiel Tesseract. La reconnaissance de texte reste entièrement hors ligne.
+ Téléchargement du fichier de langue
+ Suggéré
+ Reconnaissance de texte
Scan
Export
Partager
@@ -64,6 +72,8 @@
Impossible d’enregistrer le fichier : permission refusée
Support
Signaler un problème avec la dernière image capturée
+ Reconnaissance de texte : désactivée
+ Reconnaissance de texte : activée
Éteindre la torche
Allumer la torche
Taille inconnue
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 1fe729f..7fd8b0c 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -9,6 +9,7 @@
Cancelar
Trocar cartafol
Borrar texto
+ Pechar
Filtro
Automático
Cor
@@ -57,6 +58,13 @@
Gardar
Novo escaneo
Configuración
+ Engadir idioma
+ Todos os idiomas
+ Limpar idiomas non utilizados…
+ Os ficheiros de idioma descárganse desde o proxecto oficial Tesseract. O recoñecemento de texto segue sendo completamente sen conexión.
+ Descargando ficheiro de idioma
+ Suxerido
+ Recoñecemento de texto
Escaneo
Exportación
Compartir
@@ -64,6 +72,8 @@
Non se pode gardar o ficheiro: permiso denegado
Soporte
Informar dun problema coa derradeira imaxe capturada
+ Recoñecemento de texto: desactivado
+ Recoñecemento de texto: activado
Apagar lanterna
Acender lanterna
Tamaño descoñecido
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 838050c..4b44a7c 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -9,6 +9,7 @@
Annulla
Cambia cartella
Svuota testo
+ Chiudi
Filtro
Automatico
Colore
@@ -57,6 +58,13 @@
Salva
Nuova scansione
Impostazioni
+ Aggiungi lingua
+ Tutte le lingue
+ Rimuovi le lingue inutilizzate…
+ I file di lingua vengono scaricati dal progetto ufficiale Tesseract. Il riconoscimento del testo rimane completamente offline.
+ Download del file di lingua
+ Suggerito
+ Riconoscimento del testo
Scansione
Esportazione
Condividi
@@ -64,6 +72,8 @@
Impossibile salvare il file: permesso negato
Supporto
Segnala un problema con l’ultima immagine acquisita
+ Riconoscimento del testo: disattivato
+ Riconoscimento del testo: attivato
Spegni la torcia
Accendi la torcia
Dimensione sconosciuta
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index e952c37..9985c54 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -9,6 +9,7 @@
キャンセル
フォルダを変更
テキストを消去
+ 閉じる
フィルター
自動
カラー
@@ -57,6 +58,13 @@
保存
新規スキャン
設定
+ 言語を追加
+ すべての言語
+ 未使用の言語を整理…
+ 言語ファイルは公式の Tesseract プロジェクトからダウンロードされます。テキスト認識は完全にオフラインで実行されます。
+ 言語ファイルをダウンロード中
+ おすすめ
+ テキスト認識
スキャン
エクスポート
共有
@@ -64,6 +72,8 @@
権限が拒否されたため、ファイルを保存できません
サポート
最後に撮影した画像の問題を報告
+ テキスト認識: 無効
+ テキスト認識: 有効
ライトをオフ
ライトをオン
サイズ不明
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 588cb7e..63fba76 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -9,6 +9,7 @@
Cancelar
Alterar diretório
Limpar texto
+ Fechar
Filtro
Automático
Cor
@@ -57,6 +58,13 @@
Salvar
Nova digitalização
Configurações
+ Adicionar idioma
+ Todos os idiomas
+ Remover idiomas não utilizados…
+ Os arquivos de idioma são baixados do projeto oficial Tesseract. O reconhecimento de texto permanece totalmente offline.
+ Baixando arquivo de idioma
+ Sugerido
+ Reconhecimento de texto
Digitalização
Exportação
Compartilhar
@@ -64,6 +72,8 @@
Não foi possível salvar o arquivo: permissão negada
Suporte
Relatar um problema com a última imagem capturada
+ Reconhecimento de texto: desativado
+ Reconhecimento de texto: ativado
Desligar lanterna
Ligar lanterna
Tamanho desconhecido
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index a7ffa46..11535c4 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -9,6 +9,7 @@
Отмена
Изменить папку
Стереть текст
+ Закрыть
Фильтр
Автоматически
Цвет
@@ -57,6 +58,13 @@
Сохранить
Начать
Настройки
+ Добавить язык
+ Все языки
+ Удалить неиспользуемые языки…
+ Языковые файлы загружаются из официального проекта Tesseract. Распознавание текста остаётся полностью офлайн.
+ Загрузка языкового файла
+ Рекомендуется
+ Распознавание текста
Сканирование
Экспорт
Поделиться
@@ -64,6 +72,8 @@
Невозможно сохранить файл: доступ запрещён
Поддержка
Сообщить о проблеме с последним сделанным изображением
+ Распознавание текста: отключено
+ Распознавание текста: включено
Выключить фонарик
Включить фонарик
Неизвестный размер
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 43c6f51..33e94d2 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -9,6 +9,7 @@
Avbryt
Byt mapp
Rensa text
+ Stäng
Filter
Automatiskt
Färg
@@ -57,6 +58,13 @@
Spara
Ny skanning
Inställningar
+ Lägg till språk
+ Alla språk
+ Rensa oanvända språk…
+ Språkfiler hämtas från det officiella Tesseract-projektet. Textigenkänning förblir helt offline.
+ Hämtar språkfil
+ Föreslagen
+ Textigenkänning
Skanning
Export
Dela
@@ -64,6 +72,8 @@
Det går inte att spara filen: behörighet nekades
Support
Rapportera ett problem med den senast tagna bilden
+ Textigenkänning: inaktiverad
+ Textigenkänning: aktiverad
Stäng av ficklampan
Tänd ficklampan
Okänd storlek
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 7e0aa59..d9e7a7d 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -9,6 +9,7 @@
İptal
Dizini değiştir
Metni temizle
+ Kapat
Filtre
Otomatik
Renkli
@@ -57,6 +58,13 @@
Kaydet
Yeni Tarama
Ayarlar
+ Dil ekle
+ Tüm diller
+ Kullanılmayan dilleri temizle…
+ Dil dosyaları resmi Tesseract projesinden indirilir. Metin tanıma tamamen çevrimdışı olarak çalışır.
+ Dil dosyası indiriliyor
+ Önerilen
+ Metin tanıma
Tarama
Dışa aktarma
Paylaş
@@ -64,6 +72,8 @@
Dosya kaydedilemiyor: izin reddedildi
Destek
Son yakalanan görüntüyle ilgili bir sorunu bildir
+ Metin tanıma: devre dışı
+ Metin tanıma: etkin
El fenerini kapat
El fenerini aç
Bilinmeyen boyut
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 5bfe79e..3698207 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -9,6 +9,7 @@
取消
變更目錄
清除文字
+ 關閉
濾鏡
自動
彩色
@@ -57,6 +58,13 @@
儲存
開始掃描
設定
+ 新增語言
+ 所有語言
+ 清理未使用的語言…
+ 語言檔案會從官方 Tesseract 專案下載。文字辨識始終完全離線運作。
+ 正在下載語言檔案
+ 推薦
+ 文字辨識
掃描
匯出
分享
@@ -64,6 +72,8 @@
無法儲存檔案:權限遭拒
支援
回報最近拍攝影像的問題
+ 文字辨識:已停用
+ 文字辨識:已啟用
關閉閃光燈
開啟閃光燈
未知大小
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 9c0a9ff..7952ed9 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -9,6 +9,7 @@
取消
更改目录
清除文字
+ 关闭
滤镜
自动
彩色
@@ -57,6 +58,13 @@
保存
新建扫描
设置
+ 添加语言
+ 所有语言
+ 清理未使用的语言…
+ 语言文件从官方 Tesseract 项目下载。文本识别始终完全离线运行。
+ 正在下载语言文件
+ 推荐
+ 文本识别
扫描
导出
共享
@@ -64,6 +72,8 @@
无法保存文件:权限被拒绝
支持
报告最近拍摄图像的问题
+ 文本识别:已禁用
+ 文本识别:已启用
关闭手电筒
打开手电筒
未知大小
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7685a25..6306424 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -10,6 +10,7 @@
Cancel
Change folder
Clear text
+ Close
Filter
Automatic
Color
@@ -61,6 +62,13 @@
Save
New Scan
Settings
+ Add language
+ All languages
+ Clean up unused languages…
+ "Language files are downloaded from the official Tesseract project. Text recognition remains fully offline."
+ Downloading language file
+ Suggested
+ Text recognition
Scan
Export
Share
@@ -68,6 +76,8 @@
Cannot save file: permission was denied
Support
Report a problem with last captured image
+ Text recognition: disabled
+ Text recognition: enabled
Turn off torch
Turn on torch
Unknown size