ExportQuality: externalize strings

This commit is contained in:
Pierre-Yves Nicolas
2026-01-15 11:07:47 +01:00
parent 5464935291
commit 6ae87aed15
12 changed files with 64 additions and 17 deletions

View File

@@ -14,20 +14,26 @@
*/ */
package org.fairscan.app.domain package org.fairscan.app.domain
import org.fairscan.app.R
enum class ExportQuality( enum class ExportQuality(
val jpegQuality: Int, val jpegQuality: Int,
val maxPixels: Long val maxPixels: Long,
val labelResource: Int
) { ) {
LOW( LOW(
jpegQuality = 60, jpegQuality = 60,
maxPixels = 1_000_000 maxPixels = 1_000_000,
R.string.export_quality_low,
), ),
BALANCED( BALANCED(
jpegQuality = 75, jpegQuality = 75,
maxPixels = 2_000_000 maxPixels = 2_000_000,
R.string.export_quality_balanced,
), ),
HIGH( HIGH(
jpegQuality = 80, jpegQuality = 80,
maxPixels = 4_000_000 maxPixels = 4_000_000,
R.string.export_quality_high,
) )
} }

View File

@@ -122,27 +122,21 @@ private fun SettingsContent(
Spacer(Modifier.height(32.dp)) Spacer(Modifier.height(32.dp))
Text("Export quality", style = MaterialTheme.typography.titleLarge) Text(stringResource(R.string.export_quality), style = MaterialTheme.typography.titleLarge)
ExportQuality.entries.forEach { quality -> ExportQuality.entries.reversed().forEach { quality ->
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
RadioButton( RadioButton(
selected = uiState.exportQuality == quality, selected = uiState.exportQuality == quality,
onClick = { onExportQualityChanged(quality) }, onClick = { onExportQualityChanged(quality) },
) )
Text( Text(stringResource(quality.labelResource))
when (quality) {
ExportQuality.LOW -> "Low (smaller files)"
ExportQuality.BALANCED -> "Balanced"
ExportQuality.HIGH -> "High (best quality)"
}
)
} }
} }
Spacer(Modifier.height(32.dp)) Spacer(Modifier.height(32.dp))
Text("Export format", style = MaterialTheme.typography.titleLarge) Text(stringResource(R.string.export_format), style = MaterialTheme.typography.titleLarge)
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
RadioButton( RadioButton(

View File

@@ -25,6 +25,11 @@
<string name="export">Exportovat</string> <string name="export">Exportovat</string>
<string name="export_as">Exportovat jako %1$s</string> <string name="export_as">Exportovat jako %1$s</string>
<string name="export_directory">Složka pro export</string> <string name="export_directory">Složka pro export</string>
<string name="export_format">Formát exportu</string>
<string name="export_quality">Kvalita exportu</string>
<string name="export_quality_low">Nízká</string>
<string name="export_quality_balanced">Vyvážená</string>
<string name="export_quality_high">Vysoká</string>
<string name="file_size">Velikost souboru: %1$s</string> <string name="file_size">Velikost souboru: %1$s</string>
<string name="file_size_total">Celková velikost: %1$s</string> <string name="file_size_total">Celková velikost: %1$s</string>
<string name="filename">Název souboru</string> <string name="filename">Název souboru</string>

View File

@@ -25,6 +25,11 @@
<string name="export">Exportieren</string> <string name="export">Exportieren</string>
<string name="export_as">Als %1$s exportieren</string> <string name="export_as">Als %1$s exportieren</string>
<string name="export_directory">Exportordner</string> <string name="export_directory">Exportordner</string>
<string name="export_format">Exportformat</string>
<string name="export_quality">Exportqualität</string>
<string name="export_quality_low">Niedrig</string>
<string name="export_quality_balanced">Ausgewogen</string>
<string name="export_quality_high">Hoch</string>
<string name="file_size">Dateigröße: %1$s</string> <string name="file_size">Dateigröße: %1$s</string>
<string name="file_size_total">Gesamtgröße: %1$s</string> <string name="file_size_total">Gesamtgröße: %1$s</string>
<string name="filename">Dateiname</string> <string name="filename">Dateiname</string>

View File

@@ -25,6 +25,11 @@
<string name="export">Exportar</string> <string name="export">Exportar</string>
<string name="export_as">Exportar como %1$s</string> <string name="export_as">Exportar como %1$s</string>
<string name="export_directory">Carpeta de exportación</string> <string name="export_directory">Carpeta de exportación</string>
<string name="export_format">Formato de exportación</string>
<string name="export_quality">Calidad de exportación</string>
<string name="export_quality_low">Baja</string>
<string name="export_quality_balanced">Equilibrada</string>
<string name="export_quality_high">Alta</string>
<string name="file_size">Tamaño del archivo: %1$s</string> <string name="file_size">Tamaño del archivo: %1$s</string>
<string name="file_size_total">Tamaño total: %1$s</string> <string name="file_size_total">Tamaño total: %1$s</string>
<string name="filename">Nombre del archivo</string> <string name="filename">Nombre del archivo</string>

View File

@@ -25,6 +25,11 @@
<string name="export">Exporter</string> <string name="export">Exporter</string>
<string name="export_as">Exporter en %1$s</string> <string name="export_as">Exporter en %1$s</string>
<string name="export_directory">Dossier dexport</string> <string name="export_directory">Dossier dexport</string>
<string name="export_format">Format dexport</string>
<string name="export_quality">Qualité dexport</string>
<string name="export_quality_low">Basse</string>
<string name="export_quality_balanced">Équilibrée</string>
<string name="export_quality_high">Élevée</string>
<string name="file_size">Taille du fichier : %1$s</string> <string name="file_size">Taille du fichier : %1$s</string>
<string name="file_size_total">Taille totale : %1$s</string> <string name="file_size_total">Taille totale : %1$s</string>
<string name="filename">Nom de fichier</string> <string name="filename">Nom de fichier</string>

View File

@@ -25,6 +25,11 @@
<string name="export">Esporta</string> <string name="export">Esporta</string>
<string name="export_as">Esporta come %1$s</string> <string name="export_as">Esporta come %1$s</string>
<string name="export_directory">Cartella di esportazione</string> <string name="export_directory">Cartella di esportazione</string>
<string name="export_format">Formato di esportazione</string>
<string name="export_quality">Qualità di esportazione</string>
<string name="export_quality_low">Bassa</string>
<string name="export_quality_balanced">Bilanciata</string>
<string name="export_quality_high">Alta</string>
<string name="file_size">Dimensione del file: %1$s</string> <string name="file_size">Dimensione del file: %1$s</string>
<string name="file_size_total">Dimensione totale: %1$s</string> <string name="file_size_total">Dimensione totale: %1$s</string>
<string name="filename">Nome file</string> <string name="filename">Nome file</string>

View File

@@ -25,6 +25,11 @@
<string name="export">Exportar</string> <string name="export">Exportar</string>
<string name="export_as">Exportar como %1$s</string> <string name="export_as">Exportar como %1$s</string>
<string name="export_directory">Diretório de exportação</string> <string name="export_directory">Diretório de exportação</string>
<string name="export_format">Formato de exportação</string>
<string name="export_quality">Qualidade de exportação</string>
<string name="export_quality_low">Baixa</string>
<string name="export_quality_balanced">Equilibrada</string>
<string name="export_quality_high">Alta</string>
<string name="file_size">Tamanho do arquivo: %1$s</string> <string name="file_size">Tamanho do arquivo: %1$s</string>
<string name="file_size_total">Tamanho total: %1$s</string> <string name="file_size_total">Tamanho total: %1$s</string>
<string name="filename">Nome do arquivo</string> <string name="filename">Nome do arquivo</string>

View File

@@ -25,6 +25,11 @@
<string name="export">Экспорт</string> <string name="export">Экспорт</string>
<string name="export_as">Экспортировать как %1$s</string> <string name="export_as">Экспортировать как %1$s</string>
<string name="export_directory">Папка экспорта</string> <string name="export_directory">Папка экспорта</string>
<string name="export_format">Формат экспорта</string>
<string name="export_quality">Качество экспорта</string>
<string name="export_quality_low">Низкое</string>
<string name="export_quality_balanced">Сбалансированное</string>
<string name="export_quality_high">Высокое</string>
<string name="file_size">Размер файла: %1$s</string> <string name="file_size">Размер файла: %1$s</string>
<string name="file_size_total">Общий размер: %1$s</string> <string name="file_size_total">Общий размер: %1$s</string>
<string name="filename">Имя файла</string> <string name="filename">Имя файла</string>

View File

@@ -1,7 +1,6 @@
<resources> <resources>
<string name="about">關於</string> <string name="about">關於</string>
<string name="add_page">新增頁面</string> <string name="add_page">新增頁面</string>
<string name="app_name" translatable="false">FairScan</string>
<string name="app_tagline">一個簡單且尊重隱私的文件掃描應用程式。</string> <string name="app_tagline">一個簡單且尊重隱私的文件掃描應用程式。</string>
<string name="back">返回</string> <string name="back">返回</string>
<string name="camera_permission_denied">已拒絕相機權限</string> <string name="camera_permission_denied">已拒絕相機權限</string>
@@ -20,14 +19,17 @@
<string name="download_dirname">下載 (Downloads)</string> <string name="download_dirname">下載 (Downloads)</string>
<string name="end_scan">結束掃描</string> <string name="end_scan">結束掃描</string>
<string name="error">錯誤:%1$s</string> <string name="error">錯誤:%1$s</string>
<string name="error_file_picker_launch" translatable="false">Failed to launch system file picker on this device</string>
<string name="error_file_picker_result" translatable="false">Failed to set export directory</string>
<string name="error_no_app">找不到可開啟此檔案的應用程式</string> <string name="error_no_app">找不到可開啟此檔案的應用程式</string>
<string name="error_no_document">未偵測到文件</string> <string name="error_no_document">未偵測到文件</string>
<string name="error_save">儲存檔案失敗</string> <string name="error_save">儲存檔案失敗</string>
<string name="export">匯出</string> <string name="export">匯出</string>
<string name="export_as">匯出為 %1$s</string> <string name="export_as">匯出為 %1$s</string>
<string name="export_directory">匯出目錄</string> <string name="export_directory">匯出目錄</string>
<string name="export_format">匯出格式</string>
<string name="export_quality">匯出品質</string>
<string name="export_quality_low"></string>
<string name="export_quality_balanced">平衡</string>
<string name="export_quality_high"></string>
<string name="file_size">檔案大小:%1$s</string> <string name="file_size">檔案大小:%1$s</string>
<string name="file_size_total">總計大小:%1$s</string> <string name="file_size_total">總計大小:%1$s</string>
<string name="filename">檔案名稱</string> <string name="filename">檔案名稱</string>

View File

@@ -25,6 +25,11 @@
<string name="export">导出</string> <string name="export">导出</string>
<string name="export_as">导出为 %1$s</string> <string name="export_as">导出为 %1$s</string>
<string name="export_directory">导出目录</string> <string name="export_directory">导出目录</string>
<string name="export_format">导出格式</string>
<string name="export_quality">导出质量</string>
<string name="export_quality_low"></string>
<string name="export_quality_balanced">平衡</string>
<string name="export_quality_high"></string>
<string name="file_size">文件大小:%1$s</string> <string name="file_size">文件大小:%1$s</string>
<string name="file_size_total">总大小:%1$s</string> <string name="file_size_total">总大小:%1$s</string>
<string name="filename">文件名字</string> <string name="filename">文件名字</string>

View File

@@ -29,6 +29,11 @@
<string name="export">Export</string> <string name="export">Export</string>
<string name="export_as">Export as %1$s</string> <string name="export_as">Export as %1$s</string>
<string name="export_directory">Export directory</string> <string name="export_directory">Export directory</string>
<string name="export_format">Export format</string>
<string name="export_quality">Export quality</string>
<string name="export_quality_low">Low</string>
<string name="export_quality_balanced">Balanced</string>
<string name="export_quality_high">High</string>
<string name="file_size">File size: %1$s</string> <string name="file_size">File size: %1$s</string>
<string name="file_size_total">Total size: %1$s</string> <string name="file_size_total">Total size: %1$s</string>
<string name="filename">Filename</string> <string name="filename">Filename</string>