diff --git a/README.md b/README.md index 2ed309b8..909542cf 100644 --- a/README.md +++ b/README.md @@ -5,31 +5,34 @@ A GUI for the Chameleon Ultra/Chameleon Lite written in Flutter for cross platfo [![Open collective](https://opencollective.com/chameleon-ultra-gui/tiers/badge.svg)](https://opencollective.com/chameleon-ultra-gui#support) [![Crowdin](https://badges.crowdin.net/chameleonultragui/localized.svg)](https://crowdin.com/project/chameleonultragui) +### [Full documentation here](https://docs.chameleonultragui.dev) + ## Installation #### Windows -Download the installer: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows-installer.zip (Quicklink for sharing: https://chameleonultragui.dev/windows) +Download the installer [here](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows-installer.zip). Quickshare link: https://chameleonultragui.dev/windows + +Or, [portable version](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows.zip). Quickshare link: https://chameleonultragui.dev/windows-portable -Or, without installer: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows.zip #### Linux Download the Linux build -- Debian-based (.deb): https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux-debian.zip (Quicklink for sharing: https://chameleonultragui.dev/linux-debian) -- Arch-based: https://aur.archlinux.org/packages/chameleonultragui / https://aur.archlinux.org/packages/chameleonultragui-git -- Other: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux.zip (Quicklink for sharing: https://chameleonultragui.dev/linux) +- [Debian-based (.deb)](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux-debian.zip). Quickshare link: https://chameleonultragui.dev/linux-debian +- [Arch-based](https://aur.archlinux.org/packages/chameleonultragui) / [Arch-based-GIT](https://aur.archlinux.org/packages/chameleonultragui-git). Quickshare link: https://chameleonultragui.dev/linux-arch +- [Other](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux.zip). Quickshare link: https://chameleonultragui.dev/linux #### macOS / iOS / iPadOS -Download it from Apple App Store: [Chameleon Ultra GUI](https://apps.apple.com/app/chameleon-ultra-gui/id6462919364) (Quicklink for sharing: https://chameleonultragui.dev/macos) +Download it from Apple App Store: [Chameleon Ultra GUI](https://apps.apple.com/app/chameleon-ultra-gui/id6462919364). Quickshare link: https://chameleonultragui.dev/ios #### Android -Download it from Google Play Store: [Chameleon Ultra GUI](https://play.google.com/store/apps/details?id=io.chameleon.ultra) (Quicklink for sharing: https://chameleonultragui.dev/android) +Download it from Google Play Store: [Chameleon Ultra GUI](https://play.google.com/store/apps/details?id=io.chameleon.ultra). Quickshare link: https://chameleonultragui.dev/android -Or, plain APK: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/apk.zip +Or, plain [APK](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/apk.zip). Quickshare link: https://chameleonultragui.dev/android-apk #### Pending stores: - F-Store: not yet diff --git a/chameleonultragui/lib/l10n/app_zh_Hans.arb b/chameleonultragui/lib/l10n/app_zh_Hans.arb deleted file mode 100644 index dbf5ed21..00000000 --- a/chameleonultragui/lib/l10n/app_zh_Hans.arb +++ /dev/null @@ -1,207 +0,0 @@ -{ - "@@locale": "zh_Hans", - "ok": "\u786e\u5b9a", - "cancel": "\u53d6\u6d88", - "close": "\u5173\u95ed", - "save": "\u4fdd\u5b58", - "no": "\u5426", - "yes": "\u662f", - "enabled": "\u542f\u7528", - "disabled": "\u7981\u7528", - "available": "\u53ef\u7528\u7684", - "unavailable": "\u4e0d\u53ef\u7528", - "connect": "\u8fde\u63a5", - "home": "\u9996\u9875", - "card": "\u5361\u7247", - "cards": "\u5361\u724c", - "dictionary": "\u5b57\u5178", - "dictionaries": "\u5b57\u5178", - "slot": "\u5361\u69fd", - "slots": "\u5361\u69fd", - "slot_manager": "\u5361\u69fd\u7ba1\u7406", - "saved_cards": "\u5df2\u4fdd\u5b58\u7684\u5361", - "read_card": "\u8bfb\u53d6\u5361\u7247", - "write_card": "\u5199\u5165\u5361\u7247", - "settings": "\u8bbe\u7f6e", - "theme": "\u4e3b\u9898", - "system": "\u7cfb\u7edf", - "light": "\u6d45\u8272", - "dark": "\u6697\u8272", - "color_scheme": "\u989c\u8272\u4e3b\u9898", - "def": "\u9ed8\u8ba4", - "purple": "\u7d2b\u8272", - "blue": "\u84dd\u8272", - "green": "\u7eff\u8272", - "indigo": "\u975b\u9752\u8272", - "lime": "\u9ec4\u7eff\u8272", - "red": "\u7ea2\u8272", - "yellow": "\u9ec4\u8272", - "about": "\u5173\u4e8e", - "activate": "\u542f\u7528", - "deactivate": "\u7981\u7528", - "debug_mode": "\u6d4b\u8bd5\u6a21\u5f0f", - "debug_mode_confirmation": "\u4f60\u786e\u5b9a\u8981\u8fdb\u5165 {mode} \u8c03\u8bd5\u6a21\u5f0f\u5417\uff1f \u5b83\u662f\u4e13\u95e8\u4e3a\u5f00\u53d1\u4eba\u5458\u521b\u5efa\u7684\uff0c\u7528\u4e8e\u5728\u4e0d\u652f\u6301\u7684\u5e73\u53f0\u4e0a\u6d4b\u8bd5\u7279\u5b9a\u7684\u5e94\u7528\u7a0b\u5e8f\u529f\u80fd\u3002", - "debug": "\u8c03\u8bd5", - "debug_page_warning": "\u4f7f\u7528\u6b64\u83dc\u5355\u53ef\u80fd\u4f1a\u4f7f\u60a8\u7684 Chameleon \u6c38\u4e45\u53d8\u7816\u3002", - "warned": "\u60a8\u5df2\u88ab\u8b66\u544a\u3002", - "platform": "\u8bbe\u5907\u5e73\u53f0", - "android": "\u5b89\u5353", - "serial_protocol": "\u4e32\u884c\u534f\u8bae", - "chameleon_connected": "Chameleon \u5df2\u8fde\u63a5", - "chameleon_device_type": "Chameleon \u8bbe\u5907\u7c7b\u578b", - "nested_attack": "\u5bf9\u5361\u7247\u8fdb\u884cNested\u653b\u51fb", - "darkside_attack": "\u5bf9\u5361\u7247\u8fdb\u884cNested\u653b\u51fb", - "copy_uid": "\u590d\u5236\u5361\u7684 UID", - "test_naming": "\u6d4b\u8bd5\u540d\u79f0", - "test_nested_lib": "\u6d4b\u8bd5Nested\u5e93", - "test_darkside_lib": "\u6d4b\u8bd5 Darkside \u5e93", - "dfu_flash_ultra": "\u901a\u8fc7DFU\u5237\u53d8\u8272\u9f99Ultra\u7684\u56fa\u4ef6", - "dfu_flash_lite": "\u901a\u8fc7DFU\u5237\u53d8\u8272\u9f99Lite\u7684\u56fa\u4ef6", - "safe_option": "\u5b89\u5168\u9009\u9879", - "restart_chameleon": "\u91cd\u542fChameleon", - "error": "\u9519\u8bef", - "chameleon_is_dfu": "Chameleon \u5904\u4e8eDFU\u6a21\u5f0f\u3002", - "firmware_is_corrupted": "\u8fd9\u53ef\u80fd\u610f\u5473\u7740\u60a8\u7684\u56fa\u4ef6\u5df2\u635f\u574f\uff0c\u60a8\u60f3\u8981\u5237\u5165\u6700\u65b0\u7684\u56fa\u4ef6\u5417\uff1f", - "flash": "\u5237\u5199", - "dfu": " (DFU)", - "keys": "\u5bc6\u94a5", - "found_keys": "\u5df2\u627e\u5230\u5bc6\u94a5", - "please_wait": "\u8bf7\u7b49\u5f85", - "used_slots": "\u5df2\u4f7f\u7528\u7684\u5361\u69fd", - "firmware_version": "\u56fa\u4ef6\u7248\u672c", - "update_error": "\u66f4\u65b0\u51fa\u9519", - "up_to_date": "\u60a8\u7684 Chameleon {model} \u56fa\u4ef6\u662f\u6700\u65b0\u7684", - "downloading_fw": "\u6b63\u5728\u4e0b\u8f7d\u5e76\u51c6\u5907\u65b0\u7684 Chameleon {model} \u56fa\u4ef6...", - "check_updates": "\u68c0\u67e5\u66f4\u65b0", - "emulator_mode": "\u8f6c\u81f3\u6a21\u62df\u6a21\u5f0f", - "reader_mode": "\u8f6c\u5230\u8bfb\u5361\u5668\u6a21\u5f0f", - "recover_keys_via": "\u4ece {mode} \u6a21\u5f0f\u83b7\u53d6\u5bc6\u94a5", - "recover_keys": "\u83b7\u53d6\u5bc6\u94a5", - "recover_keys_nonce": "\u4ece {number} \u4e2a\u968f\u673a\u6570\u4e2d\u6062\u590d\u5bc6\u94a5", - "restart_required": "\u9700\u8981\u91cd\u65b0\u542f\u52a8", - "take_effects": "\u6539\u52a8\u5c06\u5728\u91cd\u542f\u540e\u751f\u6548.", - "language": "\u5207\u6362\u8bed\u8a00", - "sidebar_expansion": "\u4fa7\u8fb9\u680f\u6269\u5c55", - "expand": "\u5c55\u5f00", - "retract": "\u7f29\u56de", - "auto": "\u81ea\u52a8", - "restart_now": "\u7acb\u5373\u91cd\u542f", - "about_text": "\u7528GUI\u7ba1\u7406\u548c\u914d\u7f6e Chameleon Ultra \u7684\u5de5\u5177\uff0c\u7528 Flutter \u7f16\u5199\u4ee5\u4fbf\u4e8e\u5728\u684c\u9762\u548c\u79fb\u52a8\u8bbe\u5907\u4e0a\u8fd0\u884c\u3002", - "version": "\u7248\u672c", - "developed_by": "\u5f00\u53d1\u8005:", - "license": "\u8bb8\u53ef\u534f\u8bae", - "thanks_for_support": "\u611f\u8c22\u6240\u6709\u5728Open Collective\u4e0a\u652f\u6301\u6211\u4eec\u7684\u4eba\uff01", - "code_contributors": "\u4ee3\u7801\u8d21\u732e\u8005", - "not_implemented": "\u672a\u5b8c\u6210\u7684\u529f\u80fd", - "edit_data": "\u7f16\u8f91\u6570\u636e", - "enter_data": "\u8f93\u5165\u6570\u636e", - "sector": "\u6247\u533a", - "edit_card": "\u7f16\u8f91\u5361\u7247", - "please_enter_name": "\u8bf7\u8f93\u5165\u540d\u79f0", - "name": "\u540d\u79f0", - "enter_name": "\u8bf7\u8f93\u5165\u5361\u7247\u540d\u79f0", - "pick_color": "\u9009\u62e9\u989c\u8272", - "reset_default": "\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u8bbe\u7f6e", - "please_enter_something": "\u8bf7\u8f93\u5165{name}", - "uid": "UID", - "sak": "SAK", - "atqa": "ATQA", - "enter_something": "\u8f93\u5165\u540d\u79f0{name}", - "must_or": "{name} \u957f\u5ea6\u5fc5\u987b\u4e3a {a} \u6216 {b} \u5b57\u8282\u3002", - "must_be": "{name} \u957f\u5ea6\u5fc5\u987b\u4e3a {a} \u5b57\u8282\u3002", - "device_settings": "\u8bbe\u5907\u8bbe\u7f6e", - "firmware_management": "\u56fa\u4ef6\u7ba1\u7406", - "enter_dfu": "\u8fdb\u5165 DFU \u6a21\u5f0f", - "flash_via_dfu": "\u901a\u8fc7 DFU \u5237\u5165\u6700\u65b0\u7684\u56fa\u4ef6", - "flash_zip_dfu": "\u4f7f\u7528\u538b\u7f29\u5305\u901a\u8fc7DFU \u5237\u5165\u56fa\u4ef6", - "animations": "\u52a8\u753b", - "button_config": "\u6309\u94ae\u8bbe\u7f6e", - "button_x": "{x} \u6309\u952e", - "long_press": "\u957f\u6309", - "disable": "\u7981\u7528", - "forward": "\u5411\u524d", - "backward": "\u5411\u540e", - "clone_uid": "\u514b\u9686UID", - "other": "\u5176\u4ed6", - "reset_settings": "\u91cd\u7f6e\u8bbe\u7f6e", - "factory_reset": "\u6062\u590d\u51fa\u5382\u8bbe\u7f6e", - "factory_reset_confirmation": "\u60a8\u786e\u5b9a\u8981\u51fa\u5382\u91cd\u7f6eChameleon\u5417\uff1f", - "full": "\u5168\u90e8", - "mini": "\u8ff7\u4f60", - "none": "\u65e0", - "edit_dictionary": "\u7f16\u8f91\u5b57\u5178", - "enter_dict_name": "\u8f93\u5165\u5b57\u5178\u540d\u79f0", - "enter_dict_keys": "\u8f93\u5165\u5bc6\u94a5\u4ee5\u52a0\u5165\u5b57\u5178", - "empty": "\u7a7a", - "slot_settings": "\u5361\u69fd\u8bbe\u7f6e", - "slot_status": "\u5361\u69fd\u72b6\u6001", - "hf": "\u9ad8\u9891", - "lf": "\u4f4e\u9891", - "mifare_classic_emulator_settings": "Mifare\u5361\u6a21\u62df\u5668\u8bbe\u7f6e", - "mode_gen1a": "Gen1A \u9b54\u6cd5\u6a21\u5f0f", - "mode_gen2": "Gen2 \u9b54\u6cd5\u6a21\u5f0f", - "use_from_block": "\u4f7f\u75280\u5757\u7684 UID/SAK/ATQA", - "collect_nonces": "\u6536\u96c6\u968f\u673a\u6570 ({type})", - "present_cham_reader_keys": "\u5c06Chameleon\u653e\u5728\u8bfb\u5361\u5668\u4e0a\u4ee5\u83b7\u53d6\u5bc6\u94a5", - "ena_coll_recover_keys": "\u542f\u7528\u83b7\u53d6\u5bc6\u94a5\u6a21\u5f0f", - "write_mode": "\u5199\u6a21\u5f0f", - "normal": "\u6b63\u5e38", - "decline": "\u62d2\u7edd", - "deceive": "\u6b3a\u8bc8", - "shadow": "\u6697\u5f71", - "outdated_fw": "\u8fc7\u65e7\u7684\u56fa\u4ef6", - "unknown": "\u672a\u77e5", - "recovery_error_no_supported": "\u5c1a\u4e0d\u652f\u6301\u83b7\u53d6\u6b64\u5361\u7684\u5bc6\u94a5", - "recovery_error_no_keys_darkside": "\u6b64\u5361\u4e0d\u80fd\u88abDarkside\u653b\u51fb", - "recovery_error_dict": "\u5b57\u5178\u653b\u51fb\u672a\u80fd\u83b7\u53d6\u5bc6\u94a5", - "recovery_error_dump_data": "\u5bfc\u51fa\u6570\u636e\u65f6\u51fa\u4e86\u9519\u3002", - "output_file": "\u8bf7\u9009\u62e9\u4e00\u4e2a\u8f93\u51fa\u6587\u4ef6", - "hf_tag_info": "\u9ad8\u9891\u5361\u7684\u4fe1\u606f", - "lf_tag_info": "\u4f4e\u9891\u5361\u7684\u4fe1\u606f", - "no_card_found": "\u6ca1\u6709\u53d1\u73b0\u5361\u7247\u3002\u8bf7\u5c1d\u8bd5\u5728\u5361\u4e0a\u79fb\u52a8Chameleon", - "no_supported": "\u4e0d\u652f\u6301\u7684\u64cd\u4f5c", - "lite_no_read": "Chameleon Lite \u4e0d\u652f\u6301\u8bfb\u5361", - "read": "\u8bfb\u53d6", - "write": "\u5199\u5165", - "save_only_uid": "\u4ec5\u4fdd\u5b58 UID", - "letter_space": "{letter} ", - "dump_partial_data": "\u5bfc\u51fa\u90e8\u5206\u6570\u636e", - "additional_key_dict": "\u9644\u52a0\u5bc6\u94a5\u8bcd\u5178", - "check_keys_dict": "\u8f93\u5165\u5bc6\u94a5\u4ee5\u52a0\u5165\u5b57\u5178", - "dump_card": "\u8f6c\u50a8\u5361\u7247", - "save_as": "\u53e6\u5b58\u4e3a {name}", - "correct_tag_data": "\u6821\u6b63\u5361\u7247\u7684\u4fe1\u606f", - "uid_len": "UID {len} \u5b57\u8282\u957f\u5ea6", - "tag_type": "\u5361\u7247\u7c7b\u578b", - "select_save_format": "\u9009\u62e9\u6587\u4ef6\u683c\u5f0f", - "key_count": "\u5bc6\u94a5\u6570\u91cf", - "all": "\u5168\u90e8", - "no_name": "\u65e0\u540d\u79f0", - "connecting_to_ble": "\u6b63\u5728\u901a\u8fc7\u84dd\u7259\u8fde\u63a5\u8bbe\u5907...", - "default_ble_password": "\u9ed8\u8ba4\u7684\u84dd\u7259\u8fde\u63a5\u5bc6\u7801\u662f 123456", - "connection_might_take_some_time": "\u7b2c\u4e00\u6b21\u8fde\u63a5\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4", - "too_long_name": "\u540d\u79f0\u592a\u957f", - "save_recovered_keys": "\u4fdd\u5b58\u83b7\u53d6\u7684\u5bc6\u94a5", - "save_recovered_keys_where": "\u60a8\u60f3\u5728\u54ea\u91cc\u4fdd\u5b58\u83b7\u53d6\u7684\u5bc6\u94a5\uff1f", - "save_recovered_keys_to_file": "\u5c06\u83b7\u53d6\u7684\u5bc6\u94a5\u4fdd\u5b58\u5230\u6587\u4ef6", - "add_recovered_keys_to_existing_dict": "\u5c06\u83b7\u53d6\u7684\u5bc6\u94a5\u6dfb\u52a0\u5230\u5df2\u6709\u5b57\u5178\u4e2d", - "create_new_dict_with_recovered_keys": "\u7528\u83b7\u53d6\u7684\u5bc6\u94a5\u521b\u5efa\u65b0\u8bcd\u5178", - "recovery_in_progress": "\u6b63\u5728\u83b7\u53d6\u5bc6\u94a5\uff0c\u8bf7\u7a0d\u5019...", - "clear_ble_bonds": "\u6e05\u9664\u5df2\u7ed1\u5b9a\u7684\u8bbe\u5907", - "ble_pin": "\u84dd\u7259 PIN", - "enter_pin": "\u8f93\u5165PIN", - "pin_must_be_6_digits": "PIN \u5fc5\u987b\u5177\u6709\u81f3\u5c116\u4e2a\u6570\u5b57", - "clear_ble_bonds_confirmation": "\u60a8\u786e\u5b9a\u8981\u6e05\u9664\u5df2\u901a\u8fc7\u84dd\u7259\u8fde\u63a5\u8fc7\u7684\u8bbe\u5907\u5417\uff1f\u8fd9\u5c06\u8981\u6c42\u60a8\u5728\u91cd\u65b0\u8fde\u63a5\u4e4b\u524d\u79fb\u9664\u5df2\u8fde\u63a5\u7684Chameleon\u3002", - "ble_need_to_remove_pair": "\u5982\u679c\u60a8\u66f4\u6539\u4e86\u5bc6\u7801\u6216\u672a\u914d\u5bf9\u7684\u6240\u6709\u8bbe\u5907\u65e0\u6cd5\u8fde\u63a5\uff0c\u60a8\u9700\u8981\u5728\u60a8\u7684\u8bbe\u5907\u84dd\u7259\u8bbe\u7f6e\u4e2d\u5220\u9664 Chameleon", - "shared_preferences_logging": "\u5171\u4eab\u9996\u9009\u9879\u65e5\u5fd7", - "production_logging": "\u8bb0\u5f55\u8bbe\u5907", - "slow_down_warning": "\u5e94\u7528\u53ef\u80fd\u4f1a\u5361\u987f\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528", - "enable_production_logging": "\u542f\u7528\u8bbe\u5907\u65e5\u5fd7\u8bb0\u5f55", - "disable_production_logging": "\u7981\u7528\u8bbe\u5907\u65e5\u5fd7\u8bb0\u5f55", - "clear_logs": "\u6e05\u9664\u65e5\u5fd7", - "copy_logs_to_clipboard": "\u590d\u5236\u65e5\u5fd7\u5230\u526a\u8d34\u677f", - "recovery_library": "\u6062\u590d\u5e93", - "force_flashing": "\u5f3a\u5236\u5237\u5165", - "chameleon_flashing_title_easter_egg": "\u60a8\u7684Chameleon{model} \u6b63\u5728\u5237\u5165", - "chameleon_flashing_title": "\u5728\u60a8\u7684Chameleon {model} \u4e0a\u5b89\u88c5\u56fa\u4ef6" -} \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 682f09ff..b033e8e9 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ # Chameleon Ultra GUI Documentation ## Table of Contents -- [Chameleon Ultra GUI Documentation](#chamaleonultragui-documentation) +- [Chameleon Ultra GUI Documentation](#chameleon-ultra-gui-documentation) - [Table of Contents](#table-of-contents) - [Introduction](#introduction) - [Installation](#installation) @@ -17,6 +17,7 @@ - [Settings](#settings) - [Contributing](#contributing) - [Translations](#translations) + - [Donate](#donate) - [License](#license) ## Introduction @@ -40,27 +41,28 @@ The installation process is designed to be intuitive and straightforward. We'll #### Windows -Download the installer: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows-installer.zip +Download the installer [here](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows-installer.zip). Quickshare link: https://chameleonultragui.dev/windows + +Or, [portable version](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows.zip). Quickshare link: https://chameleonultragui.dev/windows-portable -Or, without installer: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows.zip #### Linux Download the Linux build -- Debian-based (.deb): https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux-debian.zip -- Arch-based: https://aur.archlinux.org/packages/chameleonultragui / https://aur.archlinux.org/packages/chameleonultragui-git -- Other: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux.zip +- [Debian-based (.deb)](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux-debian.zip). Quickshare link: https://chameleonultragui.dev/linux-debian +- [Arch-based](https://aur.archlinux.org/packages/chameleonultragui) / [Arch-based-GIT](https://aur.archlinux.org/packages/chameleonultragui-git). Quickshare link: https://chameleonultragui.dev/linux-arch +- [Other](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux.zip). Quickshare link: https://chameleonultragui.dev/linux #### macOS / iOS / iPadOS -Download it from Apple App Store: [Chameleon Ultra GUI](https://apps.apple.com/app/chameleon-ultra-gui/id6462919364) +Download it from Apple App Store: [Chameleon Ultra GUI](https://apps.apple.com/app/chameleon-ultra-gui/id6462919364). Quickshare link: https://chameleonultragui.dev/ios #### Android -Download it from Google Play Store: [Chameleon Ultra GUI](https://play.google.com/store/apps/details?id=io.chameleon.ultra) +Download it from Google Play Store: [Chameleon Ultra GUI](https://play.google.com/store/apps/details?id=io.chameleon.ultra). Quickshare link: https://chameleonultragui.dev/android -Or, plain APK: https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/apk.zip +Or, plain [APK](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/apk.zip). Quickshare link: https://chameleonultragui.dev/android-apk ## Usage @@ -125,7 +127,7 @@ Contributions are welcome, most stuff that needs to be done can either be found ## Translations -To translate the app to your language, go our Crowdin project: [Chameleon Ultra GUI](https://crowdin.com/project/chameleon-ultra-gui), join it and start translating. +To translate the app to your language, go our Crowdin project: [Chameleon Ultra GUI](https://translate.chameleonultragui.dev), join it and start translating. Do not contribute files to `chameleonultragui/lib/l10n/app_*.arb` as they will be automatically deleted. All translations should be added only to Crowdin. If your language is missing, you can create issue and ask to enable it. @@ -133,6 +135,11 @@ Do not contribute files to `chameleonultragui/lib/l10n/app_*.arb` as they will b Languages that are at least **70%** translated will be automatically deployed within the application. +## Donate +You want to support us and donate? Thank you, you make it possible for us to keep this app free and make it easier to publish this app on the Apple App Store. + +Open Collective: [Chameleon Ultra GUI](https://opencollective.com/chameleon-ultra-gui). Quickshare link: https://chameleonultragui.dev/oc + ## License [GPL-3.0 License](https://github.com/GameTec-live/ChameleonUltraGUI?tab=GPL-3.0-1-ov-file#)