From 4c3217c2833fc199324f5d7379034a1492360521 Mon Sep 17 00:00:00 2001 From: cogwheel0 <172976095+cogwheel0@users.noreply.github.com> Date: Thu, 16 Oct 2025 23:06:20 +0530 Subject: [PATCH] chore: update README and remove localization documentation - Updated image paths in README to reflect new locations. - Removed outdated localization guidelines and related documentation files. - Deleted unused metadata files for app descriptions and screenshots. --- README.md | 21 +- android/Gemfile | 3 + android/Gemfile.lock | 229 ++++++++++++++++++ android/fastlane/Appfile | 1 + android/fastlane/Fastfile | 25 ++ .../metadata/android/ar/full_description.txt | 31 +++ .../metadata/android/ar/short_description.txt | 1 + .../fastlane/metadata/android/ar/title.txt | 1 + .../fastlane/metadata/android/ar/video.txt | 0 .../android/cs-CZ/full_description.txt | 31 +++ .../android/cs-CZ/short_description.txt | 1 + .../fastlane/metadata/android/cs-CZ/title.txt | 1 + .../fastlane/metadata/android/cs-CZ/video.txt | 0 .../android/da-DK/full_description.txt | 31 +++ .../android/da-DK/short_description.txt | 1 + .../fastlane/metadata/android/da-DK/title.txt | 1 + .../fastlane/metadata/android/da-DK/video.txt | 0 .../android/de-DE/full_description.txt | 31 +++ .../android/de-DE/short_description.txt | 1 + .../fastlane/metadata/android/de-DE/title.txt | 1 + .../fastlane/metadata/android/de-DE/video.txt | 0 .../metadata/android/en-US/changelogs/29.txt | 1 + .../android}/en-US/full_description.txt | 10 +- .../android/en-US/images/featureGraphic.png | Bin 0 -> 42739 bytes .../metadata/android/en-US/images/icon.png | Bin 0 -> 24463 bytes .../en-US/images/phoneScreenshots/1_en-US.png | Bin .../en-US/images/phoneScreenshots/2_en-US.png | Bin .../en-US/images/phoneScreenshots/3_en-US.png | Bin .../en-US/images/phoneScreenshots/4_en-US.png | Bin .../en-US/images/phoneScreenshots/5_en-US.png | Bin .../android/en-US/short_description.txt | 1 + .../fastlane/metadata/android/en-US/title.txt | 1 + .../fastlane/metadata/android/en-US/video.txt | 1 + .../android/es-419/full_description.txt | 31 +++ .../android/es-419/short_description.txt | 1 + .../metadata/android/es-419/title.txt | 1 + .../metadata/android/es-419/video.txt | 0 .../android/es-ES/full_description.txt | 31 +++ .../android/es-ES/short_description.txt | 1 + .../fastlane/metadata/android/es-ES/title.txt | 1 + .../fastlane/metadata/android/es-ES/video.txt | 0 .../android/fi-FI/full_description.txt | 31 +++ .../android/fi-FI/short_description.txt | 1 + .../fastlane/metadata/android/fi-FI/title.txt | 1 + .../fastlane/metadata/android/fi-FI/video.txt | 0 .../android/fr-FR/full_description.txt | 31 +++ .../android/fr-FR/short_description.txt | 1 + .../fastlane/metadata/android/fr-FR/title.txt | 1 + .../fastlane/metadata/android/fr-FR/video.txt | 0 .../android/hi-IN/full_description.txt | 31 +++ .../android/hi-IN/short_description.txt | 1 + .../fastlane/metadata/android/hi-IN/title.txt | 1 + .../fastlane/metadata/android/hi-IN/video.txt | 0 .../android/hu-HU/full_description.txt | 31 +++ .../android/hu-HU/short_description.txt | 1 + .../fastlane/metadata/android/hu-HU/title.txt | 1 + .../fastlane/metadata/android/hu-HU/video.txt | 0 .../metadata/android/id/full_description.txt | 31 +++ .../metadata/android/id/short_description.txt | 1 + .../fastlane/metadata/android/id/title.txt | 1 + .../fastlane/metadata/android/id/video.txt | 0 .../android/it-IT/full_description.txt | 31 +++ .../android/it-IT/short_description.txt | 1 + .../fastlane/metadata/android/it-IT/title.txt | 1 + .../fastlane/metadata/android/it-IT/video.txt | 0 .../android/iw-IL/full_description.txt | 31 +++ .../android/iw-IL/short_description.txt | 1 + .../fastlane/metadata/android/iw-IL/title.txt | 1 + .../fastlane/metadata/android/iw-IL/video.txt | 0 .../android/ja-JP/full_description.txt | 31 +++ .../android/ja-JP/short_description.txt | 1 + .../fastlane/metadata/android/ja-JP/title.txt | 1 + .../fastlane/metadata/android/ja-JP/video.txt | 0 .../android/ko-KR/full_description.txt | 31 +++ .../android/ko-KR/short_description.txt | 1 + .../fastlane/metadata/android/ko-KR/title.txt | 1 + .../fastlane/metadata/android/ko-KR/video.txt | 0 .../android/nl-NL/full_description.txt | 31 +++ .../android/nl-NL/short_description.txt | 1 + .../fastlane/metadata/android/nl-NL/title.txt | 1 + .../fastlane/metadata/android/nl-NL/video.txt | 0 .../android/no-NO/full_description.txt | 31 +++ .../android/no-NO/short_description.txt | 1 + .../fastlane/metadata/android/no-NO/title.txt | 1 + .../fastlane/metadata/android/no-NO/video.txt | 0 .../android/pl-PL/full_description.txt | 31 +++ .../android/pl-PL/short_description.txt | 1 + .../fastlane/metadata/android/pl-PL/title.txt | 1 + .../fastlane/metadata/android/pl-PL/video.txt | 0 .../android/pt-BR/full_description.txt | 31 +++ .../android/pt-BR/short_description.txt | 1 + .../fastlane/metadata/android/pt-BR/title.txt | 1 + .../fastlane/metadata/android/pt-BR/video.txt | 0 .../metadata/android/ro/full_description.txt | 31 +++ .../metadata/android/ro/short_description.txt | 1 + .../fastlane/metadata/android/ro/title.txt | 1 + .../fastlane/metadata/android/ro/video.txt | 0 .../android/ru-RU/full_description.txt | 31 +++ .../android/ru-RU/short_description.txt | 1 + .../fastlane/metadata/android/ru-RU/title.txt | 1 + .../fastlane/metadata/android/ru-RU/video.txt | 0 .../metadata/android/sk/full_description.txt | 31 +++ .../metadata/android/sk/short_description.txt | 1 + .../fastlane/metadata/android/sk/title.txt | 1 + .../fastlane/metadata/android/sk/video.txt | 0 .../android/sv-SE/full_description.txt | 31 +++ .../android/sv-SE/short_description.txt | 1 + .../fastlane/metadata/android/sv-SE/title.txt | 1 + .../fastlane/metadata/android/sv-SE/video.txt | 0 .../metadata/android/th/full_description.txt | 31 +++ .../metadata/android/th/short_description.txt | 1 + .../fastlane/metadata/android/th/title.txt | 1 + .../fastlane/metadata/android/th/video.txt | 0 .../android/tr-TR/full_description.txt | 31 +++ .../android/tr-TR/short_description.txt | 1 + .../fastlane/metadata/android/tr-TR/title.txt | 1 + .../fastlane/metadata/android/tr-TR/video.txt | 0 .../metadata/android/uk/full_description.txt | 31 +++ .../metadata/android/uk/short_description.txt | 1 + .../fastlane/metadata/android/uk/title.txt | 1 + .../fastlane/metadata/android/uk/video.txt | 0 .../metadata/android/vi/full_description.txt | 31 +++ .../metadata/android/vi/short_description.txt | 1 + .../fastlane/metadata/android/vi/title.txt | 1 + .../fastlane/metadata/android/vi/video.txt | 0 .../android/zh-CN/full_description.txt | 31 +++ .../android/zh-CN/short_description.txt | 1 + .../fastlane/metadata/android/zh-CN/title.txt | 1 + .../fastlane/metadata/android/zh-CN/video.txt | 0 .../en-US/images => docs}/conduit-demo.gif | Bin docs/localization.md | 63 ----- fastlane/metadata/en-US/images/icon.png | Bin 25959 -> 0 bytes fastlane/metadata/en-US/short_description.txt | 2 - fastlane/metadata/en-US/title.txt | 2 - ios/Gemfile | 3 + ios/Gemfile.lock | 229 ++++++++++++++++++ ios/fastlane/Appfile | 8 + ios/fastlane/Deliverfile | 3 + ios/fastlane/Fastfile | 25 ++ ios/fastlane/metadata/copyright.txt | 1 + .../en-US/apple_tv_privacy_policy.txt | 1 + ios/fastlane/metadata/en-US/description.txt | 32 +++ ios/fastlane/metadata/en-US/keywords.txt | 1 + ios/fastlane/metadata/en-US/marketing_url.txt | 1 + ios/fastlane/metadata/en-US/name.txt | 1 + ios/fastlane/metadata/en-US/privacy_url.txt | 1 + .../metadata/en-US/promotional_text.txt | 2 + ios/fastlane/metadata/en-US/release_notes.txt | 1 + ios/fastlane/metadata/en-US/subtitle.txt | 1 + ios/fastlane/metadata/en-US/support_url.txt | 1 + ios/fastlane/metadata/primary_category.txt | 1 + .../metadata/primary_first_sub_category.txt | 1 + .../metadata/primary_second_sub_category.txt | 1 + .../review_information/demo_password.txt | 1 + .../metadata/review_information/demo_user.txt | 1 + .../review_information/email_address.txt | 1 + .../review_information/first_name.txt | 1 + .../metadata/review_information/last_name.txt | 1 + .../metadata/review_information/notes.txt | 32 +++ .../review_information/phone_number.txt | 1 + ios/fastlane/metadata/secondary_category.txt | 1 + .../metadata/secondary_first_sub_category.txt | 1 + .../secondary_second_sub_category.txt | 1 + 163 files changed, 1546 insertions(+), 93 deletions(-) create mode 100644 android/Gemfile create mode 100644 android/Gemfile.lock create mode 100644 android/fastlane/Appfile create mode 100644 android/fastlane/Fastfile create mode 100644 android/fastlane/metadata/android/ar/full_description.txt create mode 100644 android/fastlane/metadata/android/ar/short_description.txt create mode 100644 android/fastlane/metadata/android/ar/title.txt create mode 100644 android/fastlane/metadata/android/ar/video.txt create mode 100644 android/fastlane/metadata/android/cs-CZ/full_description.txt create mode 100644 android/fastlane/metadata/android/cs-CZ/short_description.txt create mode 100644 android/fastlane/metadata/android/cs-CZ/title.txt create mode 100644 android/fastlane/metadata/android/cs-CZ/video.txt create mode 100644 android/fastlane/metadata/android/da-DK/full_description.txt create mode 100644 android/fastlane/metadata/android/da-DK/short_description.txt create mode 100644 android/fastlane/metadata/android/da-DK/title.txt create mode 100644 android/fastlane/metadata/android/da-DK/video.txt create mode 100644 android/fastlane/metadata/android/de-DE/full_description.txt create mode 100644 android/fastlane/metadata/android/de-DE/short_description.txt create mode 100644 android/fastlane/metadata/android/de-DE/title.txt create mode 100644 android/fastlane/metadata/android/de-DE/video.txt create mode 100644 android/fastlane/metadata/android/en-US/changelogs/29.txt rename {fastlane/metadata => android/fastlane/metadata/android}/en-US/full_description.txt (71%) create mode 100644 android/fastlane/metadata/android/en-US/images/featureGraphic.png create mode 100644 android/fastlane/metadata/android/en-US/images/icon.png rename fastlane/metadata/en-US/images/phoneScreenshots/1.png => android/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png (100%) rename fastlane/metadata/en-US/images/phoneScreenshots/2.png => android/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png (100%) rename fastlane/metadata/en-US/images/phoneScreenshots/3.png => android/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png (100%) rename fastlane/metadata/en-US/images/phoneScreenshots/4.png => android/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png (100%) rename fastlane/metadata/en-US/images/phoneScreenshots/5.png => android/fastlane/metadata/android/en-US/images/phoneScreenshots/5_en-US.png (100%) create mode 100644 android/fastlane/metadata/android/en-US/short_description.txt create mode 100644 android/fastlane/metadata/android/en-US/title.txt create mode 100644 android/fastlane/metadata/android/en-US/video.txt create mode 100644 android/fastlane/metadata/android/es-419/full_description.txt create mode 100644 android/fastlane/metadata/android/es-419/short_description.txt create mode 100644 android/fastlane/metadata/android/es-419/title.txt create mode 100644 android/fastlane/metadata/android/es-419/video.txt create mode 100644 android/fastlane/metadata/android/es-ES/full_description.txt create mode 100644 android/fastlane/metadata/android/es-ES/short_description.txt create mode 100644 android/fastlane/metadata/android/es-ES/title.txt create mode 100644 android/fastlane/metadata/android/es-ES/video.txt create mode 100644 android/fastlane/metadata/android/fi-FI/full_description.txt create mode 100644 android/fastlane/metadata/android/fi-FI/short_description.txt create mode 100644 android/fastlane/metadata/android/fi-FI/title.txt create mode 100644 android/fastlane/metadata/android/fi-FI/video.txt create mode 100644 android/fastlane/metadata/android/fr-FR/full_description.txt create mode 100644 android/fastlane/metadata/android/fr-FR/short_description.txt create mode 100644 android/fastlane/metadata/android/fr-FR/title.txt create mode 100644 android/fastlane/metadata/android/fr-FR/video.txt create mode 100644 android/fastlane/metadata/android/hi-IN/full_description.txt create mode 100644 android/fastlane/metadata/android/hi-IN/short_description.txt create mode 100644 android/fastlane/metadata/android/hi-IN/title.txt create mode 100644 android/fastlane/metadata/android/hi-IN/video.txt create mode 100644 android/fastlane/metadata/android/hu-HU/full_description.txt create mode 100644 android/fastlane/metadata/android/hu-HU/short_description.txt create mode 100644 android/fastlane/metadata/android/hu-HU/title.txt create mode 100644 android/fastlane/metadata/android/hu-HU/video.txt create mode 100644 android/fastlane/metadata/android/id/full_description.txt create mode 100644 android/fastlane/metadata/android/id/short_description.txt create mode 100644 android/fastlane/metadata/android/id/title.txt create mode 100644 android/fastlane/metadata/android/id/video.txt create mode 100644 android/fastlane/metadata/android/it-IT/full_description.txt create mode 100644 android/fastlane/metadata/android/it-IT/short_description.txt create mode 100644 android/fastlane/metadata/android/it-IT/title.txt create mode 100644 android/fastlane/metadata/android/it-IT/video.txt create mode 100644 android/fastlane/metadata/android/iw-IL/full_description.txt create mode 100644 android/fastlane/metadata/android/iw-IL/short_description.txt create mode 100644 android/fastlane/metadata/android/iw-IL/title.txt create mode 100644 android/fastlane/metadata/android/iw-IL/video.txt create mode 100644 android/fastlane/metadata/android/ja-JP/full_description.txt create mode 100644 android/fastlane/metadata/android/ja-JP/short_description.txt create mode 100644 android/fastlane/metadata/android/ja-JP/title.txt create mode 100644 android/fastlane/metadata/android/ja-JP/video.txt create mode 100644 android/fastlane/metadata/android/ko-KR/full_description.txt create mode 100644 android/fastlane/metadata/android/ko-KR/short_description.txt create mode 100644 android/fastlane/metadata/android/ko-KR/title.txt create mode 100644 android/fastlane/metadata/android/ko-KR/video.txt create mode 100644 android/fastlane/metadata/android/nl-NL/full_description.txt create mode 100644 android/fastlane/metadata/android/nl-NL/short_description.txt create mode 100644 android/fastlane/metadata/android/nl-NL/title.txt create mode 100644 android/fastlane/metadata/android/nl-NL/video.txt create mode 100644 android/fastlane/metadata/android/no-NO/full_description.txt create mode 100644 android/fastlane/metadata/android/no-NO/short_description.txt create mode 100644 android/fastlane/metadata/android/no-NO/title.txt create mode 100644 android/fastlane/metadata/android/no-NO/video.txt create mode 100644 android/fastlane/metadata/android/pl-PL/full_description.txt create mode 100644 android/fastlane/metadata/android/pl-PL/short_description.txt create mode 100644 android/fastlane/metadata/android/pl-PL/title.txt create mode 100644 android/fastlane/metadata/android/pl-PL/video.txt create mode 100644 android/fastlane/metadata/android/pt-BR/full_description.txt create mode 100644 android/fastlane/metadata/android/pt-BR/short_description.txt create mode 100644 android/fastlane/metadata/android/pt-BR/title.txt create mode 100644 android/fastlane/metadata/android/pt-BR/video.txt create mode 100644 android/fastlane/metadata/android/ro/full_description.txt create mode 100644 android/fastlane/metadata/android/ro/short_description.txt create mode 100644 android/fastlane/metadata/android/ro/title.txt create mode 100644 android/fastlane/metadata/android/ro/video.txt create mode 100644 android/fastlane/metadata/android/ru-RU/full_description.txt create mode 100644 android/fastlane/metadata/android/ru-RU/short_description.txt create mode 100644 android/fastlane/metadata/android/ru-RU/title.txt create mode 100644 android/fastlane/metadata/android/ru-RU/video.txt create mode 100644 android/fastlane/metadata/android/sk/full_description.txt create mode 100644 android/fastlane/metadata/android/sk/short_description.txt create mode 100644 android/fastlane/metadata/android/sk/title.txt create mode 100644 android/fastlane/metadata/android/sk/video.txt create mode 100644 android/fastlane/metadata/android/sv-SE/full_description.txt create mode 100644 android/fastlane/metadata/android/sv-SE/short_description.txt create mode 100644 android/fastlane/metadata/android/sv-SE/title.txt create mode 100644 android/fastlane/metadata/android/sv-SE/video.txt create mode 100644 android/fastlane/metadata/android/th/full_description.txt create mode 100644 android/fastlane/metadata/android/th/short_description.txt create mode 100644 android/fastlane/metadata/android/th/title.txt create mode 100644 android/fastlane/metadata/android/th/video.txt create mode 100644 android/fastlane/metadata/android/tr-TR/full_description.txt create mode 100644 android/fastlane/metadata/android/tr-TR/short_description.txt create mode 100644 android/fastlane/metadata/android/tr-TR/title.txt create mode 100644 android/fastlane/metadata/android/tr-TR/video.txt create mode 100644 android/fastlane/metadata/android/uk/full_description.txt create mode 100644 android/fastlane/metadata/android/uk/short_description.txt create mode 100644 android/fastlane/metadata/android/uk/title.txt create mode 100644 android/fastlane/metadata/android/uk/video.txt create mode 100644 android/fastlane/metadata/android/vi/full_description.txt create mode 100644 android/fastlane/metadata/android/vi/short_description.txt create mode 100644 android/fastlane/metadata/android/vi/title.txt create mode 100644 android/fastlane/metadata/android/vi/video.txt create mode 100644 android/fastlane/metadata/android/zh-CN/full_description.txt create mode 100644 android/fastlane/metadata/android/zh-CN/short_description.txt create mode 100644 android/fastlane/metadata/android/zh-CN/title.txt create mode 100644 android/fastlane/metadata/android/zh-CN/video.txt rename {fastlane/metadata/en-US/images => docs}/conduit-demo.gif (100%) delete mode 100644 docs/localization.md delete mode 100644 fastlane/metadata/en-US/images/icon.png delete mode 100644 fastlane/metadata/en-US/short_description.txt delete mode 100644 fastlane/metadata/en-US/title.txt create mode 100644 ios/Gemfile create mode 100644 ios/Gemfile.lock create mode 100644 ios/fastlane/Appfile create mode 100644 ios/fastlane/Deliverfile create mode 100644 ios/fastlane/Fastfile create mode 100644 ios/fastlane/metadata/copyright.txt create mode 100644 ios/fastlane/metadata/en-US/apple_tv_privacy_policy.txt create mode 100644 ios/fastlane/metadata/en-US/description.txt create mode 100644 ios/fastlane/metadata/en-US/keywords.txt create mode 100644 ios/fastlane/metadata/en-US/marketing_url.txt create mode 100644 ios/fastlane/metadata/en-US/name.txt create mode 100644 ios/fastlane/metadata/en-US/privacy_url.txt create mode 100644 ios/fastlane/metadata/en-US/promotional_text.txt create mode 100644 ios/fastlane/metadata/en-US/release_notes.txt create mode 100644 ios/fastlane/metadata/en-US/subtitle.txt create mode 100644 ios/fastlane/metadata/en-US/support_url.txt create mode 100644 ios/fastlane/metadata/primary_category.txt create mode 100644 ios/fastlane/metadata/primary_first_sub_category.txt create mode 100644 ios/fastlane/metadata/primary_second_sub_category.txt create mode 100644 ios/fastlane/metadata/review_information/demo_password.txt create mode 100644 ios/fastlane/metadata/review_information/demo_user.txt create mode 100644 ios/fastlane/metadata/review_information/email_address.txt create mode 100644 ios/fastlane/metadata/review_information/first_name.txt create mode 100644 ios/fastlane/metadata/review_information/last_name.txt create mode 100644 ios/fastlane/metadata/review_information/notes.txt create mode 100644 ios/fastlane/metadata/review_information/phone_number.txt create mode 100644 ios/fastlane/metadata/secondary_category.txt create mode 100644 ios/fastlane/metadata/secondary_first_sub_category.txt create mode 100644 ios/fastlane/metadata/secondary_second_sub_category.txt diff --git a/README.md b/README.md index 2ef365c..57ec086 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@
-Conduit Demo +Conduit Demo

