Skip to content

merge#87

Merged
ismoy merged 16 commits into
developfrom
main
Feb 2, 2026
Merged

merge#87
ismoy merged 16 commits into
developfrom
main

Conversation

@ismoy

@ismoy ismoy commented Feb 2, 2026

Copy link
Copy Markdown
Owner

No description provided.

ismoy and others added 16 commits November 7, 2025 19:01
fix: Android API 29 camera blank screen and improve gallery picker UX
feat: Handle picker dismissal on iOS and improve Android result handling
- Introduces Korean translations for the image crop view's title, cancel, and apply buttons.
- Replaces hardcoded English strings in `CropHeaderControls` with string resources to support localization.
- Adds default English string resources in `values/strings.xml`.
- Added new string resources for crop control UI elements, including zoom, rotation, and crop shape descriptions.
- Implemented Korean translations for the new crop control strings.
- Updated the `CropControlsPanel` to use the new string resources for labels and content descriptions, enabling localization.
This commit refactors the string resource handling to use the modern Compose multiplatform resources library (`org.jetbrains.compose.resources`). This change centralizes string management, simplifies localization, and removes the legacy `expect/actual` implementation for string resources across all platforms (Android, iOS, JVM, and JS).

- **Centralized String Resources:**
  - Moved all string definitions from platform-specific files (`values/strings.xml` on Android, `.kt` files on other platforms) into a single `commonMain/composeResources/values/strings.xml` file.
  - Added Spanish (`-es`) and French (`-fr`) translations, which are now managed within the `composeResources` directory.

- **Removed Legacy `expect/actual` Pattern:**
  - Deleted the `expect fun stringResource` declaration and its platform-specific `actual` implementations.
  - Removed the `StringResource` enum, as resource access is now handled by the generated `Res` class.

- **Updated Resource Accessors:**
  - Replaced calls like `stringResource(StringResource.MY_STRING)` with the new type-safe accessor `stringResource(Res.string.my_string)`.
  - Updated UI components across all modules to use the new resource-loading mechanism.
This commit updates the project's build configuration to use the Gradle version catalog for managing the Compose Multiplatform plugin and its dependencies. This change improves dependency management by centralizing version and alias definitions.

- Replaced the hardcoded Compose Multiplatform plugin declaration with a type-safe accessor from the version catalog (`libs.plugins.composeMultiplatform`).
- Moved the `components-resources` dependency to the `libs.versions.toml` file for consistent version management.
This commit updates the project's build configuration to use the Gradle version catalog for managing the Compose Multiplatform plugin and its dependencies. This change improves dependency management by centralizing version and alias definitions.

- Replaced the hardcoded Compose Multiplatform plugin declaration with a type-safe accessor from the version catalog (`libs.plugins.composeMultiplatform`).
- Moved the `components-resources` dependency to the `libs.versions.toml` file for consistent version management.
This commit introduces comprehensive Korean translations for core functionalities of the image picker library. It covers permission handling, image confirmation, selection dialogs, accessibility labels, and error messages.

- **Permission Handling:** Added Korean strings for camera and gallery permission requests, denials, and guidance to open settings.
- **Image Confirmation & Selection:** Translated the confirmation dialog ("accept", "retry") and the source selection dialog ("take photo", "select from gallery").
- **Accessibility & Errors:** Provided Korean translations for accessibility descriptions (e.g., image previews) and various error messages (e.g., capture failed, permission error).
- **Existing Strings:** Integrated new strings alongside existing Korean translations for the image crop view.
This commit removes an explicit declaration for `resources.srcDir("src/commonMain/resources")` from the iOS source set in the `build.gradle.kts` file. This path is already a default resource location for Kotlin Multiplatform projects, making the explicit declaration redundant.
This commit fixes a missing resource name for the image confirmation title and adds the standard XML declaration to the string resource files.

- Renamed the Korean translation string for "Do you like this image?" to `image_confirmation_title` to match its intended use.
- Added the `<?xml version="1.0" encoding="utf-8"?>` declaration to both the default English and Korean `strings.xml` files for correctness.
This commit removes the `componentsResources` version alias from the `gradle/libs.versions.toml` file as it is no longer in use.
Migrate to Compose Multiplatform Resources and add Korean
@ismoy ismoy merged commit 6eb423e into develop Feb 2, 2026
7 checks passed
@codecov

codecov Bot commented Feb 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...ocr/presentation/ImagePickerLauncherOCR.android.kt 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants