Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 16 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ Install SideStore (or other apps) and import your pairing file with ease
## How to use

- Install usbmuxd for your platform
- Windows: [iTunes](https://apple.co/ms)
- macOS: Included
- Linux: Potentially included, if not, install via your package manager
- Windows: [iTunes](https://apple.co/ms)
- macOS: Included
- Linux: Potentially included, if not, install via your package manager
- Install the latest version for your platform from the [releases](https://github.com/nab138/iloader/releases)
- Plug in your iDevice to your computer
- Open the app
Expand All @@ -48,9 +48,9 @@ Install SideStore (or other apps) and import your pairing file with ease
- If you are unable to solve an issue on your own, copy the full error message and ask on the [idevice Discord server](https://discord.gg/EA6yVgydBz) or [open an issue](https://github.com/nab138/iloader/issues).
- You can view app logs with the "View Logs." If nothing is showing up, change the log level to "Debug."
- If those logs aren't helpful, logs with additional are stored in the following locations:
- Windows: `%APPDATA%\me.nabdev.iloader\logs`
- macOS: `~/Library/Application Support/me.nabdev.iloader/logs`
- Linux: `~/.local/share/me.nabdev.iloader/logs/`
- Windows: `%APPDATA%\me.nabdev.iloader\logs`
- macOS: `~/Library/Application Support/me.nabdev.iloader/logs`
- Linux: `~/.local/share/me.nabdev.iloader/logs/`

## Translating

Expand All @@ -64,9 +64,9 @@ To add a new language, add your language to `src/i18next.ts`, and in `src/locale

```ts
const languages = [
["en", "English"],
["es", "Español"],
// Your language here...
["en", "English"],
["es", "Español"],
// Your language here...
] as const;
```

Expand All @@ -89,9 +89,9 @@ Make a production build: `bun tauri build` (or `npm run tauri build`)
- UI improved by [StephenDev0](https://github.com/StephenDev0)
- [idevice](https://github.com/jkcoxson/idevice) by [jkcoxson](https://github.com/jkcoxson) for communicating with iOS devices
- [isideload](https://github.com/nab138/isideload) for installing apps
- A [modified version of apple-platform-rs](https://github.com/nab138/isideload-apple-platform-rs) was used for codesigning, based off [plume-apple-platform-rs](https://github.com/plumeimpactor/plume-apple-platform-rs)
- [Impactor](https://github.com/khcrysalis/Impactor) was used as a reference for cryptography, codesigning, and provision file parsing.
- [Sideloader](https://github.com/Dadoum/Sideloader) was used as a reference for how apple private developer endpoints work
- A [modified version of apple-platform-rs](https://github.com/nab138/isideload-apple-platform-rs) was used for codesigning, based off [plume-apple-platform-rs](https://github.com/plumeimpactor/plume-apple-platform-rs)
- [Impactor](https://github.com/khcrysalis/Impactor) was used as a reference for cryptography, codesigning, and provision file parsing.
- [Sideloader](https://github.com/Dadoum/Sideloader) was used as a reference for how apple private developer endpoints work
- [idevice_pair](https://github.com/jkcoxson/idevice_pair) was used as a reference for pairing file management
- App made with [tauri](https://tauri.app)

Expand All @@ -105,6 +105,7 @@ Thank you to everyone who has contributed translations! See the [Translating](#t
- [IamArayel](https://github.com/IamArayel): French (fr)
- [kkula9999](https://github.com/kkula9999): Traditional & Simplified Chinese (zh_tw & zh_cn)
- [sibwaze](https://github.com/sibwaze): Russian (ru)
- [mirdukkkkk](https://github.com/mirdukkkkk): Improved Russian (ru)
- [okinaau](https://github.com/okinaau): Arabic (ar)
- [WingChunWong](https://github.com/WingChunWong): Cantonese (zh_hk) & Improved Chinese (zh_tw & zh_cn)
- [marcinmajsc](https://github.com/marcinmajsc): Polish (pl)
Expand Down Expand Up @@ -134,9 +135,9 @@ You may retain or use branding materials in forks, tutorials, or documentation i
- Automatic anisette fallback
- Team selection when an account has multiple teams
- Auto-refresh installed apps
- Minimize to tray
- Detect installed apps
- Refresh apps automatically
- Minimize to tray
- Detect installed apps
- Refresh apps automatically
- Set a "default" account to automatically log into
- Import SideStore account info automatically
- Mount DDI and open sidestore after installation
106 changes: 94 additions & 12 deletions src/locales/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"version": "Версия",
"common": {
"confirm": "Подтвердить",
"cancel": "Закрыть",
"dismiss": "Отменить",
"cancel": "Отменить",
"dismiss": "Закрыть",
"refresh": "Обновить",
"delete": "Удалить",
"copy_to_clipboard": "Скопировать в буфер обмена",
Expand All @@ -26,12 +26,12 @@
"section_account": "Аккаунт",
"section_placeholder": "Заглушка",
"section_management": "Управление",
"manage_pairing_file": "Управление файлом сопряжения",
"manage_pairing_file": "Файлы сопряжения",
"refresh_devices": "Обновить устройства",
"certificates": "Сертификаты",
"app_ids": "ID приложений",
"devices": "Устройства",
"active_device": "Активно: {{name}}",
"active_device": "Выбрано: {{name}}",
"select_device": "Выберите устройство",
"installers": "Установщики",
"choose_build": "Выберите сборку",
Expand All @@ -53,7 +53,7 @@
"signing_out": "Выход...",
"sign_out_failed": "Не удалось выйти",
"signed_out_success": "Выход выполнен успешно!",
"saved_logins": "Сохраненные логины",
"saved_logins": "Сохраненные аккаунты",
"sign_in": "Войти",
"logging_in": "Вход...",
"logged_in_success": "Вход выполнен успешно!",
Expand All @@ -78,18 +78,22 @@
"max_certs_desc": "iloader отзовёт Ваши текущие сертификаты и создаст новый.",
"hide_certificate_list": "Скрыть список сертификатов",
"choose_what_to_revoke": "Выберите сертификат для отзыва",
"continue": "Продолжить"
"continue": "Продолжить",
"no_keyring_available": "Не удалось сохранить данные входа на этом устройстве."
},
"device": {
"title": "iDevice",
"failed_select_prefix": "Не удалось выбрать устройство: ",
"loading_devices": "Загрузка устройств...",
"no_devices_found": "Устройства не найдены",
"found_device": "Обнаружено устройство",
"found_devices": "Обнаружены устройства",
"unable_load_devices_prefix": "Не удалось загрузить устройства: ",
"unable_load_devices_prefix": "Не удалось загрузить устройства",
"no_devices_found_period": "Устройства не найдены.",
"selected": "Выбрано"
"selected": "Выбрано",
"pairing_in_progress_header": "Создание пары с {{device}}...",
"pairing_in_progress_hint": "Разблокируйте устройство и нажмите \"Доверять\", затем введите пароль разблокировки, если потребуется.",
"pairing_cancel": "Отмена",
"failed_select": "Не удалось выбрать устройство"
},
"operation": {
"failed": "Процесс завершился ошибкой.",
Expand Down Expand Up @@ -135,7 +139,7 @@
"failed_load": "Не удалось загрузить ID приложений",
"deleted_success": "ID приложения успешно удалено!",
"failed_delete": "Ошибка удаления ID приложения",
"available": "{{available}}/{{max}} Доступно ID",
"available": "Доступно App ID: {{available}}/{{max}}",
"none_found": "ID приложений не найдены.",
"name": "Название",
"expiration": "Срок действия",
Expand Down Expand Up @@ -163,7 +167,8 @@
"pairing_file_exported_success": "Файл сопряжения успешно экспортирован!",
"failed_export_pairing_file": "Не удалось экспортировать файл сопряжения",
"export_not_recommended": "Экспорт (Не рекомендуется)",
"refresh_installed_apps": "Обновить установленные приложения"
"refresh_installed_apps": "Обновить установленные приложения",
"place_all": "Установить во все приложения"
},
"settings": {
"anisette_server": "Сервер Anisette:",
Expand All @@ -175,6 +180,7 @@
"reset_anisette_message": "Вы уверены, что хотите сбросить Anisette? Вам потребуется снова ввести код двухэтапной аутентификации.",
"resetting_anisette_state": "Сброс Anisette...",
"anisette_state_reset_success": "Anisette сброшен",
"anisette_state_not_found": "Данные Anisette для сброса не найдены",
"failed_reset_anisette_state": "Не удалось сбросить Anisette",
"view_logs": "Посмотреть логи",
"logs": "Логи",
Expand All @@ -184,7 +190,14 @@
"info": "Информация",
"warn": "Предупреждение",
"error": "Ошибка",
"language_hint": "Вы можете помочь с переводом <translation>здесь</translation>."
"language_hint": "Вы можете помочь с переводом <translation>здесь</translation>.",
"delete_stored_rppairing": "Удалить файл сопряжения",
"delete_stored_rppairing_message": "Вы уверены, что хотите удалить файл сопряжения для этого устройства? Вам потребуется выполнить сопряжение заново.",
"deleting_stored_rppairing": "Удаление файла сопряжения...",
"stored_rppairing_deleted_success": "Файл сопряжения успешно удален!",
"failed_delete_stored_rppairing": "Не удалось удалить файл сопряжения",
"dont_use_keyring": "Хранение без шифрования",
"dont_use_keyring_message": "Это снижает безопасность, так как файлы сопряжения, данные Anisette и сертификаты будут храниться на диске в открытом виде. Включайте эту опцию только если хранилище по умолчанию не работает и вы осознаёте риски."
},
"dialog": {
"confirm": "Подтвердить",
Expand All @@ -193,6 +206,75 @@
"error": {
"title": "Произошла ошибка: {{msg}}",
"unknown": "Неизвестная ошибка",
"suggestions_heading": "Рекомендуемые действия",
"suggestions": {
"underage": [
"Ваш Apple ID может не подходить по возрасту для использования сервисов для разработчиков."
],
"account_locked": [
"Без паники! Обычно это происходит после нескольких неудачных попыток входа и совершенно безопасно.",
"Перейдите на ((link:https://iforgot.apple.com/)), чтобы разблокировать учетную запись."
],
"auth": [
"Убедитесь, что данные для входа верны, и попробуйте еще раз (даже если вы уверены в них).",
"Если проблема не исчезнет, попробуйте использовать другой Apple ID.",
"Двухфакторная аутентификация через ключи безопасности (Security Key) не поддерживается. Используйте Apple ID без 2FA или с подтверждением через доверенное устройство."
],
"download": [
"Скачайте SideStore вручную с ((link:https://github.com/SideStore/SideStore/releases)) и используйте кнопку \"Import IPA\" для установки."
],
"house_arrest": [
"[ios::26.3] Убедитесь, что на устройстве не установлена бета-версия iOS 26.3, так как в ней есть баг с house arrest."
],
"pairing": [
"Попробуйте переподключить устройство и повторить действие.",
"Убедитесь, что на устройстве установлен пароль разблокировки.",
"Убедитесь, что устройство подключено по USB, а не по Wi-Fi."
],
"canceled": [],
"operation_update": [],
"usbmuxd": [
"[platform::windows] Убедитесь, что iTunes установлен и видит ваше устройство.",
"[platform::windows] Удалите iTunes и Apple Mobile Device Support, затем установите приложение \"Устройства Apple\" из Microsoft Store.",
"[platform::linux] Убедитесь, что сервис usbmuxd установлен и запущен."
],
"trust": [
"Разблокируйте устройство, перейдите на экран \"Домой\" и примите запрос кнопкой \"Доверять\", если он появится."
],
"device_coms": [
"Убедитесь, что устройство правильно подключено к компьютеру.",
"Отключите и снова подключите устройство. Если проблема осталась, попробуйте другой USB-порт или кабель."
],
"not_logged_in": ["Сначала войдите в свой Apple ID."],
"no_device_selected": ["Выберите устройство, прежде чем продолжить."],
"anisette": [
"Убедитесь, что компьютер подключен к интернету.",
"Смените сервер Anisette. Попробуйте несколько разных серверов.",
"Проверьте, открывается ли ссылка ((link:{{anisetteServerUrl}})) в браузере."
],
"keyring": [
"Попробуйте включить опцию \"Хранение без шифрования\" в настройках. Учтите, что это менее безопасно."
],
"misc": [
"Попробуйте еще раз. Перезагрузка приложения, компьютера или телефона также может помочь."
],
"admin": [
"Попробуйте запустить приложение с повышенными привилегиями (от имени администратора или root)."
],
"filesystem": [
"Убедитесь, что у iloader есть права на чтение и запись файлов в системе."
],
"not_enough_app_ids": [
"У вас недостаточно свободных App ID для установки этого приложения.",
"Подождите 7 дней, пока истечет срок действия старых App ID (их нельзя удалить раньше), и попробуйте снова.",
"Установка через SideStore иногда позволяет использовать меньше App ID, попробуйте этот способ."
],
"max_apps": [
"С бесплатным Apple ID можно установить не более 3 сторонних приложений одновременно.",
"Удалите другие установленные приложения, чтобы освободить слоты.",
"Приложения с истекшим сроком действия также учитываются в лимите из 3 приложений."
]
},
"support_message": "Если ошибка сохраняется, нажмите \"Скопировать в буфер обмена\" и отправьте скопированную ошибку в <discord>Discord</discord> или <github>GitHub issue</github> для решения проблемы."
},
"update": {
Expand Down