@@ -80,7 +80,7 @@ Conduit supports multiple authentication flows when connecting to your Open‑We | | | | | | --- | --- | --- | --- | -| Screenshot 2 | Screenshot 3 | Screenshot 4 | Screenshot 5 | +| Screenshot 2 | Screenshot 3 | Screenshot 4 | Screenshot 5 | ## Requirements @@ -146,23 +146,6 @@ The app will request permissions for: - Camera access - Photo library access -## Localization (i18n) - -See the dedicated documentation: [docs/localization.md](docs/localization.md) - -## Compatibility - -| Conduit App | Open‑WebUI | Notes | -| --- | --- | --- | -| 1.x | 0.3.x+ | OpenAPI validation removed in 1.1+ (no bundled schema) | - -## Docs - -- Localization: `docs/localization.md` -- Architecture (planned): `docs/architecture.md` -- Theming (planned): `docs/theming.md` -- Release Process (planned): `docs/release.md` - ## Architecture The app follows a clean architecture pattern with: diff --git a/android/Gemfile b/android/Gemfile new file mode 100644 index 0000000..7a118b4 --- /dev/null +++ b/android/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/android/Gemfile.lock b/android/Gemfile.lock new file mode 100644 index 0000000..ef6ce34 --- /dev/null +++ b/android/Gemfile.lock @@ -0,0 +1,229 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.7) + base64 + nkf + rexml + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.4.0) + aws-partitions (1.1173.0) + aws-sdk-core (3.233.0) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + bigdecimal + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.113.0) + aws-sdk-core (~> 3, >= 3.231.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.200.0) + aws-sdk-core (~> 3, >= 3.231.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.12.1) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.3.0) + bigdecimal (3.3.1) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.112.0) + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.1) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.1) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) + fastimage (2.4.0) + fastlane (2.228.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.4.1) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.5.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.8) + domain_name (~> 0.5) + httpclient (2.9.0) + mutex_m + jmespath (1.6.2) + json (2.15.1) + jwt (2.10.2) + base64 + logger (1.7.0) + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.17.0) + multipart-post (2.4.1) + mutex_m (0.3.0) + nanaimo (0.4.0) + naturally (2.3.0) + nkf (0.2.0) + optparse (0.6.0) + os (1.1.4) + plist (3.7.2) + public_suffix (6.0.2) + rake (13.3.0) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.4.4) + rouge (3.28.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + security (0.1.5) + signet (0.21.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 4.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + sysrandom (1.0.5) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.6.0) + word_wrap (1.0.0) + xcodeproj (1.27.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.1) + rouge (~> 3.28.0) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-25 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.7.2 diff --git a/android/fastlane/Appfile b/android/fastlane/Appfile new file mode 100644 index 0000000..97c061c --- /dev/null +++ b/android/fastlane/Appfile @@ -0,0 +1 @@ +package_name("app.cogwheel.conduit") # e.g. com.krausefx.app diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile new file mode 100644 index 0000000..79f8ae0 --- /dev/null +++ b/android/fastlane/Fastfile @@ -0,0 +1,25 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:android) + +desc "Push a new release build to the Google Play" + lane :release do + upload_to_play_store( + json_key_data: ENV['FASTLANE_JSON_KEY'] + track: 'production', + aab: '../build/app/outputs/bundle/release/app-release.aab' + ) + end diff --git a/android/fastlane/metadata/android/ar/full_description.txt b/android/fastlane/metadata/android/ar/full_description.txt new file mode 100644 index 0000000..736e435 --- /dev/null +++ b/android/fastlane/metadata/android/ar/full_description.txt @@ -0,0 +1,31 @@ +Conduit هو تطبيق جوال أصلي ومفتوح المصدر مصمم خصيصًا لـ Open-WebUI. يتيح لك الاتصال بخادمك الخاص للدردشة مع نماذج الذكاء الاصطناعي، وإدارة محادثاتك، واصطحاب ذكائك الاصطناعي المستضاف ذاتيًا معك بأمان وسهولة أثناء التنقل. + +الميزات +- دردشة فورية متدفقة +- اختيار النموذج المناسب +- البحث عن المحادثات وإدارتها +- إدخال صوتي (تحويل الكلام إلى نص) +- تحميل الملفات والصور لدعم التوليد المعزز بالاسترجاع (RAG) +- دعم الرؤية والوسائط المتعددة +- عرض Markdown مع تمييز بناء الجملة +- سمات فاتحة، داكنة، وسمة النظام +- تخزين آمن لبيانات الاعتماد (Keychain/Keystore) +- تجربة تعمل حتى عند عدم الاتصال بالإنترنت + +المتطلبات +- يتطلب وجود خادم Open-WebUI بالفعل. Conduit لا يستضيف أو يوفر نماذج الذكاء الاصطناعي. +- لا يتم إرسال أي بيانات إلى خدمات خارجية بشكل افتراضي؛ تبقى جميع بياناتك على خادمك الذي قمت بتكوينه. + +الأذونات +- الميكروفون: للإدخال الصوتي +- الكاميرا والصور/التخزين: لإرفاق الصور والملفات +- الشبكة: للاتصال بخادم Open-WebUI الخاص بك + +مفتوح المصدر: +Conduit هو مشروع مفتوح المصدر. للحصول على الدعم، أو الإبلاغ عن أي مشاكل، أو للاطلاع على الكود المصدري، يرجى زيارة مستودعنا على GitHub: + +https://github.com/cogwheel0/conduit + +----- + +إخلاء المسؤولية: هذا التطبيق هو تطبيق مستقل، تابع لجهة خارجية، مرخص بموجب ترخيص جنو العمومية العامة الإصدار 3.0 (GPLv3)، وليس تابعًا رسميًا لمشروع OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ar/short_description.txt b/android/fastlane/metadata/android/ar/short_description.txt new file mode 100644 index 0000000..6b5ba80 --- /dev/null +++ b/android/fastlane/metadata/android/ar/short_description.txt @@ -0,0 +1 @@ +الدردشة مع الذكاء الاصطناعي المستضاف ذاتيًا. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ar/title.txt b/android/fastlane/metadata/android/ar/title.txt new file mode 100644 index 0000000..1d60783 --- /dev/null +++ b/android/fastlane/metadata/android/ar/title.txt @@ -0,0 +1 @@ +Conduit: عميل Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/ar/video.txt b/android/fastlane/metadata/android/ar/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/cs-CZ/full_description.txt b/android/fastlane/metadata/android/cs-CZ/full_description.txt new file mode 100644 index 0000000..2d97b5a --- /dev/null +++ b/android/fastlane/metadata/android/cs-CZ/full_description.txt @@ -0,0 +1,31 @@ +Conduit je open-source mobilní aplikace vytvořená přímo pro Open-WebUI. Připojte se ke svému vlastnímu serveru, chatujte s AI modely, spravujte konverzace a mějte svou vlastní AI vždy po ruce – bezpečně a kdekoli. + +Funkce +- Chatování s okamžitou odezvou (streamování) +- Výběr AI modelu +- Vyhledávání a správa konverzací +- Hlasový vstup (převod řeči na text) +- Nahrávání souborů a obrázků pro generování s rozšířeným vyhledáváním (RAG) +- Podpora pro zpracování obrazu a multi-modální modely +- Zobrazení Markdownu se zvýrazněním syntaxe +- Světlý, tmavý a systémový vzhled +- Bezpečné uložení přihlašovacích údajů (Keychain/Keystore) +- Funkčnost i při omezeném připojení + +Požadavky +- Je nutné mít vlastní server s Open-WebUI. Conduit sám AI modely neposkytuje ani nehostuje. +- Ve výchozím nastavení se žádná data neposílají třetím stranám; vše zůstává na vašem nastaveném serveru. + +Oprávnění +- Mikrofon: Pro hlasový vstup +- Fotoaparát a Fotky/Úložiště: Pro připojování obrázků a souborů +- Síť: Pro připojení k vašemu Open-WebUI serveru + +Open Source: +Conduit je open-source projekt. Pokud potřebujete podporu, chcete nahlásit problém nebo si prohlédnout zdrojový kód, navštivte naše GitHub úložiště: + +https://github.com/cogwheel0/conduit + +----- + +Upozornění: Toto je nezávislá aplikace třetí strany licencovaná pod GNU General Public License v3.0 (GPLv3) a není oficiálně spojena s projektem OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/cs-CZ/short_description.txt b/android/fastlane/metadata/android/cs-CZ/short_description.txt new file mode 100644 index 0000000..6af6152 --- /dev/null +++ b/android/fastlane/metadata/android/cs-CZ/short_description.txt @@ -0,0 +1 @@ +Chatujte se svou vlastní AI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/cs-CZ/title.txt b/android/fastlane/metadata/android/cs-CZ/title.txt new file mode 100644 index 0000000..90d4608 --- /dev/null +++ b/android/fastlane/metadata/android/cs-CZ/title.txt @@ -0,0 +1 @@ +Conduit: Klient Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/cs-CZ/video.txt b/android/fastlane/metadata/android/cs-CZ/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/da-DK/full_description.txt b/android/fastlane/metadata/android/da-DK/full_description.txt new file mode 100644 index 0000000..63d0f2f --- /dev/null +++ b/android/fastlane/metadata/android/da-DK/full_description.txt @@ -0,0 +1,31 @@ +Conduit er en open source, indbygget mobilklient til Open-WebUI. Opret forbindelse til din egen server for at chatte med AI-modeller, administrere samtaler og have din selvhostede AI med dig – sikkert og på farten. + +Funktioner +- Chat med realtids-streaming +- Valg af model +- Søgning og administration af samtaler +- Stemmeinput (tale-til-tekst) +- Upload af filer og billeder til retrieval-augmented generation (RAG) +- Understøttelse af vision og multi-modalitet +- Markdown-gengivelse med syntaksfremhævning +- Lyse, mørke og systemtemaer +- Sikker opbevaring af login-oplysninger (Keychain/Keystore) +- Fungerer også offline + +Krav +- Kræver en eksisterende Open-WebUI-server. Conduit hoster eller leverer ikke AI-modeller. +- Som standard sendes ingen data til tredjepartstjenester; alt forbliver på din konfigurerede server. + +Tilladelser +- Mikrofon: Stemmeinput +- Kamera og Fotos/Lager: Vedhæftning af billeder/filer +- Netværk: Forbindelse til din Open-WebUI-server + +Open Source: +Conduit er et open source-projekt. For support, rapportering af problemer eller for at se kildekoden, besøg venligst vores GitHub-repository: + +https://github.com/cogwheel0/conduit + +----- + +Ansvarsfraskrivelse: Dette er en uafhængig tredjepartsapplikation licenseret under GNU General Public License v3.0 (GPLv3) og er ikke officielt tilknyttet OpenWebUI-projektet. \ No newline at end of file diff --git a/android/fastlane/metadata/android/da-DK/short_description.txt b/android/fastlane/metadata/android/da-DK/short_description.txt new file mode 100644 index 0000000..bbd11ef --- /dev/null +++ b/android/fastlane/metadata/android/da-DK/short_description.txt @@ -0,0 +1 @@ +Chat med din selv-hostede AI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/da-DK/title.txt b/android/fastlane/metadata/android/da-DK/title.txt new file mode 100644 index 0000000..e7d653d --- /dev/null +++ b/android/fastlane/metadata/android/da-DK/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI-klient \ No newline at end of file diff --git a/android/fastlane/metadata/android/da-DK/video.txt b/android/fastlane/metadata/android/da-DK/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/de-DE/full_description.txt b/android/fastlane/metadata/android/de-DE/full_description.txt new file mode 100644 index 0000000..c3370df --- /dev/null +++ b/android/fastlane/metadata/android/de-DE/full_description.txt @@ -0,0 +1,31 @@ +Conduit ist ein nativer Open-Source-Client für Open-WebUI. Verbinden Sie sich mit Ihrem eigenen Server, um mit KI-Modellen zu chatten, Unterhaltungen zu verwalten und Ihre selbst gehostete KI sicher und unterwegs dabei zu haben. + +Funktionen +- Echtzeit-Streaming-Chat +- Modellauswahl +- Suche und Verwaltung von Unterhaltungen +- Spracheingabe (Sprache-zu-Text) +- Datei- und Bild-Uploads für Retrieval-Augmented Generation (RAG) +- Unterstützung für Vision und Multi-Modale Modelle +- Markdown-Rendering mit Syntax-Hervorhebung +- Helle, dunkle und System-Designs +- Sichere Speicherung von Zugangsdaten (Keychain/Keystore) +- Funktionalität auch offline + +Anforderungen +- Erfordert einen bestehenden Open-WebUI-Server. Conduit hostet oder stellt keine KI-Modelle bereit. +- Standardmäßig werden keine Daten an Drittanbieter gesendet; alles verbleibt auf Ihrem konfigurierten Server. + +Berechtigungen +- Mikrofon: Spracheingabe +- Kamera und Fotos/Speicher: Anhängen von Bildern/Dateien +- Netzwerk: Verbindung zu Ihrem Open-WebUI-Server + +Open Source: +Conduit ist ein Open-Source-Projekt. Für Support, zur Meldung von Problemen oder zur Einsicht des Quellcodes besuchen Sie bitte unser GitHub-Repository: + +https://github.com/cogwheel0/conduit + +----- + +Haftungsausschluss: Dies ist eine unabhängige Drittanbieteranwendung, lizenziert unter der GNU General Public License v3.0 (GPLv3) und steht in keiner offiziellen Verbindung zum OpenWebUI-Projekt. \ No newline at end of file diff --git a/android/fastlane/metadata/android/de-DE/short_description.txt b/android/fastlane/metadata/android/de-DE/short_description.txt new file mode 100644 index 0000000..1d82514 --- /dev/null +++ b/android/fastlane/metadata/android/de-DE/short_description.txt @@ -0,0 +1 @@ +Chatten Sie mit Ihrer selbst gehosteten KI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/de-DE/title.txt b/android/fastlane/metadata/android/de-DE/title.txt new file mode 100644 index 0000000..3d2fdd2 --- /dev/null +++ b/android/fastlane/metadata/android/de-DE/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI-Client \ No newline at end of file diff --git a/android/fastlane/metadata/android/de-DE/video.txt b/android/fastlane/metadata/android/de-DE/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/en-US/changelogs/29.txt b/android/fastlane/metadata/android/en-US/changelogs/29.txt new file mode 100644 index 0000000..c74c5bc --- /dev/null +++ b/android/fastlane/metadata/android/en-US/changelogs/29.txt @@ -0,0 +1 @@ +https://github.com/cogwheel0/conduit/releases/tag/v2.1.4 \ No newline at end of file diff --git a/fastlane/metadata/en-US/full_description.txt b/android/fastlane/metadata/android/en-US/full_description.txt similarity index 71% rename from fastlane/metadata/en-US/full_description.txt rename to android/fastlane/metadata/android/en-US/full_description.txt index 90c9f1a..a354c98 100644 --- a/fastlane/metadata/en-US/full_description.txt +++ b/android/fastlane/metadata/android/en-US/full_description.txt @@ -21,15 +21,11 @@ Permissions - Camera and Photos/Storage: Image/file attachments - Network: Connect to your Open‑WebUI server -Support & Source Code: - -LuCI Mobile is an open-source project. For support, to report issues, or to view the source code, please visit our GitHub repository: +Open Source: +Conduit is an open-source project. For support, to report issues, or to view the source code, please visit our GitHub repository: https://github.com/cogwheel0/conduit -Email: cogwheel@cogwheel.app - ----- -Disclaimer: This is an independent, third-party application licensed under the GNU General Public License v3.0 (GPLv3) and is not officially affiliated with the Open WebUI project. - +Disclaimer: This is an independent, third-party application licensed under the GNU General Public License v3.0 (GPLv3) and is not officially affiliated with the OpenWebUI project. \ No newline at end of file diff --git a/android/fastlane/metadata/android/en-US/images/featureGraphic.png b/android/fastlane/metadata/android/en-US/images/featureGraphic.png new file mode 100644 index 0000000000000000000000000000000000000000..93ad49df1db7793aba2a3d948b4f056a86aceb41 GIT binary patch literal 42739 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 literal 0 HcmV?d00001 diff --git a/android/fastlane/metadata/android/en-US/images/icon.png b/android/fastlane/metadata/android/en-US/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..19b080a001d64987b50c8edd45b7659bccb9a7a2 GIT binary patch literal 24463 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 literal 0 HcmV?d00001 diff --git a/fastlane/metadata/en-US/images/phoneScreenshots/1.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png similarity index 100% rename from fastlane/metadata/en-US/images/phoneScreenshots/1.png rename to android/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png diff --git a/fastlane/metadata/en-US/images/phoneScreenshots/2.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png similarity index 100% rename from fastlane/metadata/en-US/images/phoneScreenshots/2.png rename to android/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png diff --git a/fastlane/metadata/en-US/images/phoneScreenshots/3.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png similarity index 100% rename from fastlane/metadata/en-US/images/phoneScreenshots/3.png rename to android/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png diff --git a/fastlane/metadata/en-US/images/phoneScreenshots/4.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png similarity index 100% rename from fastlane/metadata/en-US/images/phoneScreenshots/4.png rename to android/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png diff --git a/fastlane/metadata/en-US/images/phoneScreenshots/5.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/5_en-US.png similarity index 100% rename from fastlane/metadata/en-US/images/phoneScreenshots/5.png rename to android/fastlane/metadata/android/en-US/images/phoneScreenshots/5_en-US.png diff --git a/android/fastlane/metadata/android/en-US/short_description.txt b/android/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 0000000..b52fc7c --- /dev/null +++ b/android/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +Chat with your self‑hosted AI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/en-US/title.txt b/android/fastlane/metadata/android/en-US/title.txt new file mode 100644 index 0000000..b533b7c --- /dev/null +++ b/android/fastlane/metadata/android/en-US/title.txt @@ -0,0 +1 @@ +Conduit: OpenWebUI Client \ No newline at end of file diff --git a/android/fastlane/metadata/android/en-US/video.txt b/android/fastlane/metadata/android/en-US/video.txt new file mode 100644 index 0000000..b3c22fa --- /dev/null +++ b/android/fastlane/metadata/android/en-US/video.txt @@ -0,0 +1 @@ +https://youtube.com/shorts/lmnDrIWOV40 \ No newline at end of file diff --git a/android/fastlane/metadata/android/es-419/full_description.txt b/android/fastlane/metadata/android/es-419/full_description.txt new file mode 100644 index 0000000..1d0f54c --- /dev/null +++ b/android/fastlane/metadata/android/es-419/full_description.txt @@ -0,0 +1,31 @@ +Conduit es un cliente móvil nativo de código abierto para Open-WebUI. Conéctate a tu propio servidor para chatear con modelos de IA, administrar tus conversaciones y llevar tu IA autoalojada contigo, de forma segura y dondequiera que vayas. + +Características +- Chat en tiempo real con transmisión continua +- Selección de modelos de IA +- Búsqueda y gestión de conversaciones +- Entrada de voz (conversión de voz a texto) +- Carga de archivos e imágenes para generación aumentada por recuperación (RAG) +- Soporte para visión y modelos multimodales +- Renderizado de Markdown con resaltado de sintaxis +- Temas claro, oscuro y del sistema +- Almacenamiento seguro de credenciales (Keychain/Keystore) +- Experiencia optimizada para uso sin conexión + +Requisitos +- Necesitas tener un servidor Open-WebUI ya configurado. Conduit no aloja ni provee modelos de IA. +- Por defecto, no se envía información a servicios de terceros; todo se mantiene en tu servidor configurado. + +Permisos +- Micrófono: Para entrada de voz +- Cámara y Fotos/Almacenamiento: Para adjuntar imágenes/archivos +- Red: Para conectarte a tu servidor Open-WebUI + +Código Abierto: +Conduit es un proyecto de código abierto. Si necesitas soporte, quieres reportar un problema o ver el código fuente, visita nuestro repositorio en GitHub: + +https://github.com/cogwheel0/conduit + +----- + +Aviso legal: Esta es una aplicación independiente de terceros, licenciada bajo la Licencia Pública General GNU v3.0 (GPLv3), y no tiene afiliación oficial con el proyecto OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/es-419/short_description.txt b/android/fastlane/metadata/android/es-419/short_description.txt new file mode 100644 index 0000000..e0c1157 --- /dev/null +++ b/android/fastlane/metadata/android/es-419/short_description.txt @@ -0,0 +1 @@ +Chatea con tu IA auto hospedada. \ No newline at end of file diff --git a/android/fastlane/metadata/android/es-419/title.txt b/android/fastlane/metadata/android/es-419/title.txt new file mode 100644 index 0000000..6c8294a --- /dev/null +++ b/android/fastlane/metadata/android/es-419/title.txt @@ -0,0 +1 @@ +Conduit: Cliente Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/es-419/video.txt b/android/fastlane/metadata/android/es-419/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/es-ES/full_description.txt b/android/fastlane/metadata/android/es-ES/full_description.txt new file mode 100644 index 0000000..750b525 --- /dev/null +++ b/android/fastlane/metadata/android/es-ES/full_description.txt @@ -0,0 +1,31 @@ +Conduit es un cliente móvil nativo de código abierto para Open-WebUI. Conéctate a tu propio servidor para chatear con modelos de IA, gestionar tus conversaciones y llevar tu IA autoalojada contigo, de forma segura y dondequiera que vayas. + +Características +- Chat en tiempo real con streaming +- Selección de modelos de IA +- Búsqueda y gestión de conversaciones +- Entrada de voz (conversión de voz a texto) +- Carga de archivos e imágenes para generación aumentada por recuperación (RAG) +- Soporte para visión y modelos multimodales +- Renderizado de Markdown con resaltado de sintaxis +- Temas claro, oscuro y del sistema +- Almacenamiento seguro de credenciales (Keychain/Keystore) +- Experiencia optimizada para uso sin conexión + +Requisitos +- Necesitas tener un servidor Open-WebUI ya configurado. Conduit no aloja ni proporciona modelos de IA. +- Por defecto, no se envía ningún dato a servicios de terceros; toda la información permanece en tu servidor configurado. + +Permisos +- Micrófono: Para la entrada de voz +- Cámara y Fotos/Almacenamiento: Para adjuntar imágenes y archivos +- Red: Para conectarse a tu servidor Open-WebUI + +Código Abierto: +Conduit es un proyecto de código abierto. Si necesitas soporte, quieres reportar algún problema o ver el código fuente, visita nuestro repositorio en GitHub: + +https://github.com/cogwheel0/conduit + +----- + +Aviso legal: Esta es una aplicación independiente de terceros, licenciada bajo la Licencia Pública General GNU v3.0 (GPLv3), y no está afiliada oficialmente con el proyecto OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/es-ES/short_description.txt b/android/fastlane/metadata/android/es-ES/short_description.txt new file mode 100644 index 0000000..e0c1157 --- /dev/null +++ b/android/fastlane/metadata/android/es-ES/short_description.txt @@ -0,0 +1 @@ +Chatea con tu IA auto hospedada. \ No newline at end of file diff --git a/android/fastlane/metadata/android/es-ES/title.txt b/android/fastlane/metadata/android/es-ES/title.txt new file mode 100644 index 0000000..6c8294a --- /dev/null +++ b/android/fastlane/metadata/android/es-ES/title.txt @@ -0,0 +1 @@ +Conduit: Cliente Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/es-ES/video.txt b/android/fastlane/metadata/android/es-ES/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/fi-FI/full_description.txt b/android/fastlane/metadata/android/fi-FI/full_description.txt new file mode 100644 index 0000000..5f2e610 --- /dev/null +++ b/android/fastlane/metadata/android/fi-FI/full_description.txt @@ -0,0 +1,31 @@ +Conduit on avoimen lähdekoodin natiivi mobiilisovellus Open-WebUI:lle. Yhdistä omaan palvelimeesi keskustellaksesi tekoälymallien kanssa, hallitaksesi keskustelujasi ja pitääksesi itse isännöimäsi tekoälyn mukanasi – turvallisesti ja missä tahansa liikutkin. + +Ominaisuudet +- Reaaliaikainen suoratoistokeskustelu +- Mallin valinta +- Keskustelujen haku ja hallinta +- Äänisyöte (puhe tekstiksi) +- Tiedosto- ja kuvien lataus hakuun perustuvaa generointia varten (RAG) +- Näkö- ja monimodaalinen tuki +- Markdown-renderöinti syntaksikorostuksella +- Vaalea, tumma ja järjestelmän teemat +- Turvallinen tunnistetietojen tallennus (Keychain/Keystore) +- Toimii myös offline-tilassa + +Vaatimukset +- Vaatii olemassa olevan Open-WebUI-palvelimen. Conduit ei isännöi tai tarjoa tekoälymalleja. +- Tietoja ei lähetetä kolmansien osapuolten palveluihin oletuksena; kaikki pysyy määritetyn palvelimesi kanssa. + +Luvat +- Mikrofoni: Äänisyöte +- Kamera ja Valokuvat/Tallennustila: Kuva-/tiedostoliitteet +- Verkko: Yhdistä Open-WebUI-palvelimeesi + +Avoin lähdekoodi: +Conduit on avoimen lähdekoodin projekti. Tukea, ongelmien ilmoittamista tai lähdekoodin tarkastelua varten vieraile GitHub-arkistossamme: + +https://github.com/cogwheel0/conduit + +----- + +Vastuuvapauslauseke: Tämä on itsenäinen, kolmannen osapuolen sovellus, joka on lisensoitu GNU General Public License v3.0 (GPLv3) -lisenssillä, eikä se ole virallisesti sidoksissa OpenWebUI-projektiin. \ No newline at end of file diff --git a/android/fastlane/metadata/android/fi-FI/short_description.txt b/android/fastlane/metadata/android/fi-FI/short_description.txt new file mode 100644 index 0000000..0bc66ec --- /dev/null +++ b/android/fastlane/metadata/android/fi-FI/short_description.txt @@ -0,0 +1 @@ +Keskustele itse isännöimän tekoälyn kanssa. \ No newline at end of file diff --git a/android/fastlane/metadata/android/fi-FI/title.txt b/android/fastlane/metadata/android/fi-FI/title.txt new file mode 100644 index 0000000..a644f98 --- /dev/null +++ b/android/fastlane/metadata/android/fi-FI/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI Client \ No newline at end of file diff --git a/android/fastlane/metadata/android/fi-FI/video.txt b/android/fastlane/metadata/android/fi-FI/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/fr-FR/full_description.txt b/android/fastlane/metadata/android/fr-FR/full_description.txt new file mode 100644 index 0000000..4145fa9 --- /dev/null +++ b/android/fastlane/metadata/android/fr-FR/full_description.txt @@ -0,0 +1,31 @@ +Conduit est un client mobile natif et open source pour Open-WebUI. Connectez-vous à votre propre serveur pour discuter avec des modèles d'IA, gérer vos conversations et emporter votre IA auto-hébergée partout avec vous, en toute sécurité. + +Fonctionnalités +- Chat en streaming en temps réel +- Sélection de modèles +- Recherche et gestion des conversations +- Saisie vocale (synthèse vocale) +- Téléchargement de fichiers et d'images pour la génération augmentée par récupération (RAG) +- Prise en charge de la vision et du multi-modal +- Rendu Markdown avec coloration syntaxique +- Thèmes clair, sombre et système +- Stockage sécurisé des identifiants (Keychain/Keystore) +- Expérience adaptée à l'état hors ligne + +Prérequis +- Nécessite un serveur Open-WebUI existant. Conduit n'héberge ni ne fournit de modèles d'IA. +- Aucune donnée n'est envoyée à des services tiers par défaut ; tout reste sur votre serveur configuré. + +Autorisations +- Microphone : Saisie vocale +- Appareil photo et Photos/Stockage : Pièces jointes (images/fichiers) +- Réseau : Connexion à votre serveur Open-WebUI + +Open Source : +Conduit est un projet open source. Pour obtenir de l'aide, signaler des problèmes ou consulter le code source, veuillez visiter notre dépôt GitHub : + +https://github.com/cogwheel0/conduit + +----- + +Clause de non-responsabilité : Cette application est une application tierce indépendante, sous licence GNU General Public License v3.0 (GPLv3), et n'est pas officiellement affiliée au projet OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/fr-FR/short_description.txt b/android/fastlane/metadata/android/fr-FR/short_description.txt new file mode 100644 index 0000000..c27b337 --- /dev/null +++ b/android/fastlane/metadata/android/fr-FR/short_description.txt @@ -0,0 +1 @@ +Discutez avec votre IA auto-hébergée. \ No newline at end of file diff --git a/android/fastlane/metadata/android/fr-FR/title.txt b/android/fastlane/metadata/android/fr-FR/title.txt new file mode 100644 index 0000000..151e4e5 --- /dev/null +++ b/android/fastlane/metadata/android/fr-FR/title.txt @@ -0,0 +1 @@ +Conduit : client Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/fr-FR/video.txt b/android/fastlane/metadata/android/fr-FR/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/hi-IN/full_description.txt b/android/fastlane/metadata/android/hi-IN/full_description.txt new file mode 100644 index 0000000..a1bf09e --- /dev/null +++ b/android/fastlane/metadata/android/hi-IN/full_description.txt @@ -0,0 +1,31 @@ +कंड्यूट ओपन-वेबयूआई के लिए एक ओपन-सोर्स, नेटिव मोबाइल क्लाइंट है. अपने खुद के सर्वर से कनेक्ट करके आप एआई मॉडल के साथ चैट कर सकते हैं, बातचीत मैनेज कर सकते हैं और अपने सेल्फ-होस्टेड एआई को सुरक्षित रूप से कहीं भी अपने साथ ले जा सकते हैं. + +विशेषताएं +- रियल-टाइम स्ट्रीमिंग चैट +- मॉडल चुनने की सुविधा +- बातचीत खोजना और मैनेज करना +- वॉयस इनपुट (बोलकर टेक्स्ट लिखना) +- रिट्रीवल-ऑगमेंटेड जनरेशन (RAG) के लिए फाइल और इमेज अपलोड +- विजन और मल्टी-मॉडल सपोर्ट +- सिंटैक्स हाइलाइटिंग के साथ मार्कडाउन रेंडरिंग +- लाइट, डार्क और सिस्टम थीम +- सुरक्षित क्रेडेंशियल स्टोरेज (कीचेन/कीस्टोर) +- ऑफलाइन होने पर भी काम करने का अनुभव + +आवश्यकताएं +- इसके लिए एक मौजूदा ओपन-वेबयूआई सर्वर की आवश्यकता है. कंड्यूट एआई मॉडल होस्ट या प्रदान नहीं करता है. +- डिफ़ॉल्ट रूप से कोई भी डेटा किसी तीसरे पक्ष की सेवा को नहीं भेजा जाता है; सब कुछ आपके कॉन्फ़िगर किए गए सर्वर पर ही रहता है. + +अनुमतियां +- माइक्रोफ़ोन: वॉयस इनपुट के लिए +- कैमरा और फ़ोटो/स्टोरेज: इमेज/फाइल अटैच करने के लिए +- नेटवर्क: अपने ओपन-वेबयूआई सर्वर से कनेक्ट करने के लिए + +ओपन सोर्स: +कंड्यूट एक ओपन-सोर्स प्रोजेक्ट है. सपोर्ट के लिए, किसी समस्या की रिपोर्ट करने के लिए, या सोर्स कोड देखने के लिए, कृपया हमारी गिटहब रिपॉजिटरी पर जाएं: + +https://github.com/cogwheel0/conduit + +----- + +अस्वीकरण: यह जीएनयू जनरल पब्लिक लाइसेंस v3.0 (GPLv3) के तहत लाइसेंस प्राप्त एक स्वतंत्र, तृतीय-पक्ष एप्लिकेशन है और आधिकारिक तौर पर ओपनवेबयूआई प्रोजेक्ट से संबद्ध नहीं है. \ No newline at end of file diff --git a/android/fastlane/metadata/android/hi-IN/short_description.txt b/android/fastlane/metadata/android/hi-IN/short_description.txt new file mode 100644 index 0000000..d5675ca --- /dev/null +++ b/android/fastlane/metadata/android/hi-IN/short_description.txt @@ -0,0 +1 @@ +अपने स्वयं-होस्टेड AI के साथ चैट करें. \ No newline at end of file diff --git a/android/fastlane/metadata/android/hi-IN/title.txt b/android/fastlane/metadata/android/hi-IN/title.txt new file mode 100644 index 0000000..2345d1d --- /dev/null +++ b/android/fastlane/metadata/android/hi-IN/title.txt @@ -0,0 +1 @@ +कंड्यूट: ओपन-वेबयूआई क्लाइंट \ No newline at end of file diff --git a/android/fastlane/metadata/android/hi-IN/video.txt b/android/fastlane/metadata/android/hi-IN/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/hu-HU/full_description.txt b/android/fastlane/metadata/android/hu-HU/full_description.txt new file mode 100644 index 0000000..53787c8 --- /dev/null +++ b/android/fastlane/metadata/android/hu-HU/full_description.txt @@ -0,0 +1,31 @@ +A Conduit egy nyílt forráskódú, natív mobil kliens az Open-WebUI-hoz. Csatlakozzon saját szerveréhez, hogy AI modellekkel cseveghessen, kezelje a beszélgetéseit, és magával vihesse saját, helyben futtatott AI-ját – biztonságosan, bárhol és bármikor. + +Jellemzők +- Valós idejű, folyamatos csevegés +- Modellválasztás +- Beszélgetések keresése és kezelése +- Hangbevitel (beszédfelismerés) +- Fájl- és képfeltöltés a visszakeresés-alapú generáláshoz (RAG) +- Képfelismerés és többmódú támogatás +- Markdown megjelenítés szintaxiskiemeléssel +- Világos, sötét és rendszer témák +- Biztonságos hitelesítő adatok tárolása (Keychain/Keystore) +- Offline is használható élmény + +Követelmények +- Szükséges egy meglévő Open-WebUI szerver. A Conduit nem tárol és nem biztosít AI modelleket. +- Alapértelmezés szerint nem küld adatokat harmadik fél szolgáltatásainak; minden a beállított szerverén marad. + +Engedélyek +- Mikrofon: Hangbevitelhez +- Kamera és Fotók/Tárhely: Kép/fájl csatolmányokhoz +- Hálózat: Csatlakozás az Open-WebUI szerverhez + +Nyílt Forráskód: +A Conduit egy nyílt forráskódú projekt. Támogatásért, hibajelentésért vagy a forráskód megtekintéséért látogasson el GitHub tárolónkba: + +https://github.com/cogwheel0/conduit + +----- + +Jogi nyilatkozat: Ez egy független, harmadik féltől származó alkalmazás, amely a GNU General Public License v3.0 (GPLv3) alatt licencelt, és hivatalosan nem áll kapcsolatban az OpenWebUI projekttel. \ No newline at end of file diff --git a/android/fastlane/metadata/android/hu-HU/short_description.txt b/android/fastlane/metadata/android/hu-HU/short_description.txt new file mode 100644 index 0000000..b690066 --- /dev/null +++ b/android/fastlane/metadata/android/hu-HU/short_description.txt @@ -0,0 +1 @@ +Csevegés a saját üzemeltetésű AI-val. \ No newline at end of file diff --git a/android/fastlane/metadata/android/hu-HU/title.txt b/android/fastlane/metadata/android/hu-HU/title.txt new file mode 100644 index 0000000..d296163 --- /dev/null +++ b/android/fastlane/metadata/android/hu-HU/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI kliens \ No newline at end of file diff --git a/android/fastlane/metadata/android/hu-HU/video.txt b/android/fastlane/metadata/android/hu-HU/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/id/full_description.txt b/android/fastlane/metadata/android/id/full_description.txt new file mode 100644 index 0000000..9651909 --- /dev/null +++ b/android/fastlane/metadata/android/id/full_description.txt @@ -0,0 +1,31 @@ +Conduit adalah klien seluler asli sumber terbuka untuk Open-WebUI. Hubungkan ke server Anda sendiri untuk mengobrol dengan model AI, mengelola percakapan, dan membawa AI yang Anda kelola sendiri—dengan aman dan praktis saat bepergian. + +Fitur +- Obrolan streaming secara real-time +- Pemilihan model AI +- Pencarian dan pengelolaan percakapan +- Input suara (speech-to-text) +- Unggah file dan gambar untuk generasi yang diperkaya pengambilan (RAG) +- Dukungan visi dan multi-modal +- Rendering Markdown dengan penyorotan sintaks +- Tema terang, gelap, dan mengikuti sistem +- Penyimpanan kredensial yang aman (Keychain/Keystore) +- Pengalaman yang tetap berfungsi saat offline + +Persyaratan +- Membutuhkan server Open-WebUI yang sudah ada. Conduit tidak menyediakan atau meng-host model AI. +- Secara default, tidak ada data yang dikirim ke layanan pihak ketiga; semuanya tetap berada di server yang Anda konfigurasi. + +Izin +- Mikrofon: Untuk input suara +- Kamera dan Foto/Penyimpanan: Untuk melampirkan gambar/file +- Jaringan: Untuk terhubung ke server Open-WebUI Anda + +Sumber Terbuka: +Conduit adalah proyek sumber terbuka. Untuk mendapatkan dukungan, melaporkan masalah, atau melihat kode sumber, silakan kunjungi repositori GitHub kami: + +https://github.com/cogwheel0/conduit + +----- + +Penafian: Ini adalah aplikasi pihak ketiga independen yang dilisensikan di bawah GNU General Public License v3.0 (GPLv3) dan tidak berafiliasi secara resmi dengan proyek OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/id/short_description.txt b/android/fastlane/metadata/android/id/short_description.txt new file mode 100644 index 0000000..5cf36b1 --- /dev/null +++ b/android/fastlane/metadata/android/id/short_description.txt @@ -0,0 +1 @@ +Ngobrol dengan AI yang Anda host sendiri. \ No newline at end of file diff --git a/android/fastlane/metadata/android/id/title.txt b/android/fastlane/metadata/android/id/title.txt new file mode 100644 index 0000000..c41ee18 --- /dev/null +++ b/android/fastlane/metadata/android/id/title.txt @@ -0,0 +1 @@ +Conduit: Klien Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/id/video.txt b/android/fastlane/metadata/android/id/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/it-IT/full_description.txt b/android/fastlane/metadata/android/it-IT/full_description.txt new file mode 100644 index 0000000..47eed8e --- /dev/null +++ b/android/fastlane/metadata/android/it-IT/full_description.txt @@ -0,0 +1,31 @@ +Conduit è un client mobile nativo open source per Open-WebUI. Connettiti al tuo server per chattare con i modelli AI, gestire le conversazioni e portare la tua AI self-hosted sempre con te, in modo sicuro e ovunque tu sia. + +Caratteristiche +- Chat in streaming in tempo reale +- Selezione del modello +- Ricerca e gestione delle conversazioni +- Input vocale (speech-to-text) +- Caricamento di file e immagini per la generazione aumentata da recupero (RAG) +- Supporto per visione e multi-modale +- Rendering Markdown con evidenziazione della sintassi +- Temi chiaro, scuro e di sistema +- Archiviazione sicura delle credenziali (Keychain/Keystore) +- Esperienza ottimizzata per l'utilizzo offline + +Requisiti +- Richiede un server Open-WebUI già esistente. Conduit non ospita né fornisce modelli AI. +- Per impostazione predefinita, nessun dato viene inviato a servizi di terze parti; tutto rimane sul tuo server configurato. + +Permessi +- Microfono: Input vocale +- Fotocamera e Foto/Archiviazione: Allegati di immagini/file +- Rete: Connessione al tuo server Open-WebUI + +Open Source: +Conduit è un progetto open source. Per supporto, per segnalare problemi o per visualizzare il codice sorgente, visita il nostro repository GitHub: + +https://github.com/cogwheel0/conduit + +----- + +Disclaimer: Questa è un'applicazione indipendente di terze parti, rilasciata sotto licenza GNU General Public License v3.0 (GPLv3) e non è ufficialmente affiliata al progetto OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/it-IT/short_description.txt b/android/fastlane/metadata/android/it-IT/short_description.txt new file mode 100644 index 0000000..f01393c --- /dev/null +++ b/android/fastlane/metadata/android/it-IT/short_description.txt @@ -0,0 +1 @@ +Chatta con la tua IA auto-ospitata. \ No newline at end of file diff --git a/android/fastlane/metadata/android/it-IT/title.txt b/android/fastlane/metadata/android/it-IT/title.txt new file mode 100644 index 0000000..68e8673 --- /dev/null +++ b/android/fastlane/metadata/android/it-IT/title.txt @@ -0,0 +1 @@ +Conduit: client Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/it-IT/video.txt b/android/fastlane/metadata/android/it-IT/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/iw-IL/full_description.txt b/android/fastlane/metadata/android/iw-IL/full_description.txt new file mode 100644 index 0000000..901a345 --- /dev/null +++ b/android/fastlane/metadata/android/iw-IL/full_description.txt @@ -0,0 +1,31 @@ +Conduit הוא יישום מובייל מקורי בקוד פתוח עבור Open-WebUI. התחברו לשרת שלכם כדי לשוחח עם מודלי AI, לנהל שיחות ולקחת את ה-AI המאוחסן אצלכם לכל מקום – בצורה מאובטחת ונוחה. + +תכונות +- צ'אט בזמן אמת עם סטרימינג +- בחירת מודלים +- חיפוש וניהול שיחות +- קלט קולי (דיבור לטקסט) +- העלאת קבצים ותמונות ליצירה מבוססת אחזור (RAG) +- תמיכה בראייה וריבוי מודלים +- הצגת טקסט בפורמט Markdown עם הדגשת תחביר +- ערכות נושא בהיר, כהה ומערכת +- אחסון מאובטח של פרטי התחברות (Keychain/Keystore) +- חוויה מותאמת גם לשימוש לא מקוון + +דרישות +- דורש שרת Open-WebUI קיים. Conduit אינו מארח או מספק מודלי AI. +- כברירת מחדל, לא נשלחים נתונים לשירותי צד שלישי; הכל נשאר בשרת שהגדרתם. + +הרשאות +- מיקרופון: קלט קולי +- מצלמה ותמונות/אחסון: צירוף תמונות/קבצים +- רשת: התחברות לשרת Open-WebUI שלכם + +קוד פתוח: +Conduit הוא פרויקט קוד פתוח. לקבלת תמיכה, דיווח על בעיות או צפייה בקוד המקור, אנא בקרו במאגר ה-GitHub שלנו: + +https://github.com/cogwheel0/conduit + +----- + +הבהרה: זוהי אפליקציה עצמאית, צד שלישי, המורשית תחת רישיון הציבור הכללי של גנו גרסה 3.0 (GPLv3) ואינה קשורה רשמית לפרויקט OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/iw-IL/short_description.txt b/android/fastlane/metadata/android/iw-IL/short_description.txt new file mode 100644 index 0000000..4b5cb79 --- /dev/null +++ b/android/fastlane/metadata/android/iw-IL/short_description.txt @@ -0,0 +1 @@ +צ'אט עם ה-AI המתארח בעצמך. \ No newline at end of file diff --git a/android/fastlane/metadata/android/iw-IL/title.txt b/android/fastlane/metadata/android/iw-IL/title.txt new file mode 100644 index 0000000..a644f98 --- /dev/null +++ b/android/fastlane/metadata/android/iw-IL/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI Client \ No newline at end of file diff --git a/android/fastlane/metadata/android/iw-IL/video.txt b/android/fastlane/metadata/android/iw-IL/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/ja-JP/full_description.txt b/android/fastlane/metadata/android/ja-JP/full_description.txt new file mode 100644 index 0000000..4bd3266 --- /dev/null +++ b/android/fastlane/metadata/android/ja-JP/full_description.txt @@ -0,0 +1,31 @@ +Conduit は、Open-WebUI 向けのオープンソースのネイティブモバイルクライアントです。ご自身のサーバーに接続することで、AI モデルとのチャット、会話の管理、そして自己ホスト型の AI を安全に、どこへでも持ち運ぶことができます。 + +機能 +- リアルタイムストリーミングチャット +- モデル選択 +- 会話の検索と管理 +- 音声入力(音声認識) +- 検索拡張生成(RAG)のためのファイル・画像アップロード +- ビジョンおよびマルチモーダル対応 +- シンタックスハイライト付きの Markdown 表示 +- ライト、ダーク、システムテーマ +- 安全な認証情報ストレージ(Keychain/Keystore) +- オフライン時も利用可能な体験 + +必要条件 +- 既存の Open-WebUI サーバーが必要です。Conduit 自体は AI モデルをホストしたり提供したりするものではありません。 +- デフォルトでは、データが第三者サービスに送信されることはありません。すべてのデータは設定されたサーバー内に留まります。 + +権限 +- マイク:音声入力に使用 +- カメラおよび写真/ストレージ:画像・ファイル添付に使用 +- ネットワーク:Open-WebUI サーバーへの接続に使用 + +オープンソースについて: +Conduit はオープンソースプロジェクトです。サポート、問題報告、またはソースコードの確認については、GitHub リポジトリをご覧ください。 + +https://github.com/cogwheel0/conduit + +----- + +免責事項:本アプリケーションは、GNU General Public License v3.0 (GPLv3) に基づいてライセンスされた独立したサードパーティ製アプリケーションであり、OpenWebUI プロジェクトとは公式には提携しておりません。 \ No newline at end of file diff --git a/android/fastlane/metadata/android/ja-JP/short_description.txt b/android/fastlane/metadata/android/ja-JP/short_description.txt new file mode 100644 index 0000000..a6ec849 --- /dev/null +++ b/android/fastlane/metadata/android/ja-JP/short_description.txt @@ -0,0 +1 @@ +セルフホスト型 AI とチャットします。 \ No newline at end of file diff --git a/android/fastlane/metadata/android/ja-JP/title.txt b/android/fastlane/metadata/android/ja-JP/title.txt new file mode 100644 index 0000000..724cca3 --- /dev/null +++ b/android/fastlane/metadata/android/ja-JP/title.txt @@ -0,0 +1 @@ +コンジット: Open-WebUI クライアント \ No newline at end of file diff --git a/android/fastlane/metadata/android/ja-JP/video.txt b/android/fastlane/metadata/android/ja-JP/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/ko-KR/full_description.txt b/android/fastlane/metadata/android/ko-KR/full_description.txt new file mode 100644 index 0000000..5fe83ef --- /dev/null +++ b/android/fastlane/metadata/android/ko-KR/full_description.txt @@ -0,0 +1,31 @@ +Conduit은 Open-WebUI를 위한 오픈 소스 네이티브 모바일 클라이언트입니다. 나만의 서버에 연결하여 AI 모델과 채팅하고, 대화를 관리하며, 자체 호스팅 AI를 안전하게 휴대하며 언제 어디서든 사용할 수 있습니다. + +주요 기능 +- 실시간 스트리밍 채팅 +- 모델 선택 +- 대화 검색 및 관리 +- 음성 입력 (음성-텍스트 변환) +- 검색 증강 생성 (RAG)을 위한 파일 및 이미지 업로드 +- 비전 및 멀티모달 지원 +- 구문 강조 기능이 포함된 마크다운 렌더링 +- 라이트, 다크, 시스템 테마 지원 +- 안전한 자격 증명 저장 (키체인/키스토어) +- 오프라인 환경 지원 + +필요 조건 +- 기존 Open-WebUI 서버가 필요합니다. Conduit은 AI 모델을 호스팅하거나 제공하지 않습니다. +- 기본적으로 타사 서비스로 데이터가 전송되지 않습니다. 모든 데이터는 사용자가 설정한 서버에만 저장됩니다. + +필요 권한 +- 마이크: 음성 입력 +- 카메라 및 사진/저장 공간: 이미지/파일 첨부 +- 네트워크: Open-WebUI 서버 연결 + +오픈 소스: +Conduit은 오픈 소스 프로젝트입니다. 지원, 문제 보고 또는 소스 코드 확인을 원하시면 GitHub 저장소를 방문해 주세요: + +https://github.com/cogwheel0/conduit + +----- + +면책 조항: 이 앱은 GNU 일반 공중 사용 허가서 v3.0 (GPLv3)에 따라 라이선스된 독립적인 타사 애플리케이션이며, OpenWebUI 프로젝트와 공식적인 관련이 없습니다. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ko-KR/short_description.txt b/android/fastlane/metadata/android/ko-KR/short_description.txt new file mode 100644 index 0000000..b551fe3 --- /dev/null +++ b/android/fastlane/metadata/android/ko-KR/short_description.txt @@ -0,0 +1 @@ +자체 호스팅 AI와 채팅하세요. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ko-KR/title.txt b/android/fastlane/metadata/android/ko-KR/title.txt new file mode 100644 index 0000000..d86ed07 --- /dev/null +++ b/android/fastlane/metadata/android/ko-KR/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI 클라이언트 \ No newline at end of file diff --git a/android/fastlane/metadata/android/ko-KR/video.txt b/android/fastlane/metadata/android/ko-KR/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/nl-NL/full_description.txt b/android/fastlane/metadata/android/nl-NL/full_description.txt new file mode 100644 index 0000000..297b7d2 --- /dev/null +++ b/android/fastlane/metadata/android/nl-NL/full_description.txt @@ -0,0 +1,31 @@ +Conduit is een open-source, native mobiele client voor Open-WebUI. Maak verbinding met je eigen server om te chatten met AI-modellen, gesprekken te beheren en je zelf-gehoste AI overal mee naartoe te nemen – veilig en onderweg. + +Functies +- Realtime streaming chat +- Model selectie +- Gesprekken zoeken en beheren +- Spraakinvoer (spraak-naar-tekst) +- Bestands- en afbeeldingsuploads voor retrieval-augmented generation (RAG) +- Visie en multi-modale ondersteuning +- Markdown rendering met syntax highlighting +- Lichte, donkere en systeemthema's +- Veilige opslag van inloggegevens (Keychain/Keystore) +- Ervaring die rekening houdt met offline zijn + +Vereisten +- Vereist een bestaande Open-WebUI server. Conduit host of levert zelf geen AI-modellen. +- Standaard worden er geen gegevens naar diensten van derden gestuurd; alles blijft op je geconfigureerde server. + +Toestemmingen +- Microfoon: Spraakinvoer +- Camera en Foto's/Opslag: Bijlagen (afbeeldingen/bestanden) +- Netwerk: Verbinding maken met je Open-WebUI server + +Open Source: +Conduit is een open-source project. Voor ondersteuning, het melden van problemen of het bekijken van de broncode, bezoek onze GitHub repository: + +https://github.com/cogwheel0/conduit + +----- + +Disclaimer: Dit is een onafhankelijke applicatie van een derde partij, gelicentieerd onder de GNU General Public License v3.0 (GPLv3), en is niet officieel gelieerd aan het OpenWebUI project. \ No newline at end of file diff --git a/android/fastlane/metadata/android/nl-NL/short_description.txt b/android/fastlane/metadata/android/nl-NL/short_description.txt new file mode 100644 index 0000000..9c1dac4 --- /dev/null +++ b/android/fastlane/metadata/android/nl-NL/short_description.txt @@ -0,0 +1 @@ +Chat met uw zelf-gehoste AI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/nl-NL/title.txt b/android/fastlane/metadata/android/nl-NL/title.txt new file mode 100644 index 0000000..59b121a --- /dev/null +++ b/android/fastlane/metadata/android/nl-NL/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI-client \ No newline at end of file diff --git a/android/fastlane/metadata/android/nl-NL/video.txt b/android/fastlane/metadata/android/nl-NL/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/no-NO/full_description.txt b/android/fastlane/metadata/android/no-NO/full_description.txt new file mode 100644 index 0000000..a058229 --- /dev/null +++ b/android/fastlane/metadata/android/no-NO/full_description.txt @@ -0,0 +1,31 @@ +Conduit er en åpen kildekode, native mobilklient for Open-WebUI. Koble til din egen server for å chatte med AI-modeller, administrere samtaler, og ta med deg din selv-hostede AI – sikkert og på farten. + +Funksjoner +- Sanntids chat-strømming +- Valg av modell +- Søk og administrasjon av samtaler +- Stemmeinndata (tale-til-tekst) +- Opplasting av filer og bilder for gjenfinning-forsterket generering (RAG) +- Støtte for syn og multi-modalitet +- Markdown-gjengivelse med syntaksutheving +- Lyse, mørke og systemtemaer +- Sikker lagring av legitimasjon (Nøkkelring/Keystore) +- Opplevelse som tar hensyn til frakobling + +Krav +- Krever en eksisterende Open-WebUI server. Conduit hoster eller tilbyr ikke AI-modeller. +- Ingen data sendes til tredjepartstjenester som standard; alt forblir på din konfigurerte server. + +Tillatelser +- Mikrofon: Stemmeinndata +- Kamera og Bilder/Lagring: Vedlegg av bilder/filer +- Nettverk: Koble til din Open-WebUI server + +Åpen Kildekode: +Conduit er et åpen kildekode-prosjekt. For støtte, for å rapportere problemer, eller for å se kildekoden, vennligst besøk vårt GitHub-arkiv: + +https://github.com/cogwheel0/conduit + +----- + +Ansvarsfraskrivelse: Dette er en uavhengig tredjepartsapplikasjon lisensiert under GNU General Public License v3.0 (GPLv3) og er ikke offisielt tilknyttet OpenWebUI-prosjektet. \ No newline at end of file diff --git a/android/fastlane/metadata/android/no-NO/short_description.txt b/android/fastlane/metadata/android/no-NO/short_description.txt new file mode 100644 index 0000000..f919549 --- /dev/null +++ b/android/fastlane/metadata/android/no-NO/short_description.txt @@ -0,0 +1 @@ +Chat med din egenvertsbaserte AI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/no-NO/title.txt b/android/fastlane/metadata/android/no-NO/title.txt new file mode 100644 index 0000000..e7d653d --- /dev/null +++ b/android/fastlane/metadata/android/no-NO/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI-klient \ No newline at end of file diff --git a/android/fastlane/metadata/android/no-NO/video.txt b/android/fastlane/metadata/android/no-NO/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/pl-PL/full_description.txt b/android/fastlane/metadata/android/pl-PL/full_description.txt new file mode 100644 index 0000000..92f883e --- /dev/null +++ b/android/fastlane/metadata/android/pl-PL/full_description.txt @@ -0,0 +1,31 @@ +Conduit to natywny klient mobilny o otwartym kodzie źródłowym, stworzony dla Open-WebUI. Połącz się ze swoim serwerem, aby rozmawiać z modelami AI, zarządzać konwersacjami i mieć swoją samodzielnie hostowaną sztuczną inteligencję zawsze przy sobie – bezpiecznie i w drodze. + +Funkcje +- Czat w czasie rzeczywistym ze strumieniowaniem +- Wybór modelu AI +- Wyszukiwanie i zarządzanie konwersacjami +- Wprowadzanie głosowe (zamiana mowy na tekst) +- Przesyłanie plików i obrazów do generowania rozszerzonego o pobieranie (RAG) +- Obsługa wizji i modeli multimodalnych +- Renderowanie Markdown z podświetlaniem składni +- Motywy jasny, ciemny i systemowy +- Bezpieczne przechowywanie danych uwierzytelniających (Keychain/Keystore) +- Działanie z uwzględnieniem trybu offline + +Wymagania +- Wymaga posiadania działającego serwera Open-WebUI. Conduit nie hostuje ani nie udostępnia modeli AI. +- Domyślnie żadne dane nie są wysyłane do usług zewnętrznych; wszystko pozostaje na skonfigurowanym przez Ciebie serwerze. + +Uprawnienia +- Mikrofon: Do wprowadzania głosowego +- Aparat i Zdjęcia/Pamięć: Do załączania obrazów/plików +- Sieć: Do połączenia z serwerem Open-WebUI + +Otwarty kod źródłowy: +Conduit to projekt o otwartym kodzie źródłowym. Aby uzyskać wsparcie, zgłosić problem lub zobaczyć kod źródłowy, odwiedź nasze repozytorium na GitHubie: + +https://github.com/cogwheel0/conduit + +----- + +Zastrzeżenie: Jest to niezależna aplikacja stworzona przez stronę trzecią, licencjonowana na podstawie GNU General Public License v3.0 (GPLv3). Aplikacja nie jest oficjalnie powiązana z projektem OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/pl-PL/short_description.txt b/android/fastlane/metadata/android/pl-PL/short_description.txt new file mode 100644 index 0000000..f49c750 --- /dev/null +++ b/android/fastlane/metadata/android/pl-PL/short_description.txt @@ -0,0 +1 @@ +Rozmawiaj ze swoją własną sztuczną inteligencją. \ No newline at end of file diff --git a/android/fastlane/metadata/android/pl-PL/title.txt b/android/fastlane/metadata/android/pl-PL/title.txt new file mode 100644 index 0000000..90d4608 --- /dev/null +++ b/android/fastlane/metadata/android/pl-PL/title.txt @@ -0,0 +1 @@ +Conduit: Klient Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/pl-PL/video.txt b/android/fastlane/metadata/android/pl-PL/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/pt-BR/full_description.txt b/android/fastlane/metadata/android/pt-BR/full_description.txt new file mode 100644 index 0000000..10437a2 --- /dev/null +++ b/android/fastlane/metadata/android/pt-BR/full_description.txt @@ -0,0 +1,31 @@ +Conduit é um cliente móvel nativo de código aberto para o Open-WebUI. Conecte-se ao seu próprio servidor para conversar com modelos de IA, gerenciar suas conversas e levar sua IA auto-hospedada para onde for — de forma segura e prática. + +Recursos +- Chat com streaming em tempo real +- Seleção de modelos de IA +- Busca e gerenciamento de conversas +- Entrada de voz (transforma fala em texto) +- Upload de arquivos e imagens para Geração Aumentada por Recuperação (RAG) +- Suporte a visão e recursos multimodais +- Renderização de Markdown com destaque de sintaxe +- Temas claro, escuro e do sistema +- Armazenamento seguro de credenciais (Keychain/Keystore) +- Funciona mesmo offline (experiência consciente de offline) + +Requisitos +- É necessário ter um servidor Open-WebUI já configurado. O Conduit não hospeda nem fornece modelos de IA. +- Por padrão, nenhum dado é enviado para serviços de terceiros; tudo fica no seu servidor configurado. + +Permissões +- Microfone: Para entrada de voz +- Câmera e Fotos/Armazenamento: Para anexar imagens e arquivos +- Rede: Para conectar ao seu servidor Open-WebUI + +Código Aberto: +Conduit é um projeto de código aberto. Para obter suporte, relatar problemas ou ver o código-fonte, visite nosso repositório no GitHub: + +https://github.com/cogwheel0/conduit + +----- + +Aviso Legal: Este é um aplicativo independente, desenvolvido por terceiros, licenciado sob a GNU General Public License v3.0 (GPLv3) e não possui afiliação oficial com o projeto OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/pt-BR/short_description.txt b/android/fastlane/metadata/android/pt-BR/short_description.txt new file mode 100644 index 0000000..79a1075 --- /dev/null +++ b/android/fastlane/metadata/android/pt-BR/short_description.txt @@ -0,0 +1 @@ +Converse com sua IA auto-hospedada. \ No newline at end of file diff --git a/android/fastlane/metadata/android/pt-BR/title.txt b/android/fastlane/metadata/android/pt-BR/title.txt new file mode 100644 index 0000000..6c8294a --- /dev/null +++ b/android/fastlane/metadata/android/pt-BR/title.txt @@ -0,0 +1 @@ +Conduit: Cliente Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/pt-BR/video.txt b/android/fastlane/metadata/android/pt-BR/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/ro/full_description.txt b/android/fastlane/metadata/android/ro/full_description.txt new file mode 100644 index 0000000..f953dc4 --- /dev/null +++ b/android/fastlane/metadata/android/ro/full_description.txt @@ -0,0 +1,31 @@ +Conduit este un client mobil nativ, open-source, pentru Open-WebUI. Conectați-vă la propriul server pentru a discuta cu modele AI, a gestiona conversațiile și a avea AI-ul auto-găzduit cu dvs.—în siguranță și oriunde ați merge. + +Funcționalități +- Chat cu streaming în timp real +- Selecția modelului +- Căutarea și gestionarea conversațiilor +- Intrare vocală (transformare vorbire în text) +- Încărcare fișiere și imagini pentru generare augmentată cu recuperare (RAG) +- Suport pentru viziune și funcționalități multi-modale +- Randare Markdown cu evidențiere de sintaxă +- Teme deschisă, întunecată și de sistem +- Stocare securizată a credențialelor (Keychain/Keystore) +- Experiență adaptată pentru utilizare offline + +Cerințe +- Necesită un server Open-WebUI existent. Conduit nu găzduiește și nu oferă modele AI. +- Nicio dată nu este trimisă implicit către servicii terțe; totul rămâne pe serverul dvs. configurat. + +Permisiuni +- Microfon: Pentru intrarea vocală +- Cameră și Fotografii/Stocare: Pentru atașarea de imagini/fișiere +- Rețea: Pentru conectarea la serverul dvs. Open-WebUI + +Open Source: +Conduit este un proiect open-source. Pentru suport, pentru a raporta probleme sau pentru a vizualiza codul sursă, vă rugăm să vizitați depozitul nostru GitHub: + +https://github.com/cogwheel0/conduit + +----- + +Disclaimer: Aceasta este o aplicație independentă, dezvoltată de o terță parte, licențiată sub GNU General Public License v3.0 (GPLv3) și nu este afiliată oficial proiectului OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ro/short_description.txt b/android/fastlane/metadata/android/ro/short_description.txt new file mode 100644 index 0000000..c06dcae --- /dev/null +++ b/android/fastlane/metadata/android/ro/short_description.txt @@ -0,0 +1 @@ +Conversați cu AI-ul dvs. auto-găzduit. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ro/title.txt b/android/fastlane/metadata/android/ro/title.txt new file mode 100644 index 0000000..df3b262 --- /dev/null +++ b/android/fastlane/metadata/android/ro/title.txt @@ -0,0 +1 @@ +Conduit: Client Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/ro/video.txt b/android/fastlane/metadata/android/ro/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/ru-RU/full_description.txt b/android/fastlane/metadata/android/ru-RU/full_description.txt new file mode 100644 index 0000000..00170fe --- /dev/null +++ b/android/fastlane/metadata/android/ru-RU/full_description.txt @@ -0,0 +1,31 @@ +Conduit — это нативный мобильный клиент с открытым исходным кодом для Open‑WebUI. Подключитесь к собственному серверу, чтобы общаться с моделями ИИ, управлять диалогами и использовать свой локальный ИИ безопасно и где угодно. + +Возможности +- Чат с потоковой передачей в реальном времени +- Выбор модели +- Поиск и управление диалогами +- Голосовой ввод (преобразование речи в текст) +- Загрузка файлов и изображений для генерации с дополненным извлечением (RAG) +- Поддержка зрения и мультимодальности +- Отображение Markdown с подсветкой синтаксиса +- Светлая, темная и системная темы +- Безопасное хранение учетных данных (Keychain/Keystore) +- Работа в условиях отсутствия сети + +Требования +- Требуется существующий сервер Open‑WebUI. Conduit не размещает и не предоставляет модели ИИ. +- По умолчанию данные не отправляются сторонним сервисам; вся информация остается на вашем настроенном сервере. + +Разрешения +- Микрофон: Голосовой ввод +- Камера и Фото/Хранилище: Прикрепление изображений/файлов +- Сеть: Подключение к вашему серверу Open‑WebUI + +Открытый исходный код: +Conduit — это проект с открытым исходным кодом. Для получения поддержки, сообщения о проблемах или просмотра исходного кода посетите наш репозиторий на GitHub: + +https://github.com/cogwheel0/conduit + +----- + +Отказ от ответственности: Это независимое стороннее приложение, распространяемое под лицензией GNU General Public License v3.0 (GPLv3) и официально не связанное с проектом OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ru-RU/short_description.txt b/android/fastlane/metadata/android/ru-RU/short_description.txt new file mode 100644 index 0000000..4daae51 --- /dev/null +++ b/android/fastlane/metadata/android/ru-RU/short_description.txt @@ -0,0 +1 @@ +Общайтесь с вашим собственным искусственным интеллектом. \ No newline at end of file diff --git a/android/fastlane/metadata/android/ru-RU/title.txt b/android/fastlane/metadata/android/ru-RU/title.txt new file mode 100644 index 0000000..89b2757 --- /dev/null +++ b/android/fastlane/metadata/android/ru-RU/title.txt @@ -0,0 +1 @@ +Conduit: Клиент Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/ru-RU/video.txt b/android/fastlane/metadata/android/ru-RU/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/sk/full_description.txt b/android/fastlane/metadata/android/sk/full_description.txt new file mode 100644 index 0000000..df38837 --- /dev/null +++ b/android/fastlane/metadata/android/sk/full_description.txt @@ -0,0 +1,31 @@ +Conduit je open-source, natívna mobilná aplikácia pre Open-WebUI. Pripojte sa k vlastnému serveru, chatujte s AI modelmi, spravujte konverzácie a majte svoju vlastnú AI vždy pri sebe – bezpečne a kdekoľvek. + +Funkcie +- Chatovanie v reálnom čase (streaming) +- Výber modelu +- Vyhľadávanie a správa konverzácií +- Hlasový vstup (prevod reči na text) +- Nahrávanie súborov a obrázkov pre generovanie s rozšíreným vyhľadávaním (RAG) +- Podpora videnia a multi-modálnych modelov +- Zobrazenie Markdown s zvýraznením syntaxe +- Svetlá, tmavá a systémová téma +- Bezpečné ukladanie prihlasovacích údajov (Keychain/Keystore) +- Funkčnosť aj v režime offline + +Požiadavky +- Vyžaduje existujúci server Open-WebUI. Conduit nehostuje ani neposkytuje AI modely. +- Štandardne sa žiadne údaje neposielajú tretím stranám; všetko zostáva na vašom nakonfigurovanom serveri. + +Povolenia +- Mikrofón: Hlasový vstup +- Fotoaparát a Fotografie/Úložisko: Prílohy obrázkov/súborov +- Sieť: Pripojenie k vášmu serveru Open-WebUI + +Open Source: +Conduit je open-source projekt. Pre podporu, nahlásenie problémov alebo zobrazenie zdrojového kódu navštívte naše GitHub úložisko: + +https://github.com/cogwheel0/conduit + +----- + +Upozornenie: Toto je nezávislá aplikácia tretej strany licencovaná pod licenciou GNU General Public License v3.0 (GPLv3) a nie je oficiálne pridružená k projektu OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/sk/short_description.txt b/android/fastlane/metadata/android/sk/short_description.txt new file mode 100644 index 0000000..09bcb46 --- /dev/null +++ b/android/fastlane/metadata/android/sk/short_description.txt @@ -0,0 +1 @@ +Chatujte so svojou vlastnou hostiteľskou AI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/sk/title.txt b/android/fastlane/metadata/android/sk/title.txt new file mode 100644 index 0000000..90d4608 --- /dev/null +++ b/android/fastlane/metadata/android/sk/title.txt @@ -0,0 +1 @@ +Conduit: Klient Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/sk/video.txt b/android/fastlane/metadata/android/sk/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/sv-SE/full_description.txt b/android/fastlane/metadata/android/sv-SE/full_description.txt new file mode 100644 index 0000000..2dd1f12 --- /dev/null +++ b/android/fastlane/metadata/android/sv-SE/full_description.txt @@ -0,0 +1,31 @@ +Conduit är en mobilklient med öppen källkod, byggd specifikt för Open-WebUI. Anslut till din egen server för att chatta med AI-modeller, hantera dina konversationer och ha din egen AI med dig – säkert och var du än är. + +Funktioner +- Chatt i realtid med strömning +- Val av modell +- Sök och hantera konversationer +- Röstinmatning (tal till text) +- Ladda upp filer och bilder för RAG (retrieval-augmented generation) +- Stöd för vision och multimodala modeller +- Markdown-rendering med syntaxmarkering +- Ljusa, mörka och systemets egna teman +- Säker lagring av inloggningsuppgifter (Keychain/Keystore) +- Fungerar även när du är offline + +Krav +- Kräver en befintlig Open-WebUI-server. Conduit tillhandahåller eller hostar inga AI-modeller. +- Ingen data skickas till tredjepartstjänster som standard; all data stannar på din konfigurerade server. + +Behörigheter +- Mikrofon: För röstinmatning +- Kamera och Foton/Lagring: För att bifoga bilder/filer +- Nätverk: För att ansluta till din Open-WebUI-server + +Öppen källkod: +Conduit är ett projekt med öppen källkod. För support, för att rapportera problem eller för att se källkoden, besök vårt GitHub-arkiv: + +https://github.com/cogwheel0/conduit + +----- + +Ansvarsfriskrivning: Detta är en oberoende tredjepartsapplikation licensierad under GNU General Public License v3.0 (GPLv3) och är inte officiellt kopplad till OpenWebUI-projektet. \ No newline at end of file diff --git a/android/fastlane/metadata/android/sv-SE/short_description.txt b/android/fastlane/metadata/android/sv-SE/short_description.txt new file mode 100644 index 0000000..ce6d736 --- /dev/null +++ b/android/fastlane/metadata/android/sv-SE/short_description.txt @@ -0,0 +1 @@ +Chatta med din egen värd AI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/sv-SE/title.txt b/android/fastlane/metadata/android/sv-SE/title.txt new file mode 100644 index 0000000..e7d653d --- /dev/null +++ b/android/fastlane/metadata/android/sv-SE/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI-klient \ No newline at end of file diff --git a/android/fastlane/metadata/android/sv-SE/video.txt b/android/fastlane/metadata/android/sv-SE/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/th/full_description.txt b/android/fastlane/metadata/android/th/full_description.txt new file mode 100644 index 0000000..32f7660 --- /dev/null +++ b/android/fastlane/metadata/android/th/full_description.txt @@ -0,0 +1,31 @@ +Conduit คือแอปพลิเคชันมือถือแบบเนทีฟโอเพนซอร์สสำหรับ Open-WebUI เชื่อมต่อกับเซิร์ฟเวอร์ของคุณเองเพื่อแชทกับโมเดล AI จัดการบทสนทนา และพกพา AI ที่คุณติดตั้งเองไปได้ทุกที่อย่างปลอดภัย + +คุณสมบัติ +- แชทแบบเรียลไทม์ (สตรีมมิ่ง) +- เลือกโมเดล AI ได้ +- ค้นหาและจัดการบทสนทนา +- ป้อนข้อมูลด้วยเสียง (แปลงเสียงเป็นข้อความ) +- อัปโหลดไฟล์และรูปภาพเพื่อใช้ในการสร้างข้อความที่อ้างอิงข้อมูล (RAG) +- รองรับการประมวลผลภาพและข้อมูลหลายรูปแบบ (Vision and multi-modal) +- แสดงผล Markdown พร้อมเน้นไวยากรณ์ +- มีธีมสว่าง ธีมมืด และธีมตามระบบ +- จัดเก็บข้อมูลการเข้าสู่ระบบอย่างปลอดภัย (Keychain/Keystore) +- ใช้งานได้แม้ไม่มีการเชื่อมต่ออินเทอร์เน็ต (Offline-aware) + +ข้อกำหนด +- ต้องมีเซิร์ฟเวอร์ Open-WebUI อยู่แล้ว Conduit ไม่ได้ให้บริการโฮสต์หรือจัดหาโมเดล AI +- โดยค่าเริ่มต้น จะไม่มีการส่งข้อมูลไปยังบริการของบุคคลที่สาม ข้อมูลทั้งหมดจะยังคงอยู่บนเซิร์ฟเวอร์ที่คุณตั้งค่าไว้ + +สิทธิ์การเข้าถึง +- ไมโครโฟน: สำหรับการป้อนข้อมูลด้วยเสียง +- กล้องและรูปภาพ/พื้นที่จัดเก็บ: สำหรับแนบรูปภาพ/ไฟล์ +- เครือข่าย: สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ Open-WebUI ของคุณ + +โอเพนซอร์ส: +Conduit เป็นโครงการโอเพนซอร์ส หากต้องการความช่วยเหลือ รายงานปัญหา หรือดูซอร์สโค้ด โปรดเยี่ยมชม GitHub repository ของเราได้ที่: + +https://github.com/cogwheel0/conduit + +----- + +ข้อสงวนสิทธิ์: แอปพลิเคชันนี้เป็นแอปพลิเคชันอิสระของบุคคลที่สามที่ได้รับอนุญาตภายใต้ GNU General Public License v3.0 (GPLv3) และไม่มีความเกี่ยวข้องอย่างเป็นทางการกับโครงการ OpenWebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/th/short_description.txt b/android/fastlane/metadata/android/th/short_description.txt new file mode 100644 index 0000000..15f22fd --- /dev/null +++ b/android/fastlane/metadata/android/th/short_description.txt @@ -0,0 +1 @@ +สนทนากับ AI ที่คุณโฮสต์เอง \ No newline at end of file diff --git a/android/fastlane/metadata/android/th/title.txt b/android/fastlane/metadata/android/th/title.txt new file mode 100644 index 0000000..8c0a107 --- /dev/null +++ b/android/fastlane/metadata/android/th/title.txt @@ -0,0 +1 @@ +Conduit: ไคลเอนต์ Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/th/video.txt b/android/fastlane/metadata/android/th/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/tr-TR/full_description.txt b/android/fastlane/metadata/android/tr-TR/full_description.txt new file mode 100644 index 0000000..d774014 --- /dev/null +++ b/android/fastlane/metadata/android/tr-TR/full_description.txt @@ -0,0 +1,31 @@ +Conduit, Open-WebUI için geliştirilmiş açık kaynaklı, yerel bir mobil uygulamadır. Kendi sunucunuza bağlanarak yapay zeka modelleriyle sohbet edebilir, konuşmalarınızı yönetebilir ve kendi barındırdığınız yapay zekanızı güvenli bir şekilde, dilediğiniz her yere yanınızda taşıyabilirsiniz. + +Özellikler +- Gerçek zamanlı akışlı sohbet +- Model seçimi +- Konuşmaları arama ve yönetme +- Sesli giriş (konuşmayı metne dönüştürme) +- Geri çağırmayla desteklenmiş üretim (RAG) için dosya ve görsel yükleme +- Görsel ve çok modlu destek +- Sözdizimi vurgulamalı Markdown işleme +- Açık, koyu ve sistem temaları +- Güvenli kimlik bilgisi depolama (Anahtar Zinciri/Anahtar Deposu) +- Çevrimdışı kullanım imkanı + +Gereksinimler +- Mevcut bir Open-WebUI sunucusu gereklidir. Conduit yapay zeka modellerini barındırmaz veya sağlamaz. +- Varsayılan olarak üçüncü taraf hizmetlere hiçbir veri gönderilmez; her şey yapılandırdığınız sunucunuzda kalır. + +İzinler +- Mikrofon: Sesli giriş için +- Kamera ve Fotoğraflar/Depolama: Görsel/dosya eklemek için +- Ağ: Open-WebUI sunucunuza bağlanmak için + +Açık Kaynak: +Conduit açık kaynaklı bir projedir. Destek almak, sorun bildirmek veya kaynak kodunu görüntülemek için lütfen GitHub depomuzu ziyaret edin: + +https://github.com/cogwheel0/conduit + +----- + +Yasal Uyarı: Bu uygulama, GNU Genel Kamu Lisansı v3.0 (GPLv3) altında lisanslanmış bağımsız, üçüncü taraf bir uygulamadır ve OpenWebUI projesiyle resmi bir ilişkisi bulunmamaktadır. \ No newline at end of file diff --git a/android/fastlane/metadata/android/tr-TR/short_description.txt b/android/fastlane/metadata/android/tr-TR/short_description.txt new file mode 100644 index 0000000..b1ed631 --- /dev/null +++ b/android/fastlane/metadata/android/tr-TR/short_description.txt @@ -0,0 +1 @@ +Kendi barındırdığınız yapay zeka ile sohbet edin. \ No newline at end of file diff --git a/android/fastlane/metadata/android/tr-TR/title.txt b/android/fastlane/metadata/android/tr-TR/title.txt new file mode 100644 index 0000000..d20958c --- /dev/null +++ b/android/fastlane/metadata/android/tr-TR/title.txt @@ -0,0 +1 @@ +Conduit: Açık WebUI İstemcisi \ No newline at end of file diff --git a/android/fastlane/metadata/android/tr-TR/video.txt b/android/fastlane/metadata/android/tr-TR/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/uk/full_description.txt b/android/fastlane/metadata/android/uk/full_description.txt new file mode 100644 index 0000000..ffb0c35 --- /dev/null +++ b/android/fastlane/metadata/android/uk/full_description.txt @@ -0,0 +1,31 @@ +Conduit — це нативний мобільний клієнт з відкритим кодом для Open‑WebUI. Підключіться до власного сервера, щоб спілкуватися з моделями ШІ, керувати діалогами та мати доступ до свого самостійно розміщеного ШІ будь-де — безпечно та зручно. + +Можливості +- Чат у реальному часі з потоковою передачею +- Вибір моделі +- Пошук та керування діалогами +- Голосове введення (перетворення мови на текст) +- Завантаження файлів та зображень для генерації з доповненням пошуку (RAG) +- Підтримка візуальних та мультимодальних даних +- Відображення Markdown з підсвічуванням синтаксису +- Світла, темна та системна теми оформлення +- Безпечне зберігання облікових даних (Keychain/Keystore) +- Робота в умовах відсутності підключення + +Вимоги +- Потребує наявного сервера Open‑WebUI. Conduit не надає та не розміщує моделі ШІ. +- За замовчуванням дані не передаються стороннім сервісам; вся інформація залишається на вашому налаштованому сервері. + +Дозволи +- Мікрофон: Для голосового введення +- Камера та Фотографії/Сховище: Для додавання зображень/файлів +- Мережа: Для підключення до вашого сервера Open‑WebUI + +Відкритий код: +Conduit — це проєкт з відкритим кодом. Щоб отримати підтримку, повідомити про проблеми або переглянути вихідний код, відвідайте наш репозиторій на GitHub: + +https://github.com/cogwheel0/conduit + +----- + +Відмова від відповідальності: Це незалежна стороння програма, що розповсюджується за ліцензією GNU General Public License v3.0 (GPLv3) і не має офіційного зв'язку з проєктом OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/uk/short_description.txt b/android/fastlane/metadata/android/uk/short_description.txt new file mode 100644 index 0000000..0f463f0 --- /dev/null +++ b/android/fastlane/metadata/android/uk/short_description.txt @@ -0,0 +1 @@ +Спілкуйтеся зі своїм власним ШІ. \ No newline at end of file diff --git a/android/fastlane/metadata/android/uk/title.txt b/android/fastlane/metadata/android/uk/title.txt new file mode 100644 index 0000000..437b369 --- /dev/null +++ b/android/fastlane/metadata/android/uk/title.txt @@ -0,0 +1 @@ +Conduit: клієнт Open-WebUI \ No newline at end of file diff --git a/android/fastlane/metadata/android/uk/video.txt b/android/fastlane/metadata/android/uk/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/vi/full_description.txt b/android/fastlane/metadata/android/vi/full_description.txt new file mode 100644 index 0000000..af0b9cf --- /dev/null +++ b/android/fastlane/metadata/android/vi/full_description.txt @@ -0,0 +1,31 @@ +Conduit là ứng dụng di động mã nguồn mở, được phát triển riêng cho Open-WebUI. Kết nối với máy chủ của bạn để trò chuyện với các mô hình AI, quản lý cuộc hội thoại và mang theo AI tự lưu trữ của bạn một cách an toàn, mọi lúc mọi nơi. + +Tính năng +- Trò chuyện trực tuyến theo thời gian thực +- Lựa chọn mô hình AI +- Tìm kiếm và quản lý cuộc trò chuyện +- Nhập liệu bằng giọng nói (chuyển giọng nói thành văn bản) +- Tải lên tệp và hình ảnh để hỗ trợ tạo nội dung (RAG) +- Hỗ trợ thị giác và đa phương thức +- Hiển thị Markdown với tô sáng cú pháp +- Giao diện sáng, tối và theo hệ thống +- Lưu trữ thông tin đăng nhập an toàn (Keychain/Keystore) +- Trải nghiệm liền mạch ngay cả khi ngoại tuyến + +Yêu cầu +- Cần có máy chủ Open-WebUI đang hoạt động. Conduit không lưu trữ hay cung cấp các mô hình AI. +- Mặc định, không có dữ liệu nào được gửi đến dịch vụ bên thứ ba; mọi thứ đều nằm trên máy chủ bạn đã cấu hình. + +Quyền truy cập +- Micro: Nhập liệu bằng giọng nói +- Camera và Ảnh/Bộ nhớ: Đính kèm hình ảnh/tệp +- Mạng: Kết nối với máy chủ Open-WebUI của bạn + +Mã nguồn mở: +Conduit là một dự án mã nguồn mở. Để được hỗ trợ, báo cáo lỗi hoặc xem mã nguồn, vui lòng truy cập kho lưu trữ GitHub của chúng tôi tại: + +https://github.com/cogwheel0/conduit + +----- + +Tuyên bố từ chối trách nhiệm: Đây là ứng dụng độc lập, do bên thứ ba phát triển, được cấp phép theo Giấy phép Công cộng GNU phiên bản 3.0 (GPLv3) và không có liên kết chính thức với dự án OpenWebUI. \ No newline at end of file diff --git a/android/fastlane/metadata/android/vi/short_description.txt b/android/fastlane/metadata/android/vi/short_description.txt new file mode 100644 index 0000000..2527547 --- /dev/null +++ b/android/fastlane/metadata/android/vi/short_description.txt @@ -0,0 +1 @@ +Trò chuyện với AI do bạn tự lưu trữ. \ No newline at end of file diff --git a/android/fastlane/metadata/android/vi/title.txt b/android/fastlane/metadata/android/vi/title.txt new file mode 100644 index 0000000..a644f98 --- /dev/null +++ b/android/fastlane/metadata/android/vi/title.txt @@ -0,0 +1 @@ +Conduit: Open-WebUI Client \ No newline at end of file diff --git a/android/fastlane/metadata/android/vi/video.txt b/android/fastlane/metadata/android/vi/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/android/fastlane/metadata/android/zh-CN/full_description.txt b/android/fastlane/metadata/android/zh-CN/full_description.txt new file mode 100644 index 0000000..90192de --- /dev/null +++ b/android/fastlane/metadata/android/zh-CN/full_description.txt @@ -0,0 +1,31 @@ +Conduit 是一款开源的原生 Open-WebUI 移动客户端。连接到您自己的服务器,即可与 AI 模型畅聊、管理对话,随时随地安全地使用您的自托管 AI。 + +功能特性 +- 实时流式聊天 +- 模型选择 +- 对话搜索与管理 +- 语音输入(语音转文本) +- 支持上传文件和图片进行检索增强生成 (RAG) +- 支持视觉和多模态 +- Markdown 渲染并支持语法高亮 +- 提供浅色、深色和系统主题 +- 安全存储凭证(Keychain/Keystore) +- 支持离线使用 + +使用要求 +- 需要已搭建 Open-WebUI 服务器。Conduit 不托管或提供 AI 模型。 +- 默认情况下,您的数据不会发送到任何第三方服务,所有数据都保留在您配置的服务器上。 + +所需权限 +- 麦克风:用于语音输入 +- 相机和照片/存储:用于上传图片/文件附件 +- 网络:用于连接您的 Open-WebUI 服务器 + +开源项目: +Conduit 是一个开源项目。如需获取支持、报告问题或查看源代码,请访问我们的 GitHub 仓库: + +https://github.com/cogwheel0/conduit + +----- + +免责声明:本应用是根据 GNU 通用公共许可证 v3.0 (GPLv3) 授权的独立第三方应用,与 OpenWebUI 项目无官方关联。 \ No newline at end of file diff --git a/android/fastlane/metadata/android/zh-CN/short_description.txt b/android/fastlane/metadata/android/zh-CN/short_description.txt new file mode 100644 index 0000000..8eeece6 --- /dev/null +++ b/android/fastlane/metadata/android/zh-CN/short_description.txt @@ -0,0 +1 @@ +与您的自托管 AI 聊天。 \ No newline at end of file diff --git a/android/fastlane/metadata/android/zh-CN/title.txt b/android/fastlane/metadata/android/zh-CN/title.txt new file mode 100644 index 0000000..4751915 --- /dev/null +++ b/android/fastlane/metadata/android/zh-CN/title.txt @@ -0,0 +1 @@ +Conduit:Open-WebUI 客户端 \ No newline at end of file diff --git a/android/fastlane/metadata/android/zh-CN/video.txt b/android/fastlane/metadata/android/zh-CN/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/fastlane/metadata/en-US/images/conduit-demo.gif b/docs/conduit-demo.gif similarity index 100% rename from fastlane/metadata/en-US/images/conduit-demo.gif rename to docs/conduit-demo.gif diff --git a/docs/localization.md b/docs/localization.md deleted file mode 100644 index b27cd87..0000000 --- a/docs/localization.md +++ /dev/null @@ -1,63 +0,0 @@ -# Localization Guidelines - -This app uses Flutter's gen-l10n with ARB files in `lib/l10n`. - -- Source language: `en` (`lib/l10n/app_en.arb`) -- Translations: `lib/l10n/app_.arb` (e.g., `app_de.arb`) -- Generated Dart: `lib/l10n/app_localizations*.dart` (generated by Flutter) - -## Adding New Strings - -1. Edit `lib/l10n/app_en.arb` and add a key with a clear description meta entry. - - Example: - ```json - "greeting": "Hello, {name}!", - "@greeting": { - "description": "Friendly greeting with user name.", - "placeholders": { "name": { "type": "String", "example": "Alex" } } - } - ``` -2. Run `flutter gen-l10n` or just `flutter run` to regenerate localizations. -3. Use it in code: `AppLocalizations.of(context)!.greeting(name)`. - -## Placeholders and ICU - -- Always declare placeholders under the `@key.placeholders` block with `type` and optional `example`. -- Use ICU for plurals/select: - ```json - "itemsCount": "{count, plural, =0{No items} one{1 item} other{{count} items}}", - "@itemsCount": { "placeholders": { "count": { "type": "int" } } } - ``` - -## Punctuation and Style - -- Prefer typographic ellipsis `…` over `...`. -- Keep capitalization consistent across locales. -- Avoid embedding brand names in placeholders; keep them literal in strings. - -## Weblate - -This repository includes `weblate.yaml` to help auto-configure Weblate. - -- File mask: `lib/l10n/app_*.arb` -- Template: `lib/l10n/app_en.arb` -- New language file path: `lib/l10n/app_{language}.arb` -- Monolingual: `true` -- Base language: `en` - -Recommended Weblate add-ons: -- “JSON/ARB reformat” to keep formatting stable. -- “String freeze” (when preparing releases). -- Checks for placeholders to ensure `{name}`, `{count}`, etc. are preserved. - -## Generated Files Policy - -- Generated localization Dart files are NOT committed. They are ignored via `.gitignore` and generated during CI/build. -- Run `flutter gen-l10n` locally when you need IDE completion, or rely on `flutter run` which generates them automatically. - -## Common Tasks - -- Regenerate after ARB edits: - - `flutter gen-l10n --arb-dir=lib/l10n --output-dir=lib/l10n --template-arb-file=app_en.arb --output-localization-file=app_localizations.dart` -- Validate: - - `flutter analyze` diff --git a/fastlane/metadata/en-US/images/icon.png b/fastlane/metadata/en-US/images/icon.png deleted file mode 100644 index 3f1eeb9807f911f0a86745947ee78c34132342c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25959 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 2.0.2, < 7.0) + artifactory (3.0.17) + atomos (0.1.3) + aws-eventstream (1.4.0) + aws-partitions (1.1173.0) + aws-sdk-core (3.233.0) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + bigdecimal + jmespath (~> 1, >= 1.6.1) + logger + aws-sdk-kms (1.113.0) + aws-sdk-core (~> 3, >= 3.231.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.200.0) + aws-sdk-core (~> 3, >= 3.231.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.12.1) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + base64 (0.3.0) + bigdecimal (3.3.1) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.7.0) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.112.0) + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.1) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.1) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) + fastimage (2.4.0) + fastlane (2.228.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored (~> 1.2) + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.4.1) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.5.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.8) + domain_name (~> 0.5) + httpclient (2.9.0) + mutex_m + jmespath (1.6.2) + json (2.15.1) + jwt (2.10.2) + base64 + logger (1.7.0) + mini_magick (4.13.2) + mini_mime (1.1.5) + multi_json (1.17.0) + multipart-post (2.4.1) + mutex_m (0.3.0) + nanaimo (0.4.0) + naturally (2.3.0) + nkf (0.2.0) + optparse (0.6.0) + os (1.1.4) + plist (3.7.2) + public_suffix (6.0.2) + rake (13.3.0) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.4.4) + rouge (3.28.0) + ruby2_keywords (0.0.5) + rubyzip (2.4.1) + security (0.1.5) + signet (0.21.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 4.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + sysrandom (1.0.5) + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.6.0) + word_wrap (1.0.0) + xcodeproj (1.27.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.1) + rouge (~> 3.28.0) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-25 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.7.2 diff --git a/ios/fastlane/Appfile b/ios/fastlane/Appfile new file mode 100644 index 0000000..4b6a36d --- /dev/null +++ b/ios/fastlane/Appfile @@ -0,0 +1,8 @@ +app_identifier("app.cogwheel.conduit") # The bundle identifier of your app +apple_id("cogwheel@cogwheel.app") # Your Apple Developer Portal username + +itc_team_id("128030454") # App Store Connect Team ID +team_id("X2662V5DT2") # Developer Portal Team ID + +# For more information about the Appfile, see: +# https://docs.fastlane.tools/advanced/#appfile diff --git a/ios/fastlane/Deliverfile b/ios/fastlane/Deliverfile new file mode 100644 index 0000000..74739f7 --- /dev/null +++ b/ios/fastlane/Deliverfile @@ -0,0 +1,3 @@ +# The Deliverfile allows you to store various App Store Connect metadata +# For more information, check out the docs +# https://docs.fastlane.tools/actions/deliver/ diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile new file mode 100644 index 0000000..f2db6d5 --- /dev/null +++ b/ios/fastlane/Fastfile @@ -0,0 +1,25 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:ios) + +platform :ios do + desc "Push a new release build to the App Store" + lane :release do + skip_build_archive: true, + archive_path: "../build/ios/archive/Runner.xcarchive", + upload_to_app_store + end +end diff --git a/ios/fastlane/metadata/copyright.txt b/ios/fastlane/metadata/copyright.txt new file mode 100644 index 0000000..1cc5574 --- /dev/null +++ b/ios/fastlane/metadata/copyright.txt @@ -0,0 +1 @@ +2025 Tunap Paul diff --git a/ios/fastlane/metadata/en-US/apple_tv_privacy_policy.txt b/ios/fastlane/metadata/en-US/apple_tv_privacy_policy.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ios/fastlane/metadata/en-US/apple_tv_privacy_policy.txt @@ -0,0 +1 @@ + diff --git a/ios/fastlane/metadata/en-US/description.txt b/ios/fastlane/metadata/en-US/description.txt new file mode 100644 index 0000000..88cac8f --- /dev/null +++ b/ios/fastlane/metadata/en-US/description.txt @@ -0,0 +1,32 @@ +Conduit is an open-source, native mobile client for Open‑WebUI. Connect to your own server to chat with AI models, manage conversations, and take your self‑hosted AI with you—securely and on the go. + +Features +- Real-time streaming chat +- Model selection +- Conversation search and management +- Voice input (speech-to-text) +- File and image uploads for retrieval-augmented generation (RAG) +- Voice calling with on-device processing +- Tools support +- Markdown rendering with syntax highlighting +- Light, dark, and system themes +- Secure credential storage (Keychain/Keystore) +- Offline-aware experience + +Requirements +- Requires an existing Open‑WebUI server. Conduit does not host or provide AI models. +- No data is sent to third-party services by default; everything stays with your configured server. + +Permissions +- Microphone: Voice input +- Camera and Photos/Storage: Image/file attachments +- Network: Connect to your Open‑WebUI server + +Open Source: +Conduit is an open-source project. For support, to report issues, or to view the source code, please visit our GitHub repository: + +https://github.com/cogwheel0/conduit + +----- + +Disclaimer: This is an independent, third-party application licensed under the GNU General Public License v3.0 (GPLv3) and is not officially affiliated with the Open WebUI project. diff --git a/ios/fastlane/metadata/en-US/keywords.txt b/ios/fastlane/metadata/en-US/keywords.txt new file mode 100644 index 0000000..4b5f9d4 --- /dev/null +++ b/ios/fastlane/metadata/en-US/keywords.txt @@ -0,0 +1 @@ +conduit, openwebui, ai chat, llm chat, self hosted ai, ollama diff --git a/ios/fastlane/metadata/en-US/marketing_url.txt b/ios/fastlane/metadata/en-US/marketing_url.txt new file mode 100644 index 0000000..5b93e81 --- /dev/null +++ b/ios/fastlane/metadata/en-US/marketing_url.txt @@ -0,0 +1 @@ +https://github.com/cogwheel0/conduit diff --git a/ios/fastlane/metadata/en-US/name.txt b/ios/fastlane/metadata/en-US/name.txt new file mode 100644 index 0000000..b9d91d3 --- /dev/null +++ b/ios/fastlane/metadata/en-US/name.txt @@ -0,0 +1 @@ +Conduit: OpenWebUI Client diff --git a/ios/fastlane/metadata/en-US/privacy_url.txt b/ios/fastlane/metadata/en-US/privacy_url.txt new file mode 100644 index 0000000..e5ebee6 --- /dev/null +++ b/ios/fastlane/metadata/en-US/privacy_url.txt @@ -0,0 +1 @@ +https://github.com/cogwheel0/conduit/blob/main/PRIVACY_POLICY.md diff --git a/ios/fastlane/metadata/en-US/promotional_text.txt b/ios/fastlane/metadata/en-US/promotional_text.txt new file mode 100644 index 0000000..a594dc5 --- /dev/null +++ b/ios/fastlane/metadata/en-US/promotional_text.txt @@ -0,0 +1,2 @@ +Patch Release: Fix response solution, tools not enabling, connection issues. +New Languages: Spanish, Dutch, Russian and Chinese. diff --git a/ios/fastlane/metadata/en-US/release_notes.txt b/ios/fastlane/metadata/en-US/release_notes.txt new file mode 100644 index 0000000..a5d6b63 --- /dev/null +++ b/ios/fastlane/metadata/en-US/release_notes.txt @@ -0,0 +1 @@ +https://github.com/cogwheel0/conduit/releases/tag/v2.1.4 diff --git a/ios/fastlane/metadata/en-US/subtitle.txt b/ios/fastlane/metadata/en-US/subtitle.txt new file mode 100644 index 0000000..27f6306 --- /dev/null +++ b/ios/fastlane/metadata/en-US/subtitle.txt @@ -0,0 +1 @@ +Chat with your self‑hosted AI. diff --git a/ios/fastlane/metadata/en-US/support_url.txt b/ios/fastlane/metadata/en-US/support_url.txt new file mode 100644 index 0000000..bc18197 --- /dev/null +++ b/ios/fastlane/metadata/en-US/support_url.txt @@ -0,0 +1 @@ +https://github.com/cogwheel0/conduit/issues diff --git a/ios/fastlane/metadata/primary_category.txt b/ios/fastlane/metadata/primary_category.txt new file mode 100644 index 0000000..41f44c0 --- /dev/null +++ b/ios/fastlane/metadata/primary_category.txt @@ -0,0 +1 @@ +UTILITIES diff --git a/ios/fastlane/metadata/primary_first_sub_category.txt b/ios/fastlane/metadata/primary_first_sub_category.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ios/fastlane/metadata/primary_first_sub_category.txt @@ -0,0 +1 @@ + diff --git a/ios/fastlane/metadata/primary_second_sub_category.txt b/ios/fastlane/metadata/primary_second_sub_category.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ios/fastlane/metadata/primary_second_sub_category.txt @@ -0,0 +1 @@ + diff --git a/ios/fastlane/metadata/review_information/demo_password.txt b/ios/fastlane/metadata/review_information/demo_password.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ios/fastlane/metadata/review_information/demo_password.txt @@ -0,0 +1 @@ + diff --git a/ios/fastlane/metadata/review_information/demo_user.txt b/ios/fastlane/metadata/review_information/demo_user.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ios/fastlane/metadata/review_information/demo_user.txt @@ -0,0 +1 @@ + diff --git a/ios/fastlane/metadata/review_information/email_address.txt b/ios/fastlane/metadata/review_information/email_address.txt new file mode 100644 index 0000000..c887157 --- /dev/null +++ b/ios/fastlane/metadata/review_information/email_address.txt @@ -0,0 +1 @@ +cogwheel@cogwheel.app diff --git a/ios/fastlane/metadata/review_information/first_name.txt b/ios/fastlane/metadata/review_information/first_name.txt new file mode 100644 index 0000000..aaa22e5 --- /dev/null +++ b/ios/fastlane/metadata/review_information/first_name.txt @@ -0,0 +1 @@ +Tunap diff --git a/ios/fastlane/metadata/review_information/last_name.txt b/ios/fastlane/metadata/review_information/last_name.txt new file mode 100644 index 0000000..728a979 --- /dev/null +++ b/ios/fastlane/metadata/review_information/last_name.txt @@ -0,0 +1 @@ +Paul diff --git a/ios/fastlane/metadata/review_information/notes.txt b/ios/fastlane/metadata/review_information/notes.txt new file mode 100644 index 0000000..1e7e514 --- /dev/null +++ b/ios/fastlane/metadata/review_information/notes.txt @@ -0,0 +1,32 @@ +To quickly test Conduit without setting up a server: + +- Launch the app - You'll see the server connection screen +- Long press on the Conduit logo (the app icon at the top) for 2 seconds +- You'll see "Reviewer Mode enabled" notification +- Tap "Enter Demo" button that appears + +In demo mode, you can test all core functionality: + +• Chat Interface: Send messages and receive AI-like responses +• Model Selection: Tap the model name in the header to switch between demo models +• Voice Input: Tap the microphone button to test voice input (will request microphone permission) +• File Attachments: Tap the + button to attach images or files (will request photo/file access) +• Multiple Conversations: Access the menu (≡) to create new chats or switch between them +• Offline Functionality: Demo mode works completely offline + +The app may request: + +• Microphone: For voice input feature (optional) +• Photo Library: For image attachments (optional) +• Notifications: For message alerts (optional) + +All permissions are optional and the app functions without them. + +Notes + +• Demo mode provides a fully functional experience without requiring server setup +• All data in demo mode is stored locally on device +• No network requests are made in demo mode +• The green "REVIEWER MODE" badge indicates you're in demo mode + +The demo mode is specifically designed for app reviewers to explore Conduit's capabilities. diff --git a/ios/fastlane/metadata/review_information/phone_number.txt b/ios/fastlane/metadata/review_information/phone_number.txt new file mode 100644 index 0000000..e5eeb48 --- /dev/null +++ b/ios/fastlane/metadata/review_information/phone_number.txt @@ -0,0 +1 @@ ++919564073483 diff --git a/ios/fastlane/metadata/secondary_category.txt b/ios/fastlane/metadata/secondary_category.txt new file mode 100644 index 0000000..cd65e79 --- /dev/null +++ b/ios/fastlane/metadata/secondary_category.txt @@ -0,0 +1 @@ +PRODUCTIVITY diff --git a/ios/fastlane/metadata/secondary_first_sub_category.txt b/ios/fastlane/metadata/secondary_first_sub_category.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ios/fastlane/metadata/secondary_first_sub_category.txt @@ -0,0 +1 @@ + diff --git a/ios/fastlane/metadata/secondary_second_sub_category.txt b/ios/fastlane/metadata/secondary_second_sub_category.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ios/fastlane/metadata/secondary_second_sub_category.txt @@ -0,0 +1 @@ +