diff --git a/tools/chatgui-android/app/src/main/java/com/utun/chat/data/MemberFilesRepository.kt b/tools/chatgui-android/app/src/main/java/com/utun/chat/data/MemberFilesRepository.kt
index 40e15f4a..191602a7 100644
--- a/tools/chatgui-android/app/src/main/java/com/utun/chat/data/MemberFilesRepository.kt
+++ b/tools/chatgui-android/app/src/main/java/com/utun/chat/data/MemberFilesRepository.kt
@@ -143,7 +143,7 @@ class MemberFilesRepository(context: Context) {
_operation.value = operation
// Уведомление обновляется по процентам; UI получает каждый прогресс без спама в логах.
fun percent(op: FileOperation?) = if (op == null || op.total == 0L) -1 else (op.done.toDouble() * 100 / op.total).toInt()
- if (previous?.name != operation.name || previous?.stage != operation.stage || previous?.active != operation.active ||
+ if (previous == null || previous.name != operation.name || previous.stage != operation.stage || previous.active != operation.active ||
percent(previous) != percent(operation)) HeadlessService.refreshFiles()
}
diff --git a/tools/chatgui-android/app/src/main/res/values-ru/member_files_strings.xml b/tools/chatgui-android/app/src/main/res/values-ru/member_files_strings.xml
new file mode 100644
index 00000000..1680a7ed
--- /dev/null
+++ b/tools/chatgui-android/app/src/main/res/values-ru/member_files_strings.xml
@@ -0,0 +1,61 @@
+
+
+ Файлы канала
+ Мои файлы
+ Файлы участника
+ Участники
+ Хранилище: %1$s
+ Выбрать хранилище
+ В этом канале нет узла-хранителя
+ Выбранное хранилище больше недоступно. Выберите другое.
+ Загрузка каталога…
+ Папка пуста
+ Обновить
+ Добавить файлы или папку
+ Загрузить файлы
+ Создать папку
+ Папка
+ Переименовать
+ Имя
+ Открыть
+ Сохранить на устройство
+ Поделиться
+ Свойства
+ %1$s
+Размер: %2$s
+Изменён: %3$s
+Владелец: %4$s
+ Удалить «%1$s»? Можно удалять только пустые папки.
+ Заменить файл?
+ «%1$s» уже существует в этом хранилище. Заменить?
+ Заменить
+ Пропустить
+ Подготовка…
+ Передача…
+ Сохранение на устройство…
+ Завершено
+ Отменено
+ Ошибка
+ Файл %1$d из %2$d
+ Загружено: %1$d · пропущено: %2$d
+ %1$s / %2$s
+ Занято в хранилище по всем каналам: %1$s / %2$s
+ Зарезервировано для загрузок: %1$s
+ Файлы этого участника доступны для чтения
+ Служебная папка · только чтение
+ Файл готов: %1$s
+ Не удалось открыть или передать файл. Попробуйте сохранить его на устройство.
+ Доступ запрещён
+ Файл или папка не найдены
+ Недопустимое имя файла или папки
+ Недопустимый размер или диапазон файла
+ Файл или папка с таким именем уже существуют
+ Хранилище занято. Попробуйте ещё раз.
+ Файл или папка изменились. Обновите список и повторите действие.
+ Недостаточно места или превышена квота
+ Не удалось прочитать или записать файл
+ Некорректный ответ хранилища
+ Проверка целостности файла не пройдена
+ Хранилище не ответило вовремя
+ Папка не пуста
+
diff --git a/tools/chatgui-android/app/src/main/res/values/member_files_strings.xml b/tools/chatgui-android/app/src/main/res/values/member_files_strings.xml
new file mode 100644
index 00000000..8048d82b
--- /dev/null
+++ b/tools/chatgui-android/app/src/main/res/values/member_files_strings.xml
@@ -0,0 +1,61 @@
+
+
+ Channel files
+ My files
+ Member files
+ Members
+ Storage: %1$s
+ Choose storage
+ No storage node in this channel
+ The selected storage is no longer available. Choose another storage.
+ Loading directory…
+ This folder is empty
+ Refresh
+ Add files or folder
+ Upload files
+ New folder
+ Folder
+ Rename
+ Name
+ Open
+ Save to device
+ Share
+ Properties
+ %1$s
+Size: %2$s
+Modified: %3$s
+Owner: %4$s
+ Delete “%1$s”? Only empty folders can be deleted.
+ Replace file?
+ “%1$s” already exists on this storage. Replace it?
+ Replace
+ Skip
+ Preparing…
+ Transferring…
+ Saving to device…
+ Completed
+ Cancelled
+ Failed
+ File %1$d of %2$d
+ Uploaded: %1$d · skipped: %2$d
+ %1$s / %2$s
+ Storage usage across channels: %1$s / %2$s
+ Reserved for uploads: %1$s
+ Files of this member are read-only
+ Service folder · read-only
+ File ready: %1$s
+ Unable to open or share this file. Try saving it to the device.
+ Access denied
+ File or folder not found
+ Invalid file or folder name
+ Invalid file size or range
+ A file or folder with this name already exists
+ Storage is busy. Try again.
+ The file or folder changed. Refresh and try again.
+ Not enough storage space or quota
+ Unable to read or write the file
+ Invalid response from storage
+ File integrity verification failed
+ Storage did not respond in time
+ The folder is not empty
+