Compare commits

..

119 commits

Author SHA1 Message Date
831c3753f2 i18n: Remove empty translations
I don't know why Weblate decided to do this
2024-11-12 17:59:32 -05:00
NXTGENCAT
3f33f87167 Translated using Weblate (Telugu)
Currently translated at 96.0% (96 of 100 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/te/
2024-10-21 11:47:36 +00:00
d61d741ebe Add monochrome launcher icons 2024-10-08 21:00:39 -04:00
a4189c9148 ui: Use accent 0 as background 2024-10-05 20:29:56 -04:00
7adae7f070 ui: Enable EdgeToEdge globally 2024-10-05 20:23:18 -04:00
bdfd8c29be ui: Handle bottom insets in SettingsFragment 2024-10-05 20:22:39 -04:00
da45e570ca ui: Use a DropDownPreference for auto freeze delay
and limit maximum to 5 minutes while we are at it
2024-10-05 20:17:04 -04:00
9e0f2306a8 ui: Handle system bar insets using AppBarLayout 2024-10-05 17:47:58 -04:00
1c4101ba2f ui: Handle system bar insets in SetupWizardActivity 2024-10-05 17:37:53 -04:00
c06e64ffe8 [WIP] Disable time picker temporarily
We need to rework this to use the MDC version
2024-10-05 17:14:45 -04:00
7db88df146 chore: Update targetSDK and dependencies 2024-10-05 17:10:52 -04:00
8bd864c895 chore: Upgrade AGP plugin 2024-10-05 16:57:13 -04:00
Anonymous
88770fa756 Translated using Weblate (Serbian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/sr/
2024-06-16 23:53:35 +00:00
Translator
f2e475a20d Translated using Weblate (Serbian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/sr/
2024-06-16 23:53:35 +00:00
Anonymous
86d75de501 Translated using Weblate (Telugu)
Currently translated at 11.1% (11 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/te/
2024-06-16 23:53:34 +00:00
Anonymous
60a64e3f72 Translated using Weblate (Ukrainian)
Currently translated at 15.1% (15 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/uk/
2024-06-16 23:53:34 +00:00
Anonymous
60292c53de Translated using Weblate (Persian)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/fa/
2024-06-16 23:53:34 +00:00
Anonymous
79ed7861f3 Translated using Weblate (Hebrew)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/he/
2024-06-16 23:53:34 +00:00
shop
c805d153f4 Translated using Weblate (Hebrew)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/he/
2024-06-16 23:53:34 +00:00
Anonymous
6367240299 Translated using Weblate (Bengali)
Currently translated at 8.0% (8 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/bn/
2024-06-16 23:53:33 +00:00
Anonymous
a8c7b2a015 Translated using Weblate (Korean)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ko/
2024-06-16 23:53:33 +00:00
Roland Kim
24b8b95a97 Translated using Weblate (Korean)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ko/
2024-06-16 23:53:33 +00:00
Anonymous
29f157136f Translated using Weblate (Greek)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/el/
2024-06-16 23:53:33 +00:00
Anonymous
f59d4c5a2a Translated using Weblate (Indonesian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/id/
2024-06-16 23:53:33 +00:00
Ihfandi Cahyo Aryanto
1c72a09473 Translated using Weblate (Indonesian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/id/
2024-06-16 23:53:32 +00:00
Anonymous
c4b8c481fa Translated using Weblate (Czech)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/cs/
2024-06-16 23:53:32 +00:00
infoek.cz
5ee633ba82 Translated using Weblate (Czech)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/cs/
2024-06-16 23:53:32 +00:00
Anonymous
23f67d85c1 Translated using Weblate (Asturian)
Currently translated at 92.9% (92 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ast/
2024-06-16 23:53:32 +00:00
Anonymous
8f36146492 Translated using Weblate (Vietnamese)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/vi/
2024-06-16 23:53:32 +00:00
Quang Trung
8a97fd9b27 Translated using Weblate (Vietnamese)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/vi/
2024-06-16 23:53:31 +00:00
Anonymous
45942a1b32 Translated using Weblate (Turkish)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/tr/
2024-06-16 23:53:31 +00:00
Alparslan Sakci
39caece2a5 Translated using Weblate (Turkish)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/tr/
2024-06-16 23:53:31 +00:00
Anonymous
43597589e9 Translated using Weblate (Romanian)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ro/
2024-06-16 23:53:31 +00:00
Victor Teodor Butiu
624085c66b Translated using Weblate (Romanian)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ro/
2024-06-16 23:53:31 +00:00
Anonymous
12d60d5738 Translated using Weblate (Tamil)
Currently translated at 7.0% (7 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ta/
2024-06-16 23:53:31 +00:00
Anonymous
5183543292 Translated using Weblate (Japanese)
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ja/
2024-06-16 23:53:30 +00:00
-
1063b33b86 Translated using Weblate (Dutch)
Currently translated at 59.5% (59 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/nl/
2024-06-16 23:53:30 +00:00
Anonymous
d7d7876e88 Translated using Weblate (Dutch)
Currently translated at 59.5% (59 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/nl/
2024-06-16 23:53:30 +00:00
Anonymous
a64dbe1e92 Translated using Weblate (Spanish)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/es/
2024-06-16 23:53:29 +00:00
Benjamin Torres
0d7ee6f0c4 Translated using Weblate (Spanish)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/es/
2024-06-16 23:53:29 +00:00
Anonymous
d78254ab9b Translated using Weblate (Polish)
Currently translated at 92.9% (92 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/pl/
2024-06-16 23:53:29 +00:00
Skajmer
b0e128999a Translated using Weblate (Polish)
Currently translated at 92.9% (92 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/pl/
2024-06-16 23:53:29 +00:00
Anonymous
6a79aea943 Translated using Weblate (Swedish)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/sv/
2024-06-16 23:53:29 +00:00
Konstantinos
16f5fcb256 Translated using Weblate (Swedish)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/sv/
2024-06-16 23:53:29 +00:00
Anonymous
334c9de0c6 Translated using Weblate (French)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/fr/
2024-06-16 23:53:28 +00:00
Alexandre Brochand
8ef9c2c674 Translated using Weblate (French)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/fr/
2024-06-16 23:53:28 +00:00
Anonymous
79b7275bf8 Translated using Weblate (Italian)
Currently translated at 92.9% (92 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/it/
2024-06-16 23:53:28 +00:00
Random
7e8c84aa3f Translated using Weblate (Italian)
Currently translated at 92.9% (92 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/it/
2024-06-16 23:53:28 +00:00
Anonymous
e7d10d6e46 Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/pt_BR/
2024-06-16 23:53:27 +00:00
Deleted User
a034e1d915 Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/pt_BR/
2024-06-16 23:53:27 +00:00
Anonymous
874fccf653 Translated using Weblate (Chinese (Traditional))
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/zh_Hant/
2024-06-16 23:53:27 +00:00
Anonymous
70dcbd3d5f Translated using Weblate (German)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/de/
2024-06-16 23:53:26 +00:00
-
4997f37f7e Translated using Weblate (German)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/de/
2024-06-16 23:53:26 +00:00
Anonymous
7facef5905 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.9% (95 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/zh_Hans/
2024-06-16 23:53:26 +00:00
Anonymous
cd43df7089 Translated using Weblate (Russian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ru/
2024-06-16 23:53:26 +00:00
solokot
005f4f747e Translated using Weblate (Russian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ru/
2024-06-16 23:53:25 +00:00
Anonymous
a223c49f9a Translated using Weblate (Arabic)
Currently translated at 84.8% (84 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ar/
2024-06-16 23:53:25 +00:00
Roland Kim
dcfd7bf400 Translated using Weblate (Korean)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ko/
2024-02-27 20:58:34 +00:00
Ferdinand Rau
4e6d926d07 Translated using Weblate (French)
Currently translated at 94.9% (94 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/fr/
2023-12-23 17:26:04 +00:00
Ferdinand Rau
b75523b2b5 Translated using Weblate (German)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/de/
2023-12-23 17:26:04 +00:00
Translator
e20ef7a6dd Translated using Weblate (Serbian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/sr/
2023-12-14 00:48:09 +00:00
infoek.cz
45516e511e Translated using Weblate (Czech)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/cs/
2023-12-14 00:48:09 +00:00
Translator
33c4a40817 Added translation using Weblate (Serbian) 2023-12-11 18:13:00 +00:00
3f71a44617 hotfix: Do not access cross-profile interaction APIs below R 2023-12-06 15:48:02 -05:00
v1s7
401cc49ac5 Translated using Weblate (Russian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ru/
2023-12-06 06:48:08 +00:00
Ihfandi Cahyo Aryanto
f6dc206a81 Translated using Weblate (Indonesian)
Currently translated at 100.0% (99 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/id/
2023-11-26 12:48:08 +00:00
ef1632dc8b CHANGELOG: Release 1.9 2023-11-19 21:23:19 -05:00
787a10e746 fix: Unintuitive navigation icon color in dark mode 2023-11-19 21:21:43 -05:00
d5c5b71fc9 CHANGELOG: describe NFC payment service stub 2023-11-12 15:53:13 -05:00
06b89a9534 feat: NFC payment service stub
This commits adds a NFC payment service stub in the main profile that
can be enabled on-demand. This is intended to work around a bug in AOSP
where if no payment app is present in the main profile, one cannot even
choose a payment app from the work profile. The stub simply shows up in
the main profile to enable the Settings menu for NFC payment services.
2023-11-12 15:51:03 -05:00
Andrés Maldonado
936f7bdd2b README: make custom F-Droid repo easier to add
The QR code was generated with:

  qrencode --level=H "fdroidrepos://fdroid.typeblog.net?fingerprint=1A7E446C491C80BC2F83844A26387887990F97F2F379AE7B109679FEAE3DBC8C" -o fdroid_custom_repo.png
2023-11-04 21:00:37 -04:00
3593861e39 CHANGELOG: describe media scanning changes 2023-11-04 18:27:58 -04:00
584bd25aeb FileShuttleService: trigger media scanner after writes as well
Previously, we have been triggering the media scanner after calls to
`createFile()`. This is not robust, though, as in many cases the writer is
not able to finish writing (i.e. *actually* creating the file) before
the scanner is scheduled, resulting in media copied into the work
profile not showing up in galleries etc.

Turns out, ParcelFileDescriptor supports a `listener` argument in its
`open()` calls. This listener is triggered when the fd is actually
closed by the (potentially remote) writer. To have robust media
scanning, we simply re-trigger the scanner every time a writable
ParcelFileDescriptor is closed.
2023-11-04 18:24:10 -04:00
20369aafd2 gradle: Set versionCode of debug builds to current timestamp 2023-11-04 18:14:12 -04:00
edb8447d2d FileShuttle: use try-with-resource for FileOutputStream 2023-11-04 16:06:02 -04:00
15516b0dde CHANGELOG: Describe File Shuttle changes 2023-11-04 16:04:32 -04:00
88402cdc96 FileShuttleService: show "Shelter" as the name of the root directory 2023-11-04 16:02:39 -04:00
70b82bdba3 refactor: FileShuttleService.createFile() MIME type handling
* Remove unnecessary branching between file and directory handling
* Handle null / application/octet-stream MIME types properly: do not
  append .null or .bin unnecessarily.

This closes #132 and #201 on GitHub -- they have been around for way to
long.
2023-11-04 15:51:05 -04:00
Valentin Kuhn
f7e5ed3f46 Translated using Weblate (German)
Currently translated at 100.0% (96 of 96 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/de/
2023-10-30 23:48:08 +00:00
S Knorr
7c1d4b0009 Translated using Weblate (German)
Currently translated at 100.0% (96 of 96 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/de/
2023-10-29 22:51:41 +00:00
Valentin Kuhn
2e86b596d4 Translated using Weblate (German)
Currently translated at 100.0% (96 of 96 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/de/
2023-10-29 22:51:41 +00:00
a4ecd10a48 CHANGELOG: Also add versioning changes 2023-10-26 21:46:51 -04:00
Ivan Rakanskiy
5f6d56d1dc Translated using Weblate (Ukrainian)
Currently translated at 16.1% (16 of 99 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/uk/
2023-10-27 01:45:47 +00:00
41bb2379ea Remove "Fake Camera" feature 2023-10-26 21:45:09 -04:00
58b0ccefa6 Update CHANGELOG 2023-10-16 21:42:37 -04:00
48b2ff89dc Remove useless TODOs 2023-10-16 21:08:37 -04:00
67095e0180 refactor: Use git describe as version names / codes 2023-10-16 20:51:20 -04:00
32bbdd13b1 feat: Cross-Profile interaction allowlisting 2023-10-16 20:45:21 -04:00
00cdc9aacb CHANGELOG: provisional changelog for 1.9 2023-10-10 21:39:14 -04:00
fe762cba28 FreezeService: migrate to AlarmManager to ensure wakeup
Co-authored-by: parmaster84 <parmaster84@proton.me>
2023-10-10 19:17:41 -04:00
990cf39ed9 Bump version to 1.9-dev 2023-10-09 15:16:13 -04:00
c987f3455e manifest: Declare foreground service type 2023-10-09 15:10:10 -04:00
935b9fbe94 chore: Uprev dependencies 2023-10-09 14:38:22 -04:00
942dbd1af9 chore: Uprev to SDK version 34 2023-10-09 14:36:39 -04:00
95ab9c8cd0 chore: Update SetupWizardLibrary 2023-10-09 14:08:19 -04:00
abef98d602 chore: Bump AGP version 2023-10-09 12:54:02 -04:00
Kap0t
a2ca0d8c7f Translated using Weblate (Dutch)
Currently translated at 61.2% (60 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/nl/
2023-10-05 09:48:08 +00:00
Omegaplex
f83255d59b Translated using Weblate (Russian)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ru/
2023-05-21 20:37:36 +00:00
74e589bnt
a26f5b4e8f Translated using Weblate (Telugu)
Currently translated at 12.2% (12 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/te/
2023-05-04 08:37:36 +00:00
74e589bnt
94fc1e3eb4 Added translation using Weblate (Telugu) 2023-05-03 08:18:49 +00:00
Andrii
bbbde40ca9 Translated using Weblate (Ukrainian)
Currently translated at 15.3% (15 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/uk/
2023-04-26 09:37:36 +00:00
Mura Masa
85ae669988 Translated using Weblate (Ukrainian)
Currently translated at 9.1% (9 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/uk/
2023-04-09 16:37:36 +00:00
Mura Masa
9f4c65296b Added translation using Weblate (Ukrainian) 2023-04-08 15:41:44 +00:00
Ihfandi Cahyo Aryanto
687a0fc2d1 Translated using Weblate (Indonesian)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/id/
2023-03-20 03:08:20 +00:00
be9b762724 Update README to remove Play Store, and clarify the state of the project 2023-03-03 19:03:17 -05:00
Victor Teodor Butiu
1855984e0d Translated using Weblate (Romanian)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ro/
2023-03-01 10:08:20 +00:00
Omegaplex
e185ad3a1f Translated using Weblate (Russian)
Currently translated at 97.9% (96 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ru/
2023-02-26 23:08:20 +00:00
Ardeshir Nahavandi.F
08edb9c4db Translated using Weblate (Persian)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/fa/
2023-02-14 15:08:20 +00:00
Omegaplex
9c9d50837d Translated using Weblate (Russian)
Currently translated at 97.9% (96 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ru/
2023-02-14 15:08:20 +00:00
BobH_Official
af46b5d587 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/zh_Hant/
2023-01-21 15:08:20 +00:00
BobH_Official
a10898c1a9 Translated using Weblate (Japanese)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/ja/
2023-01-20 14:09:21 +00:00
BobH_Official
8318e47c79 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/zh_Hant/
2023-01-20 14:09:21 +00:00
BobH_Official
507f4c62df Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/zh_Hans/
2023-01-20 14:01:15 +00:00
Ihfandi Cahyo Aryanto
a842a90113 Translated using Weblate (Indonesian)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/id/
2022-11-28 10:08:20 +00:00
Faviwer apreciador de casadas
5aa00b22d7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/pt_BR/
2022-11-03 16:32:04 +00:00
hamed
651569cadc Added translation using Weblate (Persian) 2022-10-29 10:10:17 +00:00
shop
c7dfec2101 Translated using Weblate (Hebrew)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/he/
2022-10-04 04:36:26 +00:00
Quang Trung
cb08e62792 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/vi/
2022-10-04 04:36:26 +00:00
Da Awl
7df7a89777 Translated using Weblate (German)
Currently translated at 100.0% (98 of 98 strings)

Translation: Shelter/Shelter
Translate-URL: http://weblate.typeblog.net/projects/shelter/shelter/de/
2022-10-04 04:36:26 +00:00
68 changed files with 1369 additions and 487 deletions

2
.gitmodules vendored
View file

@ -1,4 +1,4 @@
[submodule "libs/SetupWizardLibrary"] [submodule "libs/SetupWizardLibrary"]
path = libs/SetupWizardLibrary path = libs/SetupWizardLibrary
url = https://gitea.angry.im/PeterCxy/SetupWizardLibrary.git url = https://gitea.angry.im/PeterCxy/SetupWizardLibrary.git
branch = android11-dev branch = main

2
.idea/compiler.xml generated
View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" /> <bytecodeTargetLevel target="17" />
</component> </component>
</project> </project>

10
.idea/deploymentTargetSelector.xml generated Normal file
View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
</project>

10
.idea/migrations.xml generated Normal file
View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectMigrations">
<option name="MigrateToGradleLocalJavaHome">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</component>
</project>

9
.idea/misc.xml generated
View file

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="DesignSurface"> <component name="DesignSurface">
<option name="filePathToZoomLevelMap"> <option name="filePathToZoomLevelMap">
@ -20,7 +19,7 @@
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" /> <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables"> <option name="myNullables">
<value> <value>
<list size="12"> <list size="13">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" /> <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" /> <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" /> <item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
@ -33,12 +32,13 @@
<item index="9" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" /> <item index="9" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
<item index="10" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" /> <item index="10" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
<item index="11" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" /> <item index="11" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
<item index="12" class="java.lang.String" itemvalue="org.jspecify.nullness.Nullable" />
</list> </list>
</value> </value>
</option> </option>
<option name="myNotNulls"> <option name="myNotNulls">
<value> <value>
<list size="11"> <list size="12">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" /> <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" /> <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" /> <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
@ -50,11 +50,12 @@
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" /> <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" /> <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" /> <item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
<item index="11" class="java.lang.String" itemvalue="org.jspecify.nullness.NonNull" />
</list> </list>
</value> </value>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">

View file

@ -1,3 +1,21 @@
1.9.1 (445)
===
- Hotfix crashes below Android 11.
1.9
===
- Updated targetSDK to 34 (Android 14) with compatibility fixes.
- More reliable delayed freezing using AlarmManager (thanks parmaster84).
- Support for cross-profile interactions allowlisting (e.g. for Gboard).
- Removed "Fake Camera" feature as it has not been supported since R.
- Version displayed within the app has now been changed to also reflect the exact Git commit when the app is built.
- File Shuttle no longer appends ".null" or ".bin" suffixes unnecessarily. This should make it work much better with file managers such as Material Files.
- File Shuttle now triggers media scanning much more robustly. Media files (pictures, videos, etc.) copied into the work profile should now show up much quicker in gallery apps.
- Added a fake NFC payment service to workaround a bug in Android that prevents payment apps inside the work profile from being used if none is present in the main profile.
- Fixed unintuitive colors of navigation icons under dark mode.
1.8 1.8
=== ===

View file

@ -6,9 +6,14 @@ Shelter is a Free and Open-Source (FOSS) app that leverages the "Work Profile" f
Downloads Downloads
=== ===
- [Google Play](https://play.google.com/store/apps/details?id=net.typeblog.shelter) (Signed by PeterCxy)
- [F-Droid](https://f-droid.org/app/net.typeblog.shelter) (Signed by F-Droid) - [F-Droid](https://f-droid.org/app/net.typeblog.shelter) (Signed by F-Droid)
- [Custom F-Droid Repository](https://fdroid.typeblog.net) (Signed by PeterCxy, contains latest development versions) - Custom F-Droid Repository (Signed by PeterCxy, contains latest development versions):
- [Click here](fdroidrepos://fdroid.typeblog.net?fingerprint=1A7E446C491C80BC2F83844A26387887990F97F2F379AE7B109679FEAE3DBC8C) to add from your phone
- Or scan the following QR-code:
![](fdroid_custom_repo.png)
- Or setup manually:
- Url: https://fdroid.typeblog.net
- Fingerprint: `1A 7E 44 6C 49 1C 80 BC 2F 83 84 4A 26 38 78 87 99 0F 97 F2 F3 79 AE 7B 10 96 79 FE AE 3D BC 8C`
You cannot switch between versions listed above that have different signature without uninstalling Shelter first. You cannot switch between versions listed above that have different signature without uninstalling Shelter first.
@ -33,6 +38,13 @@ Caveats & Known Issues
- Some caveats and known issues are discussed during the setup process of Shelter. __Please read through text in the setup wizard carefully__. - Some caveats and known issues are discussed during the setup process of Shelter. __Please read through text in the setup wizard carefully__.
- Shelter is only as safe as the Work Profile implementation of the Android OS you are using. For details, see <https://support.google.com/work/android/answer/6191949?hl=en> - Shelter is only as safe as the Work Profile implementation of the Android OS you are using. For details, see <https://support.google.com/work/android/answer/6191949?hl=en>
State of the Project, Feature Requests, etc.
===
Since Shelter simply makes use of the Work Profile APIs exposed by Android, there is a limited set of features that are possible to implement via the app. As we do not intend on leveraging (or "abusing") adb privileges, the features of Shelter can only be a strict subset of the exposed, unprivileged APIs.
As a result, we do not intend on adding a lot of new features to Shelter going forward, unless there is to be big changes in the capabilities of work profile APIs. Shelter is currently in an effective **maintenance mode**. Nevertheless, the author is still committed to regularly **adapting Shelter to all new Android versions as soon as possible after they are released** -- this includes upgrading the target SDK level, adapting to any new features or restrictions introduced by the new Android version, updating all dependencies, and so on. The author still relies on Shelter for his daily life, so Shelter will **not** become abandonware in the forseeable future.
Contributing Contributing
=== ===

View file

@ -9,15 +9,43 @@ repositories {
} }
} }
def getVersionCode = { ->
try {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-list', '--first-parent', '--count', 'master'
standardOutput = stdout
}
return Integer.parseInt(stdout.toString().trim())
}
catch (ignored) {
return -1;
}
}
def getVersionName = { ->
try {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--tags', '--dirty'
standardOutput = stdout
}
return stdout.toString().trim()
}
catch (ignored) {
return null;
}
}
android { android {
compileSdkVersion 33 compileSdk 35
buildToolsVersion '33.0.0' buildToolsVersion = '35.0.0'
defaultConfig { defaultConfig {
applicationId "net.typeblog.shelter" applicationId "net.typeblog.shelter"
minSdkVersion 24 minSdkVersion 24
targetSdkVersion 33 targetSdkVersion 35
versionCode 23 versionCode getVersionCode()
versionName "1.8" versionName getVersionName()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
@ -27,6 +55,11 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }
} }
applicationVariants.all { variant ->
if (variant.name == "debug") {
variant.outputs.each { o -> o.versionCodeOverride = System.currentTimeSeconds() }
}
}
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8
@ -34,21 +67,24 @@ android {
lint { lint {
disable 'MissingTranslation', 'ExtraTranslation', 'GoogleAppIndexingWarning', 'InvalidFragmentVersionForActivityResult' disable 'MissingTranslation', 'ExtraTranslation', 'GoogleAppIndexingWarning', 'InvalidFragmentVersionForActivityResult'
} }
buildFeatures {
aidl true
}
namespace 'net.typeblog.shelter'
} }
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.legacy:legacy-support-core-ui:1.0.0' implementation 'androidx.legacy:legacy-support-core-ui:1.0.0'
implementation 'androidx.fragment:fragment:1.5.2' implementation 'androidx.fragment:fragment:1.8.4'
implementation 'androidx.appcompat:appcompat:1.6.0-beta01' implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.preference:preference:1.2.0' implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'com.google.android.material:material:1.6.1' implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
implementation 'mobi.upod:time-duration-picker:1.1.3'
debugImplementation project(path: ':setup-wizard-lib', configuration: 'gingerbreadCompatDebugRuntimeElements') debugImplementation project(path: ':setup-wizard-lib', configuration: 'gingerbreadCompatDebugRuntimeElements')
releaseImplementation project(path: ':setup-wizard-lib', configuration: 'gingerbreadCompatReleaseRuntimeElements') releaseImplementation project(path: ':setup-wizard-lib', configuration: 'gingerbreadCompatReleaseRuntimeElements')
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.4.1-alpha03' androidTestImplementation 'androidx.test:runner:1.6.0-alpha04'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0-alpha03' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.0-alpha01'
} }

View file

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="net.typeblog.shelter"
android:installLocation="internalOnly" > android:installLocation="internalOnly" >
<uses-feature android:name="android.software.device_admin" android:required="true"/> <uses-feature android:name="android.software.device_admin" android:required="true"/>
@ -10,6 +9,7 @@
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED" />
<uses-permission android:maxSdkVersion="25" <uses-permission android:maxSdkVersion="25"
android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
@ -20,6 +20,7 @@
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" /> tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.NFC" />
<!-- For querying apps on Android R and later --> <!-- For querying apps on Android R and later -->
<queries> <queries>
@ -98,18 +99,6 @@
</intent-filter> </intent-filter>
</activity> </activity>
<!-- Activity to forward ACTION_IMAGE_CAPTURE as ACTION_OPEN_DOCUMENT -->
<activity android:name=".ui.CameraProxyActivity"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/camera_proxy_activity"
android:exported="true">
<intent-filter>
<action android:name="android.media.action.IMAGE_CAPTURE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Implementation of the device policy controller --> <!-- Implementation of the device policy controller -->
<receiver android:name=".receivers.ShelterDeviceAdminReceiver" <receiver android:name=".receivers.ShelterDeviceAdminReceiver"
android:label="@string/device_admin_label" android:label="@string/device_admin_label"
@ -153,6 +142,7 @@
<!-- Actions like cloning / freezing apps will be performed by this service --> <!-- Actions like cloning / freezing apps will be performed by this service -->
<service android:name=".services.ShelterService" <service android:name=".services.ShelterService"
android:exported="true" android:exported="true"
android:foregroundServiceType="systemExempted"
android:permission="android.permission.BIND_DEVICE_ADMIN"/> android:permission="android.permission.BIND_DEVICE_ADMIN"/>
<!-- Service to forward file information between profiles --> <!-- Service to forward file information between profiles -->
@ -165,7 +155,21 @@
<service android:name=".services.KillerService" /> <service android:name=".services.KillerService" />
<!-- Service to freeze apps on screen lock --> <!-- Service to freeze apps on screen lock -->
<service android:name=".services.FreezeService" /> <service android:name=".services.FreezeService"
android:foregroundServiceType="systemExempted" />
<!-- Payment stub service -->
<service android:name=".services.PaymentStubService"
android:exported="true"
android:enabled="false"
android:permission="android.permission.BIND_NFC_SERVICE">
<intent-filter>
<action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE"/>
</intent-filter>
<meta-data android:name="android.nfc.cardemulation.host_apdu_service"
android:resource="@xml/payment_stub"/>
</service>
</application> </application>
</manifest> </manifest>

View file

@ -26,4 +26,6 @@ interface IShelterService {
List<String> getCrossProfileWidgetProviders(); List<String> getCrossProfileWidgetProviders();
boolean setCrossProfileWidgetProviderEnabled(String pkgName, boolean enabled); boolean setCrossProfileWidgetProviderEnabled(String pkgName, boolean enabled);
void setStartActivityProxy(in IStartActivityProxy proxy); void setStartActivityProxy(in IStartActivityProxy proxy);
List<String> getCrossProfilePackages();
void setCrossProfilePackages(in List<String> packages);
} }

View file

@ -1,6 +1,7 @@
package net.typeblog.shelter.services; package net.typeblog.shelter.services;
import android.app.Service; import android.app.Service;
import android.content.ContentResolver;
import android.content.Intent; import android.content.Intent;
import android.database.Cursor; import android.database.Cursor;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -18,6 +19,7 @@ import android.webkit.MimeTypeMap;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import net.typeblog.shelter.R;
import net.typeblog.shelter.ShelterApplication; import net.typeblog.shelter.ShelterApplication;
import net.typeblog.shelter.util.CrossProfileDocumentsProvider; import net.typeblog.shelter.util.CrossProfileDocumentsProvider;
import net.typeblog.shelter.util.Utility; import net.typeblog.shelter.util.Utility;
@ -65,7 +67,12 @@ public class FileShuttleService extends Service {
File f = new File(resolvePath(path)); File f = new File(resolvePath(path));
HashMap<String, Serializable> map = new HashMap<>(); HashMap<String, Serializable> map = new HashMap<>();
map.put(DocumentsContract.Document.COLUMN_DOCUMENT_ID, f.getAbsolutePath()); map.put(DocumentsContract.Document.COLUMN_DOCUMENT_ID, f.getAbsolutePath());
if (f.equals(Environment.getExternalStorageDirectory())) {
// Show "Shelter" as the name of the root directory
map.put(DocumentsContract.Document.COLUMN_DISPLAY_NAME, getString(R.string.app_name));
} else {
map.put(DocumentsContract.Document.COLUMN_DISPLAY_NAME, f.getName()); map.put(DocumentsContract.Document.COLUMN_DISPLAY_NAME, f.getName());
}
map.put(DocumentsContract.Document.COLUMN_SIZE, f.length()); map.put(DocumentsContract.Document.COLUMN_SIZE, f.length());
map.put(DocumentsContract.Document.COLUMN_LAST_MODIFIED, f.lastModified()); map.put(DocumentsContract.Document.COLUMN_LAST_MODIFIED, f.lastModified());
@ -94,10 +101,24 @@ public class FileShuttleService extends Service {
public ParcelFileDescriptor openFile(String path, String mode) { public ParcelFileDescriptor openFile(String path, String mode) {
resetSuicideTask(); resetSuicideTask();
File f = new File(resolvePath(path)); File f = new File(resolvePath(path));
int numericMode = ParcelFileDescriptor.parseMode(mode);
try { try {
return ParcelFileDescriptor.open(f, ParcelFileDescriptor.parseMode(mode)); if ((numericMode & ParcelFileDescriptor.MODE_WRITE_ONLY) != 0) {
} catch (FileNotFoundException e) { // When the file is opened in writable mode, and the file is of a media
// type, we need to notify the media scanner of the update.
// Even though this is done as part of file creation as well, that scan
// might have failed because it happened before the writer was able to
// finish writing.
return ParcelFileDescriptor.open(f, numericMode, mHandler, (e) -> {
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
Utility.getFileExtension(f.getAbsolutePath()));
notifyMediaScannerIfNecessary(f, mime);
});
} else {
return ParcelFileDescriptor.open(f, numericMode);
}
} catch (IOException e) {
return null; return null;
} }
} }
@ -126,36 +147,32 @@ public class FileShuttleService extends Service {
public String createFile(String path, String mimeType, String displayName) { public String createFile(String path, String mimeType, String displayName) {
resetSuicideTask(); resetSuicideTask();
File f; File f;
if (!DocumentsContract.Document.MIME_TYPE_DIR.equals(mimeType)) {
String fullPath = path + "/" + displayName; String fullPath = path + "/" + displayName;
boolean isDirectory =
DocumentsContract.Document.MIME_TYPE_DIR.equals(mimeType);
boolean shouldAppendExtension =
mimeType != null && !isDirectory && !mimeType.equals("application/octet-stream");
// Append extension for files if a MIME type is specified
if (shouldAppendExtension) {
String extensionPart = "." + MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType); String extensionPart = "." + MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType);
if (!fullPath.endsWith(extensionPart)) { if (!fullPath.endsWith(extensionPart)) {
fullPath += extensionPart; fullPath += extensionPart;
} }
f = new File(resolvePath(fullPath));
if (mimeType.startsWith("image/") || mimeType.startsWith("video/")) {
// Notify the media scanner to scan the file
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(f));
sendBroadcast(intent);
} }
// Now we can create the file / directory
f = new File(resolvePath(fullPath));
try { try {
if (!f.createNewFile()) { if ((isDirectory && !f.mkdir()) || (!isDirectory && !f.createNewFile())) {
return null; return null;
} }
} catch (IOException e) { } catch (IOException e) {
return null; return null;
} }
} else { notifyMediaScannerIfNecessary(f, mimeType);
String fullPath = path + "/" + displayName;
f = new File(resolvePath(fullPath));
if (!f.mkdir()) {
return null;
}
}
return f.getAbsolutePath(); return f.getAbsolutePath();
} }
@ -273,14 +290,13 @@ public class FileShuttleService extends Service {
return null; return null;
} }
FileOutputStream os = new FileOutputStream(pair[1].getFileDescriptor());
// Send the bitmap into the pipe in another thread, so that we can return the // Send the bitmap into the pipe in another thread, so that we can return the
// reading fd to the Documents UI before we finish sending the Bitmap. // reading fd to the Documents UI before we finish sending the Bitmap.
new Thread(() -> { new Thread(() -> {
try (FileOutputStream os = new FileOutputStream(pair[1].getFileDescriptor())) {
bmp.compress(Bitmap.CompressFormat.PNG, 100, os); bmp.compress(Bitmap.CompressFormat.PNG, 100, os);
try {
os.flush(); os.flush();
os.close();
} catch (IOException e) { } catch (IOException e) {
// ... // ...
} }
@ -289,4 +305,14 @@ public class FileShuttleService extends Service {
return pair[0]; return pair[0];
} }
private void notifyMediaScannerIfNecessary(File f, String mimeType) {
// Notify the media scanner to scan the file as needed
// This has to be done AFTER file creation
if (mimeType != null && (mimeType.startsWith("image/") || mimeType.startsWith("video/"))) {
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(f));
sendBroadcast(intent);
}
}
} }

View file

@ -1,5 +1,6 @@
package net.typeblog.shelter.services; package net.typeblog.shelter.services;
import android.app.AlarmManager;
import android.app.Notification; import android.app.Notification;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.app.Service; import android.app.Service;
@ -11,9 +12,7 @@ import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.os.Looper;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -72,8 +71,9 @@ public class FreezeService extends Service {
// Delay the work so that it can be canceled if the screen // Delay the work so that it can be canceled if the screen
// gets unlocked before the delay passes // gets unlocked before the delay passes
mHandler.postDelayed(mFreezeWork, mAlarmManager.set(AlarmManager.RTC_WAKEUP,
((long) SettingsManager.getInstance().getAutoFreezeDelay()) * 1000); System.currentTimeMillis() + ((long) SettingsManager.getInstance().getAutoFreezeDelay()) * 1000,
null, mFreezeWork, null);
registerReceiver(mUnlockReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON)); registerReceiver(mUnlockReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON));
} }
}; };
@ -83,7 +83,7 @@ public class FreezeService extends Service {
private BroadcastReceiver mUnlockReceiver = new BroadcastReceiver() { private BroadcastReceiver mUnlockReceiver = new BroadcastReceiver() {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
mHandler.removeCallbacks(mFreezeWork); mAlarmManager.cancel(mFreezeWork);
} }
}; };
@ -96,9 +96,10 @@ public class FreezeService extends Service {
private Map<String, UsageStats> mUsageStats = new HashMap<>(); private Map<String, UsageStats> mUsageStats = new HashMap<>();
private long mScreenLockTime = -1; private long mScreenLockTime = -1;
// The handler and the delayed work to handle // Delayed work
private Handler mHandler = new Handler(Looper.getMainLooper()); private AlarmManager mAlarmManager;
private Runnable mFreezeWork = () -> {
private AlarmManager.OnAlarmListener mFreezeWork = () -> {
synchronized (FreezeService.class) { synchronized (FreezeService.class) {
// Cancel the unlock receiver first - the delay has passed if this work is executed // Cancel the unlock receiver first - the delay has passed if this work is executed
unregisterReceiver(mUnlockReceiver); unregisterReceiver(mUnlockReceiver);
@ -128,6 +129,7 @@ public class FreezeService extends Service {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
mAlarmManager = getSystemService(AlarmManager.class);
// This is the only thing that we do // This is the only thing that we do
registerReceiver(mLockReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF)); registerReceiver(mLockReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
// Use foreground notification to keep this service alive until screen is locked // Use foreground notification to keep this service alive until screen is locked

View file

@ -0,0 +1,18 @@
package net.typeblog.shelter.services;
import android.nfc.cardemulation.HostApduService;
import android.os.Bundle;
public class PaymentStubService extends HostApduService {
@Override
public byte[] processCommandApdu(byte[] commandApdu, Bundle extras) {
// We do not handle anything
notifyUnhandled();
return null;
}
@Override
public void onDeactivated(int reason) {
}
}

View file

@ -25,6 +25,8 @@ import net.typeblog.shelter.util.FileProviderProxy;
import net.typeblog.shelter.util.UriForwardProxy; import net.typeblog.shelter.util.UriForwardProxy;
import net.typeblog.shelter.util.Utility; import net.typeblog.shelter.util.Utility;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -272,6 +274,24 @@ public class ShelterService extends Service {
public void setStartActivityProxy(IStartActivityProxy proxy) { public void setStartActivityProxy(IStartActivityProxy proxy) {
mStartActivityProxy = proxy; mStartActivityProxy = proxy;
} }
@Override
public List<String> getCrossProfilePackages() throws RemoteException {
if (!mIsProfileOwner)
throw new IllegalStateException("Cannot access cross-profile packages without being profile owner");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R)
throw new IllegalStateException("Cross-profile packages support is only available on Android 11 and later");
return new ArrayList<>(mPolicyManager.getCrossProfilePackages(mAdminComponent));
}
@Override
public void setCrossProfilePackages(List<String> packages) throws RemoteException {
if (!mIsProfileOwner)
throw new IllegalStateException("Cannot access cross-profile packages without being profile owner");
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R)
throw new IllegalStateException("Cross-profile packages support is only available on Android 11 and later");
mPolicyManager.setCrossProfilePackages(mAdminComponent, new HashSet<>(packages));
}
}; };
@Override @Override

View file

@ -9,6 +9,7 @@ import android.content.IntentFilter;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.IBinder; import android.os.IBinder;
import android.os.RemoteException; import android.os.RemoteException;
@ -40,6 +41,7 @@ import net.typeblog.shelter.util.ApplicationInfoWrapper;
import net.typeblog.shelter.util.LocalStorageManager; import net.typeblog.shelter.util.LocalStorageManager;
import net.typeblog.shelter.util.Utility; import net.typeblog.shelter.util.Utility;
import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -57,6 +59,7 @@ public class AppListFragment extends BaseFragment {
private static final int MENU_ITEM_CREATE_UNFREEZE_SHORTCUT = 10006; private static final int MENU_ITEM_CREATE_UNFREEZE_SHORTCUT = 10006;
private static final int MENU_ITEM_AUTO_FREEZE = 10007; private static final int MENU_ITEM_AUTO_FREEZE = 10007;
private static final int MENU_ITEM_ALLOW_CROSS_PROFILE_WIDGET = 10008; private static final int MENU_ITEM_ALLOW_CROSS_PROFILE_WIDGET = 10008;
private static final int MENU_ITEM_ALLOW_CROSS_PROFILE_INTERACTION = 10009;
private IShelterService mService = null; private IShelterService mService = null;
private boolean mIsRemote = false; private boolean mIsRemote = false;
@ -68,6 +71,9 @@ public class AppListFragment extends BaseFragment {
// Only useful if this fragment manages the work profile // Only useful if this fragment manages the work profile
private Set<String> mCrossProfileWidgetProviders = new HashSet<>(); private Set<String> mCrossProfileWidgetProviders = new HashSet<>();
// Packages allowed to interact across profiles
private Set<String> mCrossProfilePackages = new HashSet<>();
// Views // Views
private RecyclerView mList = null; private RecyclerView mList = null;
private AppListAdapter mAdapter = null; private AppListAdapter mAdapter = null;
@ -200,11 +206,15 @@ public class AppListFragment extends BaseFragment {
public void callback(List<ApplicationInfoWrapper> apps) { public void callback(List<ApplicationInfoWrapper> apps) {
if (mIsRemote) { if (mIsRemote) {
mCrossProfileWidgetProviders.clear(); mCrossProfileWidgetProviders.clear();
mCrossProfilePackages.clear();
// Update the cross-profile widget provider list // Update the cross-profile packages / widget providers list
try { try {
mCrossProfileWidgetProviders.addAll(mService.getCrossProfileWidgetProviders()); mCrossProfileWidgetProviders.addAll(mService.getCrossProfileWidgetProviders());
} catch (RemoteException e) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
mCrossProfilePackages.addAll(mService.getCrossProfilePackages());
} catch (RemoteException ignored) {
} }
} }
@ -288,7 +298,7 @@ public class AppListFragment extends BaseFragment {
menu.add(Menu.NONE, MENU_ITEM_FREEZE, Menu.NONE, R.string.freeze_app); menu.add(Menu.NONE, MENU_ITEM_FREEZE, Menu.NONE, R.string.freeze_app);
menu.add(Menu.NONE, MENU_ITEM_LAUNCH, Menu.NONE, R.string.launch); menu.add(Menu.NONE, MENU_ITEM_LAUNCH, Menu.NONE, R.string.launch);
} }
// Cross-profile widget settings is also limited to work profile // Cross-profile widget / packages settings is also limited to work profile
MenuItem crossProfileWdiegt = MenuItem crossProfileWdiegt =
menu.add(Menu.NONE, MENU_ITEM_ALLOW_CROSS_PROFILE_WIDGET, Menu.NONE, menu.add(Menu.NONE, MENU_ITEM_ALLOW_CROSS_PROFILE_WIDGET, Menu.NONE,
R.string.allow_cross_profile_widgets); R.string.allow_cross_profile_widgets);
@ -296,6 +306,15 @@ public class AppListFragment extends BaseFragment {
crossProfileWdiegt.setChecked( crossProfileWdiegt.setChecked(
mCrossProfileWidgetProviders.contains(mSelectedApp.getPackageName())); mCrossProfileWidgetProviders.contains(mSelectedApp.getPackageName()));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
MenuItem crossProfileInteraction =
menu.add(Menu.NONE, MENU_ITEM_ALLOW_CROSS_PROFILE_INTERACTION, Menu.NONE,
R.string.allow_cross_profile_interaction);
crossProfileInteraction.setCheckable(true);
crossProfileInteraction.setChecked(
mCrossProfilePackages.contains(mSelectedApp.getPackageName()));
}
// TODO: If we implement God Mode (i.e. Shelter as device owner), we should // TODO: If we implement God Mode (i.e. Shelter as device owner), we should
// TODO: use two different lists to store auto freeze apps because we'll be // TODO: use two different lists to store auto freeze apps because we'll be
// TODO: able to freeze apps in main profile. // TODO: able to freeze apps in main profile.
@ -393,7 +412,7 @@ public class AppListFragment extends BaseFragment {
LocalStorageManager.PREF_AUTO_FREEZE_LIST_WORK_PROFILE, mSelectedApp.getPackageName()); LocalStorageManager.PREF_AUTO_FREEZE_LIST_WORK_PROFILE, mSelectedApp.getPackageName());
} }
return true; return true;
case MENU_ITEM_ALLOW_CROSS_PROFILE_WIDGET: case MENU_ITEM_ALLOW_CROSS_PROFILE_WIDGET: {
boolean newState = !item.isChecked(); boolean newState = !item.isChecked();
try { try {
if (mService.setCrossProfileWidgetProviderEnabled(mSelectedApp.getPackageName(), newState)) { if (mService.setCrossProfileWidgetProviderEnabled(mSelectedApp.getPackageName(), newState)) {
@ -411,6 +430,22 @@ public class AppListFragment extends BaseFragment {
} }
return true; return true;
} }
case MENU_ITEM_ALLOW_CROSS_PROFILE_INTERACTION: {
boolean newState = !item.isChecked();
if (newState) {
mCrossProfilePackages.add(mSelectedApp.getPackageName());
} else {
mCrossProfilePackages.remove(mSelectedApp.getPackageName());
}
try {
mService.setCrossProfilePackages(new ArrayList<>(mCrossProfilePackages));
item.setChecked(newState);
} catch (RemoteException ignored) {
}
return true;
}
}
return super.onContextItemSelected(item); return super.onContextItemSelected(item);
} }

View file

@ -1,90 +0,0 @@
package net.typeblog.shelter.ui;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.provider.MediaStore;
import androidx.annotation.Nullable;
import net.typeblog.shelter.util.Utility;
import java.io.IOException;
import java.io.OutputStream;
// This activity forwards ACTION_CAPTURE_IMAGE to ACTION_OPEN_DOCUMENT with image files
// which allows users to use Documents UI, and of course, Shelter's File Shuttle
// to pick images within apps that do not support ACTION_OPEN_DOCUMENT directly
// This will make cross-profile picture sharing a ton more easier.
// But here is the catch: sending images through this method will re-compress
// the image because Android's ACTION_CAPTURE_IMAGE requires returning a JPEG image
// this will in turn affect the quality of the image.
public class CameraProxyActivity extends Activity {
private static final int REQUEST_OPEN_IMAGE = 1001;
private Uri mOutputUri = null;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!MediaStore.ACTION_IMAGE_CAPTURE.equals(getIntent().getAction())) {
finish();
return;
}
if (getIntent().hasExtra(MediaStore.EXTRA_OUTPUT)) {
// The calling app may or may not request for the full output image
mOutputUri = getIntent().getParcelableExtra(MediaStore.EXTRA_OUTPUT);
}
// Launch Documents UI for picking images
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*"); // Only allow images
startActivityForResult(intent, REQUEST_OPEN_IMAGE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == REQUEST_OPEN_IMAGE && resultCode == RESULT_OK && data != null) {
// The image is now opened. We should now read the data and send it to the other Uri
Uri imageUri = data.getData();
try {
ParcelFileDescriptor fd = getContentResolver().openFileDescriptor(imageUri, "r");
// Thumbnail is required by the definition of ACTION_CAPTURE_IMAGE
Bitmap thumbnail = Utility.decodeSampledBitmap(fd.getFileDescriptor(), 128, 128);
if (mOutputUri != null) {
// The calling app may or may not request for the full image
// If requested, we write the image, in JPEG format, to the provided URI
// Note that JPEG is required by the interface.
Bitmap bmp = BitmapFactory.decodeFileDescriptor(fd.getFileDescriptor());
OutputStream out = getContentResolver().openOutputStream(mOutputUri);
// Re-compress the image to another JPEG image through the output URI
bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
}
fd.close();
Intent resultIntent = new Intent();
resultIntent.putExtra("data", thumbnail);
setResult(RESULT_OK, resultIntent);
finish();
return;
} catch (IOException e) {
// Just silently fail
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
// We exit the activity anyway
setResult(RESULT_CANCELED); // If we succeeded, we should have returned earlier
finish();
}
}

View file

@ -14,6 +14,7 @@ import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.Toast; import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.activity.result.ActivityResult; import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts; import androidx.activity.result.contract.ActivityResultContracts;
@ -74,6 +75,7 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
EdgeToEdge.enable(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
setSupportActionBar(findViewById(R.id.main_toolbar)); setSupportActionBar(findViewById(R.id.main_toolbar));

View file

@ -2,6 +2,7 @@ package net.typeblog.shelter.ui;
import android.os.Bundle; import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
@ -10,6 +11,7 @@ import net.typeblog.shelter.R;
public class SettingsActivity extends AppCompatActivity { public class SettingsActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
EdgeToEdge.enable(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings); setContentView(R.layout.activity_settings);
setSupportActionBar(findViewById(R.id.settings_toolbar)); setSupportActionBar(findViewById(R.id.settings_toolbar));

View file

@ -9,9 +9,16 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.RemoteException; import android.os.RemoteException;
import android.provider.Settings; import android.provider.Settings;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.preference.CheckBoxPreference; import androidx.preference.CheckBoxPreference;
import androidx.preference.DropDownPreference;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceFragmentCompat;
@ -20,9 +27,7 @@ import net.typeblog.shelter.services.IShelterService;
import net.typeblog.shelter.util.SettingsManager; import net.typeblog.shelter.util.SettingsManager;
import net.typeblog.shelter.util.Utility; import net.typeblog.shelter.util.Utility;
import mobi.upod.timedurationpicker.TimeDurationPicker; import java.util.Arrays;
import mobi.upod.timedurationpicker.TimeDurationPickerDialogFragment;
import mobi.upod.timedurationpicker.TimeDurationUtil;
public class SettingsFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener { public class SettingsFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener {
private static final String SETTINGS_VERSION = "settings_version"; private static final String SETTINGS_VERSION = "settings_version";
@ -31,22 +36,34 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
private static final String SETTINGS_BUG_REPORT = "settings_bug_report"; private static final String SETTINGS_BUG_REPORT = "settings_bug_report";
private static final String SETTINGS_PATREON = "settings_patreon"; private static final String SETTINGS_PATREON = "settings_patreon";
private static final String SETTINGS_CROSS_PROFILE_FILE_CHOOSER = "settings_cross_profile_file_chooser"; private static final String SETTINGS_CROSS_PROFILE_FILE_CHOOSER = "settings_cross_profile_file_chooser";
private static final String SETTINGS_CAMERA_PROXY = "settings_camera_proxy";
private static final String SETTINGS_BLOCK_CONTACTS_SEARCHING = "settings_block_contacts_searching"; private static final String SETTINGS_BLOCK_CONTACTS_SEARCHING = "settings_block_contacts_searching";
private static final String SETTINGS_AUTO_FREEZE_SERVICE = "settings_auto_freeze_service"; private static final String SETTINGS_AUTO_FREEZE_SERVICE = "settings_auto_freeze_service";
private static final String SETTINGS_AUTO_FREEZE_DELAY = "settings_auto_freeze_delay"; private static final String SETTINGS_AUTO_FREEZE_DELAY = "settings_auto_freeze_delay";
private static final String SETTINGS_SKIP_FOREGROUND = "settings_dont_freeze_foreground"; private static final String SETTINGS_SKIP_FOREGROUND = "settings_dont_freeze_foreground";
private static final String SETTINGS_PAYMENT_STUB = "settings_payment_stub";
private static final int[] AUTO_FREEZE_DELAY_SECONDS = new int[]{0, 60, 2 * 60, 5 * 60};
private SettingsManager mManager = SettingsManager.getInstance(); private SettingsManager mManager = SettingsManager.getInstance();
private IShelterService mServiceWork = null; private IShelterService mServiceWork = null;
private CheckBoxPreference mPrefCrossProfileFileChooser = null; private CheckBoxPreference mPrefCrossProfileFileChooser = null;
private CheckBoxPreference mPrefCameraProxy = null;
private CheckBoxPreference mPrefBlockContactsSearching = null; private CheckBoxPreference mPrefBlockContactsSearching = null;
private CheckBoxPreference mPrefAutoFreezeService = null; private CheckBoxPreference mPrefAutoFreezeService = null;
private CheckBoxPreference mPrefSkipForeground = null; private CheckBoxPreference mPrefSkipForeground = null;
private CheckBoxPreference mPrefPaymentStub = null;
private Preference mPrefAutoFreezeDelay = null; private DropDownPreference mPrefAutoFreezeDelay = null;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ViewCompat.setOnApplyWindowInsetsListener(view.findViewById(androidx.preference.R.id.recycler_view), (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPaddingRelative(0, 0, 0, insets.bottom);
return WindowInsetsCompat.CONSUMED;
});
}
@Override @Override
public void onCreatePreferences(Bundle bundle, String s) { public void onCreatePreferences(Bundle bundle, String s) {
@ -77,19 +94,21 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
mPrefCrossProfileFileChooser = (CheckBoxPreference) findPreference(SETTINGS_CROSS_PROFILE_FILE_CHOOSER); mPrefCrossProfileFileChooser = (CheckBoxPreference) findPreference(SETTINGS_CROSS_PROFILE_FILE_CHOOSER);
mPrefCrossProfileFileChooser.setChecked(mManager.getCrossProfileFileChooserEnabled()); mPrefCrossProfileFileChooser.setChecked(mManager.getCrossProfileFileChooserEnabled());
mPrefCrossProfileFileChooser.setOnPreferenceChangeListener(this); mPrefCrossProfileFileChooser.setOnPreferenceChangeListener(this);
mPrefCameraProxy = (CheckBoxPreference) findPreference(SETTINGS_CAMERA_PROXY);
mPrefCameraProxy.setChecked(mManager.getCameraProxyEnabled());
mPrefCameraProxy.setOnPreferenceChangeListener(this);
mPrefBlockContactsSearching = (CheckBoxPreference) findPreference(SETTINGS_BLOCK_CONTACTS_SEARCHING); mPrefBlockContactsSearching = (CheckBoxPreference) findPreference(SETTINGS_BLOCK_CONTACTS_SEARCHING);
mPrefBlockContactsSearching.setChecked(mManager.getBlockContactsSearchingEnabled()); mPrefBlockContactsSearching.setChecked(mManager.getBlockContactsSearchingEnabled());
mPrefBlockContactsSearching.setOnPreferenceChangeListener(this); mPrefBlockContactsSearching.setOnPreferenceChangeListener(this);
mPrefPaymentStub = (CheckBoxPreference) findPreference(SETTINGS_PAYMENT_STUB);
mPrefPaymentStub.setChecked(mManager.getPaymentStubEnabled());
mPrefPaymentStub.setOnPreferenceChangeListener(this);
// === Services === // === Services ===
mPrefAutoFreezeService = (CheckBoxPreference) findPreference(SETTINGS_AUTO_FREEZE_SERVICE); mPrefAutoFreezeService = (CheckBoxPreference) findPreference(SETTINGS_AUTO_FREEZE_SERVICE);
mPrefAutoFreezeService.setChecked(mManager.getAutoFreezeServiceEnabled()); mPrefAutoFreezeService.setChecked(mManager.getAutoFreezeServiceEnabled());
mPrefAutoFreezeService.setOnPreferenceChangeListener(this); mPrefAutoFreezeService.setOnPreferenceChangeListener(this);
mPrefAutoFreezeDelay = findPreference(SETTINGS_AUTO_FREEZE_DELAY); mPrefAutoFreezeDelay = findPreference(SETTINGS_AUTO_FREEZE_DELAY);
mPrefAutoFreezeDelay.setOnPreferenceClickListener(this::openAutoFreezeDelayPicker); mPrefAutoFreezeDelay.setOnPreferenceChangeListener(this);
mPrefAutoFreezeDelay.setEntries(Arrays.stream(AUTO_FREEZE_DELAY_SECONDS).mapToObj((it) -> getString(R.string.format_minutes, it / 60)).toArray(String[]::new));
mPrefAutoFreezeDelay.setEntryValues(Arrays.stream(AUTO_FREEZE_DELAY_SECONDS).mapToObj(String::valueOf).toArray(String[]::new));
updateAutoFreezeDelay(); updateAutoFreezeDelay();
mPrefSkipForeground = (CheckBoxPreference) findPreference(SETTINGS_SKIP_FOREGROUND); mPrefSkipForeground = (CheckBoxPreference) findPreference(SETTINGS_SKIP_FOREGROUND);
mPrefSkipForeground.setChecked(mManager.getSkipForegroundEnabled()); mPrefSkipForeground.setChecked(mManager.getSkipForegroundEnabled());
@ -101,11 +120,6 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
mPrefCrossProfileFileChooser.setEnabled(false); mPrefCrossProfileFileChooser.setEnabled(false);
} }
// Disable fake camera on R because third-party camera activities are now unsupported
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
mPrefCameraProxy.setEnabled(false);
}
// Disable FileShuttle for Android Go // Disable FileShuttle for Android Go
// as it requires SYSTEM_ALERT_WINDOW which // as it requires SYSTEM_ALERT_WINDOW which
// is not allowed on Go devices // is not allowed on Go devices
@ -125,9 +139,7 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
} }
private void updateAutoFreezeDelay() { private void updateAutoFreezeDelay() {
mPrefAutoFreezeDelay.setSummary(TimeDurationUtil.formatMinutesSeconds( mPrefAutoFreezeDelay.setSummary(getString(R.string.format_minutes, mManager.getAutoFreezeDelay() / 60));
((long) mManager.getAutoFreezeDelay()) * 1000
));
} }
private boolean openSummaryUrl(Preference pref) { private boolean openSummaryUrl(Preference pref) {
@ -137,11 +149,6 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
return true; return true;
} }
private boolean openAutoFreezeDelayPicker(Preference pref) {
new AutoFreezeDelayPickerFragment().show(getActivity().getFragmentManager(), "dialog");
return true;
}
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newState) { public boolean onPreferenceChange(Preference preference, Object newState) {
if (preference == mPrefCrossProfileFileChooser) { if (preference == mPrefCrossProfileFileChooser) {
@ -187,15 +194,16 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
mManager.setCrossProfileFileChooserEnabled(true); mManager.setCrossProfileFileChooserEnabled(true);
return true; return true;
} else if (preference == mPrefCameraProxy) {
mManager.setCameraProxyEnabled(((boolean) newState));
return true;
} else if (preference == mPrefBlockContactsSearching) { } else if (preference == mPrefBlockContactsSearching) {
mManager.setBlockContactsSearchingEnabled((boolean) newState); mManager.setBlockContactsSearchingEnabled((boolean) newState);
return true; return true;
} else if (preference == mPrefAutoFreezeService) { } else if (preference == mPrefAutoFreezeService) {
mManager.setAutoFreezeServiceEnabled((boolean) newState); mManager.setAutoFreezeServiceEnabled((boolean) newState);
return true; return true;
} else if (preference == mPrefAutoFreezeDelay) {
mManager.setAutoFreezeDelay(Integer.parseInt((String) newState));
updateAutoFreezeDelay();
return true;
} else if (preference == mPrefSkipForeground) { } else if (preference == mPrefSkipForeground) {
boolean enabled = (boolean) newState; boolean enabled = (boolean) newState;
if (!enabled) { if (!enabled) {
@ -216,6 +224,9 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
mManager.setSkipForegroundEnabled(true); mManager.setSkipForegroundEnabled(true);
return true; return true;
} else if (preference == mPrefPaymentStub) {
mManager.setPaymentStubEnabled((boolean) newState);
return true;
} else { } else {
return false; return false;
} }
@ -239,23 +250,4 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Prefer
return true; return true;
} }
} }
public static class AutoFreezeDelayPickerFragment extends TimeDurationPickerDialogFragment {
@Override
protected long getInitialDuration() {
return ((long) SettingsManager.getInstance().getAutoFreezeDelay()) * 1000;
}
@Override
protected int setTimeUnits() {
return TimeDurationPicker.MM_SS;
}
@Override
public void onDurationSet(TimeDurationPicker view, long duration) {
long seconds = duration / 1000;
if (seconds >= Integer.MAX_VALUE) return;
SettingsManager.getInstance().setAutoFreezeDelay((int) seconds);
}
}
} }

View file

@ -1,11 +1,15 @@
package net.typeblog.shelter.ui; package net.typeblog.shelter.ui;
import androidx.activity.EdgeToEdge;
import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContract; import androidx.activity.result.contract.ActivityResultContract;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
@ -44,6 +48,7 @@ public class SetupWizardActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
EdgeToEdge.enable(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
// The user could click on the "finish provisioning" notification while having removed // The user could click on the "finish provisioning" notification while having removed
// this activity from the recents stack, in which case the notification will start a new // this activity from the recents stack, in which case the notification will start a new
@ -219,6 +224,25 @@ public class SetupWizardActivity extends AppCompatActivity {
mWizard.setLayoutBackground(ContextCompat.getDrawable(inflater.getContext(), R.color.colorAccent)); mWizard.setLayoutBackground(ContextCompat.getDrawable(inflater.getContext(), R.color.colorAccent));
return view; return view;
} }
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ViewCompat.setOnApplyWindowInsetsListener(mWizard, (v, windowInsets) -> {
Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars());
mWizard.setDecorPaddingTop(insets.top);
NavigationBar nav = mWizard.getNavigationBar();
ViewGroup.LayoutParams params = nav.getLayoutParams();
params.height += insets.bottom;
nav.setLayoutParams(params);
nav.setPadding(nav.getPaddingLeft(), nav.getPaddingTop(), nav.getPaddingRight(), insets.bottom);
return WindowInsetsCompat.CONSUMED;
});
}
} }
protected static abstract class TextWizardFragment extends BaseWizardFragment { protected static abstract class TextWizardFragment extends BaseWizardFragment {

View file

@ -16,8 +16,8 @@ public class LocalStorageManager {
public static final String PREF_AUTO_FREEZE_SERVICE = "auto_freeze_service"; public static final String PREF_AUTO_FREEZE_SERVICE = "auto_freeze_service";
public static final String PREF_DONT_FREEZE_FOREGROUND = "dont_freeze_foreground"; public static final String PREF_DONT_FREEZE_FOREGROUND = "dont_freeze_foreground";
public static final String PREF_AUTO_FREEZE_DELAY = "auto_freeze_delay"; public static final String PREF_AUTO_FREEZE_DELAY = "auto_freeze_delay";
public static final String PREF_CAMERA_PROXY = "camera_proxy";
public static final String PREF_BLOCK_CONTACTS_SEARCHING = "block_contacts_searching"; public static final String PREF_BLOCK_CONTACTS_SEARCHING = "block_contacts_searching";
public static final String PREF_PAYMENT_STUB = "payment_stub";
private static final String LIST_DIVIDER = ","; private static final String LIST_DIVIDER = ",";

View file

@ -5,7 +5,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import net.typeblog.shelter.ui.CameraProxyActivity; import net.typeblog.shelter.services.PaymentStubService;
import net.typeblog.shelter.ui.DummyActivity; import net.typeblog.shelter.ui.DummyActivity;
public class SettingsManager { public class SettingsManager {
@ -47,7 +47,7 @@ public class SettingsManager {
// Enforce all settings // Enforce all settings
public void applyAll() { public void applyAll() {
applyCrossProfileFileChooser(); applyCrossProfileFileChooser();
applyCameraProxy(); applyPaymentStub();
} }
// Read and apply the enabled state of the cross profile file chooser // Read and apply the enabled state of the cross profile file chooser
@ -59,15 +59,6 @@ public class SettingsManager {
PackageManager.DONT_KILL_APP); PackageManager.DONT_KILL_APP);
} }
// Read and apply the enabled state of the camera proxy
public void applyCameraProxy() {
boolean enabled = mStorage.getBoolean(LocalStorageManager.PREF_CAMERA_PROXY);
mContext.getPackageManager().setComponentEnabledSetting(
new ComponentName(mContext, CameraProxyActivity.class),
enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
// Set the enabled state of the cross profile file chooser // Set the enabled state of the cross profile file chooser
public void setCrossProfileFileChooserEnabled(boolean enabled) { public void setCrossProfileFileChooserEnabled(boolean enabled) {
mStorage.setBoolean(LocalStorageManager.PREF_CROSS_PROFILE_FILE_CHOOSER, enabled); mStorage.setBoolean(LocalStorageManager.PREF_CROSS_PROFILE_FILE_CHOOSER, enabled);
@ -80,18 +71,6 @@ public class SettingsManager {
return mStorage.getBoolean(LocalStorageManager.PREF_CROSS_PROFILE_FILE_CHOOSER); return mStorage.getBoolean(LocalStorageManager.PREF_CROSS_PROFILE_FILE_CHOOSER);
} }
// Set the enabled state of the cross profile file chooser
public void setCameraProxyEnabled(boolean enabled) {
mStorage.setBoolean(LocalStorageManager.PREF_CAMERA_PROXY, enabled);
applyCameraProxy();
syncSettingsToProfileBool(LocalStorageManager.PREF_CAMERA_PROXY, enabled);
}
// Get the enabled state of the cross profile file chooser
public boolean getCameraProxyEnabled() {
return mStorage.getBoolean(LocalStorageManager.PREF_CAMERA_PROXY);
}
// Set the blocked state of cross-profile contacts searching // Set the blocked state of cross-profile contacts searching
public void setBlockContactsSearchingEnabled(boolean enabled) { public void setBlockContactsSearchingEnabled(boolean enabled) {
mStorage.setBoolean(LocalStorageManager.PREF_BLOCK_CONTACTS_SEARCHING, enabled); mStorage.setBoolean(LocalStorageManager.PREF_BLOCK_CONTACTS_SEARCHING, enabled);
@ -140,4 +119,22 @@ public class SettingsManager {
public boolean getSkipForegroundEnabled() { public boolean getSkipForegroundEnabled() {
return mStorage.getBoolean(LocalStorageManager.PREF_DONT_FREEZE_FOREGROUND); return mStorage.getBoolean(LocalStorageManager.PREF_DONT_FREEZE_FOREGROUND);
} }
public boolean getPaymentStubEnabled() {
return mStorage.getBoolean(LocalStorageManager.PREF_PAYMENT_STUB);
}
public void setPaymentStubEnabled(boolean enabled) {
mStorage.setBoolean(LocalStorageManager.PREF_PAYMENT_STUB, enabled);
applyPaymentStub();
}
// Enable / disable the payment stub component based on settings in local storage
public void applyPaymentStub() {
boolean enabled = mStorage.getBoolean(LocalStorageManager.PREF_PAYMENT_STUB);
mContext.getPackageManager().setComponentEnabledSetting(
new ComponentName(mContext, PaymentStubService.class),
enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
} }

View file

@ -189,7 +189,6 @@ public class Utility {
DevicePolicyManager.FLAG_MANAGED_CAN_ACCESS_PARENT); DevicePolicyManager.FLAG_MANAGED_CAN_ACCESS_PARENT);
// Allow ACTION_SEND and ACTION_SEND_MULTIPLE to cross from managed to parent // Allow ACTION_SEND and ACTION_SEND_MULTIPLE to cross from managed to parent
// TODO: Make this configurable
IntentFilter actionSendFilter = new IntentFilter(); IntentFilter actionSendFilter = new IntentFilter();
actionSendFilter.addAction(Intent.ACTION_SEND); actionSendFilter.addAction(Intent.ACTION_SEND);
actionSendFilter.addAction(Intent.ACTION_SEND_MULTIPLE); actionSendFilter.addAction(Intent.ACTION_SEND_MULTIPLE);
@ -205,7 +204,6 @@ public class Utility {
DevicePolicyManager.FLAG_PARENT_CAN_ACCESS_MANAGED); DevicePolicyManager.FLAG_PARENT_CAN_ACCESS_MANAGED);
// Browser intents are allowed from work profile to parent // Browser intents are allowed from work profile to parent
// TODO: Make this configurable, just as ALLOW_PARENT_PROFILE_APP_LINKING in the next function
IntentFilter browsableIntentFilter = new IntentFilter(Intent.ACTION_VIEW); IntentFilter browsableIntentFilter = new IntentFilter(Intent.ACTION_VIEW);
browsableIntentFilter.addCategory(Intent.CATEGORY_BROWSABLE); browsableIntentFilter.addCategory(Intent.CATEGORY_BROWSABLE);
browsableIntentFilter.addDataScheme("http"); browsableIntentFilter.addDataScheme("http");
@ -244,8 +242,6 @@ public class Utility {
manager.setSecureSetting(adminComponent, Settings.Secure.INSTALL_NON_MARKET_APPS, "1"); manager.setSecureSetting(adminComponent, Settings.Secure.INSTALL_NON_MARKET_APPS, "1");
} }
// TODO: This should be configured by the user, instead of being enforced each time Shelter starts
// TODO: But we should also have some default restrictions that are set the first time Shelter starts
manager.addUserRestriction(adminComponent, UserManager.ALLOW_PARENT_PROFILE_APP_LINKING); manager.addUserRestriction(adminComponent, UserManager.ALLOW_PARENT_PROFILE_APP_LINKING);
} }

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorAccent" android:state_checked="true" /> <item android:color="@color/colorNavigationIconTint" android:state_checked="true" />
<item android:color="@color/colorTextPrimary" android:state_checked="false" /> <item android:color="@color/colorNavigationIconTintSelected" android:state_checked="false" />
</selector> </selector>

View file

@ -0,0 +1,35 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="737.01dp"
android:height="850.36dp"
android:viewportWidth="737.01"
android:viewportHeight="850.36">
<path
android:pathData="m171.04,181.02 l-85,77.59 -5.21,-6.64C50.53,317.75 31.12,390.57 28.72,463.15l28,13.74 113.38,-80 28.35,80 28.35,-26.68 56.75,29.34 56.69,-56 56.7,80 56.69,-53.36 56.69,53.36 85,-106.72 85,106.72 28.32,-26.36c-0.2,-76.35 -19.77,-153.52 -51.42,-222.96l-32.68,30.23 -85,-77.58 -56.7,51.72 -56.69,-25.86 -56.69,25.86 -28.35,-51.72 -56.69,51.72 -56.69,-25.86 -28.35,25.86zM255.12,311.81c15.66,0 28.35,19.04 28.35,42.52 -0,23.48 -12.69,42.52 -28.35,42.52 -15.66,-0 -28.35,-19.04 -28.35,-42.52 0,-9.58 2.12,-18.42 5.68,-25.53 0,0 0,-0.01 0,-0.01 0.02,-0.03 0.04,-0.06 0.06,-0.1 0.76,-1.5 1.58,-2.93 2.46,-4.27 0.01,-0.01 0.02,-0.03 0.03,-0.04 0.91,-1.37 1.88,-2.65 2.9,-3.82 0,0 0,0 0.01,-0.01 4.77,-5.48 10.74,-8.74 17.21,-8.74zM481.89,311.81c15.66,0 28.35,19.04 28.35,42.52 -0,23.48 -12.69,42.52 -28.35,42.52 -15.66,-0 -28.35,-19.04 -28.35,-42.52 0,-9.58 2.12,-18.42 5.68,-25.53 0,0 0,-0.01 0,-0.01 0.02,-0.03 0.04,-0.06 0.06,-0.1 5.18,-10.25 13.38,-16.88 22.61,-16.88z"
android:strokeWidth="8"
android:fillColor="#ffffff"
android:strokeColor="#000000"
android:fillType="evenOdd"
android:fillAlpha="0"/>
<path
android:pathData="m255.12,311.81c-6.48,0 -12.44,3.26 -17.21,8.74 2.06,-2.36 4.35,-4.31 6.79,-5.76 0.64,-0.09 1.28,-0.13 1.92,-0.14v-0.03c12.63,-0 18.95,15.26 10.02,24.19 -8.92,8.92 -24.18,2.61 -24.19,-10.01 -3.57,7.11 -5.68,15.95 -5.68,25.53 0,23.48 12.69,42.52 28.35,42.52 15.66,-0 28.35,-19.04 28.35,-42.52 -0,-23.48 -12.69,-42.52 -28.35,-42.52zM237.9,320.56c-1.02,1.18 -2,2.45 -2.9,3.82 0.91,-1.37 1.88,-2.65 2.9,-3.82zM234.97,324.42c-0.88,1.34 -1.71,2.77 -2.46,4.27 0.76,-1.5 1.58,-2.93 2.46,-4.27z"
android:fillColor="#20190a"/>
<path
android:pathData="m481.89,311.81c-9.24,0 -17.44,6.63 -22.61,16.88 3.11,-6.15 7.32,-11.01 12.19,-13.9 0.64,-0.09 1.28,-0.13 1.92,-0.14v-0.03c12.63,-0 18.95,15.26 10.02,24.19 -8.92,8.92 -24.18,2.61 -24.19,-10.01 -3.57,7.11 -5.68,15.95 -5.68,25.53 0,23.48 12.69,42.52 28.35,42.52 15.66,-0 28.35,-19.04 28.35,-42.52 -0,-23.48 -12.69,-42.52 -28.35,-42.52z"
android:fillColor="#20190a"/>
<path
android:pathData="m473.39,314.62v0.03c-0.64,0.01 -1.28,0.05 -1.92,0.14 -4.9,2.91 -9.13,7.8 -12.25,14 0,12.63 15.26,18.95 24.19,10.02 8.93,-8.93 2.61,-24.19 -10.02,-24.19z"
android:fillColor="#f9f8f4"
android:fillType="evenOdd"/>
<path
android:pathData="m246.62,314.62v0.03c-0.64,0.01 -1.28,0.05 -1.92,0.14 -4.9,2.91 -9.14,7.8 -12.25,14 -0,12.63 15.26,18.95 24.19,10.02 8.93,-8.93 2.61,-24.19 -10.02,-24.19z"
android:fillColor="#f9f8f4"
android:fillType="evenOdd"/>
<path
android:pathData="M369.51,0C259.31,0 137.21,99.48 64.9,231.69l21.14,26.92 85,-77.59 28.35,77.59 28.35,-25.86 56.69,25.86 56.69,-51.72 28.35,51.72 56.69,-25.86 56.69,25.86 56.7,-51.72 85,77.58 52,-48.11C604.67,101.83 481,0 369.51,0Z"
android:fillColor="#1a1a1a"
android:fillType="evenOdd"/>
<path
android:pathData="m595.32,396.83 l-85,106.72 -56.69,-53.36 -56.69,53.36 -56.7,-80 -56.69,56 -56.75,-29.34 -28.35,26.68 -28.35,-80 -113.38,80 -55.84,-27.4c0,0 -0.88,18.25 -0.88,27.36 0,235.75 165,373.51 368.51,373.51 203.51,0 368.5,-137.76 368.5,-373.51 0,-8.42 -0.25,-16.87 -0.75,-25.36l-55.94,52.06z"
android:fillColor="#1a1a1a"
android:fillType="evenOdd"/>
</vector>

View file

@ -8,6 +8,7 @@
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:id="@+id/main_appbar" android:id="@+id/main_appbar"
android:fitsSystemWindows="true"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:elevation="0dp" app:elevation="0dp"

View file

@ -5,8 +5,10 @@
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:id="@+id/settings_appbar" android:id="@+id/settings_appbar"
android:fitsSystemWindows="true"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"> app:layout_constraintEnd_toEndOf="parent">

View file

@ -1,8 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<View
android:id="@+id/status_bar_spacer"
android:background="?attr/colorAccent"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/setup_wizard_container"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<FrameLayout
android:id="@+id/setup_wizard_container" android:id="@+id/setup_wizard_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".ui.SetupWizardActivity" /> tools:context=".ui.SetupWizardActivity" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_egg_background"/>
<foreground android:drawable="@mipmap/ic_launcher_egg_foreground"/>
<monochrome>
<inset
android:drawable="@drawable/ic_launcher_egg_foreground_monochrome"
android:insetLeft="26%"
android:insetTop="26%"
android:insetRight="26%"
android:insetBottom="26%" />
</monochrome>
</adaptive-icon>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_egg_background"/>
<foreground android:drawable="@mipmap/ic_launcher_egg_foreground"/>
<monochrome>
<inset
android:drawable="@drawable/ic_launcher_egg_foreground_monochrome"
android:insetLeft="26%"
android:insetTop="26%"
android:insetRight="26%"
android:insetBottom="26%" />
</monochrome>
</adaptive-icon>

View file

@ -45,7 +45,6 @@
<string name="freeze_all_success">تم تجميد جميع التطبيقات في قائمة \"التجميد التلقائي\" بنجاح.</string> <string name="freeze_all_success">تم تجميد جميع التطبيقات في قائمة \"التجميد التلقائي\" بنجاح.</string>
<string name="shortcut_create_success">تم إنشاء اختصار لمشغلك.</string> <string name="shortcut_create_success">تم إنشاء اختصار لمشغلك.</string>
<string name="miui_cannot_clone">استنساخ تطبيقات غير تابعة للنظام إلى ملف شخصي آخر غير مدعوم حاليًّا على MIUI. الرجاء استنساخ متجر تطبيقات النظام (مثل <b>متجر جوجل بلاي</b>) في الملف الشخصي الآخر ثم تثبيت التطبيقات من هناك.</string> <string name="miui_cannot_clone">استنساخ تطبيقات غير تابعة للنظام إلى ملف شخصي آخر غير مدعوم حاليًّا على MIUI. الرجاء استنساخ متجر تطبيقات النظام (مثل <b>متجر جوجل بلاي</b>) في الملف الشخصي الآخر ثم تثبيت التطبيقات من هناك.</string>
<string name="camera_proxy_activity">اختر ملف الصور</string>
<string name="service_auto_freeze_title">التجميد التلقائي معلق</string> <string name="service_auto_freeze_title">التجميد التلقائي معلق</string>
<string name="service_auto_freeze_desc">سيقوم العازل بتجميد التطبيقات التي تم إطلاقها من \"إلغاء التجميد و الإطلاق\" في حدث قفل الشاشة التالي تلقائيًا.</string> <string name="service_auto_freeze_desc">سيقوم العازل بتجميد التطبيقات التي تم إطلاقها من \"إلغاء التجميد و الإطلاق\" في حدث قفل الشاشة التالي تلقائيًا.</string>
<string name="batch_operation">عملية على دفعة</string> <string name="batch_operation">عملية على دفعة</string>
@ -54,8 +53,6 @@
<string name="settings_interaction">التفاعل</string> <string name="settings_interaction">التفاعل</string>
<string name="settings_cross_profile_file_chooser">مكوك الملفات</string> <string name="settings_cross_profile_file_chooser">مكوك الملفات</string>
<string name="settings_cross_profile_file_chooser_desc">عند التمكين، ستتمكن من تصفح / عرض / اختيار / نسخ الملفات من العازل إلى الملف الرئيسي والعكس، عن طريق المستندات (المسماة الملفات أو المستندات الموجودة على منصة الإطلاق) أو التطبيقات التي تحتوي على دعم واجهة مستخدم المستندات (لا تحصل إلا على الوصول المؤقت إلى الملفات التي تختارها في واجهة مستخدم المستندات)، في حين لا تزال تمتلك عزل نظام الملفات.</string> <string name="settings_cross_profile_file_chooser_desc">عند التمكين، ستتمكن من تصفح / عرض / اختيار / نسخ الملفات من العازل إلى الملف الرئيسي والعكس، عن طريق المستندات (المسماة الملفات أو المستندات الموجودة على منصة الإطلاق) أو التطبيقات التي تحتوي على دعم واجهة مستخدم المستندات (لا تحصل إلا على الوصول المؤقت إلى الملفات التي تختارها في واجهة مستخدم المستندات)، في حين لا تزال تمتلك عزل نظام الملفات.</string>
<string name="settings_camera_proxy">اختيار صورة كاميرا وهمية</string>
<string name="settings_camera_proxy_desc">قدم تطبيق كاميرا مزيف إلى التطبيقات الأخرى، مما يسمح لك باختيار صورة عشوائية من واجهة المستندات (و مكوك الملفات إذا تم تمكينه) كصورة ملتقطة. يؤدي ذلك إلى تمكين ميزة \"نقل الملفات\" لأي تطبيق يدعم استخدام تطبيقات كاميرا أخرى لالتقاط صورة، حتى إذا كانت لا تدعم واجهة المستندات.</string>
<string name="settings_services">خدمات</string> <string name="settings_services">خدمات</string>
<string name="settings_auto_freeze_service">خدمة التجميد التلقائي</string> <string name="settings_auto_freeze_service">خدمة التجميد التلقائي</string>
<string name="settings_auto_freeze_service_desc">عندما يتم قفل الشاشة، قم تلقائيًا بتجميد التطبيقات التي بدأت من اختصار \"إلغاء التجميد والبدأ\".</string> <string name="settings_auto_freeze_service_desc">عندما يتم قفل الشاشة، قم تلقائيًا بتجميد التطبيقات التي بدأت من اختصار \"إلغاء التجميد والبدأ\".</string>

View file

@ -10,7 +10,6 @@
<string name="first_run_alert_continue">Siguir</string> <string name="first_run_alert_continue">Siguir</string>
<string name="device_admin_desc">Serviciu d\'aislamientu d\'aplicaciones</string> <string name="device_admin_desc">Serviciu d\'aislamientu d\'aplicaciones</string>
<string name="device_admin_explanation">Shelter ha convertise n\'alministrador del preséu pa facer les xeres d\'aislamientu.</string> <string name="device_admin_explanation">Shelter ha convertise n\'alministrador del preséu pa facer les xeres d\'aislamientu.</string>
<string name="camera_proxy_activity">Escoyer una imaxe</string>
<string name="setup_wizard_welcome">Afáyate en Shelter</string> <string name="setup_wizard_welcome">Afáyate en Shelter</string>
<string name="setup_wizard_welcome_text">Shelter ye una aplicación que t\'ayuda a executar aplicaciones nun perfil aisláu. Esto ye posible per duana de la carauterística <b>Perfil de trabayu</b> d\'Android. <string name="setup_wizard_welcome_text">Shelter ye una aplicación que t\'ayuda a executar aplicaciones nun perfil aisláu. Esto ye posible per duana de la carauterística <b>Perfil de trabayu</b> d\'Android.
\n \n
@ -76,8 +75,6 @@
<string name="settings_interaction">Interaición</string> <string name="settings_interaction">Interaición</string>
<string name="settings_cross_profile_file_chooser">Pasera de ficheros</string> <string name="settings_cross_profile_file_chooser">Pasera de ficheros</string>
<string name="settings_cross_profile_file_chooser_desc">Al activar la opción, vas ser a restolar/ver/escoyer/copiar ficheros en Shelter dende\'l perfil principal y viceversa. NAMÁS pente la interfaz de Documentos (col nome de Ficheros o Documentos nel llanzador), o pente aplicaciones con sofitu pa la interfaz de Documentos qu\'acceden temporalmente a los ficheros qu\'escueyas nesa interfaz, ensin dexar de tar nel aislamientu del sistema de ficheros.</string> <string name="settings_cross_profile_file_chooser_desc">Al activar la opción, vas ser a restolar/ver/escoyer/copiar ficheros en Shelter dende\'l perfil principal y viceversa. NAMÁS pente la interfaz de Documentos (col nome de Ficheros o Documentos nel llanzador), o pente aplicaciones con sofitu pa la interfaz de Documentos qu\'acceden temporalmente a los ficheros qu\'escueyas nesa interfaz, ensin dexar de tar nel aislamientu del sistema de ficheros.</string>
<string name="settings_camera_proxy">Selector d\'imáxenes como «Cámara»</string>
<string name="settings_camera_proxy_desc">Presenta una aplicación de cámara falsa que te permite escoyer una imaxe dende la interfaz de Documentos (y la pasera de ficheros si ta activada) como la semeya fecha. Esto activa la pasera de ficheros pa cualesquier aplicación que sofite l\'usu d\'aplicaciones de cámara pa facer semeyes, magar que nun sofiten nativamente la interfaz de Documentos.</string>
<string name="settings_block_contacts_searching">Bloquiar la busca de contautos</string> <string name="settings_block_contacts_searching">Bloquiar la busca de contautos</string>
<string name="settings_block_contacts_searching_desc">Niega l\'accesu dende\'l perfil principal a los contautos del perfil de trabayu.</string> <string name="settings_block_contacts_searching_desc">Niega l\'accesu dende\'l perfil principal a los contautos del perfil de trabayu.</string>
<string name="settings_services">Servicios</string> <string name="settings_services">Servicios</string>

View file

@ -1,9 +1,120 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="camera_proxy_activity">Vyber obrázek</string> <string name="first_run_alert_cancel">Nashle</string>
<string name="first_run_alert_cancel">Sbohem</string>
<string name="first_run_alert_continue">Pokračovat</string> <string name="first_run_alert_continue">Pokračovat</string>
<string name="device_admin_desc">Služba izolace aplikací</string> <string name="device_admin_desc">Služba izolace aplikací</string>
<string name="device_admin_explanation">Shelter musí být správcem zařízení, aby mohl provádět úkoly.</string> <string name="device_admin_explanation">Shelter musí být správcem zařízení, aby mohl fungovat.</string>
<string name="setup_wizard_welcome">Vítejte v Shelteru</string> <string name="setup_wizard_welcome">Vítejte v Shelteru</string>
<string name="setup_wizard_permissions">Pár slov o oprávněních</string>
<string name="setup_wizard_welcome_text">Shelter je aplikace, která pomáhá spouštět aplikace v izolovaném profilu. Dělá to za použití <b>Pracovního profilu</b>, který je součástí Androidu.
\n
\n
\nKlikni na \"Další\" a my ti poskytneme další informace o Shelter a provedeme tě procesem jeho nastavení.
\n
\nDoporučujeme, aby jsi si následující stránky pečlivě přečetl.</string>
<string name="setup_wizard_failed_text">Je nám líto, že pro Vás nemůžeme Shelter nastavit.
\n
\nPakliže máte již nastavený Pracovní profil, buď z předchozí instalace Shelteru, nebo jiné aplikace, budete jej muset odstranit v Nastavení -&gt; Účty předtím, než bude Shelter moci pokračovat.
\n
\nJinak, pokud jste nezrušili nastavení ručně, pak důvodem chyby je obvykle těžce upravený systém nebo rozpor mezi Shelterem a jinými správci Pracovního profilu. Bohužel, zde není nic, co s tím můžeme udělat.
\n
\nKlikněte na \"Další\" pro ukončení.</string>
<string name="setup_wizard_permissions_text">Ve výchozím stavu se Vás Shelter neptá na žádná individuální oprávnění. Nicméně, pokud budete pokračovat procesem nastavení, Shelter se pokusí nastavit Pracovní profil a proto se stane jeho <b>správcem</b>.
\n
\nTímto bude Shelteru udělen rozsáhlý seznam oprávnění v rámci tohoto profilu srovnatelný s profilem správce zařízení, i když omezený na tento profil. Bytí správcem profilu je nutné k většině funkcí Shelteru.
\n
\nNěkteré pokročilé funcke Shelteru můžou vyžadovat více oprávnění <b>mimo</b> Pracovní profil. Když budou potřeba, Shelter se na tato oprávnění zeptá samostatně, jakmile povolíte odpovídající funkce.</string>
<string name="setup_wizard_compatibility">Kompatibilita</string>
<string name="fragment_profile_work">Shelter</string>
<string name="setup_wizard_ready">Připraven?</string>
<string name="setup_wizard_ready_text">Nyní jsme připraveni pro Vás nastavit Shelter. Nejdříve se prosím ujistěte, že Vaše zařízení <b>není</b> v režimu Nerušit, protože budete muset později <b>kliknout na oznámení</b> k dokonční nastavení.
\n
\nPokud jste připraveni, klikněte na \"Další\" pro zahájení procesu nastavení.</string>
<string name="unfreeze_and_launch">Rozmrazit a spustit</string>
<string name="auto_freeze">Automatické zamrznutí</string>
<string name="allow_cross_profile_widgets">Povolit widgety v hlavním profilu</string>
<string name="setup_wizard_action_required">Je vyžadována akce</string>
<string name="notifications_important">Důležité pro Shelter</string>
<string name="finish_provision_title">Klikněte zde pro dokončení nastavení Shelteru</string>
<string name="allow_cross_profile_interaction">Povolit interakci napříč profily</string>
<string name="create_freeze_all_shortcut">Vytvořit zkratku Dávkové zmrazení</string>
<string name="settings_interaction">Interakce</string>
<string name="settings_services">Služby</string>
<string name="setup_wizard_compatibility_text">Shelter je vyvíjen a testován na AOSP Android zařízeních. To zahrnuje AOSP (Android Open Source Project), Google Android (na Pixelech), a <b>mnoho na AOSP založených open-source operačních systémech (ROM)</b> jako je LineageOS. Pokud Váš telefon běží na jednom z těchto Android derivátů zmíněných výše, pak gratuluji! Shelter bude na Vašem zařízení fungovat správně.
\n
\nNěkteří výrobci zařízení přichází s velice invazivními úpravami základního kódu Androidu, vedoucí k problémům, nekompatibilitě a neočekávanému chování. Některé vlastní ROM mohou také zavádět kompatibilitu narušující úpravy, ale většinou jsou to vzácnější případy ve srovnání s nekompatibilitami vytvořenými výrobci telefonů.
\n
\nShelter je pouze rozhraní pro Pracovní profil, jenž je funkcí poskytovanou operačním systémem. Pokud je tato funkce poskytovaná systémem rozbitá nebo nestandardní, <b>Shelter nebude moci vyřešit takový problém sám</b>. Pokud nyní používáte výrobcem upravenou verzi Androidu, o které se ví, že v ní nefungují Pracovní profily, <b>byli jste upozorněni</b>. Pokud i tak budete pokračovat, neexistuje garance, že Shelter se bude za těchto okolností chovat správně.</string>
<string name="show_all_warning">Manipulace se skrytými aplikacemi může způsobit pády a všechny druhy neočekávaného chování. Nicméně, tato funkce může být užitečná, pokud výrobcem upravená ROM nenabízí všechny systémové aplikace v pracovním profilu ve výchozím stavu. Pokračujete sami na sebe.</string>
<string name="settings_cross_profile_file_chooser_desc">Pokud je povoleno, budete moci prohlížet / zobrazovat / vybírat / kopírovat mezi Shelterem a hlavním profilem a naopak, POUZE skrze rozhraní Dokumentů (nazýváno Soubory nebo dokumenty ve vašem spouštěči) nebo aplikace s podporou rozhraní Dokumentů (získají pouze dočasný přístup k souborům v rozhraní Dokumentů), stále při zachování izolace souborového systému.</string>
<string name="settings_bug_report">Hlášení chyb / Sledování problémů</string>
<string name="batch_operation">Hromadná akce</string>
<string name="clone_to_main_profile">Naklonovat do hlavního profilu</string>
<string name="clone_to_work_profile">Naklonovat do Shelteru (Pracovního profilu)</string>
<string name="freeze_app">Zmrazit</string>
<string name="payment_stub_description">Údaj o platební službě (NEPOUŽÍVAT)</string>
<string name="setup_wizard_please_wait">Prosím čekejte…</string>
<string name="setup_wizard_please_wait_text">Snažíme se zapnout Pracovní profil a nastavit Shelter.</string>
<string name="setup_wizard_failed">Nastavení selhalo</string>
<string name="install_app_to_profile">Nainstalovat APK do Shelteru</string>
<string name="setup_wizard_action_required_text">Nyní byste měli dostat oznámení od Shelteru. <b>Klikněte na něj</b> k dokončení procesu nastavení.
\n
\nPokud žádné oznámení nevidíte, ujistěte se, že na Vašem zařízení není zapnutý režim Nerušit a zkuste stáhnou centrum oznámení.
\n
\nPokud chcete resetovat Shelter a začít od začátku, můžete odstranit data Shelteru v Nastavení.</string>
<string name="service_desc">Shelter právě běží …</string>
<string name="finish_provision_desc">Gratuluji! Jste jeden klik od dokončení nastavování Shelteru.</string>
<string name="service_title">Služba Shelteru</string>
<string name="service_auto_freeze_title">Automatické zmrazení je pozdrženo</string>
<string name="service_auto_freeze_desc">Shelter automaticky zamrazí aplikace spuštěné z \"Rozmrazit &amp; Spustit\" při dalším zamčení obrazovky.</string>
<string name="service_auto_freeze_now">Ihned zmrazit</string>
<string name="app_installing">Instaluji...</string>
<string name="fragment_profile_main">Hlavní</string>
<string name="uninstall_app">Odinstalovat</string>
<string name="unfreeze_app">Rozmrazit</string>
<string name="launch">Spustit</string>
<string name="create_unfreeze_shortcut">Vytvořit zkratku Rozmrazit a/nebo spustit</string>
<string name="search">Hledat</string>
<string name="freeze_all">Dávkové zmrazení</string>
<string name="list_item_disabled">[Zamraženo] %s</string>
<string name="freeze_all_shortcut">Zmrazit</string>
<string name="install_app_to_profile_success">Instalace aplikace v pracovním profilu dokončena.</string>
<string name="show_all">Zobrazit všechny aplikace</string>
<string name="documents_ui">Otevřít rozhraní Dokumentů</string>
<string name="settings_block_contacts_searching_desc">Zamítnout přístup z hlavního profilu ke kontaktům uvnitř pracovního profilu.</string>
<string name="settings_payment_stub">Účtenka platební služby</string>
<string name="settings">Nastavení</string>
<string name="settings_payment_stub_desc">Povolte v hlavním profilu falešnou platební službu NFC, aby byla v části Nastavení - NFC povolena. Tato možnost vám umožní vybrat platební aplikaci v pracovním profilu. Tím se obejde chyba systému Android, která znemožňuje výběr platební aplikace uvnitř pracovního profilu, pokud v hlavním profilu není žádná dostupná.</string>
<string name="settings_auto_freeze_service">Služba automatického zmrazení</string>
<string name="settings_auto_freeze_delay">Prodleva automatického zamrznutí</string>
<string name="settings_translate">Překlad</string>
<string name="provision_finished">Nastavení Shelteru je kompletní. Nyní se Shelter restartuje. Pokud se nespustí automaticky, budete jej muset znova spustit z Vašeho spouštěče.</string>
<string name="msg_device_unsupported">Oprávnění bylo zamítnuto nebo používáte nepodporované zařízení</string>
<string name="work_mode_disabled">Vypadá to, že jste vypnuli Pracovní režim během zapínání Shelteru. Pokud jste ho nyní povolili, prosím restartujte Shelter.</string>
<string name="clone_success">Aplikace \"%s\" úspěšně naklonována</string>
<string name="settings_auto_freeze_service_desc">Pokud je obrazovka uzamčena, automaticky zamrazit aplikace spuštěné ze zkratky \"Rozmrazit a Spustit\".</string>
<string name="settings_cross_profile_file_chooser">Výměna souborů</string>
<string name="uninstall_success">Aplikace \"%s\" úspěšně odinstalována</string>
<string name="uninstall_fail_system_app">Nelze odinstalovat systémové aplikace v profilu, který Shelter nemá pod kontrolou.</string>
<string name="unsupported_launcher">Není možné přidat zkratku na Váš spuštěč. Prosím kontaktuje vývojáře pro další informace.</string>
<string name="app_context_menu_title">Operace pro %s</string>
<string name="freeze_all_success">Všechny aplikace na seznamu \"Automatického zamrznutí\" byly úspěšně zamrazeny.</string>
<string name="settings_block_contacts_searching">Zamezit hledání kontaktů</string>
<string name="shortcut_create_success">Na Vašem spouštěči byl vytvořen zástupce.</string>
<string name="launch_app_fail">Není možné spustit aplikaci %s, protože nemá GUI.</string>
<string name="request_system_alert">Shelter potřebuje oprávnění <b>Zobrazit přes ostatní aplikace</b> pro správnou funkčnost Výměny souborů. Prosím, povolte jej pro <b>OBĚ DVĚ</b> (Osobní / Pracovní) aplikace Shelter zobrazené v dialogu poté, co stisknete \"Ok\". Toto oprávnění je využito pro spuštění služeb Výměny souborů na pozadí.</string>
<string name="settings_dont_freeze_foreground">Přeskočit aplikace na popředí</string>
<string name="settings_dont_freeze_foreground_desc">NEZAMRAZIT aplikace na popředí (s viditelnou aktivitou) když zamknete obrazovku. Toto může být užitečné pro aplikace jako jsou přehrávače hudby, ale budete je muset poté zamrazit prostřednictvím zkratky \"Hromadné zamrznutí\".</string>
<string name="settings_about">O aplikaci</string>
<string name="settings_version">Verze</string>
<string name="settings_source_code">Zdrojový kód</string>
<string name="continue_anyway">Přesto pokračovat</string>
<string name="work_profile_not_found">Pracovní profil nenalezen. Restartujte prosím aplikaci pro opětovné nastavení profilu.</string>
<string name="work_profile_provision_failed">Nelze zjistit pracovní profil. Můžete to zkusit znovu restartováním Shelteru.</string>
<string name="unfreeze_success">Aplikace \"%s\" úspěšně rozmrazena</string>
<string name="freeze_success">Aplikace \"%s\" úspěšně zamrazena</string>
<string name="clone_fail_system_app">Není možné naklonovat systémovou aplikaci, protože Shelter nad ní nemá kontrolu.</string>
<string name="request_usage_stats">Shelter potřebuje oprávnění <b>Statistiky využití</b> pro provedení této akce. Prosím povolte oprávnění pro <b>OBĚ DVĚ</b> aplikace Shelteru zobrazené v dialogu poté, co stisnete \"Ok\". Pokud tak neučiníte, tato funkce nebude fungovat správně.</string>
<string name="request_storage_manager">Shelter potřebuje přístup ke <b>všem souborům</b> pro funkci Výměny souborů. Prosím, udělte oprávnění pro <b>OBĚ DVĚ</b> (Osobní / Pracovní) aplikace Shelter zobrazené v dialogu poté, co stisknete \"Ok\".</string>
<string name="miui_cannot_clone">Klonování nesystémových aplikací do jiného profilu není v tuto chvíli v MIUI k dispozici. Prosím, naklonujte systémový obchod s aplikacemi (např. <b>Obchod Play</b>) do druhého profilu a aplikace instalujte z něj.</string>
</resources> </resources>

View file

@ -13,7 +13,6 @@
\nIm Laufe der Installation werden Sie eine Benachrichtigung zum Installationsabschluss erhalten, stellen Sie also sicher, dass Ihr Gerät <b>NICHT</b> im \"Bitte nicht stören\"-Modus ist.</string> \nIm Laufe der Installation werden Sie eine Benachrichtigung zum Installationsabschluss erhalten, stellen Sie also sicher, dass Ihr Gerät <b>NICHT</b> im \"Bitte nicht stören\"-Modus ist.</string>
<string name="device_admin_desc">App-Isolations-Dienst</string> <string name="device_admin_desc">App-Isolations-Dienst</string>
<string name="device_admin_explanation">Shelter muss Geräte-Administrator werden, um Apps isolieren zu können.</string> <string name="device_admin_explanation">Shelter muss Geräte-Administrator werden, um Apps isolieren zu können.</string>
<string name="camera_proxy_activity">Wählen sie eine Bild-Datei aus</string>
<string name="notifications_important">Shelter - Achtung</string> <string name="notifications_important">Shelter - Achtung</string>
<string name="finish_provision_title">Klicken Sie hier, um die Installation von Shelter abzuschliessen</string> <string name="finish_provision_title">Klicken Sie hier, um die Installation von Shelter abzuschliessen</string>
<string name="finish_provision_desc">Glückwunsch! Nur noch ein Klick und die Installation von Shelter ist abgeschlossen.</string> <string name="finish_provision_desc">Glückwunsch! Nur noch ein Klick und die Installation von Shelter ist abgeschlossen.</string>
@ -47,10 +46,8 @@
<string name="show_all_warning">Die Nutzung von Apps, die in der Liste ausgeblendet sind, kann zu Abstürzen und allem möglichen unerwartetem Verhalten führen. Dieses Feature kann aber nützlich sein, wenn vom Hersteller fehlerhaft angepasste ROMs nicht alle notwendigen System-Apps für das Arbeits-Profil zur Verfügung stellen. Wenn sie fortfahren, handeln Sie auf eigenes Risiko.</string> <string name="show_all_warning">Die Nutzung von Apps, die in der Liste ausgeblendet sind, kann zu Abstürzen und allem möglichen unerwartetem Verhalten führen. Dieses Feature kann aber nützlich sein, wenn vom Hersteller fehlerhaft angepasste ROMs nicht alle notwendigen System-Apps für das Arbeits-Profil zur Verfügung stellen. Wenn sie fortfahren, handeln Sie auf eigenes Risiko.</string>
<string name="settings">Einstellungen</string> <string name="settings">Einstellungen</string>
<string name="settings_interaction">Interaktion</string> <string name="settings_interaction">Interaktion</string>
<string name="settings_cross_profile_file_chooser">File Shuttle</string> <string name="settings_cross_profile_file_chooser">Datei-Shuttle</string>
<string name="settings_cross_profile_file_chooser_desc">File Shuttle ermöglicht den Zugriff auf Dateien des persönlichen Profils vom Arbeits-Profil und umgekehrt. Man kann Dateien durchsuchen/ansehen/auswählen/kopieren. Dazu kann der systemeigene Datei-Manager oder auch Apps benutzt werden, die über diesen Dateizugriff haben. Diese Apps erhalten lediglich temporären Zugriff auf die ausgewählten Dateien, die eigentliche Dateisystem-Isolation bleibt bestehen.</string> <string name="settings_cross_profile_file_chooser_desc">Datei-Shuttle ermöglicht den Zugriff auf Dateien des persönlichen Profils vom Arbeitsprofil und umgekehrt. Sie können Dateien durchsuchen, ansehen, auswählen und kopieren. Dazu können der systemeigene Dateimanager oder auch Apps mit Dateizugriff benutzt werden. Diese Apps erhalten lediglich temporären Zugriff auf die ausgewählten Dateien, die eigentliche Dateisystem-Isolation bleibt bestehen.</string>
<string name="settings_camera_proxy">Bildauswahl als vorgetäuschte Kamera verwenden</string>
<string name="settings_camera_proxy_desc">Wenn sie anderen Apps eine Pseudo-Kamera \"vorgaukeln\" kann Shelter ein beliebiges Bild aus dem Datei-Manager (und File Shuttle, sofern aktiviert) auswählen und dieses anderen Apps als \"aufgenommenes Bild\" präsentieren. Dies ermöglicht File Shuttle für jede Anwendung, die das Aufrufen anderer Kameraanwendungen unterstützt, ein Bild aufzunehmen, auch wenn diese einen Datei-Manager nicht nativ unterstützen. Sozusagen ein \"Umsetzer\".</string>
<string name="settings_services">Dienste</string> <string name="settings_services">Dienste</string>
<string name="settings_auto_freeze_service">Auto-Frost Dienst</string> <string name="settings_auto_freeze_service">Auto-Frost Dienst</string>
<string name="settings_auto_freeze_service_desc">Bei Bildschirmsperre automatisch Apps einfrosten, die über die Verknüpfung für \"Auftauen &amp; Starten\" gestartet wurden.</string> <string name="settings_auto_freeze_service_desc">Bei Bildschirmsperre automatisch Apps einfrosten, die über die Verknüpfung für \"Auftauen &amp; Starten\" gestartet wurden.</string>
@ -80,15 +77,15 @@
<string name="shortcut_create_success">Eine Verknüpfung wurde Ihrem Startprogramm hinzugefügt.</string> <string name="shortcut_create_success">Eine Verknüpfung wurde Ihrem Startprogramm hinzugefügt.</string>
<string name="request_usage_stats">Shelter benötigt Zugriffsrechte auf <b>Nutzungs-Statistiken</b>. Bitte erteilen Sie die nötigen Zugriffsrechte für <b>BEIDE</b> Shelter Apps, die nach Klick auf \"OK\" im folgenden Dialog angezeigt werden. Bei Nichterteilung der Zugriffsrechte kann diese Programmfunktion nicht korrekt ausgeführt werden.</string> <string name="request_usage_stats">Shelter benötigt Zugriffsrechte auf <b>Nutzungs-Statistiken</b>. Bitte erteilen Sie die nötigen Zugriffsrechte für <b>BEIDE</b> Shelter Apps, die nach Klick auf \"OK\" im folgenden Dialog angezeigt werden. Bei Nichterteilung der Zugriffsrechte kann diese Programmfunktion nicht korrekt ausgeführt werden.</string>
<string name="launch_app_fail">Die Anwendung %s konnte nicht gestartet werden, das sie keine grafische Benutzeroberfläche hat.</string> <string name="launch_app_fail">Die Anwendung %s konnte nicht gestartet werden, das sie keine grafische Benutzeroberfläche hat.</string>
<string name="request_storage_manager">Shelter benötigt Zugriff auf <b>Alle Dateien</b> um File Shuttle benutzen zu können. Bitte erteilen sie die notwendigen Zugriffsrechte für <b>BEIDE</b> (Persönliches-Profil / Arbeits-Profil) Shelter Apps, die nach dem Klick auf \"OK\" in der nachfolgenden Meldung angezeigt werden.</string> <string name="request_storage_manager">Shelter benötigt Zugriff auf <b>Alle Dateien</b> um Datei-Shuttle anbieten zu können. Bitte erteilen Sie die notwendigen Zugriffsrechte für <b>BEIDE</b> (persönliches Profil / Arbeitsprofil) Shelter-Apps, die nach dem Klick auf \"OK\" in der nachfolgenden Meldung angezeigt werden.</string>
<string name="request_system_alert">Damit File Shuttle korrekt funktioniert, muss Shelter über anderen Anwendungen eingeblendet werden können. Bitte erteilen sie die notwendigen Zugriffsrechte für <b>BEIDE</b> (Persönliches-Profil / Arbeits-Profil) Shelter Apps, die nach dem Klick auf \"OK\" in der nachfolgenden Meldung angezeigt werden. Diese Berechtigung wird genutzt, um die File Shuttle Dienste im Hintergrund starten zu können.</string> <string name="request_system_alert">Damit der Datei-Shuttle korrekt funktioniert, muss Shelter über anderen Anwendungen eingeblendet werden können. Bitte erteilen Sie die notwendigen Zugriffsrechte für <b>BEIDE</b> (persönliches Profil / Arbeitsprofil) Shelter-Apps, die nach dem Klick auf \"OK\" in der nachfolgenden Meldung angezeigt werden. Diese Berechtigung wird genutzt, um die Datei-Shuttle-Dienste im Hintergrund zu starten.</string>
<string name="miui_cannot_clone">Das Klonen von Nicht-System-Apps in das Arbeits-Profil ist derzeit unter MIUI nicht möglich. Bitte klonen sie den App-Store Ihres Systems (z.B. <b>Play Store</b>) in ihr Arbeits-Profil und installieren sie ihre benötigten Anwendungen von dort aus.</string> <string name="miui_cannot_clone">Das Klonen von Nicht-System-Apps in das Arbeits-Profil ist derzeit unter MIUI nicht möglich. Bitte klonen sie den App-Store Ihres Systems (z.B. <b>Play Store</b>) in ihr Arbeits-Profil und installieren sie ihre benötigten Anwendungen von dort aus.</string>
<string name="continue_anyway">Trotzdem fortsetzen</string> <string name="continue_anyway">Trotzdem fortsetzen</string>
<string name="settings_translate">Übersetzung</string> <string name="settings_translate">Übersetzung</string>
<string name="documents_ui">Datei-Manager-Oberfläche</string> <string name="documents_ui">Datei-Manager-Oberfläche</string>
<string name="settings_block_contacts_searching">Blockiere Suche nach Kontakten</string> <string name="settings_block_contacts_searching">Blockiere Suche nach Kontakten</string>
<string name="settings_block_contacts_searching_desc">Zugriff vom persönlichen Profil zu den Kontakten im Arbeitsprofil blockieren.</string> <string name="settings_block_contacts_searching_desc">Zugriff vom persönlichen Profil zu den Kontakten im Arbeitsprofil blockieren.</string>
<string name="setup_wizard_ready">Bereit\?</string> <string name="setup_wizard_ready">Bereit?</string>
<string name="setup_wizard_please_wait">Bitte warten…</string> <string name="setup_wizard_please_wait">Bitte warten…</string>
<string name="setup_wizard_please_wait_text">Wir versuchen, das Arbeitsprofil zu initialisieren und Shelter auf deinem Gerät einzurichten.</string> <string name="setup_wizard_please_wait_text">Wir versuchen, das Arbeitsprofil zu initialisieren und Shelter auf deinem Gerät einzurichten.</string>
<string name="setup_wizard_failed">Einrichtung fehlgeschlagen</string> <string name="setup_wizard_failed">Einrichtung fehlgeschlagen</string>
@ -98,30 +95,36 @@
\nWenn du die Benachrichtigung nicht siehst stelle sicher, dass dein Gerät nicht im \"Nicht stören\"-Modus ist und versuche, das Benachrichtigungspanel herunterzuziehen. \nWenn du die Benachrichtigung nicht siehst stelle sicher, dass dein Gerät nicht im \"Nicht stören\"-Modus ist und versuche, das Benachrichtigungspanel herunterzuziehen.
\n \n
\nUm Shelter zurückzusetzen und von vorne zu beginnen kannst du die Daten von Shelter in den Einstellungen löschen.</string> \nUm Shelter zurückzusetzen und von vorne zu beginnen kannst du die Daten von Shelter in den Einstellungen löschen.</string>
<string name="setup_wizard_compatibility_text">Shelter wurde auf AOSP-ähnlichen Android-Derivaten entwickelt und getestet. Diese schließen AOSP (Android Open Sourcr Project), Google Android (auf Pixels) sowie <b>die meisten auf AOSP basierenden open-source-Custom-ROMs</b> wie beispielsweise LineageOS ein. Wenn auf deinem Telefon eines der oben genannten Android-Derivate läuft, dann Glückwunsch! Shelter wird wahrscheinlich korrekt auf deinem Gerät funktionieren. <string name="setup_wizard_compatibility_text">Shelter wurde auf AOSP-ähnlichen Android-Derivaten entwickelt und getestet. Diese schließen AOSP (Android Open Source Project), Google Android (auf Pixels) sowie <b>die meisten auf AOSP basierenden open-source-Custom-ROMs</b> wie beispielsweise LineageOS ein. Wenn auf deinem Telefon eines der oben genannten Android-Derivate läuft, dann Glückwunsch! Shelter wird wahrscheinlich korrekt auf deinem Gerät funktionieren.
\n \n
\nEinige Geräteanbieter fügen dem Android-Basiscode sehr tiefgehende Anpassungen hinzu, welche in Konflikten, Inkompatibilität und unerwartetem Verhalten enden können. Einige Custom-ROMs fügen ebenfalls kompatibilitätshindernde Änderungen hinzu, wobei diese seltener vorzufinden sind als anbieterverursachte Inkompatibilitäten. \nEinige Geräteanbieter fügen dem Android-Basiscode sehr tiefgehende Anpassungen hinzu, welche in Konflikten, Inkompatibilität und unerwartetem Verhalten enden können. Einige Custom-ROMs fügen ebenfalls kompatibilitätshindernde Änderungen hinzu, wobei diese seltener vorzufinden sind als anbieterverursachte Inkompatibilitäten.
\n \n
\nShelter ist lediglich eine Schnittstelle zur Arbeitsprofil-Funktion die das System bereitstellt. Wenn diese Systemfunktion kaputt oder nicht standardisiert ist, <b>kann Shelter dieses Problem nicht auf magische Weise selbstständig beheben.</b> Wenn du momentan eine durch den Anbieter modifizierte Androidversion nutzt, die für das Kaputtmachen der Arbeitsprofilfunktion bekannt ist: <b>Du wurdest gewarnt</b>. Du kannst trotzdem fortfahren, aber es gibt keine Garantie, dass Shelter unter diesen Umständen korrekt funktioniert.</string> \nShelter ist lediglich eine Schnittstelle zur Arbeitsprofil-Funktion die das System bereitstellt. Wenn diese Systemfunktion kaputt oder nicht standardisiert ist, <b>kann Shelter dieses Problem nicht auf magische Weise selbstständig beheben.</b> Wenn du momentan eine durch den Anbieter modifizierte Androidversion nutzt, die für das Kaputtmachen der Arbeitsprofilfunktion bekannt ist: <b>Du wurdest gewarnt</b>. Du kannst trotzdem fortfahren, aber es gibt keine Garantie, dass Shelter unter diesen Umständen korrekt funktioniert.</string>
<string name="setup_wizard_ready_text">Wir sind nun bereit, Shelter für dich einzurichten. Bitte stelle zuerst sicher, dass sich dein Gerät <b>nicht</b> im \"Nicht stören\"-Modus befindet, da du später <b>eine Benachrichtigung antippen</b> musst, um den Einrichtungsprozess abzuschließen. <string name="setup_wizard_ready_text">Wir sind nun bereit, Shelter für dich einzurichten. Falls dein Gerät mit Android 7 oder älter läuft, stelle bitte zuerst sicher, dass sich dein Gerät <b>nicht</b> im \"Nicht stören\"-Modus befindet. Du wirst später <b>eine Benachrichtigung antippen</b> müssen, um den Einrichtungsprozess abzuschließen.
\n \n
\nWenn du bereit bist, tippe auf \"Weiter\", um den Einrichtungsprozess zu starten.</string> \nWenn du bereit bist, tippe auf \"Weiter\", um den Einrichtungsprozess zu starten.</string>
<string name="setup_wizard_failed_text">Es tut uns leid dir mitzuteilen, dass es uns nicht gelungen ist, Shelter für dich einzurichten. <string name="setup_wizard_failed_text">Es tut uns leid dir mitzuteilen, dass es uns nicht gelungen ist, Shelter für dich einzurichten.
\n \n
\nWenn du die Einrichtung nicht selbstständig abgebrochen hast ist der Grund für das Fehlschlagen höchstwahrscheinlich ein stark modifiziertes System oder ein Konflikt zwischen Shelter und anderen Arbeitsprofilverwaltern. Leider gibt es nicht viel, das wir diesbezüglich unternehmen können. \nWenn dein Gerät bereits ein Arbeitsprofil hatte, entweder von einer früheren Installation von Shelter oder von einer anderen Anwendung, musst du dieses Profil unter Einstellungen -&gt; Konto entfernen, bevor Shelter fortgesetzt werden kann.
\n \n
\nTippe auf Weiter zum Beenden.</string> \nAndernfalls, wenn du die Einrichtung nicht selbstständig abgebrochen hast, ist der Grund für das Fehlschlagen höchstwahrscheinlich ein stark modifiziertes System oder ein Konflikt zwischen Shelter und anderen Arbeitsprofilverwaltern. Leider gibt es nicht viel, das wir diesbezüglich unternehmen können.
\n
\nTippe auf \"Weiter\" zum Beenden.</string>
<string name="setup_wizard_welcome">Willkommen bei Shelter</string> <string name="setup_wizard_welcome">Willkommen bei Shelter</string>
<string name="setup_wizard_welcome_text">Shelter ist eine Anwendung, die dir dabei hilft, andere Anwendungen in einem isolierten Profil auszuführen. Dies geschieht durch Nutzung der <b>Arbeitsprofil</b>-Funktionalität von Android. <string name="setup_wizard_welcome_text">Shelter ist eine Anwendung, mit der du andere Anwendungen in einem isolierten Profil ausführen kannst. Dazu nutzt es die <b>Arbeitsprofil</b>-Funktion von Android.
\n \n
\nTippe auf \"Weiter\" und wir teilen dir mehr Informationen über Shelter mit und führen dich durch den Einrichtungsprozess. \nKlicke auf \"Weiter\", und wir werden dich mit weiteren Informationen über Shelter versorgen und dich durch den Einrichtungsprozess führen.
\n \n
\nWir empfehlen, dass du dir alle der folgenden Seiten aufmerksam durchliest.</string> \nWir empfehlen dir, alle folgenden Seiten sorgfältig durchzulesen.</string>
<string name="setup_wizard_permissions_text">Standardmäßig wird Shelter nicht nach irgendwelchen individuellen Berechtigungen fragen. Allerdings wird Shelter, nachdem du den Einrichtungsprozess beginnst, versuchen ein Arbeitsprofil einzurichten und wird infolgedessen <b>Profilverwalter</b> dieses Profils. <string name="setup_wizard_permissions_text">Standardmäßig wird Shelter nicht nach einzelnen Berechtigungen fragen. Allerdings wird Shelter, nachdem du den Einrichtungsprozess beginnst, versuchen ein Arbeitsprofil einzurichten und wird infolgedessen <b>Profilverwalter</b> dieses Profils.
\n \n
\nDies gibt Shelter eine umfangreiche Liste an Berechtigungen innerhalb des Profils, vergleichbar mit denen eines Geräteadministrators, allerdings beschränkt auf das Profil. Profilverwalter zu sein ist für die meisten Funktionen von Shelter zwingend nötig. \nDies gibt Shelter eine umfangreiche Liste an Berechtigungen innerhalb des Profils, vergleichbar mit denen eines Geräteadministrators, allerdings beschränkt auf das Profil. Profilverwalter zu sein ist für die meisten Funktionen von Shelter zwingend nötig.
\n \n
\nEinige erweiterte Funktionen von Shelter benötigen eventuell mehr Berechtigungen <b>außerhalb</b> des Arbeitsprofils. Shelter wird beim Aktivieren der entsprechenden Funktionen separat nach diesen Berechtigungen fragen, sofern nötig.</string> \nEinige erweiterte Funktionen von Shelter benötigen eventuell mehr Berechtigungen <b>außerhalb</b> des Arbeitsprofils. Shelter wird beim Aktivieren der entsprechenden Funktionen separat nach diesen Berechtigungen fragen, sofern nötig.</string>
<string name="setup_wizard_compatibility">Kompatibilität</string> <string name="setup_wizard_compatibility">Kompatibilität</string>
<string name="setup_wizard_permissions">Ein Wort zu den Berechtigungen</string> <string name="setup_wizard_permissions">Ein Wort zu den Berechtigungen</string>
<string name="allow_cross_profile_interaction">Profilübergreifende Interaktion erlauben</string>
<string name="payment_stub_description">Zahlungsdienst Platzhalter (NICHT VERWENDEN)</string>
<string name="settings_payment_stub">Zahlungsdienst-Platzhalter</string>
<string name="settings_payment_stub_desc">Richten Sie einen unechten NFC Zahlungsdienst im Hauptprofil ein, so dass die kontaktlosen Zahlungsoptionen unter Einstellungen - NFC aktiviert werden. So kann ein Zahlungsanbieter im Arbeitsprofil eingerichtet und gewählt werden. Damit wird ein Fehler in Android umgangen, der es unmöglich macht, im Arbeitsprofil einen Zahlungsanbieter auszuwählen, wenn kein Zahlungsdienst im Hauptprofil verfügbar ist.</string>
</resources> </resources>

View file

@ -80,19 +80,16 @@
<string name="clone_to_work_profile">Κλωνοποίηση στο Shelter (Προφίλ Εργασίας)</string> <string name="clone_to_work_profile">Κλωνοποίηση στο Shelter (Προφίλ Εργασίας)</string>
<string name="freeze_app">Πάγωσε</string> <string name="freeze_app">Πάγωσε</string>
<string name="create_unfreeze_shortcut">Δημιούργησε συντόμευση \"Ξεπάγωσε και/ή τρέξε\"</string> <string name="create_unfreeze_shortcut">Δημιούργησε συντόμευση \"Ξεπάγωσε και/ή τρέξε\"</string>
<string name="settings_camera_proxy_desc">Παρουσίαση μιας ψεύτικης κάμερας στις εφαρμογές, η οποία επιτρέπει την επιλογή μιας εικόνας μέσω της λειτουργίας \"Documents UI\" (ή της λειτουργίας \"Ευέλικτη Διαχείριση Αρχείων\", αν έχει ενεργοποιηθεί) και την παρουσίασή της σαν τη φωτογραφία που η υποτιθέμενη κάμερα τράβηξε. Αυτό επιτρέπει τη λειτουργία \"Ευέλικτη Διαχείριση Αρχείων\" για όλες τις εφαρμογές που υποστηρίζουν τη χρήση εφαρμογών κάμερας για λήψη φωτογραφιών, ακόμα και αν δεν υποστηρίζουν τη λειτουργία \"Documents UI\".</string>
<string name="auto_freeze">Πάγωσε αυτόματα</string> <string name="auto_freeze">Πάγωσε αυτόματα</string>
<string name="request_usage_stats">Το Shelter χρειάζεται την άδεια <b>Usage Stats</b> για την πραγματοποίηση αυτής της ενέργειας. Ενεργοποίησε την άδεια <b>και για τις δύο</b> εφαρμογές Shelter που θα εμφανιστούν στην επόμενη οθόνη, αφού πατήσεις \"ΟΚ\". Αν αυτό δεν πραγματοποιηθεί, ενδέχεται η εφαρμογή να μην λειτουργήσει σωστά.</string> <string name="request_usage_stats">Το Shelter χρειάζεται την άδεια <b>Usage Stats</b> για την πραγματοποίηση αυτής της ενέργειας. Ενεργοποίησε την άδεια <b>και για τις δύο</b> εφαρμογές Shelter που θα εμφανιστούν στην επόμενη οθόνη, αφού πατήσεις \"ΟΚ\". Αν αυτό δεν πραγματοποιηθεί, ενδέχεται η εφαρμογή να μην λειτουργήσει σωστά.</string>
<string name="create_freeze_all_shortcut">Δημιουργία συντόμευσης \"Πάγωσε ομαδικά\"</string> <string name="create_freeze_all_shortcut">Δημιουργία συντόμευσης \"Πάγωσε ομαδικά\"</string>
<string name="install_app_to_profile_success">Η εγκατάσταση εφαρμογής στο Προφίλ Εργασίας ολοκληρώθηκε.</string> <string name="install_app_to_profile_success">Η εγκατάσταση εφαρμογής στο Προφίλ Εργασίας ολοκληρώθηκε.</string>
<string name="show_all_warning">Η τροποποίηση εφαρμογών που είναι κρυμμένες από τη λίστα μπορεί να προκαλέσει διαφόρων ειδών προβλήματα. Ωστόσο, αυτή η δυνατότητα μπορεί να είναι χρήσιμη όταν λειτουργικά συστήματα (ROMs) που είναι τροποποιημένα από τον κατασκευαστή δεν ενεργοποιούν αυτόματα όλες τις απαραίτητες εφαρμογές συστήματος στο Προφίλ Εργασίας. Είσαι μόνος σου σε αυτό, αν επιλέξεις να συνεχίσεις.</string> <string name="show_all_warning">Η τροποποίηση εφαρμογών που είναι κρυμμένες από τη λίστα μπορεί να προκαλέσει διαφόρων ειδών προβλήματα. Ωστόσο, αυτή η δυνατότητα μπορεί να είναι χρήσιμη όταν λειτουργικά συστήματα (ROMs) που είναι τροποποιημένα από τον κατασκευαστή δεν ενεργοποιούν αυτόματα όλες τις απαραίτητες εφαρμογές συστήματος στο Προφίλ Εργασίας. Είσαι μόνος σου σε αυτό, αν επιλέξεις να συνεχίσεις.</string>
<string name="settings_camera_proxy">Επιλογή εικόνας για ψεύτικη κάμερα</string>
<string name="settings_block_contacts_searching_desc">Άρνηση πρόσβασης από το Κύριο Προφίλ στις επαφές του Προφίλ Εργασίας.</string> <string name="settings_block_contacts_searching_desc">Άρνηση πρόσβασης από το Κύριο Προφίλ στις επαφές του Προφίλ Εργασίας.</string>
<string name="request_storage_manager">Το Shelter χρειάζεται πρόσβαση σε <b>όλα τα αρχεία</b> για τη χρήση της λειτουργίας \"Ευέλικτη διαχείριση αρχείων\". Ενεργοποίησε την άδεια <b>και για τις δύο</b> εφαρμογές Shelter που θα εμφανιστούν στην επόμενη οθόνη, αφού πατήσεις \"ΟΚ\".</string> <string name="request_storage_manager">Το Shelter χρειάζεται πρόσβαση σε <b>όλα τα αρχεία</b> για τη χρήση της λειτουργίας \"Ευέλικτη διαχείριση αρχείων\". Ενεργοποίησε την άδεια <b>και για τις δύο</b> εφαρμογές Shelter που θα εμφανιστούν στην επόμενη οθόνη, αφού πατήσεις \"ΟΚ\".</string>
<string name="first_run_alert_cancel">Αντίο</string> <string name="first_run_alert_cancel">Αντίο</string>
<string name="first_run_alert_continue">Συνέχεια</string> <string name="first_run_alert_continue">Συνέχεια</string>
<string name="device_admin_desc">Υπηρεσία απομόνωσης εφαρμογών</string> <string name="device_admin_desc">Υπηρεσία απομόνωσης εφαρμογών</string>
<string name="camera_proxy_activity">Επιλογή αρχείου εικόνας</string>
<string name="setup_wizard_welcome">Καλώς όρισες στο Shelter</string> <string name="setup_wizard_welcome">Καλώς όρισες στο Shelter</string>
<string name="setup_wizard_permissions">Λίγα λόγια σχετικά με τα δικαιώματα της εφαρμογής</string> <string name="setup_wizard_permissions">Λίγα λόγια σχετικά με τα δικαιώματα της εφαρμογής</string>
<string name="setup_wizard_compatibility">Συμβατότητα</string> <string name="setup_wizard_compatibility">Συμβατότητα</string>

View file

@ -7,7 +7,6 @@
<string name="first_run_alert_continue">Continuar</string> <string name="first_run_alert_continue">Continuar</string>
<string name="device_admin_desc">Servicio de aislamiento de aplicaciones</string> <string name="device_admin_desc">Servicio de aislamiento de aplicaciones</string>
<string name="device_admin_explanation">Shelter necesita convertirse en el administrador del dispositivo para realizar tareas de aislamiento.</string> <string name="device_admin_explanation">Shelter necesita convertirse en el administrador del dispositivo para realizar tareas de aislamiento.</string>
<string name="camera_proxy_activity">Elige un archivo de imagen</string>
<string name="notifications_important">Importante</string> <string name="notifications_important">Importante</string>
<string name="finish_provision_title">Haz click aquí para finalizar la configuración de Shelter</string> <string name="finish_provision_title">Haz click aquí para finalizar la configuración de Shelter</string>
<string name="show_all_warning">Manipular aplicaciones ocultas en la lista podría causar fallos y toda clase de comportamientos inesperados. Sin embargo, esta característica podría ser de utilidad cuando las ROMs personalizadas del fabricante no habilitan todas las aplicaciones del sistema necesarias dentro del perfil de trabajo por defecto. Si continuas, estas por tu cuenta.</string> <string name="show_all_warning">Manipular aplicaciones ocultas en la lista podría causar fallos y toda clase de comportamientos inesperados. Sin embargo, esta característica podría ser de utilidad cuando las ROMs personalizadas del fabricante no habilitan todas las aplicaciones del sistema necesarias dentro del perfil de trabajo por defecto. Si continuas, estas por tu cuenta.</string>
@ -39,7 +38,6 @@
\nAlgunos fabricantes de dispositivos introducen personalizaciones demasiado invasivas dentro del código fuente de Android lo cual resulta en conflictos, incompatibilidades y comportamientos inesperados. Algunas ROMs personalizadas también pueden introducir cambios que rompen con la compatibilidad pero generalmente son raros en comparación con las incompatibilidades introducidas por los fabricantes. \nAlgunos fabricantes de dispositivos introducen personalizaciones demasiado invasivas dentro del código fuente de Android lo cual resulta en conflictos, incompatibilidades y comportamientos inesperados. Algunas ROMs personalizadas también pueden introducir cambios que rompen con la compatibilidad pero generalmente son raros en comparación con las incompatibilidades introducidas por los fabricantes.
\n \n
\nShelter es únicamente una interfaz a la característica del perfil de trabajo provista por el sistema. Si la característica provista por el sistema esta dañada o no es estándar <b>Shelter no puede resolver el problema mágicamente por sí mismo</b>. Si actualmente estas usando una versión de Android modificada por el fabricante de la cual se sabe que incumple con los perfiles de trabajo <b>has sido advertido</b>. Puedes proceder de todos modos, pero no hay garantía de que Shelter se comporte de manera adecuada bajo esas circunstancias.</string> \nShelter es únicamente una interfaz a la característica del perfil de trabajo provista por el sistema. Si la característica provista por el sistema esta dañada o no es estándar <b>Shelter no puede resolver el problema mágicamente por sí mismo</b>. Si actualmente estas usando una versión de Android modificada por el fabricante de la cual se sabe que incumple con los perfiles de trabajo <b>has sido advertido</b>. Puedes proceder de todos modos, pero no hay garantía de que Shelter se comporte de manera adecuada bajo esas circunstancias.</string>
<string name="settings_camera_proxy_desc">Presenta una aplicación de cámara falsa a otras aplicaciones, permitiéndote elegir una imagen arbitraria de la interfaz de documentos (y a la pasarela de archivos, si se encuentra habilitado) como la fotografía tomada. Esto habilita la pasarela de archivos para cualquier aplicaciones que tenga soporte para invocar otras aplicaciones para tomar una fotografía incluso si no soportan la interfaz de documentos de manera nativa.</string>
<string name="uninstall_fail_system_app">No se pueden desinstalar aplicaciones del sistema en un perfil del cual Shelter no tiene control.</string> <string name="uninstall_fail_system_app">No se pueden desinstalar aplicaciones del sistema en un perfil del cual Shelter no tiene control.</string>
<string name="unsupported_launcher">No se pueden agregar accesos directos a tu lanzador de aplicaciones. Por favor contacta al desarrollador para mas información.</string> <string name="unsupported_launcher">No se pueden agregar accesos directos a tu lanzador de aplicaciones. Por favor contacta al desarrollador para mas información.</string>
<string name="app_context_menu_title">Operaciones para \"%s\"</string> <string name="app_context_menu_title">Operaciones para \"%s\"</string>
@ -79,7 +77,6 @@
<string name="auto_freeze">Auto suspender</string> <string name="auto_freeze">Auto suspender</string>
<string name="allow_cross_profile_widgets">Permitir Widgets en el perfil principal</string> <string name="allow_cross_profile_widgets">Permitir Widgets en el perfil principal</string>
<string name="settings_cross_profile_file_chooser_desc">Cuando esta habilitado, seras capaz de buscar / ver / seleccionar / copiar archivos dentro de Shelter del perfil principal y viceversa. Únicamente a través de la interfaz de documentos (llamada Archivos o Documentos en tu lanzador de aplicaciones) o aplicaciones con soporte para interfaz de archivos (únicamente obtienen acceso temporal a los archivos que escogiste en la interfaz de documentos), mientras aun pertenecen al sistema de archivos aislado.</string> <string name="settings_cross_profile_file_chooser_desc">Cuando esta habilitado, seras capaz de buscar / ver / seleccionar / copiar archivos dentro de Shelter del perfil principal y viceversa. Únicamente a través de la interfaz de documentos (llamada Archivos o Documentos en tu lanzador de aplicaciones) o aplicaciones con soporte para interfaz de archivos (únicamente obtienen acceso temporal a los archivos que escogiste en la interfaz de documentos), mientras aun pertenecen al sistema de archivos aislado.</string>
<string name="settings_camera_proxy">Selector de imágenes como simulador de cámara</string>
<string name="settings_block_contacts_searching">Bloquear búsqueda de contactos</string> <string name="settings_block_contacts_searching">Bloquear búsqueda de contactos</string>
<string name="settings_block_contacts_searching_desc">Denegar acceso del perfil principal a los contactos dentro del perfil de trabajo.</string> <string name="settings_block_contacts_searching_desc">Denegar acceso del perfil principal a los contactos dentro del perfil de trabajo.</string>
<string name="settings_services">Servicios</string> <string name="settings_services">Servicios</string>
@ -102,7 +99,7 @@
\n \n
\nTe sugerimos que leas todas las paginas siguientes cuidadosamente.</string> \nTe sugerimos que leas todas las paginas siguientes cuidadosamente.</string>
<string name="setup_wizard_permissions">Sobre los permisos</string> <string name="setup_wizard_permissions">Sobre los permisos</string>
<string name="setup_wizard_ready">¿Listo\?</string> <string name="setup_wizard_ready">¿Listo?</string>
<string name="setup_wizard_compatibility">Compatibilidad</string> <string name="setup_wizard_compatibility">Compatibilidad</string>
<string name="search">Buscar</string> <string name="search">Buscar</string>
<string name="freeze_all">Suspensión en lote</string> <string name="freeze_all">Suspensión en lote</string>

View file

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="freeze_all_shortcut">قفل</string>
<string name="install_app_to_profile_success">نصب اپلیکیشن داخل پروفایل کاری تمام شد.</string>
<string name="show_all">نمایش تمام برنامه‌ها</string>
<string name="settings">تنظیمات</string>
<string name="settings_interaction">تعامل</string>
<string name="settings_cross_profile_file_chooser">شاتل فایل</string>
<string name="first_run_alert_cancel">خدانگهدار</string>
<string name="first_run_alert_continue">ادامه</string>
<string name="device_admin_explanation">جهت انجام پروسه‌ی ایزوله‌سازی شلتر (Shelter) لازم است که دسترسی Device Admin داشته باشد.</string>
<string name="setup_wizard_welcome_text">شلتر (Shelter) یک برنامه است که بتوانید اپلیکیشن های دیگر را در یک محیط ایزوله باز کنید. این عملیات با استفاده از قابلیت <b>Work Profile</b> اندروید امکان‌پذیر شده‌است.
\n
\nروی \"بعدی\" کلیک کنید تا ما اطلاعات بیشتری را درباره‌ی استفاده از شلتر در اختیار شما بگذاریم و همچنین در پروسه‌ی تنظیم برنامه شما را راهنمایی کنیم.
\n
\nپیشنهاد میکنیم تا همه‌ی صفحات بعدی را با دقت بخوانید.</string>
<string name="setup_wizard_permissions_text">به صورت پیش‌فرضف شلتر درخواستی برای دسترسی‌های خاص ندارد. اما با ورود به پروسه‌ی تنظیم برنامه، Shelter تلاش خواهد کرد که یک Work Profile را آماده کند، بنابراین، <b>profile manager</b> برای پروفایل مربوطه میشود.
\n
\nاین به Shelter تعداد زیادی دسترسی را در داخل پروفایل میدهد، چیزی مشابه Device Admin، اما محدود به آن پروفایل. Profile manager بودن برای اکثر قابلیت‌های Shelter ضروری است.
\n
\nبرخی قابلیت‌های ویژه‌ی Shelter ممکن از دسترسی‎‌هایی <b>خارج از</b> آن Work Profile را احتیاج داشته باشند. در صورت نیاز و زمانی که قابلیت‌های ویژه را روشن می‌کنید، Shelter برای این دسترسی‌ها به صورت مجزا درخواستی ارسال میکند.</string>
<string name="setup_wizard_compatibility_text">شلتر روی نسخه‌های نظیر AOSP اندروید توسعه داده و تست شده است. این شامل AOSP (پروژه‌ی متن باز اندروید)، اندروید گوگل (روی پیکسل ها)، و <b>اکثر کاستوم رام‌های بر پایه‌ی AOSP و متن‌ باز</b> مانند LineageOS می‌باشد. اگر دستگاه شما روی یکی از نسخه‌های ذکر شده از اندروید اجرا می‌شود، تبریک میگیم! احتمالا Shelter روی دستگاه به درستی کار خواهد کرد.
\n
\nبعضی تولیدکنندگان دستگاه‌ها شخصی‌سازی های شدیدی روی پایه‌ی اندروید انجام می‌دهند که نتیجه‌ی آن وجود ناسازگاری‌ها و عملکرد غیرعادی می‌شود. بعضی کاستوم رام ها هم می‌توانند تغییرات سازگاری‌شکنی اعمال کرده باشند، اما به طور کلی این‌ها نسبت به تغییرات اعمال شده توسط تولیدکنندگان نادرتر هستند.
\n
\nشلتر صرفا یک سازه روی قابلیت Work Profile است که سیستم ارائه می‌دهد. <b>اگر قابلیت ارائه‌شده خراب یا غیر استاندارد باشد، Shelter نمی‌تواند به تنهایی مشکل را حل کند</b>. اگر از یک نسخه‌ای از اندروید که توسط تولیدکننده دستکاری شده است استفاده میکنید که قابلیت Work Profiles را از کار انداخته است، <b>به شما اخطار داده شد</b>. البته می‌توانید به هر حال به استفاده ادامه دهید، اما ضمانتی نیست که Shelter در این شرایط به‌طور عادی عمل کند.</string>
<string name="setup_wizard_failed_text">متاسفانه باید بگوییم که امکان راه‌اندازی Shelter برا شما نیست.
\n
\nاگر دستگاه شما توسط یک نسخه‎‌ی قبل یا برنامه‌ای دیگر از قبل یک Work Profile داشته است، باید آن را در بخش تنظیمات -&gt; حساب حذف کنید.
\n
\nدر غیر این صورت، اگر شما شخصا راه‌اندازی را قطع نکردید مشکل احتمال زیاد به خاطر یک سیستم با تغییرات شدید یا یک ناسازگاری بین Shelter و دیگر مدیریت‌کنندگان Work Profile است. متاسفانه کاری از دست ما بر نمی‌آید.
\n
\nبرای خروج روی \"بعدی\" کلیک کنید.</string>
<string name="setup_wizard_action_required_text">شما الآن باید یک پیغام (نوتیفیکیشن) از Shelter ببینید. <b>لطفا روی آن پیغام کلیک کرده</b> تا فرایند راه‌اندازی پایان یابد.
\n
\nاگر این پیغام را نمی‌بینید، مطمئن شوید که دستگاه شما روی حالت Do Not Disturb نبوده و سعی کنید بخش پیغام‌ها را به پایین بکشید.
\n
\nجهت بازگردانی Shelter و شروع از اول می‌توانید داده‌های برنامه را در تتظیمات پاک کنید.</string>
<string name="service_auto_freeze_desc">Shelter برنامه‌های باز شده از \"شکستن قفل و باز کردن\" را در دستور قفل صفحه‌ی بعدی به طور خودکار قفل می‌کند.</string>
<string name="create_freeze_all_shortcut">ساخت میانبر قفل گروهی</string>
<string name="install_app_to_profile">نصب APK داخل شلتر</string>
<string name="show_all_warning">دستکاری برنامه‌هایی که داخل لیست نمایش داده نشده‌اند می‌تواند باعث خروج از برنامه و انواع دیگر مشکلات شود. البته این قابلیت می‌تواند در زمان وجود رام دستکاری شده توسط سازنده مفید شود اگر همه‌ی برنامه‌های سیستمی فعال نشده‌اند. اگر ادامه دهید، مسئولیت آن با خود شماست.</string>
<string name="documents_ui">باز کردن بخش مستندات</string>
<string name="settings_cross_profile_file_chooser_desc">اگر فعال شود تنها از طریق Documents UI (فایل‌ها و مستندات دارای نام داخل لانچر) یا برنامه‌های دارای قابلیت Documents UI (به مدت موقت به فایل هایی که انتخاب میکنید دسترسی میگیرند) می‌توانید از طریق Shelter، فایل های پروفایل اصلی را ببنید / انتخاب کنید و یا کپی کنید، در عین اینکه ساختار ایزوله را حفظ می‌کنیم.</string>
<string name="settings_dont_freeze_foreground_desc">در زمان قفل شدن صفحه، برنامه‌های پس‌زمینه‌ی قابل مشاهده را قفل نکن. این قابلیت برای برنامه‌های پخش موسیقی می‌تواند مفید باشد، اما ممکن است لازم باشد به طور دستی از \"میانبر قفل جمعی\" آنها را قفل کنید.</string>
<string name="work_profile_provision_failed">امکان آماده‌سازی پروفایل کاری نبود. برای تلاش دوباره برنامه را ریستارت کنید.</string>
<string name="work_mode_disabled">به نظر میاد شما Work Mode را هنگام راه‌ندازی شلتر غیرفعال کرده‌اید. اگر آن را فعال کرده‌اید، لطفا شلتر را دوباره باز کنید.</string>
<string name="clone_fail_system_app">امکان کپی برنامه‌های سیستمی به یک پروفایل که شلتر کنترلی بر آن ندارد نیست.</string>
<string name="request_usage_stats">برای اینکار، شلتر نیازمند دسترسی <b>Usage Stats</b> است. لطفا پس از کلیک کردن روی \"Ok\" داخل دیالوگ، این دسترسی را برای <b>هر دوی</b> اپ‌های شلتر فعال کنید. اگر اینکار انجام نگیرد این قابلیت به درستی کار نخواهد نکرد.</string>
<string name="request_storage_manager">شلتر برای شاتل فایل نیازمند دسترسی به <b>All Files</b> دارد. لطفا این دسترسی را برای <b>هر دوی</b> برنامه‌های شلتر که با زدن روی \"Ok\" داخل دیالوگ نمایش داده می‌شود فعال کنید.</string>
<string name="device_admin_desc">سرویس ایزوله‌سازی برنامه</string>
<string name="setup_wizard_welcome">به شلتر (Shelter) خوش آمدید</string>
<string name="setup_wizard_permissions">صحبتی درباره‌ی دسترسی ها</string>
<string name="setup_wizard_compatibility">سازگاری</string>
<string name="setup_wizard_ready">آماده‌اید؟</string>
<string name="setup_wizard_ready_text">اکنون آماده‌ی راه‌اندازی Shelter برای شما هستیم. اگر دستگاه شما دارای اندروید 7 یا کمتر است، مطمئن شوید که حالت Do Not Disturb روشن <b>نیست</b>، زیرا در ادامه لازم است <b>روی یک پیغام (نوتیفیکشن) کلیک کنید</b> تا مراحل راه‌اندازی تکمیل شوند.
\n
\nهروقت آماده بودید، روی \"بعدی\" کلیک کنید تا پروسه‎‌ی آماده‌سازی را شروع کنیم.</string>
<string name="setup_wizard_please_wait">لطفا صبر کنید…</string>
<string name="setup_wizard_please_wait_text">در حال تلاش برای راه اندازی Work Profile و Shelter روی دستگاه شما هستیم.</string>
<string name="setup_wizard_failed">راه‌اندازی به مشکل خورد</string>
<string name="setup_wizard_action_required">اقدامی نیاز است</string>
<string name="notifications_important">پیام مهم Shelter</string>
<string name="finish_provision_title">اینجا کلیک کنید تا راه‌اندازی Shelter تکمیل شود</string>
<string name="finish_provision_desc">تبریک می‌گوییم! تنها یک کلیک با تکمیل راه‌اندازی Shelter فاصله دارید.</string>
<string name="service_title">سرویس Shelter</string>
<string name="service_desc">Shelter در حال اجرا است …</string>
<string name="service_auto_freeze_title">منتظر قفل خودکار هستیم</string>
<string name="service_auto_freeze_now">قفل کن</string>
<string name="app_installing">در حال نصب...</string>
<string name="fragment_profile_main">اصلی</string>
<string name="fragment_profile_work">شلتر</string>
<string name="list_item_disabled">%s قفل شده</string>
<string name="batch_operation">عملیات جمعی</string>
<string name="clone_to_work_profile">کپی به شلتر (Work Profile)</string>
<string name="clone_to_main_profile">کپی به پروفایل اصلی</string>
<string name="uninstall_app">حذف نصب</string>
<string name="freeze_app">قفل</string>
<string name="unfreeze_app">رفع قفل</string>
<string name="launch">راه اندازی</string>
<string name="unfreeze_and_launch">رفع قفل و اجرا</string>
<string name="auto_freeze">قفل خودکار</string>
<string name="allow_cross_profile_widgets">آزاد کردن ویجت‌ها در پروفایل اصلی</string>
<string name="search">جستجو</string>
<string name="freeze_all">قفل جمعی</string>
<string name="create_unfreeze_shortcut">ساخت میانبر رفع قفل و یا اجرا کردن</string>
<string name="settings_block_contacts_searching">بستن جستجوی مخاطبین</string>
<string name="settings_block_contacts_searching_desc">گرفتن دسترسی مخاطبین از پروفایل اصلی داخل پروفایل کاری.</string>
<string name="settings_services">سرویس‌ها</string>
<string name="settings_auto_freeze_service">سرویس قفل خودکار</string>
<string name="settings_auto_freeze_service_desc">در زمان قفل بودن صفحه، به طور خودکار برنامه‌های باز شده از \"میانبر رفع قفل و باز کردن\" را قفل کن.</string>
<string name="settings_auto_freeze_delay">تاخیر قفل خودکار</string>
<string name="settings_dont_freeze_foreground">رد کردن برنامه‌های ‎پیش‌زمینه</string>
<string name="settings_about">درباره</string>
<string name="settings_version">نسخه</string>
<string name="settings_source_code">سورس کد</string>
<string name="settings_translate">ترجمه</string>
<string name="settings_bug_report">گزارش مشکلات / ردیاب مشکلات</string>
<string name="provision_finished">راه‌اندازی شلتر انجام شد. اکنون شلتر را ریستارت میکنیم. اگر برنامه به طور خودکار باز نشد، دوباره آن را باز کنید.</string>
<string name="msg_device_unsupported">نبود دسترسی یا دستگار ناسازگار</string>
<string name="work_profile_not_found">پروفایل کاری یافت نشد. لطفا برنامه را ریستارت کنید تا پروفایل دوباره آماده شود.</string>
<string name="uninstall_success">برنامه %s با موفقیت حذف شده است</string>
<string name="freeze_success">برنامه %s با موفقیت قفل شده است</string>
<string name="clone_success">برنامه %s با موفقیت کپی شده است</string>
<string name="unfreeze_success">برنامه %s با موفقیت رفع قفل شده است</string>
<string name="uninstall_fail_system_app">امکان حذف برنامه‌های سیستمی داخل یک پروفایل که شلتر کنترلی بر آن ندارد نیست.</string>
<string name="unsupported_launcher">امکان اضافه کردن میانبر به لانچر شما نیست. لطفا با توسعه‌دهنده تماس بگیرید.</string>
<string name="app_context_menu_title">عملیات‌ها برای %s</string>
<string name="freeze_all_success">همه‌ی برنامه‌های داخل \"قفل خودکار\" با موفقیت قفل شدند.</string>
<string name="shortcut_create_success">میانبر داخل لانچر شما ساخته شد.</string>
<string name="launch_app_fail">امکان باز کردن برنامه‌ی %s نیست زیرا رابط کاربری ندارد.</string>
<string name="request_system_alert">شلتر نیازمند <b>نمایش روی دیگر برنامه‌ها</b> است تا شاتل فایل به درستی عمل کند. لطفا پس از زدن روی \"Ok\" در دیالوگ نمایش داده شده این دسترسی را برای <b>هر دوی</b> برنامه‌های شلتر فعال کنید. این دسترسی امکان راه‌اندازی سرویس‌های شاتل فایل در پس زمینه را میدهد.</string>
<string name="miui_cannot_clone">کپی کردن برنامه‌های سیستمی به پروفایل دیگر در حال حاضر در MIUI امکان‌پذیر نیست. لطفا اپلیکیشن فروشگاه برنامه‌های سیستم خود (مانند <b>Play Store</b>) را به یک پروفایل دیگر کپی کنید سپس برنامه‌ها را از آنجا نصب کنید.</string>
<string name="continue_anyway">ادامه دادن</string>
</resources>

View file

@ -4,7 +4,6 @@
<string name="notifications_important">Shelter Important</string> <string name="notifications_important">Shelter Important</string>
<string name="first_run_alert_continue">Continuer</string> <string name="first_run_alert_continue">Continuer</string>
<string name="device_admin_desc">Service d\'isolation d\'application</string> <string name="device_admin_desc">Service d\'isolation d\'application</string>
<string name="camera_proxy_activity">Choisissez un Fichier Image</string>
<string name="finish_provision_title">Cliquez ici pour finir de configurer Shelter</string> <string name="finish_provision_title">Cliquez ici pour finir de configurer Shelter</string>
<string name="finish_provision_desc">Félicitations ! Vous êtes à un clic de finir de configurer Shelter.</string> <string name="finish_provision_desc">Félicitations ! Vous êtes à un clic de finir de configurer Shelter.</string>
<string name="service_title">Service Shelter</string> <string name="service_title">Service Shelter</string>
@ -49,8 +48,6 @@
<string name="show_all">Afficher Toutes les Applications</string> <string name="show_all">Afficher Toutes les Applications</string>
<string name="settings">Paramètres</string> <string name="settings">Paramètres</string>
<string name="settings_interaction">Interaction</string> <string name="settings_interaction">Interaction</string>
<string name="settings_camera_proxy">Sélecteur d\'image comme Fausse Caméra</string>
<string name="settings_camera_proxy_desc">Présente une fausse application de caméra aux autres applications, permettant de sélectionner une fausse capture depuis image arbitraire dans l\'interface de Gestion de Documents (et la Navigation de Fichiers si activée). Cela active la Navigation de Fichiers pour toute application supportant l\'utilisation d\'applications Camera tierces dans le but de prendre une photo, même si les applications appelantes ne supportent pas la navigation de Documents en natif.</string>
<string name="settings_block_contacts_searching">Bloquer la recherche de contacts</string> <string name="settings_block_contacts_searching">Bloquer la recherche de contacts</string>
<string name="settings_block_contacts_searching_desc">Refuser au Profil Principal l\'accès aux contacts à l\'intérieur du Profil Professionnel.</string> <string name="settings_block_contacts_searching_desc">Refuser au Profil Principal l\'accès aux contacts à l\'intérieur du Profil Professionnel.</string>
<string name="settings_services">Services</string> <string name="settings_services">Services</string>
@ -81,10 +78,10 @@
<string name="app_context_menu_title">Opérations pour %s</string> <string name="app_context_menu_title">Opérations pour %s</string>
<string name="freeze_all_success">Toutes les applications de la liste \"Gel Automatique\" ont été gelées avec succès.</string> <string name="freeze_all_success">Toutes les applications de la liste \"Gel Automatique\" ont été gelées avec succès.</string>
<string name="shortcut_create_success">Raccourci créé sur votre lanceur d\'applications.</string> <string name="shortcut_create_success">Raccourci créé sur votre lanceur d\'applications.</string>
<string name="request_usage_stats">Shelter à besoin de la permission &lt;b&gt;Statistiques d\'Usage&lt;/b&gt; pour faire ça. S\'il vous plaît activez la permission pour &lt;b&gt;LES DEUX&lt;/b&gt; applications Shelter dans la boite de dialogue affichée après avoir appuyé sur \"Ok\". Sinon cette fonctionnalité de pourra pas fonctionner correctement.<b>Usage Stats</b> permission to do this. Please enable the permission for <b>BOTH OF THE TWO</b> Shelter apps shown in the dialog after you press \"Ok\". Failing to do so will cause this feature to not work properly.</string> <string name="request_usage_stats">Shelter à besoin de la permission <b>Statistiques d\'Usage</b> pour faire ça. S\'il vous plaît activez la permission pour <b>LES DEUX</b> applications Shelter dans la boite de dialogue affichée après avoir appuyé sur \"Ok\". Sinon cette fonctionnalité de pourra pas fonctionner correctement.</string>
<string name="launch_app_fail">Impossible de lancer l\'application %s car elle n\'a pas d\'interface graphique.</string> <string name="launch_app_fail">Impossible de lancer l\'application %s car elle n\'a pas d\'interface graphique.</string>
<string name="request_storage_manager">Shelter doit accéder à &lt;b&gt;Tous les Fichiers&lt;/b&gt; pour la Navigation de Fichiers. Veuillez activer l\'autorisation pour &lt;b&gt;LES DEUX&lt;/b&gt; applications Shelter (personnelle / professionnelle) dans la boîte de dialogue affichée après avoir appuyé sur \"Ok\".<b>All Files</b> for File Shuttle. Please enable the permission for <b>BOTH OF THE TWO </b> (Personal / Work) Shelter apps shown in the dialog after you press \"Ok\".</string> <string name="request_storage_manager">Shelter doit accéder à <b>Tous les Fichiers</b> pour la Navigation de Fichiers. Veuillez activer l\'autorisation pour <b>LES DEUX</b> applications Shelter (personnelle / professionnelle) dans la boîte de dialogue affichée après avoir appuyé sur \"Ok\".</string>
<string name="request_system_alert">Shelter doit &lt;b&gt;Dessiner par dessus les autres applications&lt;/b&gt; pour que la Navigation de Fichier fonctionne correctement. Veuillez activer l\'autorisation pour &lt;b&gt;LES DEUX&lt;/b&gt; applications Shelter (personnelle / professionnelle) dans la boîte de dialogue affichée après avoir appuyé sur \"Ok\". Cette autorisation est utilisée pour démarrer les services de Navigation de Fichiers en arrière-plan.<b>Draw over Other Apps</b> in order for File Shuttle to function correctly. Please enable the permission for <b>BOTH OF THE TWO </b> (Personal / Work) Shelter apps shown in the dialog after you press \"Ok\". This permission is used to start File Shuttle services in the background.</string> <string name="request_system_alert">Shelter doit <b>Dessiner par dessus les autres applications</b> pour que la Navigation de Fichier fonctionne correctement. Veuillez activer l\'autorisation pour <b>LES DEUX</b> applications Shelter (personnelle / professionnelle) dans la boîte de dialogue affichée après avoir appuyé sur \"Ok\". Cette autorisation est utilisée pour démarrer les services de Navigation de Fichiers en arrière-plan.</string>
<string name="miui_cannot_clone">Le clonage d\'applications non système vers un autre profil n\'est actuellement pas possible sur MIUI. Veuillez cloner la boutique d\'applications de votre système (par exemple, &lt;b&gt;Play Store&lt;/b&gt;) dans l\'autre profil, puis installer les applications à partir de là.<b>Play Store</b>) into the other profile and then install apps from there.</string> <string name="miui_cannot_clone">Le clonage d\'applications non système vers un autre profil n\'est actuellement pas possible sur MIUI. Veuillez cloner la boutique d\'applications de votre système (par exemple, &lt;b&gt;Play Store&lt;/b&gt;) dans l\'autre profil, puis installer les applications à partir de là.<b>Play Store</b>) into the other profile and then install apps from there.</string>
<string name="continue_anyway">Continuer quand même</string> <string name="continue_anyway">Continuer quand même</string>
<string name="settings_cross_profile_file_chooser">Navigation de Documents</string> <string name="settings_cross_profile_file_chooser">Navigation de Documents</string>
@ -105,7 +102,7 @@
<string name="setup_wizard_welcome">Bienvenue dans Shelter</string> <string name="setup_wizard_welcome">Bienvenue dans Shelter</string>
<string name="setup_wizard_permissions">Un point sur les permissions</string> <string name="setup_wizard_permissions">Un point sur les permissions</string>
<string name="setup_wizard_compatibility">Compatibilité</string> <string name="setup_wizard_compatibility">Compatibilité</string>
<string name="setup_wizard_ready">Prêt(e) \?</string> <string name="setup_wizard_ready">Prêt(e) ?</string>
<string name="setup_wizard_welcome_text">Shelter est une application permettant d\'exécuter d\'autres application à l\'intérieur d\'un compartiment isolé. Pour cela, elle utilise la fonctionnalité &lt;b&gt;Profil Professionnel&lt;b&gt; d\'Android. <string name="setup_wizard_welcome_text">Shelter est une application permettant d\'exécuter d\'autres application à l\'intérieur d\'un compartiment isolé. Pour cela, elle utilise la fonctionnalité &lt;b&gt;Profil Professionnel&lt;b&gt; d\'Android.
\n \n
\nAppuyez sur \"Suivant\", afin que nous puissions vous fournir de plus amples informations sur Shelter et vous guider dans le processus de configuration. \nAppuyez sur \"Suivant\", afin que nous puissions vous fournir de plus amples informations sur Shelter et vous guider dans le processus de configuration.

View file

@ -4,7 +4,6 @@
<string name="first_run_alert_continue">Lanjutkan</string> <string name="first_run_alert_continue">Lanjutkan</string>
<string name="device_admin_explanation">Shelter harus menjadi Admin Perangkat untuk melakukan tugas isolasinya.</string> <string name="device_admin_explanation">Shelter harus menjadi Admin Perangkat untuk melakukan tugas isolasinya.</string>
<string name="device_admin_desc">Layanan Isolasi Aplikasi</string> <string name="device_admin_desc">Layanan Isolasi Aplikasi</string>
<string name="camera_proxy_activity">Pilih File Gambar</string>
<string name="setup_wizard_welcome">Selamat datang di Shelter</string> <string name="setup_wizard_welcome">Selamat datang di Shelter</string>
<string name="setup_wizard_permissions">Sepatah kata tentang izin</string> <string name="setup_wizard_permissions">Sepatah kata tentang izin</string>
<string name="setup_wizard_welcome_text">Shelter adalah aplikasi untuk membantu Anda menjalankan aplikasi lain dalam profil yang terisolasi. Ia melakukannya dengan memanfaatkan fitur <b>Profil Kerja</b> Android. <string name="setup_wizard_welcome_text">Shelter adalah aplikasi untuk membantu Anda menjalankan aplikasi lain dalam profil yang terisolasi. Ia melakukannya dengan memanfaatkan fitur <b>Profil Kerja</b> Android.
@ -12,4 +11,109 @@
\nKlik \"Selanjutnya\", dan kami akan memberi Anda informasi tentang Shelter dan petunjuk untuk menyelesaikan proses pengaturan. \nKlik \"Selanjutnya\", dan kami akan memberi Anda informasi tentang Shelter dan petunjuk untuk menyelesaikan proses pengaturan.
\n \n
\nKami menyarankan Anda membaca semua halaman berikut dengan cermat.</string> \nKami menyarankan Anda membaca semua halaman berikut dengan cermat.</string>
<string name="documents_ui">Buka Aplikasi Dokumen</string>
<string name="settings">Pengaturan</string>
<string name="settings_interaction">Interaksi</string>
<string name="settings_cross_profile_file_chooser">Penyimpanan Shuttle</string>
<string name="uninstall_fail_system_app">Tidak dapat mencopot pemasangan aplikasi sistem di profil yang tidak dapat dikontrol oleh Shelter.</string>
<string name="auto_freeze">Otomatis Bekukan</string>
<string name="allow_cross_profile_widgets">Izinkan Widget di Profil Utama</string>
<string name="search">Pencarian</string>
<string name="freeze_all">Pengelompokan Pembekuan</string>
<string name="create_freeze_all_shortcut">Buat Kelompok Pintasan Pembekuan</string>
<string name="freeze_all_shortcut">Bekukan</string>
<string name="install_app_to_profile">Pasang APK ke Shelter</string>
<string name="install_app_to_profile_success">Penginstalan aplikasi selesai di profil kerja.</string>
<string name="show_all">Lihat Semua Aplikasi</string>
<string name="setup_wizard_compatibility">Kesesuaian</string>
<string name="setup_wizard_ready">Siap?</string>
<string name="setup_wizard_please_wait">Silakan tunggu. . .</string>
<string name="setup_wizard_please_wait_text">Kami mencoba menginisialisasi Work Profile dan menyiapkan Shelter di perangkat Anda.</string>
<string name="setup_wizard_failed">Penyiapan gagal</string>
<string name="setup_wizard_action_required">Diperlukan tindakan</string>
<string name="setup_wizard_action_required_text">Anda sekarang akan melihat notifikasi dari Shelter. <b>Silakan klik notifikasi itu</b> untuk menyelesaikan proses penyiapan.
\n
\nJika Anda tidak melihat notifikasi, pastikan perangkat Anda tidak dalam mode Jangan Ganggu dan coba turunkan pusat notifikasi.
\n
\nUntuk menyetel ulang Shelter dan memulai kembali, Anda dapat menghapus data Shelter di Setelan.</string>
<string name="notifications_important">Penampungan Penting</string>
<string name="finish_provision_title">Klik di sini untuk menyelesaikan penyiapan Shelter</string>
<string name="finish_provision_desc">Selamat! Anda hanya perlu satu klik untuk menyelesaikan penyiapan Shelter.</string>
<string name="service_title">Layanan Shelter</string>
<string name="service_desc">Shelter sekarang berjalan …</string>
<string name="service_auto_freeze_title">Pembekuan otomatis tertunda</string>
<string name="service_auto_freeze_desc">Shelter akan membekukan aplikasi secara otomatis yang diluncurkan dari \"Cairan &amp; Luncurkan\" pada acara penguncian layar berikutnya.</string>
<string name="service_auto_freeze_now">Bekukan Sekarang</string>
<string name="app_installing">Memasang...</string>
<string name="fragment_profile_main">Utama</string>
<string name="fragment_profile_work">Shelter</string>
<string name="list_item_disabled">[Bekukan] %s</string>
<string name="batch_operation">Kelompok operasi</string>
<string name="clone_to_work_profile">Salin ke Shelter (Profil Kerja)</string>
<string name="clone_to_main_profile">Salin ke Profil Utama</string>
<string name="uninstall_app">Copot</string>
<string name="freeze_app">Bekukan</string>
<string name="unfreeze_app">Cairkan</string>
<string name="launch">Jalankan</string>
<string name="create_unfreeze_shortcut">Buat Pencairan dan/atau Luncurkan Pintasan</string>
<string name="unfreeze_and_launch">Cairkan dan Luncurkan</string>
<string name="settings_block_contacts_searching">Blokir Pencarian Kontak</string>
<string name="settings_block_contacts_searching_desc">Tolak akses dari profil utama ke kontak di dalam profil kerja.</string>
<string name="settings_services">Layanan</string>
<string name="settings_auto_freeze_service">Layanan Pembekuan Otomatis</string>
<string name="settings_auto_freeze_service_desc">Saat layar terkunci, secara otomatis bekukan aplikasi yang diluncurkan dari \"Cabut &amp; Luncurkan Pintasan\".</string>
<string name="settings_auto_freeze_delay">Penundaan Pembekuan Otomatis</string>
<string name="settings_dont_freeze_foreground">Lewati Aplikasi Latar Depan</string>
<string name="settings_about">Tentang</string>
<string name="settings_version">Versi</string>
<string name="settings_source_code">Kode Sumber</string>
<string name="settings_translate">Terjemah</string>
<string name="settings_bug_report">Laporan Masalah / Pelacak Masalah</string>
<string name="provision_finished">Pengaturan tempat berlindung selesai. Sekarang memulai kembali Shelter. Jika Shelter tidak memulai secara otomatis, Anda dapat meluncurkannya lagi dari peluncur.</string>
<string name="msg_device_unsupported">Izin ditolak atau Perangkat tidak didukung</string>
<string name="work_profile_not_found">Profil kerja tidak ditemukan. Mulai ulang aplikasi untuk menyediakan ulang profil.</string>
<string name="work_profile_provision_failed">Tidak dapat menyediakan profil kerja. Anda dapat mencoba lagi dengan memulai ulang Shelter.</string>
<string name="clone_success">Aplikasi \"%s\" berhasil digandakan</string>
<string name="uninstall_success">Aplikasi \"%s\" berhasil dihapus instalasinya</string>
<string name="freeze_success">Aplikasi \"%s\" berhasil dibekukan</string>
<string name="unfreeze_success">Aplikasi \"%s\" berhasil dicairkan</string>
<string name="clone_fail_system_app">Tidak dapat mengkloning aplikasi sistem ke profil yang tidak dapat dikontrol oleh Shelter.</string>
<string name="unsupported_launcher">Tidak dapat menambahkan pintasan ke peluncur Anda. Silakan hubungi pengembang untuk informasi lebih lanjut.</string>
<string name="app_context_menu_title">Operasi untuk %s</string>
<string name="freeze_all_success">Semua aplikasi dalam daftar \"Bekukan Otomatis\" telah berhasil dibekukan.</string>
<string name="shortcut_create_success">Pintasan dibuat di peluncur Anda.</string>
<string name="launch_app_fail">Tidak dapat meluncurkan aplikasi %s karena tidak memiliki GUI.</string>
<string name="continue_anyway">Tetap lanjutkan</string>
<string name="setup_wizard_permissions_text">Secara bawaan, Shelter tidak akan meminta izin individu apa pun. Namun, setelah Anda melanjutkan proses penyiapan, Shelter akan mencoba menyiapkan Profil Kerja dan karenanya menjadi <b>pengelola profil</b> profil tersebut.
\n
\nIni akan memberi Shelter daftar panjang izin di dalam profil, sebanding dengan Admin Perangkat, meskipun terbatas pada profil. Menjadi pengelola profil diperlukan untuk sebagian besar fungsi Shelter.
\n
\nBeberapa fitur lanjutan Shelter mungkin memerlukan lebih banyak izin <b>di luar</b> Profil Kerja. Saat dibutuhkan, Shelter akan meminta izin tersebut secara terpisah saat Anda mengaktifkan fitur yang sesuai.</string>
<string name="setup_wizard_compatibility_text">Shelter dikembangkan dan diuji pada turunan Android mirip AOSP. Ini termasuk AOSP (Proyek Sumber Terbuka Android), Google Android (pada Piksel), dan <b>kebanyakan ROM kustom sumber terbuka berbasis AOSP</b> seperti LineageOS. Jika ponsel Anda menjalankan salah satu turunan Android yang tercantum di atas, selamat! Shelter mungkin akan berfungsi dengan benar di perangkat Anda.
\n
\nBeberapa vendor perangkat memperkenalkan penyesuaian yang sangat invasif ke dalam basis kode Android, yang mengakibatkan konflik, ketidakcocokan, dan perilaku yang tidak terduga. Beberapa ROM kustom juga dapat memperkenalkan perubahan yang merusak kompatibilitas, tetapi umumnya ini jarang terjadi dibandingkan dengan ketidakcocokan yang diperkenalkan oleh vendor ponsel.
\n
\nShelter hanyalah antarmuka ke fitur Work Profile yang disediakan oleh sistem. Jika fitur yang disediakan oleh sistem rusak atau tidak standar, <b>Shelter tidak dapat secara ajaib menyelesaikan masalahnya sendiri</b>. Jika saat ini Anda menggunakan versi Android modifikasi vendor yang diketahui dapat merusak Profil Kerja, <b>Anda telah diperingatkan</b>. Anda tetap dapat melanjutkan, tetapi tidak ada jaminan bahwa Shelter akan bertindak dengan benar dalam situasi seperti ini.</string>
<string name="setup_wizard_ready_text">Kami sekarang siap menyiapkan Shelter untuk Anda. Jika perangkat Anda menjalankan Android 7 atau lebih rendah, pertama-tama pastikan bahwa perangkat Anda <b>tidak</b> dalam mode Jangan Ganggu, karena nanti Anda harus <b>mengeklik pemberitahuan</b> untuk menyelesaikan proses penyetelan.
\n
\nSaat Anda siap, klik \"Berikutnya\" untuk memulai proses penyiapan.</string>
<string name="setup_wizard_failed_text">Dengan menyesal kami memberi tahu Anda bahwa kami tidak dapat menyiapkan Shelter untuk Anda.
\n
\nJika perangkat Anda sudah memiliki Profil Kerja, baik dari penginstalan Shelter sebelumnya atau dari aplikasi lain, Anda harus menghapus profil tersebut di Pengaturan -&gt; Akun sebelum Shelter dapat melanjutkan.
\n
\nJika tidak, jika Anda tidak membatalkan penyiapan secara manual, maka penyebab kegagalan biasanya karena sistem yang banyak dimodifikasi, atau konflik antara Shelter dan pengelola Work Profile lainnya. Sayangnya, tidak banyak yang bisa kami lakukan terkait hal ini.
\n
\nKlik \"Selanjutnya\" untuk keluar.</string>
<string name="show_all_warning">Memanipulasi aplikasi yang disembunyikan dari daftar dapat menyebabkan crash dan segala macam perilaku tak terduga. Namun, fitur ini dapat berguna saat ROM yang disesuaikan dengan vendor tidak mengaktifkan semua aplikasi sistem yang diperlukan di profil kerja secara default. Jika Anda melanjutkan, Anda sendirian.</string>
<string name="settings_cross_profile_file_chooser_desc">Saat diaktifkan, Anda akan dapat menelusuri/melihat/memilih/menyalin file di Shelter dari profil utama dan sebaliknya, HANYA melalui UI Dokumen (bernama File atau Dokumen di peluncur Anda) atau aplikasi dengan dukungan UI Dokumen (mereka hanya mendapatkan akses sementara ke file yang Anda pilih di Documents UI), sementara masih berkaitan dengan isolasi sistem file.</string>
<string name="settings_dont_freeze_foreground_desc">JANGAN membekukan aplikasi latar depan (dengan aktivitas yang terlihat) saat Anda mengunci layar. Ini dapat berguna untuk aplikasi seperti pemutar musik, tetapi Anda harus membekukannya secara manual melalui \"Pintasan Pembekuan Batch\" setelahnya.</string>
<string name="work_mode_disabled">Sepertinya Anda telah menonaktifkan Mode Kerja saat memulai Shelter. Jika Anda telah mengaktifkannya sekarang, harap mulai kembali Shelter.</string>
<string name="request_usage_stats">Shelter memerlukan izin <b>Statistik Penggunaan</b> untuk melakukan ini. Harap aktifkan izin untuk <b>KESELURUHAN</b> aplikasi Shelter yang ditampilkan di dialog setelah Anda menekan \"Ok\". Gagal melakukannya akan menyebabkan fitur ini tidak berfungsi dengan baik.</string>
<string name="request_storage_manager">Shelter memerlukan akses ke <b>Semua File</b> untuk File Shuttle. Harap aktifkan izin untuk <b>KESELURUHAN </b> (Pribadi / Kantor) aplikasi Shelter yang ditampilkan dalam dialog setelah Anda menekan \"Ok\".</string>
<string name="request_system_alert">Shelter harus <b>Draw over Other Apps</b> agar File Shuttle berfungsi dengan benar. Harap aktifkan izin untuk <b>KESELURUHAN </b> (Pribadi / Kantor) aplikasi Shelter yang ditampilkan dalam dialog setelah Anda menekan \"Ok\". Izin ini digunakan untuk memulai layanan File Shuttle di latar belakang.</string>
<string name="miui_cannot_clone">Mengkloning aplikasi non-sistem ke profil lain saat ini tidak dimungkinkan di MIUI. Harap gandakan toko aplikasi sistem Anda (mis. <b>Play Store</b>) ke profil lain, lalu instal aplikasi dari sana.</string>
<string name="payment_stub_description">Rintisan Layanan Pembayaran (JANGAN GUNAKAN)</string>
<string name="settings_payment_stub">Rintisan Layanan Pembayaran</string>
<string name="settings_payment_stub_desc">Aktifkan layanan pembayaran NFC palsu di profil utama, sehingga opsi pembayaran nirsentuh di bawah Pengaturan - NFC diaktifkan untuk memungkinkan Anda memilih aplikasi pembayaran di dalam profil kerja. Ini mengatasi bug Android yang membuat aplikasi pembayaran di dalam profil kerja tidak dapat dipilih jika tidak ada yang tersedia di profil utama.</string>
<string name="allow_cross_profile_interaction">Izinkan Interaksi Lintas Profil</string>
</resources> </resources>

View file

@ -4,7 +4,6 @@
<string name="first_run_alert_continue">Continua</string> <string name="first_run_alert_continue">Continua</string>
<string name="device_admin_desc">Servizio di isolazione app</string> <string name="device_admin_desc">Servizio di isolazione app</string>
<string name="device_admin_explanation">Shelter ha bisogno di diventare amministratore del dispositivo per eseguire l\'isolamento delle app.</string> <string name="device_admin_explanation">Shelter ha bisogno di diventare amministratore del dispositivo per eseguire l\'isolamento delle app.</string>
<string name="camera_proxy_activity">Scegli un\'immagine</string>
<string name="notifications_important">Notifiche importanti</string> <string name="notifications_important">Notifiche importanti</string>
<string name="finish_provision_title">Premi qui per finire la configurazione di Shelter</string> <string name="finish_provision_title">Premi qui per finire la configurazione di Shelter</string>
<string name="finish_provision_desc">Congratulazioni! Ti manca solo un passo per finire la configurazione di Shelter.</string> <string name="finish_provision_desc">Congratulazioni! Ti manca solo un passo per finire la configurazione di Shelter.</string>
@ -33,7 +32,6 @@
<string name="documents_ui">Apri interfaccia dei documenti</string> <string name="documents_ui">Apri interfaccia dei documenti</string>
<string name="settings_interaction">Interazione</string> <string name="settings_interaction">Interazione</string>
<string name="settings_cross_profile_file_chooser">Shuttle dei file</string> <string name="settings_cross_profile_file_chooser">Shuttle dei file</string>
<string name="settings_camera_proxy">Seleziona l\'immagine per la falsa fotocamera</string>
<string name="device_admin_toast">Serve i permessi di Amministratore Dispositivo per far funzionare Shelter. Riprovare.</string> <string name="device_admin_toast">Serve i permessi di Amministratore Dispositivo per far funzionare Shelter. Riprovare.</string>
<string name="settings_block_contacts_searching">Blocca la ricerca dei contatti</string> <string name="settings_block_contacts_searching">Blocca la ricerca dei contatti</string>
<string name="settings_block_contacts_searching_desc">Impedisci l\'accesso dal profilo principale ai contatti dentro il profilo lavorativo.</string> <string name="settings_block_contacts_searching_desc">Impedisci l\'accesso dal profilo principale ai contatti dentro il profilo lavorativo.</string>
@ -81,7 +79,6 @@
<string name="batch_operation">Operazione in massa</string> <string name="batch_operation">Operazione in massa</string>
<string name="create_unfreeze_shortcut">Crea una scorciatoia di scongelamento e/o avvio</string> <string name="create_unfreeze_shortcut">Crea una scorciatoia di scongelamento e/o avvio</string>
<string name="create_freeze_all_shortcut">Crea una scorciatoia di congelamento in massa</string> <string name="create_freeze_all_shortcut">Crea una scorciatoia di congelamento in massa</string>
<string name="settings_camera_proxy_desc">Presenta una falsa app per la fotocamera alle altre app, permettendoti di scegliere qualunque immagine dai documenti (e dallo Shuttle dei file se attivo) come se fosse una foto scattata. Ciò abilita lo Shuttle dei file per qualsiasi app che supporti l\'invocazione di altre app fotocamera per scattare una foto, anche se non supporta nativamente l\'interfaccia dei documenti.</string>
<string name="install_app_to_profile">Installa l\'APK in Shelter</string> <string name="install_app_to_profile">Installa l\'APK in Shelter</string>
<string name="settings_dont_freeze_foreground_desc">NON congelare le app in primo piano (con attività visibile) quando si blocca lo schermo. Ciò può essere utile per app come i riproduttori musicali, ma poi dovrai congelarle a mano tramite \"Scorciatoia di congelamento in massa\".</string> <string name="settings_dont_freeze_foreground_desc">NON congelare le app in primo piano (con attività visibile) quando si blocca lo schermo. Ciò può essere utile per app come i riproduttori musicali, ma poi dovrai congelarle a mano tramite \"Scorciatoia di congelamento in massa\".</string>
<string name="request_usage_stats">Shelter ha bisogno dell\'autorizzazione <b>Statistiche d\'uso</b> per farlo. Attiva l\'autorizzazione per <b>ENTRAMBE</b> le app di Shelter mostrate nella finestra dopo aver premuto \"Ok\". Altrimenti questa funzione non funzionerà correttamente.</string> <string name="request_usage_stats">Shelter ha bisogno dell\'autorizzazione <b>Statistiche d\'uso</b> per farlo. Attiva l\'autorizzazione per <b>ENTRAMBE</b> le app di Shelter mostrate nella finestra dopo aver premuto \"Ok\". Altrimenti questa funzione non funzionerà correttamente.</string>
@ -111,7 +108,7 @@
<string name="setup_wizard_welcome">Benvenuti in Shelter</string> <string name="setup_wizard_welcome">Benvenuti in Shelter</string>
<string name="setup_wizard_permissions">Una parola in merito alle autorizzazioni</string> <string name="setup_wizard_permissions">Una parola in merito alle autorizzazioni</string>
<string name="setup_wizard_compatibility">Compatibilità</string> <string name="setup_wizard_compatibility">Compatibilità</string>
<string name="setup_wizard_ready">Iniziamo\?</string> <string name="setup_wizard_ready">Iniziamo?</string>
<string name="setup_wizard_please_wait">Attendere prego…</string> <string name="setup_wizard_please_wait">Attendere prego…</string>
<string name="setup_wizard_please_wait_text">Stiamo provando a inizializzare il Profilo di Lavoro e configurare Shelter sul tuo dispositivo.</string> <string name="setup_wizard_please_wait_text">Stiamo provando a inizializzare il Profilo di Lavoro e configurare Shelter sul tuo dispositivo.</string>
<string name="setup_wizard_welcome_text">Shelter è un\'app che ti permette di usare altre applicazioni in un profilo isolato. Tutto questo viene fatto sfruttando la funzione <b>Profilo di Lavoro</b> di Android. <string name="setup_wizard_welcome_text">Shelter è un\'app che ti permette di usare altre applicazioni in un profilo isolato. Tutto questo viene fatto sfruttando la funzione <b>Profilo di Lavoro</b> di Android.

View file

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="first_run_alert_continue">להמשיך</string> <string name="first_run_alert_continue">להמשיך</string>
<string name="camera_proxy_activity">בחר קובץ תמונה</string>
<string name="setup_wizard_welcome">ברוכים הבאים Shelter</string> <string name="setup_wizard_welcome">ברוכים הבאים Shelter</string>
<string name="setup_wizard_permissions">מילה על הרשאות</string> <string name="setup_wizard_permissions">מילה על הרשאות</string>
<string name="setup_wizard_compatibility">תאימות</string> <string name="setup_wizard_compatibility">תאימות</string>
@ -15,8 +14,8 @@
\nאנו ממליצים לקרוא בעיון את כל העמודים הבאים.</string> \nאנו ממליצים לקרוא בעיון את כל העמודים הבאים.</string>
<string name="allow_cross_profile_widgets">אפשר ווידג\'טים בפרופיל הראשי</string> <string name="allow_cross_profile_widgets">אפשר ווידג\'טים בפרופיל הראשי</string>
<string name="install_app_to_profile_success">התקנת האפליקציה הסתיימה בפרופיל העבודה.</string> <string name="install_app_to_profile_success">התקנת האפליקציה הסתיימה בפרופיל העבודה.</string>
<string name="setup_wizard_ready">מוכן\?</string> <string name="setup_wizard_ready">מוכן?</string>
<string name="setup_wizard_ready_text">כעת אנו מוכנים להקים עבורך את Shelter. תחילה ודא שהמכשיר שלך <b>לא</b> במצב \'נא לא להפריע\', מכיוון שתצטרך <b>ללחוץ על הודעה</b> מאוחר יותר כדי לסיים את תהליך ההגדרה. <string name="setup_wizard_ready_text">כעת אנו מוכנים להקים עבורך את Shelter. אם המכשיר שלך פועל עם אנדרואיד 7 ומטה, אנא ודא תחילה שהמכשיר שלך <b>לא</b> במצב \'נא לא להפריע\', מכיוון שתצטרך <b>ללחוץ על הודעה</b> מאוחר יותר כדי לסיים תהליך ההגדרה.
\n \n
\nכשתהיה מוכן, לחץ על \"הבא\" כדי להתחיל בתהליך ההגדרה.</string> \nכשתהיה מוכן, לחץ על \"הבא\" כדי להתחיל בתהליך ההגדרה.</string>
<string name="setup_wizard_please_wait">נא להמתין…</string> <string name="setup_wizard_please_wait">נא להמתין…</string>
@ -77,7 +76,6 @@
<string name="settings">הגדרות</string> <string name="settings">הגדרות</string>
<string name="settings_interaction">אינטראקציה</string> <string name="settings_interaction">אינטראקציה</string>
<string name="settings_cross_profile_file_chooser">מעבורת קבצים</string> <string name="settings_cross_profile_file_chooser">מעבורת קבצים</string>
<string name="settings_camera_proxy">בוחר תמונה כמצלמה מזויפת</string>
<string name="uninstall_fail_system_app">לא ניתן להסיר את ההתקנה של אפליקציות מערכת בפרופיל של-Shelter אין שליטה עליו.</string> <string name="uninstall_fail_system_app">לא ניתן להסיר את ההתקנה של אפליקציות מערכת בפרופיל של-Shelter אין שליטה עליו.</string>
<string name="settings_block_contacts_searching">חסום חיפוש אנשי קשר</string> <string name="settings_block_contacts_searching">חסום חיפוש אנשי קשר</string>
<string name="settings_services">שירותים</string> <string name="settings_services">שירותים</string>
@ -111,7 +109,6 @@
<string name="settings_auto_freeze_service_desc">כאשר המסך נעול, הקפיא אוטומטית אפליקציות שהופעלו מ\"בטל הקפאה והפעל קיצור דרך\".</string> <string name="settings_auto_freeze_service_desc">כאשר המסך נעול, הקפיא אוטומטית אפליקציות שהופעלו מ\"בטל הקפאה והפעל קיצור דרך\".</string>
<string name="show_all_warning">מניפולציה של אפליקציות המוסתרות מהרשימה עלולה לגרום לקריסות ולכל מיני התנהגות בלתי צפויה. עם זאת, תכונה זו יכולה להיות שימושית כאשר ROMs פגומים המותאמים אישית של ספקים אינם מפעילים את כל אפליקציות המערכת הנחוצות בפרופיל העבודה כברירת מחדל. אם תמשיך, אתה לבד.</string> <string name="show_all_warning">מניפולציה של אפליקציות המוסתרות מהרשימה עלולה לגרום לקריסות ולכל מיני התנהגות בלתי צפויה. עם זאת, תכונה זו יכולה להיות שימושית כאשר ROMs פגומים המותאמים אישית של ספקים אינם מפעילים את כל אפליקציות המערכת הנחוצות בפרופיל העבודה כברירת מחדל. אם תמשיך, אתה לבד.</string>
<string name="settings_cross_profile_file_chooser_desc">כאשר מופעל, תוכל לדפדף / להציג / לבחור / להעתיק קבצים ב-Shelter מהפרופיל הראשי ולהיפך, רק דרך ממשק המשתמש של מסמכים (ששמו קבצים או מסמכים במפעיל שלך) או אפליקציות עם תמיכה בממשק המשתמש של מסמכים (הם רק מרוויחים גישה זמנית לקבצים שתבחר בממשק המשתמש של מסמכים), תוך שמירה על בידוד מערכת הקבצים.</string> <string name="settings_cross_profile_file_chooser_desc">כאשר מופעל, תוכל לדפדף / להציג / לבחור / להעתיק קבצים ב-Shelter מהפרופיל הראשי ולהיפך, רק דרך ממשק המשתמש של מסמכים (ששמו קבצים או מסמכים במפעיל שלך) או אפליקציות עם תמיכה בממשק המשתמש של מסמכים (הם רק מרוויחים גישה זמנית לקבצים שתבחר בממשק המשתמש של מסמכים), תוך שמירה על בידוד מערכת הקבצים.</string>
<string name="settings_camera_proxy_desc">הצג אפליקציית מצלמה מזויפת לאפליקציות אחרות, מה שמאפשר לך לבחור תמונה שרירותית מממשק המשתמש של המסמכים (ומעבורת הקבצים אם מופעלת) בתור התמונה שצולמה. זה מאפשר העברת קבצים עבור כל אפליקציה שתומכת בהפעלת אפליקציות מצלמה אחרות כדי לצלם תמונה, גם אם הן אינן תומכות בממשק המשתמש המקורי של מסמכים</string>
<string name="request_usage_stats">Shelter זקוק להרשאת <b>סטטיסטיקות שימוש</b> כדי לעשות זאת. אנא הפעל את ההרשאה עבור אפליקציות מקלט <b>שתיים</b> המוצגות בתיבת הדו-שיח לאחר לחיצה על \"אישור\". אם לא תעשה זאת, תכונה זו לא תפעל כראוי.</string> <string name="request_usage_stats">Shelter זקוק להרשאת <b>סטטיסטיקות שימוש</b> כדי לעשות זאת. אנא הפעל את ההרשאה עבור אפליקציות מקלט <b>שתיים</b> המוצגות בתיבת הדו-שיח לאחר לחיצה על \"אישור\". אם לא תעשה זאת, תכונה זו לא תפעל כראוי.</string>
<string name="request_storage_manager">Shelter זקוק לגישה אל <b>כל הקבצים</b> עבור סייר הקבצים. אנא הפעל את ההרשאה עבור יישומי מקלט <b>שניים </b> (אישי / עבודה) המוצגים בתיבת הדו-שיח לאחר לחיצה על \"אישור\".</string> <string name="request_storage_manager">Shelter זקוק לגישה אל <b>כל הקבצים</b> עבור סייר הקבצים. אנא הפעל את ההרשאה עבור יישומי מקלט <b>שניים </b> (אישי / עבודה) המוצגים בתיבת הדו-שיח לאחר לחיצה על \"אישור\".</string>
<string name="request_system_alert">Shelter צריך <b>לצייר מעל אפליקציות אחרות</b> כדי ש-File Shuttle יפעל כהלכה. אנא הפעל את ההרשאה עבור יישומי מקלט <b>שניים </b> (אישי / עבודה) המוצגים בתיבת הדו-שיח לאחר לחיצה על \"אישור\". הרשאה זו משמשת להפעלת שירותי File Shuttle ברקע.</string> <string name="request_system_alert">Shelter צריך <b>לצייר מעל אפליקציות אחרות</b> כדי ש-File Shuttle יפעל כהלכה. אנא הפעל את ההרשאה עבור יישומי מקלט <b>שניים </b> (אישי / עבודה) המוצגים בתיבת הדו-שיח לאחר לחיצה על \"אישור\". הרשאה זו משמשת להפעלת שירותי File Shuttle ברקע.</string>

View file

@ -4,7 +4,6 @@
<string name="first_run_alert_continue">続行</string> <string name="first_run_alert_continue">続行</string>
<string name="device_admin_desc">アプリ隔離サービス</string> <string name="device_admin_desc">アプリ隔離サービス</string>
<string name="device_admin_explanation">隔離処理を行うためにShelterをデバイス管理者に設定する必要があります。</string> <string name="device_admin_explanation">隔離処理を行うためにShelterをデバイス管理者に設定する必要があります。</string>
<string name="camera_proxy_activity">画像ファイルを選択</string>
<string name="notifications_important">Shelterの重要な通知</string> <string name="notifications_important">Shelterの重要な通知</string>
<string name="finish_provision_title">タップしてShelterのセットアップを完了してください</string> <string name="finish_provision_title">タップしてShelterのセットアップを完了してください</string>
<string name="finish_provision_desc">おめでとうございますShelterのセットアップ完了まであと一歩です。</string> <string name="finish_provision_desc">おめでとうございますShelterのセットアップ完了まであと一歩です。</string>
@ -34,7 +33,6 @@
<string name="show_all">全てのアプリを表示</string> <string name="show_all">全てのアプリを表示</string>
<string name="documents_ui">標準ファイラーを開く</string> <string name="documents_ui">標準ファイラーを開く</string>
<string name="settings">設定</string> <string name="settings">設定</string>
<string name="settings_camera_proxy">フェイクカメラで使用する画像を選択</string>
<string name="settings_block_contacts_searching">連絡先の検索をブロック</string> <string name="settings_block_contacts_searching">連絡先の検索をブロック</string>
<string name="settings_services">サービス</string> <string name="settings_services">サービス</string>
<string name="settings_auto_freeze_service">自動凍結サービス</string> <string name="settings_auto_freeze_service">自動凍結サービス</string>
@ -98,9 +96,8 @@
<string name="setup_wizard_failed">セットアップに失敗しました</string> <string name="setup_wizard_failed">セットアップに失敗しました</string>
<string name="setup_wizard_action_required">操作が必要です</string> <string name="setup_wizard_action_required">操作が必要です</string>
<string name="setup_wizard_welcome">Shelterへようこそ</string> <string name="setup_wizard_welcome">Shelterへようこそ</string>
<string name="settings_camera_proxy_desc">他のアプリに偽のカメラアプリを提示し、Documents UIおよび有効な場合はFile Shuttleから任意の画像を撮影画像として選択できるようにします。これにより、Documents UIをネイティブにサポートしていなくても、他のカメラアプリを呼び出して写真を撮ることをサポートするすべてのアプリでFile Shuttleが有効になります。</string>
<string name="settings_dont_freeze_foreground_desc">画面をロックしたときに、フォアグラウンドのアプリ(アクティビティが表示されているもの)を凍結しない。これは音楽プレーヤーなどのアプリには便利ですが、その後「バッチフリーズ・ショートカット」を使って手動で凍結する必要があります。</string> <string name="settings_dont_freeze_foreground_desc">画面をロックしたときに、フォアグラウンドのアプリ(アクティビティが表示されているもの)を凍結しない。これは音楽プレーヤーなどのアプリには便利ですが、その後「バッチフリーズ・ショートカット」を使って手動で凍結する必要があります。</string>
<string name="setup_wizard_ready_text">これで、Shelterの設定が完了しました。セットアッププロセスを完了させるには、後で<b>通知をタップ</b>する必要があるため、まずお使いのデバイスが<b>サイレントモードになっていない</b>ことを確認してください。 <string name="setup_wizard_ready_text">これで、Shelterの設定が完了しました。Android 7以下の端末の場合、セットアッププロセスを完了させるには、後で<b>通知をタップ</b>する必要があるため、まずお使いのデバイスが<b>サイレントモードになっていない</b>ことを確認してください。
\n \n
\n準備ができたら、「次へ」をタップして、セットアッププロセスを開始します。</string> \n準備ができたら、「次へ」をタップして、セットアッププロセスを開始します。</string>
<string name="setup_wizard_permissions">権限についてひとこと</string> <string name="setup_wizard_permissions">権限についてひとこと</string>

View file

@ -7,7 +7,7 @@
<string name="setup_wizard_permissions">권한 관련 안내</string> <string name="setup_wizard_permissions">권한 관련 안내</string>
<string name="service_auto_freeze_desc">다음 화면 잠금이 실행될 때 Shelter가 \"활성화 후 실행\"을 통해 실행된 앱을 자동으로 비활성화 처리합니다.</string> <string name="service_auto_freeze_desc">다음 화면 잠금이 실행될 때 Shelter가 \"활성화 후 실행\"을 통해 실행된 앱을 자동으로 비활성화 처리합니다.</string>
<string name="unfreeze_app">활성화</string> <string name="unfreeze_app">활성화</string>
<string name="setup_wizard_ready">준비되셨나요\?</string> <string name="setup_wizard_ready">준비되셨나요?</string>
<string name="setup_wizard_failed">설정 실패</string> <string name="setup_wizard_failed">설정 실패</string>
<string name="setup_wizard_action_required">수동 조치 필요</string> <string name="setup_wizard_action_required">수동 조치 필요</string>
<string name="notifications_important">Shelter 알림</string> <string name="notifications_important">Shelter 알림</string>
@ -33,7 +33,6 @@
<string name="show_all">모든 앱 보이기</string> <string name="show_all">모든 앱 보이기</string>
<string name="install_app_to_profile_success">앱이 직장 프로필에 설치되었습니다.</string> <string name="install_app_to_profile_success">앱이 직장 프로필에 설치되었습니다.</string>
<string name="settings_cross_profile_file_chooser">프로필 간 파일 공유</string> <string name="settings_cross_profile_file_chooser">프로필 간 파일 공유</string>
<string name="settings_camera_proxy">위장 카메라 앱을 통한 이미지 탐색</string>
<string name="settings_auto_freeze_service">자동 비활성화 서비스</string> <string name="settings_auto_freeze_service">자동 비활성화 서비스</string>
<string name="settings_auto_freeze_delay">자동 비활성화 대기 시간</string> <string name="settings_auto_freeze_delay">자동 비활성화 대기 시간</string>
<string name="settings_dont_freeze_foreground">포어그라운드 실행 중인 앱 제외하기</string> <string name="settings_dont_freeze_foreground">포어그라운드 실행 중인 앱 제외하기</string>
@ -52,14 +51,12 @@
<string name="app_context_menu_title">%s 앱에 대해 수행할 작업</string> <string name="app_context_menu_title">%s 앱에 대해 수행할 작업</string>
<string name="freeze_all_success">\"자동 비활성화\" 목록에 등록된 모든 앱이 비활성화되었습니다.</string> <string name="freeze_all_success">\"자동 비활성화\" 목록에 등록된 모든 앱이 비활성화되었습니다.</string>
<string name="continue_anyway">계속 진행</string> <string name="continue_anyway">계속 진행</string>
<string name="miui_cannot_clone">현재 MIUI 환경에서는 비 시스템 앱을 다른 프로필로 복제하는 기능이 지원되지 않습니다. 현재 시스템의 앱 스토어(예시: <b>Play Store</b>)를 다른 프로필로 복제하신 후 복제된 앱 스토어 애플리케이션에서 앱을 내려받아 주세요.</string> <string name="miui_cannot_clone">현재 MIUI 환경에서는 비 시스템 앱을 다른 프로필로 복제하는 기능이 지원되지 않습니다. 현재 시스템의 앱 스토어(<b>Play Store</b> 등)를 다른 프로필로 복제하신 후 복제된 앱 스토어 애플리케이션에서 앱을 내려받아 주세요.</string>
<string name="camera_proxy_activity">이미지 파일 고르기</string>
<string name="device_admin_explanation">Shelter가 격리 작업을 진행하려면 기기 관리자 권한을 필요로 합니다.</string> <string name="device_admin_explanation">Shelter가 격리 작업을 진행하려면 기기 관리자 권한을 필요로 합니다.</string>
<string name="settings_cross_profile_file_chooser_desc">이 기능을 활성화하면 개인 및 직장 프로필에서 각각 상대 프로필의 파일에 접근하거나 상대 프로필 간 파일 작업을 할 수 있습니다. 이 기능은 파일 시스템 간 격리를 유지한 상태에서 문서 사용자 인터페이스(Documents UI, 보통 \"파일\" 또는 \"문서\"라는 이름을 가진 기본 파일 관리자 앱) 또는 문서 사용자 인터페이스를 지원하는 앱(문서 사용자 인터페이스를 통해 선택된 파일에 한해서만 임시적으로 접근 허용)을 통해서만 작동합니다.</string> <string name="settings_cross_profile_file_chooser_desc">이 기능을 활성화하면 개인 및 직장 프로필에서 각각 상대 프로필의 파일에 접근하거나 상대 프로필 간 파일 작업을 할 수 있습니다. 이 기능은 파일 시스템 간 격리를 유지한 상태에서 문서 사용자 인터페이스(Documents UI, 보통 \"파일\" 또는 \"문서\"라는 이름을 가진 기본 파일 관리자 앱) 또는 이를 지원(문서 사용자 인터페이스를 통해 선택된 파일에 한해서만 임시적으로 접근 허용)하는 앱을 통해서만 작동합니다.</string>
<string name="setup_wizard_compatibility">호환성</string> <string name="setup_wizard_compatibility">호환성</string>
<string name="setup_wizard_please_wait">잠시만 기다려 주세요…</string> <string name="setup_wizard_please_wait">잠시만 기다려 주세요…</string>
<string name="install_app_to_profile">직장 프로필에 APK 설치하기</string> <string name="install_app_to_profile">직장 프로필에 APK 설치하기</string>
<string name="settings_camera_proxy_desc">카메라 앱으로 위장한 이미지 탐색기 앱을 추가합니다. 다른 앱에서 이 위장 앱을 불러오면 문서 사용자 인터페이스 및 프로필 간 파일 공유 기능(활성화되어 있을 시)을 통해 선택된 이미지 파일을 카메라 촬영 화면으로 인식하게 합니다. 외부 카메라 앱을 통한 사진 촬영을 지원하는 앱, 이 중 문서 사용자 인터페이스를 기본 지원하지 않는 앱에 특히 유용합니다.</string>
<string name="request_usage_stats">이 기능을 켜려면 <b>사용 기록 액세스</b> 권한을 필요로 합니다. \"확인\" 버튼을 누르신 후 <b>양쪽 프로필 모두의 Shelter 앱에 대해 해당 권한을 허용</b>해 주세요. 해당 권한이 허용되지 않은 경우 기능이 정상적으로 작동하지 않습니다.</string> <string name="request_usage_stats">이 기능을 켜려면 <b>사용 기록 액세스</b> 권한을 필요로 합니다. \"확인\" 버튼을 누르신 후 <b>양쪽 프로필 모두의 Shelter 앱에 대해 해당 권한을 허용</b>해 주세요. 해당 권한이 허용되지 않은 경우 기능이 정상적으로 작동하지 않습니다.</string>
<string name="request_storage_manager">프로필 간 파일 공유 기능을 켜려면 <b>모든 파일에 액세스</b> 권한을 필요로 합니다. \"확인\" 버튼을 누르신 후 개인 및 직장 <b>양쪽 프로필 모두의 Shelter 앱에 대해 해당 권한을 허용</b>해 주세요.</string> <string name="request_storage_manager">프로필 간 파일 공유 기능을 켜려면 <b>모든 파일에 액세스</b> 권한을 필요로 합니다. \"확인\" 버튼을 누르신 후 개인 및 직장 <b>양쪽 프로필 모두의 Shelter 앱에 대해 해당 권한을 허용</b>해 주세요.</string>
<string name="setup_wizard_please_wait_text">지금 직장 프로필 생성 및 Shelter의 설정 작업을 진행하고 있습니다.</string> <string name="setup_wizard_please_wait_text">지금 직장 프로필 생성 및 Shelter의 설정 작업을 진행하고 있습니다.</string>
@ -77,17 +74,17 @@
\n위 사항에 해당하지 않으며 설정 과정을 임의로 중단하지 않았다면, 큰 규모의 변형 또는 수정이 가해진 시스템 또는 Shelter와 다른 직장 프로필 관리 도구와의 충돌이 원인일 수 있으며 이 경우 정상적인 Shelter 설정 작업이 어렵습니다. \n위 사항에 해당하지 않으며 설정 과정을 임의로 중단하지 않았다면, 큰 규모의 변형 또는 수정이 가해진 시스템 또는 Shelter와 다른 직장 프로필 관리 도구와의 충돌이 원인일 수 있으며 이 경우 정상적인 Shelter 설정 작업이 어렵습니다.
\n \n
\n\"다음\" 버튼을 누르시면 Shelter가 종료됩니다.</string> \n\"다음\" 버튼을 누르시면 Shelter가 종료됩니다.</string>
<string name="launch_app_fail">\"%s\" 앱에 그래픽 인터페이스가 존재하지 않아 실행할 수 없습니다.</string> <string name="launch_app_fail">%s 앱에 그래픽 인터페이스가 존재하지 않아 실행할 수 없습니다.</string>
<string name="finish_provision_title">이곳을 눌러 Shelter 설정 작업을 마무리하세요</string> <string name="finish_provision_title">Shelter 설정 작업 마무리하기</string>
<string name="settings">설정</string> <string name="settings">설정</string>
<string name="settings_source_code">소스 코드</string> <string name="settings_source_code">소스 코드</string>
<string name="service_desc">Shelter 서비스가 실행 중입니다.</string> <string name="service_desc">Shelter 서비스가 실행 중입니다.</string>
<string name="show_all_warning">목록에서 숨겨진 앱을 수정할 경우 앱 오작동을 비롯한 예상치 못한 현상을 유발할 수 있습니다. 다만 오류가 있는 제조사 ROM으로 인해 모든 필수 시스템 앱이 직장 프로필에서 활성화되지 않았다면 이 기능이 유용할 수 있으며, 계속 진행하시는 경우 상기한 위험을 감수하는 것입니다.</string> <string name="show_all_warning">목록에서 숨겨진 앱을 수정할 경우 앱 오작동을 비롯한 예상치 못한 현상을 유발할 수 있습니다. 다만 오류가 있는 제조사 ROM으로 인해 모든 필수 시스템 앱이 직장 프로필에서 활성화되지 않았다면 이 기능이 유용할 수 있습니다. 계속 진행하시는 경우 상기된 위험을 감수하는 것입니다.</string>
<string name="search">검색</string> <string name="search">검색</string>
<string name="setup_wizard_ready_text">이제 Shelter 설정 작업을 시작합니다. 본 기기가 Android 버전 7 이하를 실행 중이라면, 방해 금지 모드가 <b>꺼진 상태</b>인지 꼭 확인해 주세요. 이후 <b>푸시 알림을 눌러야</b> 설정 작업이 마무리되기 때문입니다. <string name="setup_wizard_ready_text">이제 Shelter 설정 작업을 시작합니다. 본 기기가 Android 버전 7 이하를 실행 중이라면, 방해 금지 모드가 <b>꺼진 상태</b>인지 꼭 확인해 주세요. 이후 <b>푸시 알림을 눌러야</b> 설정 작업이 마무리되기 때문입니다.
\n \n
\n\"다음\" 버튼을 누르시면 설정 작업이 진행됩니다.</string> \n\"다음\" 버튼을 누르시면 설정 작업이 진행됩니다.</string>
<string name="finish_provision_desc">이곳을 클릭하시면 Shelter의 설정 작업이 모두 마무리됩니다.</string> <string name="finish_provision_desc">이곳을 누르시면 Shelter의 설정 작업이 모두 마무리됩니다.</string>
<string name="settings_block_contacts_searching">연락처 검색 차단</string> <string name="settings_block_contacts_searching">연락처 검색 차단</string>
<string name="settings_block_contacts_searching_desc">개인 프로필에서 직장 프로필 내에 저장된 연락처로의 접근을 막습니다.</string> <string name="settings_block_contacts_searching_desc">개인 프로필에서 직장 프로필 내에 저장된 연락처로의 접근을 막습니다.</string>
<string name="setup_wizard_compatibility_text">Shelter는 AOSP(Android Open Source Project), Google Android(Pixel 탑재 운영 체제) 및 <b>대다수의 AOSP 기반 오픈 소스 커스텀 ROM</b>(LineageOS 등)과 같이 AOSP를 기반으로 파생된 Android 시스템들에서 개발 및 테스트되었습니다. 본 기기가 상기된 Android 시스템 중 하나를 실행하고 있다면, 이는 Shelter가 본 기기에서 올바르게 동작할 가능성이 높다는 뜻입니다. 👏 <string name="setup_wizard_compatibility_text">Shelter는 AOSP(Android Open Source Project), Google Android(Pixel 탑재 운영 체제) 및 <b>대다수의 AOSP 기반 오픈 소스 커스텀 ROM</b>(LineageOS 등)과 같이 AOSP를 기반으로 파생된 Android 시스템들에서 개발 및 테스트되었습니다. 본 기기가 상기된 Android 시스템 중 하나를 실행하고 있다면, 이는 Shelter가 본 기기에서 올바르게 동작할 가능성이 높다는 뜻입니다. 👏
@ -111,8 +108,12 @@
<string name="list_item_disabled">[비활성] %s</string> <string name="list_item_disabled">[비활성] %s</string>
<string name="settings_dont_freeze_foreground_desc">화면 잠금이 실행되었을 때 포어그라운드에서 실행 중(화면에 표시 중)인 앱에 대하여 비활성화 처리를 하지 않습니다. 음악 플레이어 등의 앱을 사용하고 있을 때 유용한 기능이나, \"일괄 비활성화 바로 가기\"를 통하여 수동으로 비활성화해 주어야 합니다.</string> <string name="settings_dont_freeze_foreground_desc">화면 잠금이 실행되었을 때 포어그라운드에서 실행 중(화면에 표시 중)인 앱에 대하여 비활성화 처리를 하지 않습니다. 음악 플레이어 등의 앱을 사용하고 있을 때 유용한 기능이나, \"일괄 비활성화 바로 가기\"를 통하여 수동으로 비활성화해 주어야 합니다.</string>
<string name="work_mode_disabled">Shelter를 실행하는 도중 직장 프로필을 비활성화하신 것 같습니다. 이미 직장 프로필을 활성화하셨을 경우 Shelter를 다시 실행해 주세요.</string> <string name="work_mode_disabled">Shelter를 실행하는 도중 직장 프로필을 비활성화하신 것 같습니다. 이미 직장 프로필을 활성화하셨을 경우 Shelter를 다시 실행해 주세요.</string>
<string name="msg_device_unsupported">권한이 거부되었거나 지원지 않는 기기입니다</string> <string name="msg_device_unsupported">권한이 거부되었거나 지원지 않는 기기입니다</string>
<string name="work_profile_provision_failed">직장 프로필 구성에 실패했습니다. Shelter를 다시 실행 후 재시도해 주세요.</string> <string name="work_profile_provision_failed">직장 프로필 구성에 실패했습니다. Shelter를 다시 실행한 후 재시도해 보세요.</string>
<string name="unfreeze_and_launch">활성화 후 실행하기</string> <string name="unfreeze_and_launch">활성화 후 실행하기</string>
<string name="unfreeze_success">\"%s\" 앱이 활성화되었습니다</string> <string name="unfreeze_success">\"%s\" 앱이 활성화되었습니다</string>
<string name="payment_stub_description">모의 결제 서비스 (사용금지)</string>
<string name="settings_payment_stub_desc">개인 프로필에 모의 NFC 결제 서비스를 추가하여 [설정] - [NFC]의 비접촉 결제 옵션을 활성화합니다. 개인 프로필에 설치된 결제 앱이 없을 경우 직장 프로필에 있는 앱의 비접촉 결제 서비스 사용이 불가능한 Android 상 버그를 우회하기 위한 기능입니다.</string>
<string name="allow_cross_profile_interaction">프로필 간 상호 동작 허용</string>
<string name="settings_payment_stub">모의 결제 서비스</string>
</resources> </resources>

View file

@ -4,6 +4,8 @@
<color name="colorAccent">#009688</color> <color name="colorAccent">#009688</color>
<color name="colorAccentSetupWizard">#FFC107</color> <color name="colorAccentSetupWizard">#FFC107</color>
<color name="colorNavigationBar">#004D3F</color> <color name="colorNavigationBar">#004D3F</color>
<color name="colorNavigationIconTint">@color/colorTextPrimary</color>
<color name="colorNavigationIconTintSelected">@color/colorAccent</color>
<color name="colorTextPrimary">#EEEEEE</color> <color name="colorTextPrimary">#EEEEEE</color>
<color name="colorTextSecondary">#CCCCCC</color> <color name="colorTextSecondary">#CCCCCC</color>
<color name="disabledAppBackground">#004D3F</color> <color name="disabledAppBackground">#004D3F</color>

View file

@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="first_run_alert_cancel">Tot ziens</string> <string name="first_run_alert_cancel">Tot ziens</string>
<string name="first_run_alert_continue">Verdergaan</string> <string name="first_run_alert_continue">Ga verder</string>
<string name="device_admin_explanation">Shelter moet beheerder van dit apperaat worden om zijn isolatietaken uit te voeren.</string> <string name="device_admin_explanation">Shelter moet beheerder van dit apparaat worden om zijn isolatietaken uit te voeren.</string>
<string name="camera_proxy_activity">Kies een beeldsbestand</string>
<string name="notifications_important">Shelter belangrijk</string> <string name="notifications_important">Shelter belangrijk</string>
<string name="finish_provision_title">Druk hier om het instellen van Shelter te beëindigen</string> <string name="finish_provision_title">Druk hier om het instellen van Shelter te voltooien</string>
<string name="finish_provision_desc">Gefeliciteerd! Je bent een klik verwijderd om het instellen van Shelter te beëindigen.</string> <string name="finish_provision_desc">Gefeliciteerd! Je bent een klik verwijderd om het instellen van Shelter te voltooien.</string>
<string name="device_admin_desc">App isolatiedienst</string> <string name="device_admin_desc">App isolatiedienst</string>
<string name="service_title">Shelter Dienst</string> <string name="service_title">Shelter Service</string>
<string name="service_desc">Shelter is nu actief …</string> <string name="service_desc">Shelter is nu actief …</string>
<string name="auto_freeze">Bevries automatisch</string> <string name="auto_freeze">Bevries automatisch</string>
<string name="allow_cross_profile_widgets">Widgets toestaan in Hoofdprofiel</string> <string name="allow_cross_profile_widgets">Widgets toestaan in Hoofdprofiel</string>
@ -28,28 +27,28 @@
\nAls je en ontwikkerlaar bent en graag Shelter wilt laten werken op deze onverenigbare ROMs zoals MIUI, pull requests zijn altijd welkom. De ontwikkelaar neemt <b>ABSOLUUT GEEN VERANTWOORDELIJKHEID</b> op als je je apperaat met een onverenigbare ROM breekt. \nAls je en ontwikkerlaar bent en graag Shelter wilt laten werken op deze onverenigbare ROMs zoals MIUI, pull requests zijn altijd welkom. De ontwikkelaar neemt <b>ABSOLUUT GEEN VERANTWOORDELIJKHEID</b> op als je je apperaat met een onverenigbare ROM breekt.
\n \n
\nJe zal een melding moeten krijgen om je instelling af te ronden, zorg er alsjeblieft voor dat je apperaat <b>NIET</b> op Niet Storen staat.</string> \nJe zal een melding moeten krijgen om je instelling af te ronden, zorg er alsjeblieft voor dat je apperaat <b>NIET</b> op Niet Storen staat.</string>
<string name="setup_wizard_compatibility_text">Shelter is ontwikkeld en getest op AOSP-achtige Android afgeleiden. Dit omvat AOSP (Android Open Source Project), Google Android (op Pixels), en <b>de meeste op AOSP gebaseerde open-source custom ROMs</b> zoals LineageOS. Als je telefoon draait op een van de Android afgeleiden hierboven vermeld, dan gefeliciteerd! Shelter zal waarschijnlijk correct werken op je telefoon. <string name="setup_wizard_compatibility_text">Shelter is ontwikkeld en getest op AOSP-achtige Android-afgeleiden. Dit omvat AOSP (Android Open Source Project), Google Android (op Pixels), en <b>de meeste op AOSP gebaseerde open-source custom ROM\'s</b> zoals LineageOS. Als je telefoon draait op één van de Android afgeleiden hierboven vermeld: gefeliciteerd! Shelter zal waarschijnlijk goed werken op je telefoon.
\n \n
\nSommige leveranciers van toestellen voegen zeer ingrijpende aanpassingen aan de Android code base toe, wat resulteert in conflicten, incompatibiliteit en onverwacht gedrag. Sommige aangepaste ROM\'s kunnen ook compatibiliteits-brekende veranderingen toevoegen, maar over het algemeen zijn dit zeldzamere voorvallen in vergelijking met door de telefoonleverancier toegevoegde incompatibiliteiten. \nSommige leveranciers van toestellen voegen zeer ingrijpende aanpassingen aan de Android grondslag code toe, met conflicten, incompatibiliteit en onverwacht gedrag als gevolg. Sommige aangepaste ROM\'s kunnen ook veranderingen toevoegen die de compatibiliteit vernietigen, maar over het algemeen zijn dit zeldzame voorvallen in vergelijking met door de telefoonleverancier toegevoegde incompatibiliteiten.
\n \n
\nShelter is slechts een interface naar de functie Werkprofiel die door het systeem wordt geleverd. Als de functie die door het systeem wordt geleverd kapot of niet standaard is, kan <b>Shelter het probleem niet op magische wijze zelf oplossen</b>. Als je momenteel een door de leverancier aangepaste Android-versie gebruikt waarvan bekend is dat deze werkprofielen verbreekt, dan <b>ben je gewaarschuwd</b>. Je kunt toch doorgaan, maar er is geen garantie dat Shelter zich onder deze omstandigheden correct zou gedragen.</string> \nShelter is slechts een interface naar de functie Werkprofiel die door het systeem wordt geleverd. Als het Werkprofiel dat door het systeem wordt geleverd kapot of niet standaard is, kan <b>Shelter het probleem niet op magische wijze zelf oplossen</b>. Als je momenteel een Android-versie gebruikt die door de leverancier is aangepast, waarvan bekend is dat deze werkprofielen stuk maakt, dan <b>ben je gewaarschuwd</b>. Je kunt toch doorgaan, maar er is geen garantie dat Shelter zich onder deze omstandigheden correct zou gedragen.</string>
<string name="service_auto_freeze_desc">Shelter zal automatisch apps invriezen die zijn gestart vanuit \"Ontdooien &amp; Start\" bij de volgende schermvergrendelingsgebeurtenis.</string> <string name="service_auto_freeze_desc">Shelter zal automatisch apps invriezen die zijn gestart vanuit \"Ontdooien &amp; Start\" bij de volgende schermvergrendelingsgebeurtenis.</string>
<string name="create_unfreeze_shortcut">Snelkoppeling voor ontdooien en/of starten maken</string> <string name="create_unfreeze_shortcut">Snelkoppeling voor ontdooien en/of starten maken</string>
<string name="unfreeze_and_launch">Ontdooien en starten</string> <string name="unfreeze_and_launch">Ontdooien en starten</string>
<string name="setup_wizard_welcome">Welkom bij Shelter</string> <string name="setup_wizard_welcome">Welkom bij Shelter</string>
<string name="setup_wizard_welcome_text">Shelter is een applicatie om je te helpen andere applicaties te draaien in een geïsoleerd profiel. Het doet dit door gebruik te maken van de <b>Werkprofiel</b> functie van Android. <string name="setup_wizard_welcome_text">Shelter is een applicatie om je te helpen andere applicaties te draaien in een geïsoleerd profiel. Het doet dit door gebruik te maken van de functie <b>Werkprofiel</b> van Android.
\n \n
\nKlik op \"Volgende\", en we zullen je meer informatie geven over Shelter en je door het installatieproces leiden. \nKlik op \"Volgende\", en we zullen je meer informatie geven over Shelter en je door het installatieproces leiden.
\n \n
\nWe raden u aan alle volgende pagina\'s zorgvuldig door te lezen.</string> \nWe raden u aan alle volgende pagina\'s zorgvuldig door te lezen.</string>
<string name="setup_wizard_permissions">Een woord over rechten</string> <string name="setup_wizard_permissions">Even dit over rechten</string>
<string name="setup_wizard_permissions_text">Shelter zal standaard niet om individuele rechten vragen. Echter, zodra je verder gaat met het installatieproces, zal Shelter proberen een Werkprofiel op te zetten en daarmee de <b>profielmanager</b> van dat profiel worden. <string name="setup_wizard_permissions_text">Shelter zal standaard niet om individuele toegangsrechten vragen. Echter, zodra je verder gaat met het installatieproces, zal Shelter proberen een Werkprofiel op te zetten en daarmee de <b>profielmanager</b> van dat profiel worden.
\n \n
\nDit geeft Shelter een uitgebreide lijst van rechten binnen het profiel, vergelijkbaar met die van een apparaatbeheerder, maar gewoon beperkt tot het profiel. Profielbeheerder zijn is noodzakelijk voor de meeste functies van Shelter. \nDit geeft Shelter een uitgebreide lijst van toegangsrechten <b>binnen</b> het profiel, vergelijkbaar met die van een apparaatbeheerder, maar dan beperkt tot het profiel. Profielbeheerder zijn is noodzakelijk voor de meeste functies van Shelter.
\n \n
\nSommige geavanceerde functies van Shelter kunnen meer rechten <b>buiten</b> het werkprofiel vereisen. Indien nodig, zal Shelter apart om die rechten vragen wanneer u de betreffende functies inschakelt.</string> \nSommige geavanceerde functies van Shelter kunnen meer toegangsrechten <b>buiten</b> het werkprofiel vereisen. Indien nodig, zal Shelter apart om die rechten vragen wanneer u de betreffende functies inschakelt.</string>
<string name="setup_wizard_compatibility">Compatibiliteit</string> <string name="setup_wizard_compatibility">Compatibiliteit</string>
<string name="setup_wizard_ready">Klaar\?</string> <string name="setup_wizard_ready">Klaar?</string>
<string name="setup_wizard_ready_text">We zijn nu klaar om Shelter voor je in te stellen. Zorg er eerst voor dat jouw toestel <b>niet</b> in Niet Storen modus staat, omdat je later <b>op een melding moet klikken</b> om het installatieproces af te ronden. <string name="setup_wizard_ready_text">We zijn nu klaar om Shelter voor je in te stellen. Zorg er eerst voor dat jouw toestel <b>niet</b> in Niet Storen modus staat, omdat je later <b>op een melding moet klikken</b> om het installatieproces af te ronden.
\n \n
\nAls je klaar bent, klik op \"Volgende\" om het installatieproces te beginnen.</string> \nAls je klaar bent, klik op \"Volgende\" om het installatieproces te beginnen.</string>
@ -58,13 +57,13 @@
<string name="setup_wizard_failed">Setup mislukt</string> <string name="setup_wizard_failed">Setup mislukt</string>
<string name="setup_wizard_failed_text">Tot onze spijt moeten wij u meedelen dat wij niet in staat waren Shelter voor je in te stellen. <string name="setup_wizard_failed_text">Tot onze spijt moeten wij u meedelen dat wij niet in staat waren Shelter voor je in te stellen.
\n \n
\nAls je de setup niet handmatig heeft geannuleerd, dan is de reden voor het mislukken meestal te wijten aan een sterk gewijzigd systeem of een conflict tussen Shelter en andere werkprofiel-managers. Helaas is hier niet veel aan te doen. \nAls u de setup niet handmatig heeft geannuleerd, dan is de reden voor het mislukken meestal te wijten aan een sterk gewijzigd systeem of een conflict tussen Shelter en andere werkprofiel-managers. Helaas is hier niet veel aan te doen.
\n \n
\nKlik op Volgende om af te sluiten.</string> \nKlik op Volgende om af te sluiten.</string>
<string name="setup_wizard_action_required">Actie vereist</string> <string name="setup_wizard_action_required">Actie vereist</string>
<string name="setup_wizard_action_required_text">Je zou nu een melding van Shelter moeten zien. <b>Klik op die melding</b> om het installatieproces te voltooien. <string name="setup_wizard_action_required_text">Je zou nu een melding van Shelter moeten zien. <b>Klik op die melding</b> om het installatieproces te voltooien.
\n \n
\nAls je de melding niet ziet, controleer dan of je toestel niet in de Niet storen modus staat en probeer het meldingencentrum naar beneden te trekken. \nAls je de melding niet ziet, controleer dan of je toestel niet in de Niet storen modus staat en probeer het meldingencentrum naar beneden te halen.
\n \n
\nOm Shelter te resetten en opnieuw te beginnen, kun je de gegevens van Shelter wissen in Instellingen.</string> \nOm Shelter te resetten en opnieuw te beginnen, kun je de gegevens van Shelter wissen in Instellingen.</string>
<string name="service_auto_freeze_now">Nu bevriezen</string> <string name="service_auto_freeze_now">Nu bevriezen</string>
@ -79,4 +78,10 @@
<string name="freeze_app">Bevriezen</string> <string name="freeze_app">Bevriezen</string>
<string name="unfreeze_app">Ontdooien</string> <string name="unfreeze_app">Ontdooien</string>
<string name="launch">Starten</string> <string name="launch">Starten</string>
<string name="settings_interaction">Interactie</string>
<string name="settings_block_contacts_searching">Blokkeer contacten zoeken</string>
<string name="settings_services">Diensten</string>
<string name="service_auto_freeze_title">Auto-bevriezen in afwachting</string>
<string name="settings">Intellingen</string>
<string name="settings_block_contacts_searching_desc">Verbied de toegang van het hoofdprofiel tot contacten in het werkprofiel.</string>
</resources> </resources>

View file

@ -4,7 +4,6 @@
<string name="first_run_alert_continue">Kontynuuj</string> <string name="first_run_alert_continue">Kontynuuj</string>
<string name="device_admin_desc">Usługa izolowania aplikacji</string> <string name="device_admin_desc">Usługa izolowania aplikacji</string>
<string name="device_admin_explanation">Shelter musi zostać administratorem urządzenia, aby wykonywać zadania związane z izolacją.</string> <string name="device_admin_explanation">Shelter musi zostać administratorem urządzenia, aby wykonywać zadania związane z izolacją.</string>
<string name="camera_proxy_activity">Wybierz plik obrazka</string>
<string name="finish_provision_title">Kliknij tu, aby zakończyć konfigurację Shelter</string> <string name="finish_provision_title">Kliknij tu, aby zakończyć konfigurację Shelter</string>
<string name="finish_provision_desc">Gratulacje! Jesteś jedno kliknięcie od skończenia konfiguracji Shelter.</string> <string name="finish_provision_desc">Gratulacje! Jesteś jedno kliknięcie od skończenia konfiguracji Shelter.</string>
<string name="service_title">Usługa Shelter</string> <string name="service_title">Usługa Shelter</string>
@ -46,8 +45,6 @@
<string name="settings">Ustawienia</string> <string name="settings">Ustawienia</string>
<string name="settings_interaction">Interakcja</string> <string name="settings_interaction">Interakcja</string>
<string name="settings_cross_profile_file_chooser">Mostek plików</string> <string name="settings_cross_profile_file_chooser">Mostek plików</string>
<string name="settings_camera_proxy">Wybierz obraz jako fałszywą kamerę</string>
<string name="settings_camera_proxy_desc">Przedstaw aplikację fałszywej kamery innym aplikacjom, pozwalając Ci wybrać obrazek z Documents UI (i mostka plików jeśli włączony) jako zrobione zdjęcie. To umożliwia korzystanie z mostka plików dla wszystkich aplikacji, aby te mogły korzystać z innych aplikacji aparatu, nawet jeśli nie wspierają Documents UI natywnie.</string>
<string name="settings_block_contacts_searching">Zablokuj wyszukiwanie kontaktów</string> <string name="settings_block_contacts_searching">Zablokuj wyszukiwanie kontaktów</string>
<string name="settings_block_contacts_searching_desc">Zablokuj dostęp z profilu głównego do kontaktów w profilu służbowym.</string> <string name="settings_block_contacts_searching_desc">Zablokuj dostęp z profilu głównego do kontaktów w profilu służbowym.</string>
<string name="settings_services">Usługi</string> <string name="settings_services">Usługi</string>
@ -123,5 +120,5 @@
\nJeśli nie widzisz powiadomienia upewnij się, że nie masz włączonego trybu Nie Przeszkadzać lub spróbuj rozwinąć centrum powiadomień. \nJeśli nie widzisz powiadomienia upewnij się, że nie masz włączonego trybu Nie Przeszkadzać lub spróbuj rozwinąć centrum powiadomień.
\n \n
\nBy zresetować Sheltera i zacząć od nowa możesz wyczyścić dane Sheltera w Ustawieniach.</string> \nBy zresetować Sheltera i zacząć od nowa możesz wyczyścić dane Sheltera w Ustawieniach.</string>
<string name="setup_wizard_ready">Gotowy/a\?</string> <string name="setup_wizard_ready">Gotowy/a?</string>
</resources> </resources>

View file

@ -13,7 +13,6 @@
<string name="first_run_alert_continue">Continuar</string> <string name="first_run_alert_continue">Continuar</string>
<string name="device_admin_desc">Serviço de isolamento</string> <string name="device_admin_desc">Serviço de isolamento</string>
<string name="device_admin_explanation">Shelter precisa tornar-se o Administrador do seu dispositivo para poder executar as tarefas de isolamento.</string> <string name="device_admin_explanation">Shelter precisa tornar-se o Administrador do seu dispositivo para poder executar as tarefas de isolamento.</string>
<string name="camera_proxy_activity">Escolha um arquivo de imagem</string>
<string name="notifications_important">Importante (Shelter)</string> <string name="notifications_important">Importante (Shelter)</string>
<string name="finish_provision_title">Clique aqui para concluir a configuração do Shelter</string> <string name="finish_provision_title">Clique aqui para concluir a configuração do Shelter</string>
<string name="finish_provision_desc">Parabéns! Você está a um clique para concluir a configuração do Shelter.</string> <string name="finish_provision_desc">Parabéns! Você está a um clique para concluir a configuração do Shelter.</string>
@ -48,8 +47,6 @@
<string name="settings">Configurações</string> <string name="settings">Configurações</string>
<string name="settings_cross_profile_file_chooser">Transferência de arquivos</string> <string name="settings_cross_profile_file_chooser">Transferência de arquivos</string>
<string name="settings_cross_profile_file_chooser_desc">Quando ativado, você será capaz de explorar / ver / escolher e copiar os arquivos de Perfil principal no Shelter e vice-versa, SOMENTE via a interface de Documentos (Arquivos ou Documentos em seu lançador) ou apps com suporte à Interface de Documentos (recebem acesso temporário aos arquivos que você escolher via interface de Documentos), enquanto ainda pertencendo ao isolamento do sistema de arquivos.</string> <string name="settings_cross_profile_file_chooser_desc">Quando ativado, você será capaz de explorar / ver / escolher e copiar os arquivos de Perfil principal no Shelter e vice-versa, SOMENTE via a interface de Documentos (Arquivos ou Documentos em seu lançador) ou apps com suporte à Interface de Documentos (recebem acesso temporário aos arquivos que você escolher via interface de Documentos), enquanto ainda pertencendo ao isolamento do sistema de arquivos.</string>
<string name="settings_camera_proxy">Seletor de imagens via simulador de câmera</string>
<string name="settings_camera_proxy_desc">Lançar um app que simula a câmera para outros apps, permitindo que você selecione uma imagem da sua escolha da Interface de Documentos (e da Transferência de arquivos, se ativado) como se fosse a foto feita. Isto permite que a Transferência de arquivos funcione com qualquer app que tem suporte a invocação de apps de câmera para tirar uma foto, mesmo sem suporte nativo a interface de Documentos.</string>
<string name="settings_services">Serviços</string> <string name="settings_services">Serviços</string>
<string name="settings_auto_freeze_service">Serviço de Auto-Suspensão</string> <string name="settings_auto_freeze_service">Serviço de Auto-Suspensão</string>
<string name="settings_auto_freeze_service_desc">Quando a tela for bloqueada, suspende automaticamente os apps executados de \"Atalho de Reativar e Iniciar\".</string> <string name="settings_auto_freeze_service_desc">Quando a tela for bloqueada, suspende automaticamente os apps executados de \"Atalho de Reativar e Iniciar\".</string>
@ -91,7 +88,7 @@
<string name="setup_wizard_welcome">Bem-vindo ao Shelter</string> <string name="setup_wizard_welcome">Bem-vindo ao Shelter</string>
<string name="setup_wizard_permissions">Detalhes sobre as permissões</string> <string name="setup_wizard_permissions">Detalhes sobre as permissões</string>
<string name="setup_wizard_compatibility">Compatibilidade</string> <string name="setup_wizard_compatibility">Compatibilidade</string>
<string name="setup_wizard_ready_text">Vamos configurar o Shelter para você. Se o seu dispositivo estiver rodando Android 7 ou inferior, por favor, certifique-se primeiro de que seu dispositivo <b>não</b> esteja no modo \"Não Perturbe\", porque mais tarde você precisará <b>clicar em uma notificação</b> para finalizar o processo de configuração. <string name="setup_wizard_ready_text">Vamos configurar o Shelter para você. Se o seu dispositivo estiver rodando Android 7 ou superior, por favor, certifique-se primeiro de que seu dispositivo <b>não</b> esteja no modo \"Não Perturbe\", porque mais tarde você precisará <b>clicar em uma notificação</b> para finalizar o processo de configuração.
\n \n
\nQuando estiver pronto, clique em \"Próximo\" para iniciar o processo de configuração.</string> \nQuando estiver pronto, clique em \"Próximo\" para iniciar o processo de configuração.</string>
<string name="setup_wizard_please_wait">Por favor, aguarde…</string> <string name="setup_wizard_please_wait">Por favor, aguarde…</string>
@ -104,7 +101,7 @@
\n \n
\nClique no \"Próximo\" para sair.</string> \nClique no \"Próximo\" para sair.</string>
<string name="setup_wizard_action_required">Ação necessária</string> <string name="setup_wizard_action_required">Ação necessária</string>
<string name="setup_wizard_ready">Pronto\?</string> <string name="setup_wizard_ready">Pronto?</string>
<string name="setup_wizard_please_wait_text">Estamos tentando criar o Perfil de Trabalho e configurar o Shelter no seu dispositivo.</string> <string name="setup_wizard_please_wait_text">Estamos tentando criar o Perfil de Trabalho e configurar o Shelter no seu dispositivo.</string>
<string name="setup_wizard_welcome_text">O Shelter é um app que ajuda a executar outros apps em um perfil isolado. Para isto ele usa o recurso de <b>Perfil de Trabalho</b> no Android. <string name="setup_wizard_welcome_text">O Shelter é um app que ajuda a executar outros apps em um perfil isolado. Para isto ele usa o recurso de <b>Perfil de Trabalho</b> no Android.
\n \n

View file

@ -30,8 +30,7 @@
\n \n
\nVa trebui să primiți o notificare pentru a finaliza configurarea, vă rugăm să vă asigurați că dispozitivul dvs. <b> NU </b> este în modul Nu deranjați.</string> \nVa trebui să primiți o notificare pentru a finaliza configurarea, vă rugăm să vă asigurați că dispozitivul dvs. <b> NU </b> este în modul Nu deranjați.</string>
<string name="create_freeze_all_shortcut">Creați o comandă rapidă de Inghetare Grup(lot)</string> <string name="create_freeze_all_shortcut">Creați o comandă rapidă de Inghetare Grup(lot)</string>
<string name="camera_proxy_activity">Alegeți un fișier de imagine</string> <string name="notifications_important">Important</string>
<string name="notifications_important">Shelter Important</string>
<string name="finish_provision_title">Click aici pentru a finaliza configurarea Shelter</string> <string name="finish_provision_title">Click aici pentru a finaliza configurarea Shelter</string>
<string name="service_title">Serviciul Shelter</string> <string name="service_title">Serviciul Shelter</string>
<string name="service_desc">Shelter ruleaza acum …</string> <string name="service_desc">Shelter ruleaza acum …</string>
@ -52,8 +51,7 @@
<string name="install_app_to_profile">Instalați APK în Shelter</string> <string name="install_app_to_profile">Instalați APK în Shelter</string>
<string name="settings">Setări</string> <string name="settings">Setări</string>
<string name="settings_interaction">Interacţiune</string> <string name="settings_interaction">Interacţiune</string>
<string name="settings_cross_profile_file_chooser">File Shuttle</string> <string name="settings_cross_profile_file_chooser">Tranzit de fișiere</string>
<string name="settings_camera_proxy">Activeaza Camera Falsa</string>
<string name="device_admin_explanation">Shelter trebuie să devină Administrator de Dispozitiv pentru a-și îndeplini sarcinile de izolare.</string> <string name="device_admin_explanation">Shelter trebuie să devină Administrator de Dispozitiv pentru a-și îndeplini sarcinile de izolare.</string>
<string name="fragment_profile_work">Shelter</string> <string name="fragment_profile_work">Shelter</string>
<string name="clone_to_main_profile">Clonați la Profilul Principal</string> <string name="clone_to_main_profile">Clonați la Profilul Principal</string>
@ -65,7 +63,6 @@
<string name="documents_ui">Deschideți Interfața de Utilizare a Documentelor</string> <string name="documents_ui">Deschideți Interfața de Utilizare a Documentelor</string>
<string name="work_mode_disabled">Se pare că ați dezactivat Profilul de Lucru în timp ce porniți Shelter. Dacă l-ați activat acum, porniți din nou Shelter.</string> <string name="work_mode_disabled">Se pare că ați dezactivat Profilul de Lucru în timp ce porniți Shelter. Dacă l-ați activat acum, porniți din nou Shelter.</string>
<string name="request_storage_manager">Shelter are nevoie de acces la <b> Toate fișierele </b> pentru File Shuttle. Vă rugăm să activați permisiunea pentru <b> AMBELE </b> (Principal/ Lucru) aplicații Shelter afișate în caseta de dialog după ce apăsați „Ok”.</string> <string name="request_storage_manager">Shelter are nevoie de acces la <b> Toate fișierele </b> pentru File Shuttle. Vă rugăm să activați permisiunea pentru <b> AMBELE </b> (Principal/ Lucru) aplicații Shelter afișate în caseta de dialog după ce apăsați „Ok”.</string>
<string name="settings_camera_proxy_desc">Prezentați o aplicație de cameră falsă altor aplicații, permițându-vă să alegeți o imagine arbitrară din interfața de utilizare a documentelor (și File Shuttle dacă este activată) ca fotografie făcută. Aceasta permite File Shuttle pentru orice aplicație care acceptă invocarea altor aplicații de cameră pentru a face o fotografie, chiar dacă acestea nu acceptă Documente UI în mod nativ.</string>
<string name="settings_block_contacts_searching">Blocați Căutarea Contactelor</string> <string name="settings_block_contacts_searching">Blocați Căutarea Contactelor</string>
<string name="settings_services">Servicii</string> <string name="settings_services">Servicii</string>
<string name="uninstall_success">Aplicația \"%s\" a fost dezinstalată cu succes</string> <string name="uninstall_success">Aplicația \"%s\" a fost dezinstalată cu succes</string>
@ -88,4 +85,42 @@
<string name="finish_provision_desc">Felicitări! Sunteți la un click distanță de finalizarea configurării Shelter.</string> <string name="finish_provision_desc">Felicitări! Sunteți la un click distanță de finalizarea configurării Shelter.</string>
<string name="batch_operation">Operatiune in grup(lot)</string> <string name="batch_operation">Operatiune in grup(lot)</string>
<string name="create_unfreeze_shortcut">Creați Dezgheata și/sau Pornire comandă rapidă</string> <string name="create_unfreeze_shortcut">Creați Dezgheata și/sau Pornire comandă rapidă</string>
<string name="setup_wizard_permissions_text">În mod implicit, Shelter nu va cere nicio permisiune individuală. Cu toate acestea, odată ce continuați cu procesul de configurare, Shelter va încerca să configureze un profil de lucru și, prin urmare, va deveni <b>managerul de profil</b> al profilului respectiv.
\n
\nAcest lucru va oferi Shelter o listă extinsă de permisiuni în interiorul profilului, comparabilă cu cea a unui administrator de dispozitiv, deși limitată la profil. A fi manager de profil este necesar pentru majoritatea funcționalității Shelter.
\n
\nUnele funcții avansate ale Shelter pot necesita mai multe permisiuni <b>în afara</b> Profilului de serviciu. Când este necesar, Shelter va cere aceste permisiuni separat atunci când activați funcțiile corespunzătoare.</string>
<string name="setup_wizard_welcome">Bun venit la Shelter</string>
<string name="setup_wizard_permissions">Un cuvânt despre permisiuni</string>
<string name="setup_wizard_compatibility">Compatibilitate</string>
<string name="setup_wizard_welcome_text">Shelter este o aplicație care vă ajută să rulați alte aplicații într-un profil izolat. Face acest lucru utilizând funcția <b>Profil de serviciu</b> din Android.
\n
\nFaceți clic pe „Următorul” și vă vom oferi mai multe informații despre Shelter și vă vom ghida prin procesul de configurare.
\n
\nVă sugerăm să citiți cu atenție toate paginile următoare.</string>
<string name="setup_wizard_ready">Pregatit?</string>
<string name="setup_wizard_compatibility_text">Shelter este dezvoltat și testat pe derivate Android asemănătoare AOSP. Aceasta include AOSP (Android Open Source Project), Google Android (pe Pixels) și <b>majoritatea ROM-urilor personalizate open source bazate pe AOSP</b>, cum ar fi LineageOS. Dacă telefonul dvs. rulează unul dintre derivatele Android enumerate mai sus, atunci felicitări! Adăpostul va funcționa probabil corect pe dispozitivul dvs.
\n
\nUnii furnizori de dispozitive introduc personalizări foarte invazive în baza de coduri Android, ducând la conflicte, incompatibilități și comportament neașteptat. Unele ROM-uri personalizate pot introduce, de asemenea, modificări care distrug compatibilitatea, dar, în general, acestea sunt apariții mai rare în comparație cu incompatibilitățile introduse de furnizorul de telefoane.
\n
\nShelter este doar o interfață în caracteristica Profil de lucru oferită de sistem. Dacă funcția furnizată de sistem este defectă sau nu este standard, <b>Shelter nu ar putea rezolva problema în mod magic</b>. Dacă utilizați în prezent o versiune Android modificată de furnizor despre care se știe că încalcă Profilurile de lucru, <b>ai fost avertizat</b>. Puteți continua oricum, dar nu există nicio garanție că Shelter se va comporta corect în aceste circumstanțe.</string>
<string name="setup_wizard_failed">Configurarea a eșuat</string>
<string name="setup_wizard_action_required">Actiune necesară</string>
<string name="setup_wizard_action_required_text">Acum ar trebui să vedeți o notificare de la Shelter. <b>Faceți clic pe notificarea respectivă</b> pentru a finaliza procesul de configurare.
\n
\nDacă nu vedeți notificarea, asigurați-vă că dispozitivul nu este în modul Nu deranjați și încercați să trageți în jos centrul de notificări.
\n
\nPentru a reseta Shelter și a începe de la capăt, puteți șterge datele Shelter din Setări.</string>
<string name="setup_wizard_ready_text">Acum suntem gata să configuram Shelter pentru tine. Dacă dispozitivul dvs. rulează Android 7 sau o versiune anterioară, asigurați-vă mai întâi că dispozitivul dvs. <b>nu</b> este în modul Nu deranja, deoarece va trebui să <b>dați clic pe o notificare</b> mai târziu pentru a finaliza procesul de configurare.
\n
\nCând sunteți gata, faceți clic pe „Următorul” pentru a începe procesul de configurare.</string>
<string name="setup_wizard_please_wait">Vă rugăm așteptați…</string>
<string name="setup_wizard_please_wait_text">Încercăm să inițializam Profilul de lucru și să setăm Shelter pe dispozitivul dvs.</string>
<string name="setup_wizard_failed_text">Ne pare rău să vă informăm că nu am putut configura Shelter pentru dvs.
\n
\nDacă dispozitivul dvs. avea deja un Profil de serviciu, fie dintr-o instalare anterioară a Shelter, fie dintr-o altă aplicație, va trebui să eliminați acel profil din Setări -&gt; Cont înainte ca Shelter să poată continua.
\n
\nÎn caz contrar, dacă nu ați anulat manual configurarea, atunci motivul eșecului este cel mai frecvent din cauza unui sistem puternic modificat sau a unui conflict între Shelter și alți manageri de profil de lucru. Din păcate, nu am putea face mare lucru în acest sens.
\n
\nFaceți clic pe „Next” pentru a ieși.</string>
</resources> </resources>

View file

@ -9,7 +9,7 @@
\nЕсли вы являетесь разработчиком и хотели бы сделать так, чтобы Shelter работал на этих сломаных прошивках, таких как MIUI, - пулл реквесты в Git с удовольствием принимаются. Разработчик приложения не несет <b>АБСОЛЮТНО НИКАКОЙ ОТВЕТСТВЕННОСТИ</b> если вы сломаете ваше устройство с несовместимой прошивкой. \nЕсли вы являетесь разработчиком и хотели бы сделать так, чтобы Shelter работал на этих сломаных прошивках, таких как MIUI, - пулл реквесты в Git с удовольствием принимаются. Разработчик приложения не несет <b>АБСОЛЮТНО НИКАКОЙ ОТВЕТСТВЕННОСТИ</b> если вы сломаете ваше устройство с несовместимой прошивкой.
\n \n
\nВам нужно будет кликнуть на оповещение для успешного завершения установки, убедитесь, что устройство находится <b>НЕ</b> в режиме \"Не беспокоить\".</string> \nВам нужно будет кликнуть на оповещение для успешного завершения установки, убедитесь, что устройство находится <b>НЕ</b> в режиме \"Не беспокоить\".</string>
<string name="first_run_alert_cancel">Выход</string> <string name="first_run_alert_cancel">Выйти</string>
<string name="first_run_alert_continue">Продолжить</string> <string name="first_run_alert_continue">Продолжить</string>
<string name="device_admin_desc">Служба изоляции приложений</string> <string name="device_admin_desc">Служба изоляции приложений</string>
<string name="device_admin_explanation">Shelter требуется стать администратором устройства, чтобы управлять изоляцией.</string> <string name="device_admin_explanation">Shelter требуется стать администратором устройства, чтобы управлять изоляцией.</string>
@ -17,18 +17,18 @@
<string name="service_desc">Shelter запущен …</string> <string name="service_desc">Shelter запущен …</string>
<string name="fragment_profile_main">Основной</string> <string name="fragment_profile_main">Основной</string>
<string name="fragment_profile_work">Shelter</string> <string name="fragment_profile_work">Shelter</string>
<string name="list_item_disabled">[Замороженно] %s</string> <string name="list_item_disabled">[Заморожено] %s</string>
<string name="clone_to_work_profile">Клонировать в Shelter (рабочий профиль)</string> <string name="clone_to_work_profile">Клонировать в Shelter</string>
<string name="clone_to_main_profile">Клонировать в основной профиль</string> <string name="clone_to_main_profile">Клонировать в осн. профиль</string>
<string name="uninstall_app">Удалить</string> <string name="uninstall_app">Удалить</string>
<string name="freeze_app">Заморозить</string> <string name="freeze_app">Заморозить</string>
<string name="unfreeze_app">Разморозить</string> <string name="unfreeze_app">Разморозить</string>
<string name="launch">Запустить</string> <string name="launch">Запустить</string>
<string name="create_unfreeze_shortcut">Создать ярлык для разморозки и/или запуска</string> <string name="create_unfreeze_shortcut">Ярлык разморозки и запуска</string>
<string name="unfreeze_and_launch">Разморозить и запустить</string> <string name="unfreeze_and_launch">Разморозить и запустить</string>
<string name="auto_freeze">Автозаморозка</string> <string name="auto_freeze">Автозаморозка</string>
<string name="freeze_all">Групповая заморозка</string> <string name="freeze_all">Групповая заморозка</string>
<string name="create_freeze_all_shortcut">Создать ярлык групповой заморозки</string> <string name="create_freeze_all_shortcut">Ярлык групповой заморозки</string>
<string name="freeze_all_shortcut">Заморозить</string> <string name="freeze_all_shortcut">Заморозить</string>
<string name="settings">Настройки</string> <string name="settings">Настройки</string>
<string name="settings_about">О программе</string> <string name="settings_about">О программе</string>
@ -52,18 +52,17 @@
<string name="app_context_menu_title">Операции для %s</string> <string name="app_context_menu_title">Операции для %s</string>
<string name="freeze_all_success">Все приложения в списке автозаморозки были успешно заморожены.</string> <string name="freeze_all_success">Все приложения в списке автозаморозки были успешно заморожены.</string>
<string name="shortcut_create_success">Ярлык создан в вашем лаунчере.</string> <string name="shortcut_create_success">Ярлык создан в вашем лаунчере.</string>
<string name="miui_cannot_clone">Клонирование несистемных приложений в другой профиль невозможно на MIUI в данный момент. Пожалуйста, клонируйте магазин приложений вашей системы (например, <b>Play Store</b>) в ваш другой профиль и установите приложения оттуда.</string> <string name="miui_cannot_clone">Клонирование несистемных приложений в другой профиль в данный момент невозможно на MIUI. Пожалуйста, клонируйте магазин приложений вашей системы (например, <b>Play Маркет</b>) в ваш другой профиль и установите приложения оттуда.</string>
<string name="finish_provision_title">Нажмите, чтобы завершить настройку Shelter</string> <string name="finish_provision_title">Нажмите, чтобы завершить настройку Shelter</string>
<string name="app_installing">Установка...</string> <string name="app_installing">Установка...</string>
<string name="allow_cross_profile_widgets">Разрешить виджеты в основном профиле</string> <string name="allow_cross_profile_widgets">Виджеты в осн. профиле</string>
<string name="search">Поиск</string> <string name="search">Поиск</string>
<string name="service_auto_freeze_title">Ожидание автозаморозки</string> <string name="service_auto_freeze_title">Ожидание автозаморозки</string>
<string name="service_auto_freeze_now">Заморозить</string> <string name="service_auto_freeze_now">Заморозить</string>
<string name="batch_operation">Выбрать несколько</string> <string name="batch_operation">Выбрать несколько</string>
<string name="show_all">Показать все приложения</string> <string name="show_all">Все приложения</string>
<string name="settings_cross_profile_file_chooser">Перенос файлов</string> <string name="settings_cross_profile_file_chooser">Перенос файлов</string>
<string name="settings_camera_proxy">Выбор изображения вместо доступа к камере</string> <string name="documents_ui">Открыть проводник</string>
<string name="documents_ui">Открыть просмотр файлов</string>
<string name="settings_interaction">Взаимодействие</string> <string name="settings_interaction">Взаимодействие</string>
<string name="settings_auto_freeze_service">Служба автозаморозки</string> <string name="settings_auto_freeze_service">Служба автозаморозки</string>
<string name="settings_auto_freeze_service_desc">При блокировке экрана автоматически замораживать приложения, запущенные с помощью ярлыка \"Разморозить и запустить\".</string> <string name="settings_auto_freeze_service_desc">При блокировке экрана автоматически замораживать приложения, запущенные с помощью ярлыка \"Разморозить и запустить\".</string>
@ -71,42 +70,42 @@
<string name="request_storage_manager">Shelter необходим доступ ко <b>всем файлам</b> для переноса файлов. Пожалуйста, дайте разрешение приложениям Shelter в <b>ОБОИХ</b> профилях (основном и рабочем) в диалогах, которые появятся после того, как вы нажмёте \"OK\".</string> <string name="request_storage_manager">Shelter необходим доступ ко <b>всем файлам</b> для переноса файлов. Пожалуйста, дайте разрешение приложениям Shelter в <b>ОБОИХ</b> профилях (основном и рабочем) в диалогах, которые появятся после того, как вы нажмёте \"OK\".</string>
<string name="settings_services">Службы</string> <string name="settings_services">Службы</string>
<string name="continue_anyway">Всё равно продолжить</string> <string name="continue_anyway">Всё равно продолжить</string>
<string name="camera_proxy_activity">Выберите файл с изображением</string>
<string name="notifications_important">Shelter: важное</string> <string name="notifications_important">Shelter: важное</string>
<string name="finish_provision_desc">Поздравляем! Вы в одном шаге от завершения настройки Shelter.</string> <string name="finish_provision_desc">Поздравляем! Вы в одном шаге от завершения настройки Shelter.</string>
<string name="install_app_to_profile">Установить APK в Shelter</string> <string name="install_app_to_profile">Установить APK в Shelter</string>
<string name="install_app_to_profile_success">Приложение установлено в рабочий профиль.</string> <string name="install_app_to_profile_success">Приложение установлено в рабочий профиль.</string>
<string name="settings_block_contacts_searching">Запретить отслеживание контактов</string> <string name="settings_block_contacts_searching">Не отслеживать контакты</string>
<string name="settings_translate">Перевод</string> <string name="settings_translate">Перевод</string>
<string name="settings_block_contacts_searching_desc">Запретить получать доступ к контактам в рабочем профиле из основного профиля.</string> <string name="settings_block_contacts_searching_desc">Запретить получение доступа к контактам рабочего профиля из основного профиля.</string>
<string name="settings_cross_profile_file_chooser_desc">Когда включено, вы сможете искать / просматривать / выбирать / копировать файлы в Shelter из рабочего профиля и обратно ТОЛЬКО через системную функцию просмотра файлов (системное приложение, которое называется \"Файлы\" или \"Документы\" на вашем устройстве) или приложения, которые используют системную функцию просмотра файлов (таким образом возможно получить лишь временный доступ к файлам), при этом разделение файловой системы остаётся нетронутым.</string> <string name="settings_cross_profile_file_chooser_desc">Если включено, вы сможете искать/просматривать/выбирать/копировать файлы в Shelter из рабочего профиля и обратно ТОЛЬКО через системный менеджер файлов (он называется \"Файлы\" или \"Документы\" на вашем устройстве) или через приложения, поддерживающие Documents UI (с помощью них возможно получить лишь временный доступ к файлам), при этом изоляция файловой системы останется нетронутой.</string>
<string name="settings_camera_proxy_desc">Имитировать функцию камеры для других приложений, что даст вам возможность выбирать сохранённое изображение через функцию просмотра файлов (или перенос файлов, если он активирован) в качестве сделанного снимка. Эта функция позволяет перенести файлы любому установленному приложению, которое вызывает приложение камеры для того, чтобы сделать и получить фотографию, даже если оно не использует просмотр файлов напрямую.</string> <string name="show_all_warning">Управление скрытыми в списке приложениями может привести к разного рода нестабильностям и сбоям, однако эта функция может оказаться полезной в случаях, когда в некачественно настроенных производителем прошивках не включены все необходимые системные приложения в рабочем профиле по умолчанию. Продолжайте на свой страх и риск.</string>
<string name="show_all_warning">Управление приложениями, не отображаемыми в списке, может привести к сбоям и различным непредсказуемым последствиям. Однако, эта возможность может быть полезна в случае, если производитель вашего устройства не разрешает всем системным приложениям быть использованными в рабочем профиле по умолчанию. Пожалуйста, подумайте, хотите ли вы продолжить.</string>
<string name="settings_dont_freeze_foreground">Пропускать активные приложения</string> <string name="settings_dont_freeze_foreground">Пропускать активные приложения</string>
<string name="settings_dont_freeze_foreground_desc">НЕ замораживать активные приложение (с видимой активностью) при блокировке экрана. Это может быть полезно для приложений типа аудиопроигрывателя, но потом вам нужно будет их отдельно замораживать через ярлык \"Групповая заморозка\".</string> <string name="settings_dont_freeze_foreground_desc">Не замораживать приложение на переднем плане при блокировке экрана. Это может быть полезно для приложений типа аудиопроигрывателя, но вам придётся вручную замораживать их через ярлык \"Групповая заморозка\".</string>
<string name="request_system_alert">Shelter необходимо разрешение на <b>отображение поверх других приложений</b> для того, чтобы функция переноса файлов работала корректно. Пожалуйста, дайте разрешение приложениям Shelter в <b>ОБОИХ</b> профилях (основном и рабочем) в диалогах, которые появятся после того, как вы нажмёте \"OK\". Это разрешение необходимо для того, чтобы перенос файлов мог работать в фоновом режиме.</string> <string name="request_system_alert">Shelter необходимо разрешение на <b>отображение поверх других приложений</b> для того, чтобы функция переноса файлов работала корректно. Пожалуйста, дайте разрешение приложениям Shelter в <b>ОБОИХ</b> профилях (основном и рабочем) в диалогах, которые появятся после того, как вы нажмёте \"OK\". Это разрешение необходимо для того, чтобы перенос файлов мог работать в фоновом режиме.</string>
<string name="request_usage_stats">Для этого Shelter необходим доступ к <b>истории использования приложений</b>. Пожалуйста, дайте разрешение приложениям Shelter в <b>ОБОИХ</b> профилях (основном и рабочем) в диалогах, которые появятся после того, как вы нажмёте \"OK\". В противном случае эта возможность не будет работать правильно.</string> <string name="request_usage_stats">Для этого Shelter необходим доступ к <b>истории использования приложений</b>. Пожалуйста, дайте разрешение приложениям Shelter в <b>ОБОИХ</b> профилях (основном и рабочем) в диалогах, которые появятся после того, как вы нажмёте \"OK\". В противном случае эта возможность не будет работать правильно.</string>
<string name="launch_app_fail">Невозможно запустить приложение %s, потому что оно не имеет графического интерфейса.</string> <string name="launch_app_fail">Невозможно запустить приложение %s, так как оно не имеет графического интерфейса.</string>
<string name="service_auto_freeze_desc">Shelter автоматически заморозит приложения, запущенные с помощью \"Разморозить и запустить\" при следующей блокировке экрана.</string> <string name="service_auto_freeze_desc">Shelter автоматически заморозит приложения, запущенные с помощью \"Разморозить и запустить\" при следующей блокировке экрана.</string>
<string name="setup_wizard_welcome">Добро пожаловать в Shelter</string> <string name="setup_wizard_welcome">Добро пожаловать в Shelter</string>
<string name="setup_wizard_permissions">Пару слов о разрешениях</string> <string name="setup_wizard_permissions">Пару слов о разрешениях</string>
<string name="setup_wizard_compatibility">Совместимость</string> <string name="setup_wizard_compatibility">Совместимость</string>
<string name="setup_wizard_failed">Установка не выполнена</string> <string name="setup_wizard_failed">Установка не выполнена</string>
<string name="setup_wizard_action_required">Требуется действие</string> <string name="setup_wizard_action_required">Требуется действие</string>
<string name="setup_wizard_ready">Готовы\?</string> <string name="setup_wizard_ready">Готовы?</string>
<string name="setup_wizard_please_wait">Подождите…</string> <string name="setup_wizard_please_wait">Подождите…</string>
<string name="setup_wizard_please_wait_text">Выполняется инициализация рабочего профиля и настройка Shelter на вашем устройстве.</string> <string name="setup_wizard_please_wait_text">Выполняется инициализация рабочего профиля и настройка Shelter на вашем устройстве.</string>
<string name="setup_wizard_ready_text">Приготовления к установке Shelter выполнены. Убедитесь, что ваше устройство <b>не</b> в режиме \"Не беспокоить\", потому что вам нужно будет позже <b>нажать на уведомление</b>, чтобы завершить процесс настройки. <string name="setup_wizard_ready_text">Приготовления к установке Shelter выполнены. Если ваше устройство работает на Android 7 и ниже, пожалуйста, убедитесь, что оно <b>не</b> в режиме \"Не беспокоить\". Вам позже потребуется <b>нажать на уведомление</b> для завершения процесса настройки.
\n \n
\nКогда будете готовы, нажмите \"Далее\", чтобы начать процесс настройки.</string> \nНажмите \"Далее\", чтобы начать процесс настройки.</string>
<string name="setup_wizard_welcome_text">Shelter это приложение, которое поможет вам запускать другие приложения в изолированном профиле. Для этого используется функция Android <b>Рабочий профиль</b>. <string name="setup_wizard_welcome_text">Shelter это приложение, которое поможет вам запускать другие приложения в изолированном профиле. Для этого используется функция Android <b>Рабочий профиль</b>.
\n \n
\nНажмите \"Далее\", чтобы узнать дополнительную информацию о Shelter и выполнить установку. \nНажмите \"Далее\", чтобы узнать дополнительную информацию о Shelter и выполнить установку.
\n \n
\nМы рекомендуем вам внимательно прочитать все следующие страницы.</string> \nМы рекомендуем вам внимательно прочитать все следующие страницы.</string>
<string name="setup_wizard_failed_text">К сожалению, установить Shelter оказалось невозможно. <string name="setup_wizard_failed_text">К сожалению, установить Shelter невозможно.
\n \n
\nЕсли вы сами не отменили установку, то причина сбоя чаще всего связана с сильно изменённой системой или конфликтом между Shelter и другими менеджерами рабочих профилей. Со своей стороны мы мало что можем с этим поделать. \nЕсли на вашем устройстве уже был рабочий профиль от предыдущей установки Shelter или от другого приложения, вам придётся удалить этот профиль через «Настройки → Учётная запись», прежде чем Shelter сможет начать работу.
\n
\nИли же, если вы сами не отменили установку, то причина сбоя чаще всего кроется в сильно модифицированной системе или конфликтом между Shelter и другими менеджерами рабочих профилей. К сожалению, мы мало что можем с этим поделать.
\n \n
\nНажмите \"Далее\", чтобы выйти.</string> \nНажмите \"Далее\", чтобы выйти.</string>
<string name="setup_wizard_action_required_text">Сейчас вы должны увидеть уведомление от Shelter. <b>Нажмите на это уведомление</b>, чтобы завершить процесс установки. <string name="setup_wizard_action_required_text">Сейчас вы должны увидеть уведомление от Shelter. <b>Нажмите на это уведомление</b>, чтобы завершить процесс установки.
@ -124,4 +123,8 @@
\nНекоторые производители устройств вносят очень серьёзные изменения в кодовую базу Android, что приводит к конфликтам, несовместимости и неожиданному поведению. В некоторые пользовательские ROM также могут вноситься изменения, нарушающие совместимость, но, как правило, это более редкие случаи по сравнению с несовместимостью, вносимой производителем устройства. \nНекоторые производители устройств вносят очень серьёзные изменения в кодовую базу Android, что приводит к конфликтам, несовместимости и неожиданному поведению. В некоторые пользовательские ROM также могут вноситься изменения, нарушающие совместимость, но, как правило, это более редкие случаи по сравнению с несовместимостью, вносимой производителем устройства.
\n \n
\nShelter это всего лишь интерфейс к функции рабочего профиля, предоставляемой системой. Если функция, предоставляемая системой, не работает или реализована нестандартно, <b>Shelter не сможет волшебным образом решить проблему самостоятельно</b>. Если вы используете модифицированную производителем версию Android, про которую известно, что в ней нарушены рабочие профили, <b>вас предупредили</b>. Вы можете продолжить установку в любом случае, но нет никакой гарантии, что Shelter будет работать правильно в этих обстоятельствах.</string> \nShelter это всего лишь интерфейс к функции рабочего профиля, предоставляемой системой. Если функция, предоставляемая системой, не работает или реализована нестандартно, <b>Shelter не сможет волшебным образом решить проблему самостоятельно</b>. Если вы используете модифицированную производителем версию Android, про которую известно, что в ней нарушены рабочие профили, <b>вас предупредили</b>. Вы можете продолжить установку в любом случае, но нет никакой гарантии, что Shelter будет работать правильно в этих обстоятельствах.</string>
<string name="payment_stub_description">Заглушка платёжных сервисов (НЕ ИСПОЛЬЗОВАТЬ)</string>
<string name="allow_cross_profile_interaction">Разрешить работу между профилями</string>
<string name="settings_payment_stub_desc">Чтобы получить возможность выбрать платёжное приложение внутри рабочего профиля в Настройки - NFC, включите фальшивый платёжный сервис NFC в основном профиле. Это временное решение ошибки Android, из-за которой невозможно выбрать платёжное приложение внутри рабочего профиля, если в основном профиле таких нет.</string>
<string name="settings_payment_stub">Заглушка платёжных сервисов</string>
</resources> </resources>

View file

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="uninstall_success">Апликација\"%s\" је успешно деинсталирана</string>
<string name="clone_fail_system_app">Није могуће клонирати системске апликације на профил над којим Шелтер нема контролу.</string>
<string name="unsupported_launcher">Није могуће додати пречице у покретач. За више информација контактирајте програмера.</string>
<string name="request_storage_manager">Шелтеру је потребан приступ <b>свим датотекама</b> за Фајл шатл. Омогућите дозволу за <b>ОБЕ</b> (личне/радне) апликације за Шелтер које се приказују у дијалогу након што притиснете „ОК“.</string>
<string name="request_usage_stats">Шелтеру је потребна дозвола за <b>статистику коришћења</b> да ово уради. Омогућите дозволу за <b>ОБЕ</b> апликације за Шелтер које се приказују у дијалогу након што притиснете „Ок“. Ако то не урадите, ова функција неће исправно радити.</string>
<string name="request_system_alert">Шелтер мора да се <b>приказује преко других апликација</b> да би Фајл шатл функционисао исправно. Омогућите дозволу за <b>ОБЕ</b> (личне/радне) апликације за Шелтер које се приказују у дијалогу након што притиснете „ОК“. Ова дозвола се користи за покретање Фајл шатл услуга у позадини.</string>
<string name="setup_wizard_compatibility_text">Шелтер је развијен и тестиран на Андроид дериватима сличним АОСП-у. Ово укључује АОСП (Андроид Опен Сорс Проџект), Гугл Андроид (на Пикселу) и <b>већину прилагођених РОМ-ова отвореног кода заснованих на АОСП-у</b> као што је ЛиниеџОС. Ако Ваш телефон користи један од Андроид деривата наведених изнад, честитамо! Шелтер ће вероватно исправно радити на Вашем уређају.
\n
\nНеки произвођачи уређаја користе веома инвазивна прилагођавања базе Андроид кода, што доводи до сукоба, некомпатибилности и неочекиваног понашања. Неки прилагођени РОМ-ови такође могу да унесу промене које нарушавају компатибилност, али генерално то су ређе појаве у поређењу са некомпатибилностима које је увео произвођач телефона.
\n
\nШелтер је само интерфејс за функцију радног профила коју обезбеђује систем. Ако је функција коју пружа систем покварена или нестандардна, <b>Шелтер не може сам да реши проблем</b>. Ако тренутно користите верзију Андроид-а модификовану од стране добављача за коју је познато да крши радне профиле, <b>добили сте упозорење</b>. У сваком случају можете наставити, али не постоји гаранција да ће се Шелтер исправно понашати у овим околностима.</string>
<string name="payment_stub_description">Лажна услуга за плаћање (НЕ КОРИСТИТЕ)</string>
<string name="first_run_alert_cancel">Здраво</string>
<string name="first_run_alert_continue">Настави</string>
<string name="device_admin_desc">Услуга изолације апликација</string>
<string name="setup_wizard_welcome">Добродошли у Шелтер</string>
<string name="setup_wizard_welcome_text">Шелтер је апликација која Вам помаже да покренете друге апликације у изолованом профилу. То ради коришћењем функције <b>Радни профил</b> Андроида.
\n
\nКликните „Даље“ и пружићемо Вам више информација о Шелтеру и водити Вас кроз процес подешавања.
\n
\nПредлажемо да пажљиво прочитате све следеће странице.</string>
<string name="setup_wizard_permissions">Неколико речи о дозволама</string>
<string name="setup_wizard_compatibility">Компатибилност</string>
<string name="setup_wizard_ready_text">Сада смо спремни да Вам подесимо Шелтер. Ако Ваш уређај користи Андроид 7 или старију верзију, прво се уверите да Ваш уређај <b>није</b> у режиму Не узнемиравај, јер ћете морати да <b>кликнете на обавештење</b> касније да бисте завршили процес подешавања.
\n
\nКада будете спремни, кликните „Даље“ да бисте започели процес подешавања.</string>
<string name="setup_wizard_action_required_text">Сада би требало да видите обавештење од Шелтера. <b>Кликните на то обавештење</b> да бисте завршили процес подешавања.
\n
\nАко не видите обавештење, уверите се да Ваш уређај није у режиму Не узнемиравај и покушајте да повучете центар за обавештења надоле.
\n
\nДа бисте ресетовали Шелтер и почели испочетка, можете да обришете податке Шелтера у подешавањима.</string>
<string name="uninstall_fail_system_app">Није могуће деинсталирати системске апликације на профилу над којим Шелтер нема контролу.</string>
<string name="setup_wizard_ready">Спремни?</string>
<string name="setup_wizard_please_wait">Сачекајте…</string>
<string name="setup_wizard_failed">Подешавање није успело</string>
<string name="setup_wizard_action_required">Потребна радња</string>
<string name="finish_provision_desc">Честитамо! На један клик сте од завршетка подешавања Шелтера.</string>
<string name="service_title">Шелтер услуга</string>
<string name="service_desc">Шелтер сада ради …</string>
<string name="service_auto_freeze_now">Замрзни сада</string>
<string name="app_installing">Инсталирање...</string>
<string name="fragment_profile_main">Главни</string>
<string name="fragment_profile_work">Шелтер</string>
<string name="list_item_disabled">[Замрзнуто] %s</string>
<string name="batch_operation">Групна операција</string>
<string name="clone_to_work_profile">Клонирај у Шелтер (радни профил)</string>
<string name="clone_to_main_profile">Клонирај у главни профил</string>
<string name="uninstall_app">Деинсталирај</string>
<string name="freeze_app">Замрзни</string>
<string name="unfreeze_app">Одмрзни</string>
<string name="launch">Покрени</string>
<string name="unfreeze_and_launch">Одмрзни и покрени</string>
<string name="allow_cross_profile_widgets">Дозволи виџете у главном профилу</string>
<string name="allow_cross_profile_interaction">Дозволи међупрофилну интеракцију</string>
<string name="search">Претрага</string>
<string name="create_freeze_all_shortcut">Направи пречицу за групно замрзавање</string>
<string name="freeze_all_shortcut">Замрзни</string>
<string name="install_app_to_profile">Инсталирај АПК у Шелтер</string>
<string name="documents_ui">Отворите УИ докумената</string>
<string name="settings_payment_stub">Лажна услуга за плаћање</string>
<string name="settings">Подешавања</string>
<string name="settings_interaction">Интеракција</string>
<string name="settings_block_contacts_searching">Блокирајте претрагу контаката</string>
<string name="settings_block_contacts_searching_desc">Забрани приступ са главног профила контактима унутар радног профила.</string>
<string name="settings_auto_freeze_service_desc">Када је екран закључан, аутоматски замрзни апликације покренуте са „Одмрзни и покрени пречица“.</string>
<string name="settings_services">Услуге</string>
<string name="settings_auto_freeze_service">Услуга аутоматског замрзавања</string>
<string name="settings_auto_freeze_delay">Одгађање аутоматског замрзавања</string>
<string name="settings_dont_freeze_foreground">Прескочи апликације у првом плану</string>
<string name="settings_dont_freeze_foreground_desc">НЕМОЈТЕ да замрзавате апликације у првом плану (са видљивом активношћу) када закључате екран. Ово може бити корисно за апликације као што су музички плејери, али ћете након тога морати ручно да их замрзнете преко „Пречица за групно замрзавање“.</string>
<string name="settings_about">О апликацији</string>
<string name="settings_version">Верзија</string>
<string name="settings_source_code">Изворни код</string>
<string name="settings_translate">Превод</string>
<string name="settings_bug_report">Пријава грешке / Праћење проблема</string>
<string name="provision_finished">Подешавање Шелтера је завршено. Сада поново покрећемо Шелтер. Ако се Шелтер није покренуо аутоматски, можете га поново покренути из покретача.</string>
<string name="msg_device_unsupported">Дозвола је одбијена или уређај није подржан</string>
<string name="work_profile_not_found">Радни профил није пронађен. Поново покрените апликацију да бисте поново обезбедили профил.</string>
<string name="work_profile_provision_failed">Није могуће обезбеђивање радног профила. Можете покушати поново тако што ћете поново покренути Шелтер.</string>
<string name="work_mode_disabled">Изгледа да сте онемогућили радни режим док сте покретали Шелтер. Ако сте га сада омогућили, покрените Шелтер поново.</string>
<string name="clone_success">Апликација \"%s\" је успешно клонирана</string>
<string name="freeze_success">Апликација \"%s\" је успешно замрзнута</string>
<string name="unfreeze_success">Апликација \"%s\" је успешно одмрзнута</string>
<string name="app_context_menu_title">Операције за %s</string>
<string name="freeze_all_success">Све апликације на листи „Аутоматско замрзавање“ су успешно замрзнуте.</string>
<string name="shortcut_create_success">Пречица направљена на вашем покретачу.</string>
<string name="notifications_important">Шелтер важно</string>
<string name="launch_app_fail">Није могуће покренути апликацију %s јер нема ГУИ.</string>
<string name="continue_anyway">Свеједно настави</string>
<string name="miui_cannot_clone">Клонирање несистемских апликација на други профил тренутно није могуће на МИУИ. Клонирајте продавницу апликација Вашег система (нпр. <b>Плеј Стор</b>) у други профил и затим инсталирајте апликације одатле.</string>
<string name="device_admin_explanation">Шелтер мора да постане администратор уређаја да би обављао своје изолационе задатке.</string>
<string name="finish_provision_title">Кликните овде да завршите подешавање Шелтера</string>
<string name="service_auto_freeze_title">Аутоматско замрзавање је на чекању</string>
<string name="service_auto_freeze_desc">Шелтер ће аутоматски замрзнути апликације покренуте из „Одмрзни и покрени“ приликом следећег закључавања екрана.</string>
<string name="create_unfreeze_shortcut">Направите пречицу за одмрзавање и/или покретање</string>
<string name="auto_freeze">Аутоматско замрзавање</string>
<string name="freeze_all">Групно замрзавање</string>
<string name="install_app_to_profile_success">Инсталација апликације је завршена у радном профилу.</string>
<string name="show_all">Прикажи све апликације</string>
<string name="show_all_warning">Манипулисање апликацијама које су скривене са листе може да изазове грешке и разне врсте неочекиваног понашања. Међутим, ова функција може бити корисна када неисправни РОМ-ови добављача не омогућавају све неопходне системске апликације у радном профилу подразумевано. Настављате на своју одговорност.</string>
<string name="settings_cross_profile_file_chooser">Фајл шатл</string>
<string name="setup_wizard_please_wait_text">Покушавамо да иницијализујемо радни профил и подесимо Шелтер на Вашем уређају.</string>
<string name="setup_wizard_failed_text">Са жаљењем Вас обавештавамо да нисмо били у могућности да Вам подесимо Шелтер.
\n
\nАко је Ваш уређај већ имао радни профил, било из претходне инсталације Шелтера или из друге апликације, мораћете да уклоните тај профил у Подешавања -&gt; Налог пре него што Шелтер може да настави.
\n
\nУ супротном, ако нисте ручно отказали подешавање, разлог за неуспех је најчешће због јако модификованог система или сукоба између Шелтера и других менаџера радног профила. Нажалост, не можемо много да урадимо по том питању.
\n
\nКликните „Даље“ да бисте изашли.</string>
<string name="setup_wizard_permissions_text">Подразумевано, Шелтер неће тражити никакве појединачне дозволе. Међутим, када наставите са процесом подешавања, Шелтер ће покушати да подеси радни профил и тако постати <b>менаџер</b> наведеног профила.
\n
\nОво ће Шелтеру дати опсежну листу дозвола унутар профила, упоредиву са оном администратора уређаја, иако ограничена на профил. Бити менаџер профила је неопходно за већину функционалности Шелтера.
\n
\nНеке напредне функције Шелтера ће можда захтевати више дозвола <b>ван</b> радног профила. Када је потребно, Шелтер ће тражити те дозволе засебно када омогућите одговарајуће функције.</string>
<string name="settings_cross_profile_file_chooser_desc">Када је омогућено, моћи ћете да разгледате / прегледате / бирате / копирате датотеке у Шелтеру са главног профила и обрнуто, САМО преко УИ докумената (названих Датотеке или Документи на вашем покретачу) или апликација са подршком УИ докумената (оне добијају само привремени приступ датотекама које одаберете у УИ докумената), док се даље одржава изолација система датотека.</string>
<string name="settings_payment_stub_desc">Омогућите лажну НФЦ услугу плаћања у главном профилу, тако да опција бесконтактног плаћања у оквиру Подешавања - НФЦ постане омогућена да Вам дозволи да изаберете апликацију за плаћање унутар радног профила. Ово функционише око Андроид грешке која онемогућава одабир апликације за плаћање унутар радног профила ако ниједна није доступна у главном профилу.</string>
</resources>

View file

@ -22,7 +22,6 @@
<string name="freeze_all_success">Alla appar i listan \"Automatisk frysning\" har frysts.</string> <string name="freeze_all_success">Alla appar i listan \"Automatisk frysning\" har frysts.</string>
<string name="unsupported_launcher">Det går inte att lägga till genvägar till din launcher. Kontakta utvecklaren för mer information.</string> <string name="unsupported_launcher">Det går inte att lägga till genvägar till din launcher. Kontakta utvecklaren för mer information.</string>
<string name="shortcut_create_success">Genväg skapad på din launcher.</string> <string name="shortcut_create_success">Genväg skapad på din launcher.</string>
<string name="camera_proxy_activity">Välj en bildfil</string>
<string name="launch_app_fail">Det går inte att starta appen %s eftersom den har inte något GUI.</string> <string name="launch_app_fail">Det går inte att starta appen %s eftersom den har inte något GUI.</string>
<string name="miui_cannot_clone">Att klona icke-systemappar till en annan profil är för närvarande inte möjligt på MIUI. Vänligen klona ditt systems appbutik (t.ex. <b>Play Butik, FDroid</b>) till den andra profilen och installera sedan appar därifrån.</string> <string name="miui_cannot_clone">Att klona icke-systemappar till en annan profil är för närvarande inte möjligt på MIUI. Vänligen klona ditt systems appbutik (t.ex. <b>Play Butik, FDroid</b>) till den andra profilen och installera sedan appar därifrån.</string>
<string name="fragment_profile_main">Primär</string> <string name="fragment_profile_main">Primär</string>
@ -61,13 +60,11 @@
<string name="settings">Inställningar</string> <string name="settings">Inställningar</string>
<string name="settings_interaction">Interaktion</string> <string name="settings_interaction">Interaktion</string>
<string name="settings_cross_profile_file_chooser">File Shuttle</string> <string name="settings_cross_profile_file_chooser">File Shuttle</string>
<string name="settings_camera_proxy">Bildväljare som falsk kamera</string>
<string name="settings_translate">Översätt</string> <string name="settings_translate">Översätt</string>
<string name="setup_wizard_ready_text">Vi är nu redo att sätta upp Shelter åt dig. Se först till att din enhet <b>inte</b> är i \"Stör ej\"-läge, eftersom du kommer att behöva<b>klicka på en avisering</b> senare för att slutföra installationsprocessen. <string name="setup_wizard_ready_text">Vi är nu redo att sätta upp Shelter åt dig. Se först till att din enhet <b>inte</b> är i \"Stör ej\"-läge, eftersom du kommer att behöva<b>klicka på en avisering</b> senare för att slutföra installationsprocessen.
\n \n
\nNär du är redo, klicka på \"Nästa\" för att påbörja installationsprocessen.</string> \nNär du är redo, klicka på \"Nästa\" för att påbörja installationsprocessen.</string>
<string name="setup_wizard_compatibility">Kompatibilitet</string> <string name="setup_wizard_compatibility">Kompatibilitet</string>
<string name="settings_camera_proxy_desc">Presentera en falsk kameraapp för andra appar, så att du kan välja en bild från Documents UI (och File Shuttle om den är aktiverad) som den tagna bilden. Detta aktiverar File Shuttle för alla appar som har stöd för att starta andra kameraappar för att ta en bild, även om de inte har stöd för Documents UI.</string>
<string name="settings_services">Tjänster</string> <string name="settings_services">Tjänster</string>
<string name="settings_bug_report">Buggrapport / Problemspårare</string> <string name="settings_bug_report">Buggrapport / Problemspårare</string>
<string name="msg_device_unsupported">Behörighet nekas eller enhet som inte stöds</string> <string name="msg_device_unsupported">Behörighet nekas eller enhet som inte stöds</string>
@ -78,7 +75,7 @@
<string name="work_profile_provision_failed">Det går inte att tillhandahålla arbetsprofil. Du kan försöka igen genom att starta om Shelter.</string> <string name="work_profile_provision_failed">Det går inte att tillhandahålla arbetsprofil. Du kan försöka igen genom att starta om Shelter.</string>
<string name="work_mode_disabled">Det verkar som att arbetsprofilen var inaktiverad när Shelter startades. Om du nu har aktiverat det, starta om Shelter.</string> <string name="work_mode_disabled">Det verkar som att arbetsprofilen var inaktiverad när Shelter startades. Om du nu har aktiverat det, starta om Shelter.</string>
<string name="clone_fail_system_app">Det går inte att klona systemappar till en profil som Shelter inte har kontroll över.</string> <string name="clone_fail_system_app">Det går inte att klona systemappar till en profil som Shelter inte har kontroll över.</string>
<string name="setup_wizard_ready">Redo\?</string> <string name="setup_wizard_ready">Redo?</string>
<string name="setup_wizard_please_wait">Vänta…</string> <string name="setup_wizard_please_wait">Vänta…</string>
<string name="setup_wizard_please_wait_text">Vi försöker initiera Work Profile och konfigurera Shelter på din enhet.</string> <string name="setup_wizard_please_wait_text">Vi försöker initiera Work Profile och konfigurera Shelter på din enhet.</string>
<string name="setup_wizard_failed">Konfigurationen misslyckades</string> <string name="setup_wizard_failed">Konfigurationen misslyckades</string>

View file

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="setup_wizard_welcome">షెల్టర్‌కు స్వాగతం</string>
<string name="first_run_alert_continue">కొనసాగించు</string>
<string name="device_admin_desc">యాప్ ఐసోలేషన్ సర్వీస్</string>
<string name="device_admin_explanation">షెల్టర్ దాని ఐసోలేషన్ విధులను నిర్వహించడానికి డివైస్ అడ్మిన్ గా మారాలి.</string>
<string name="launch_app_fail">యాప్ %sని ప్రారంభించలేరు, ఎందుకంటే దానికి GUI లేదు.</string>
<string name="settings_dont_freeze_foreground_desc">మీ స్క్రీన్‌ను లాక్ చేయడం సమయంలో ముందంజ యాప్‌లను (కనిపించే కార్యకలాపం ఉన్న) ఫ్రిజ్ చేయకండి. ఇది సంగీత ప్లేయర్‌ల వంటి యాప్‌లకు ఉపయోగకరంగా ఉండవచ్చు, కానీ తర్వాత \"బ్యాచ్ ఫ్రిజ్ షార్ట్‌కట్\" ద్వారా వాటిని చేతితో ఫ్రిజ్ చేయాలి.</string>
<string name="settings_cross_profile_file_chooser">ఫైల్ షట్ల్</string>
<string name="app_installing">ఇన్‌స్టాల్ చేయబడుతోంది...</string>
<string name="msg_device_unsupported">అనుమతి నిరాకరించబడింది లేదా మద్దతు పొందని పరికరం</string>
<string name="settings_translate">అనువాదం</string>
<string name="setup_wizard_please_wait">దయచేసి వేచి ఉండండి…</string>
<string name="list_item_disabled">[ఫ్రోజెన్] %s</string>
<string name="setup_wizard_ready_text">మేము ఇప్పుడు మీ కోసం షెల్టర్‌ని సెటప్ చేయడానికి సిద్ధంగా ఉన్నాము. మీ పరికరం Android 7 లేదా అంతకంటే తక్కువగా నడుస్తోంటే, మొదట మీ పరికరం \"Do Not Disturb\" మోడ్‌లో లేదని నిర్ధారించుకోండి, ఎందుకంటే మీరు సెటప్ ప్రక్రియను పూర్తి చేయడానికి తర్వాత ఒక నోటిఫికేషన్‌పై క్లిక్ చేయాలి.
\n
\nమీరు సిద్ధంగా ఉన్నప్పుడు, సెటప్ ప్రక్రియ ప్రారంభించడానికి \"తదుపరి\"పై క్లిక్ చేయండి.</string>
<string name="settings_block_contacts_searching_desc">కార్య ప్రొఫైల్‌లోని సంప్రదింపులకు ప్రధాన ప్రొఫైల్ నుండి యాక్సెస్‌ను తిరస్కరించండి.</string>
<string name="payment_stub_description">చెల్లింపు సేవ స్టబ్ (ఉపయోగించవద్దు)</string>
<string name="setup_wizard_welcome_text">\"షెల్టర్\" అనేది ఇతర యాప్‌లను వేరుప్రొఫైల్‌లో నడపడంలో మీకు సహాయం చేసే యాప్. ఇది ఆండ్రాయిడ్‌లోని <b>వర్క్ ప్రొఫైల్</b> ఫీచర్‌ను ఉపయోగించడం ద్వారా పని చేస్తుంది.
\n
\n\"తదుపరి\"ను క్లిక్ చేయండి, మేము మీకు షెల్టర్ గురించి మరిన్ని వివరాలు అందించాము మరియు సెటప్ ప్రక్రియలో మిమ్మల్ని మార్గనిర్దేశం చేస్తాము.
\n
\nక్రిది పేజీలన్నీ జాగ్రత్తగా చదవాలని మేము సిఫార్సు చేస్తాము.</string>
<string name="settings_interaction">ఇంటరాక్షన్</string>
<string name="finish_provision_desc">అభినందనలు! షెల్టర్‌ని సెటప్ చేయడం పూర్తి చేయడానికి మీరు ఒక్క క్లిక్ దూరంలో ఉన్నారు.</string>
<string name="show_all_warning">జాబితాలోని దాచిన యాప్‌లను మానిప్యులేట్ చేయడం వల్ల క్రాష్‌లు మరియు వివిధ రకాల అనూహ్య ప్రవర్తనలు కలిగించవచ్చు. అయితే, ఫాల్టీ విక్రేత-కస్టమైజ్డ్ ROMలు వర్క్ ప్రొఫైల్‌లో అన్ని అవసరమైన సిస్టమ్ యాప్లను డిఫాల్ట్‌గా ఎనేబుల్ చేయని సమయంలో ఈ ఫీచర్ ఉపయోగకరంగా ఉండవచ్చు. మీరు కొనసాగితే, మీరు మీ స్వంతంగా ఉంటారు.</string>
<string name="settings_block_contacts_searching">సంప్రదింపుల అన్వేషణను అడ్డుకోండి</string>
<string name="settings_cross_profile_file_chooser_desc">ఇది ఎనేబుల్ చేసినప్పుడు, మీరు షెల్టర్‌లో ఫైల్‌లను బ్రౌజ్ / వీక్షించడానికి / ఎంచుకోవడానికి / కాపీ చేయడానికి ప్రధాన ప్రొఫైల్ నుండి మరియు పునాదిగా, డాక్యుమెంట్స్ UI (మీ లాంచర్‌లో ఫైల్‌లు లేదా డాక్యుమెంట్స్ అని పిలవబడుతుంది) లేదా డాక్యుమెంట్స్ UI మద్దతు ఉన్న అనువర్తనాలను మాత్రమే ఉపయోగించి చేసుకోగలరు (అవి డాక్యుమెంట్స్ UIలో మీరు ఎంచుకున్న ఫైల్‌లకు తాత్కాలిక యాక్సెస్ పొందుతాయి), అయితే ఫైల్ సిస్టమ్ ఆర్థికంగా ఇన్సొలేషన్‌ను ఉంచుతుంది.</string>
<string name="provision_finished">షెల్టర్ సెటప్ పూర్తి. ఇప్పుడు షెల్టర్‌ను పునఃప్రారంభించటం జరుగుతోంది. షెల్టర్ ఆటోమేటిక్‌గా ప్రారంభమైతే, మీ లాంచర్ నుండి మళ్లీ ప్రారంభించవచ్చు.</string>
<string name="settings_payment_stub_desc">ప్రధాన ప్రొఫైల్‌లో ఒక జట్టుపై NFC చెల్లింపు సేవను ఎనేబుల్ చేయండి, తద్వారా సెట్టింగ్‌లలో - NFC క్రింద ఉన్న నిర్లక్ష్య చెల్లింపుల ఎంపిక ఎనేబుల్ అవుతుంది, ఇది మీకు వర్క్ ప్రొఫైల్‌లో చెల్లింపు అనువర్తనాన్ని ఎంచుకోవడానికి అనుమతిస్తుంది. ఇది ప్రధాన ప్రొఫైల్‌లో అందుబాటులో లేదు అంటే వర్క్ ప్రొఫైల్‌లో చెల్లింపు అనువర్తనాన్ని ఎంచుకోవడం అసాధ్యమైన ఆండ్రాయిడ్ బగ్‌ను చుట్టుకుంటుంది.</string>
<string name="freeze_all">బ్యాచ్ ఫ్రీజ్</string>
<string name="notifications_important">షెల్టర్ ముఖ్యమైనది</string>
<string name="freeze_success">అనువర్తనం \"%s\" విజయవంతంగా ఫ్రిజ్ చేయబడింది</string>
<string name="request_system_alert">షెల్టర్‌కు ఫైల్ షటిల్ సరిగ్గా పనిచేయడానికి <b>ఇతర యాప్‌లపై డ్రా చేయడం</b> అవసరం. \"ఓకే\" బటన్‌ను నొక్కిన తర్వాత డైలాగ్‌లో చూపించిన రెండు (వ్యక్తిగత / వర్క్) షెల్టర్ యాప్‌లకు ఈ అనుమతిని ఎనేబుల్ చేయండి. ఈ అనుమతి ఫైల్ షటిల్ సేవలను బ్యాక్‌గ్రౌండ్‌లో ప్రారంభించడానికి ఉపయోగించబడుతుంది.</string>
<string name="settings_patreon_url" translatable="false"/>
<string name="setup_wizard_action_required_text">మీరు ఇప్పుడు షెల్టర్ నుండి ఒక నోటిఫికేషన్‌ను చూడాలి. <b>దయచేసి ఆ నోటిఫికేషన్‌ను నొక్కండి</b> సెటప్ ప్రక్రియను ముగించడానికి.
\n
\nమీరు నోటిఫికేషన్‌ను చూడకపోతే, మీ పరికరం \"డో నాట్ డిస్టర్బ్\" మోడ్‌లో లేదు అని నిర్ధారించుకోండి మరియు నోటిఫికేషన్ సెంటర్‌ను కిందకి పుల్లండి.
\n
\nషెల్టర్ను రీసెట్ చేసి మళ్లీ ప్రారంభించడానికి, సెటింగ్స్‌లో షెల్టర్ యొక్క డేటాను క్లియర్ చేయవచ్చు.</string>
<string name="create_freeze_all_shortcut">బ్యాచ్ ఫ్రీజ్ సత్వరం సృష్టించండి</string>
<string name="clone_to_work_profile">షెల్టర్ (వర్క్ ప్రొఫైల్)కి క్లోన్ చేయండి</string>
<string name="allow_cross_profile_widgets">ప్రధాన ప్రొఫైల్‌లో విజెట్‌లను అనుమతించండి</string>
<string name="freeze_all_success">\"ఆటో ఫ్రిజ్\" జాబితాలోని అన్ని యాప్‌లు విజయవంతంగా ఫ్రిజ్ చేయబడ్డాయి.</string>
<string name="service_auto_freeze_now">ఇప్పుడు ఫ్రీజ్ చేయండి</string>
<string name="settings_bug_report">బగ్ నివేదిక / ఇష్యూ ట్రాకర్</string>
<string name="uninstall_app">అన్‌ఇన్‌స్టాల్ చేయండి</string>
<string name="setup_wizard_action_required"/>
<string name="setup_wizard_compatibility">అనుకూలత</string>
<string name="service_auto_freeze_title">ఆటో-ఫ్రీజ్ పెండింగ్‌లో ఉంది</string>
<string name="allow_cross_profile_interaction">క్రాస్-ప్రొఫైల్ ఇంటరాక్షన్‌ను అనుమతించండి</string>
<string name="settings_about">గురించి</string>
<string name="setup_wizard_failed_text">మేము మీ కోసం షెల్టర్‌ను సెటప్ చేయలేకపోయామని మీకు తెలియజేయడానికి మాకు దురదృష్టం ఉంది.
\n
\nమీ పరికరంలో ఇప్పటికే ఒక వర్క్ ప్రొఫైల్ ఉంటే, అది షెల్టర్ యొక్క గత ఇన్స్టాలేషన్ లేదా మరొక అనువర్తనంలోనూ, షెల్టర్ ముందుకు సాగడానికి ముందు దాన్ని సెటింగ్‌లలో -&gt; ఖాతా ద్వారా తొలగించాలి.
\n
\nలేకపోతే, మీరు సెటప్‌ను చేతితో రద్దు చేయకపోతే, సెటప్ విఫలమైన కారణం సాధారణంగా చాలా మార్పులు చేసిన సిస్టమ్ లేదా షెల్టర్ మరియు ఇతర వర్క్ ప్రొఫైల్ మేనేజర్ల మధ్య సంకర్షణగా ఉంటుంది. దురదృష్టవశాత్తు, దీనిపై మేము చేసేMuch చేయడం లేదు.
\n
\nమీరైతే \"తదుపరి\"పై క్లిక్ చేసి బయటకు వెళ్ళండి.</string>
<string name="miui_cannot_clone">MIUIలో మరో ప్రొఫైలుకు నాన్-సిస్టమ్ యాప్‌లను క్లోన్ చేయడం ప్రస్తుతం సాధ్యం కాదు. దయచేసి మీ సిస్టమ్ యొక్క యాప్ స్టోర్ (ఉదాహరణకు, <b>ప్లే స్టోర్</b>)ని ఇతర ప్రొఫైలుకు క్లోన్ చేసి, అక్కడ నుండి యాప్‌లను ఇన్‌స్టాల్ చేయండి.</string>
<string name="settings_translate_url" translatable="false"/>
<string name="service_title">షెల్టర్ సేవ</string>
<string name="batch_operation">బ్యాచ్ ఆపరేషన్</string>
<string name="unfreeze_and_launch">అన్‌ఫ్రీజ్ చేసి ప్రారంభించండి</string>
<string name="settings_services">సేవలు</string>
<string name="settings_auto_freeze_service">ఆటో ఫ్రిజ్ సేవ</string>
<string name="work_profile_provision_failed">వర్క్ ప్రొఫైల్‌ను అందుబాటులోకి తీసుకోలేకపోతున్నాము. షెల్టర్‌ను పునఃప్రారంభించి మళ్లీ ప్రయత్నించండి.</string>
<string name="service_auto_freeze_desc">షెల్టర్ తదుపరి స్క్రీన్ లాక్ ఈవెంట్‌లో \"అన్‌ఫ్రీజ్ &amp; లాంచ్\" నుండి ప్రారంభించబడిన యాప్‌లను ఆటో-ఫ్రీజ్ చేస్తుంది.</string>
<string name="uninstall_success">అనువర్తనం \"%s\" విజయవంతంగా అన్‌ఇన్‌స్టాల్ చేయబడింది</string>
<string name="unfreeze_app">అన్‌ఫ్రిజ్</string>
<string name="clone_fail_system_app">షెల్టర్ కంట్రోల్ లో లేని ప్రొఫైల్‌కు సిస్టమ్ యాప్‌లను క్లోన్ చేయలేరు.</string>
<string name="setup_wizard_failed">సెటప్ విఫలమైంది</string>
<string name="work_profile_not_found">వర్క్ ప్రొఫైల్ కనుగొనబడలేదు. ప్రొఫైల్‌ను మళ్లీ అందుబాటులోకి తీసుకురావడానికి దయచేసి యాప్‌ను పునఃప్రారంభించండి.</string>
<string name="unfreeze_success">అనువర్తనం \"%s\" విజయవంతంగా అన్‌ఫ్రిజ్ చేయబడింది</string>
<string name="settings_version">వర్షన్</string>
<string name="create_unfreeze_shortcut">అన్‌ఫ్రిజ్ మరియు/లేదా ప్రారంభ Shortcutని సృష్టించు</string>
<string name="request_storage_manager">షెల్టర్‌కు ఫైల్ షటిల్ కోసం <b>అన్ని ఫైళ్లకు</b> ప్రాప్యత అవసరం. \"ఓకే\" బటన్‌ను నొక్కిన తర్వాత డైలాగ్‌లో చూపించిన రెండు (వ్యక్తిగత / వర్క్) షెల్టర్ యాప్‌లకు ఈ అనుమతిని ఎనేబుల్ చేయండి.</string>
<string name="documents_ui">డాక్యుమెంట్స్ UIని తెరువు</string>
<string name="setup_wizard_please_wait_text">మేము మీ పరికరంలో వర్క్ ప్రొఫైల్‌ను ప్రారంభించడానికి మరియు షెల్టర్‌ను సెటప్ చేయడానికి ప్రయత్నిస్తున్నాము.</string>
<string name="launch">ప్రారంభించు</string>
<string name="setup_wizard_permissions_text">డిఫాల్ట్‌గా, షెల్టర్ ఏ వ్యక్తిగత అనుమతులను అడగదు. అయితే, మీరు సెటప్ ప్రక్రియను కొనసాగించిన తర్వాత, షెల్టర్ వర్క్ ప్రొఫైల్‌ను సెటప్ చేయడానికి ప్రయత్నిస్తుంది, అందువల్ల పేర్కొన్న ప్రొఫైల్‌కు <b>ప్రొఫైల్ మేనేజర్</b> గా మారుతుంది.
\n
\nదీని ద్వారా షెల్టర్‌కు ఆ ప్రొఫైల్‌లో పరికర పరిపాలకుడి (డివైస్ అడ్మిన్) అనుమతులకు సమానమైన విస్తృత అనుమతుల జాబితా లభిస్తుంది, అయితే అవి ఆ ప్రొఫైల్‌కు మాత్రమే పరిమితమవుతాయి. షెల్టర్ యొక్క మెజారిటీ ఫీచర్ల కోసం ప్రొఫైల్ మేనేజర్‌గా ఉండటం అవసరం.
\n
\nషెల్టర్ యొక్క కొన్ని అధునాతన ఫీచర్లు వర్క్ ప్రొఫైల్ <b>బయట</b> మరిన్ని అనుమతులను అవసరం కావచ్చు. అవసరమైనప్పుడు, మీరు సంబంధిత ఫీచర్‌లను ప్రారంభించినప్పుడు, షెల్టర్ ఆ అనుమతులను వేరుగా అడుగుతుంది.</string>
<string name="fragment_profile_work">షెల్టర్</string>
<string name="install_app_to_profile">షెల్టర్‌లో APK ఇన్‌స్టాల్ చేయండి</string>
<string name="clone_success">అనువర్తనం \"%s\" విజయవంతంగా క్లోన్ చేయబడింది</string>
<string name="work_mode_disabled">మీరు షెల్టర్‌ను ప్రారంభించే సమయానికి వర్క్ మోడ్‌ను అడ్డించారు అనిపిస్తోంది. మీరు ఇప్పుడు దీన్ని ఎనేబుల్ చేసినట్లయితే, దయచేసి షెల్టర్‌ను మళ్లీ ప్రారంభించండి.</string>
<string name="settings_bug_report_url" translatable="false"/>
<string name="settings_source_code">సోర్స్ కోడ్</string>
<string name="search">శోధించండి</string>
<string name="unsupported_launcher">మీ లాంచర్‌కు షార్ట్‌కట్స్‌ను జోడించలేరు. మరింత సమాచారం కోసం దయచేసి డెవలపర్‌ను సంప్రదించండి.</string>
<string name="auto_freeze">ఆటో ఫ్రీజ్</string>
<string name="service_desc">షెల్టర్ ఇప్పుడు నడుస్తోంది…</string>
<string name="settings_auto_freeze_delay">ఆటో ఫ్రిజ్ ఆలస్యం</string>
<string name="setup_wizard_compatibility_text">షెల్టర్ AOSP లాంటి ఆండ్రాయిడ్ డెరివేటివ్‌లపై అభివృద్ధి చేయబడింది మరియు పరీక్షించబడింది. ఇందులో AOSP (ఆండ్రాయిడ్ ఓపెన్ సోర్స్ ప్రాజెక్ట్), Google Android (Pixelsపై), మరియు <b>LineageOS వంటి AOSP ఆధారిత ఓపెన్ సోర్స్ కస్టమ్ ROMలు</b> ఎక్కువగా ఉన్నాయి. మీ ఫోన్ పై ఉంచిన ఆండ్రాయిడ్ డెరివేటివ్‌లలో ఏదైనా ఉంటే, అభినందనలు! షెల్టర్ మీ పరికరంలో సరిగా పనిచేసే అవకాశం ఉంది.
\n
\nకొతమది పరికర తయారీదారులు ఆండ్రాయిడ్ కోడ్ బేస్‌లో చాలా దూకుడైన అనుకూలీకరణలు ప్రవేశపెడతారు, ఇది సంగర్షణలు, అనుకూలత సమస్యలు మరియు అనూహ్య ప్రవర్తనకు కారణమవుతుంది. కొంతమంది కస్టమ్ ROMలు కూడా అనుకూలతను విచ్ఛిన్నం చేసే మార్పులను ప్రవేశపెట్టవచ్చు, కానీ సాధారణంగా ఇవి ఫోన్ తయారీదారుల మార్పులతో పోలిస్తే చాలా అరుదుగా జరుగుతాయి.
\n
\nషెల్టర్ కేవలం సిస్టమ్ అందించే వర్క్ ప్రొఫైల్ ఫీచర్‌కు ఇన్టర్ఫేస్ మాత్రమే. సిస్టమ్ అందించే ఫీచర్ పనిచేయకపోతే లేదా ప్రామాణికం కాకపోతే, <b>షెల్టర్ స్వతహాగా ఆ సమస్యను పరిష్కరించలేము</b>. మీరు ప్రస్తుతం వర్క్ ప్రొఫైల్‌లను విరమించడానికి ప్రసిద్ధి చెందిన విక్రేత-మార్పుచేసిన ఆండ్రాయిడ్ వర్షన్‌ను ఉపయోగిస్తున్నట్లయితే, <b>మీకు హెచ్చరిక ఇచ్చాము</b>. అయినప్పటికీ మీరు కొనసాగవచ్చు, కానీ ఈ పరిస్థితులలో షెల్టర్ సరైన ప్రవర్తనకాని గ్యారంటీ లేదు.</string>
<string name="finish_provision_title">షెల్టర్‌ని సెటప్ చేయడానికి ఇక్కడ క్లిక్ చేయండి</string>
<string name="request_usage_stats">షెల్టర్‌కు ఇది చేయడానికి <b>ఉపయోగం స్థితులు</b> అనుమతి అవసరం. \"ఓకే\" బటన్‌ను నొక్కిన తర్వాత డైలాగ్‌లో చూపిన రెండు షెల్టర్ యాప్‌లకు ఈ అనుమతిని ఎనేబుల్ చేయండి. అది చేయనట్లయితే, ఈ ఫీచర్ సరిగ్గా పనిచేయదు.</string>
<string name="device_admin_label" translatable="false"/>
<string name="setup_wizard_permissions">అనుమతుల గురించి ఒక మాట</string>
<string name="install_app_to_profile_success">వర్క్ ప్రొఫైల్‌లో అప్లికేషన్ ఇన్‌స్టాలేషన్ పూర్తి చేయబడింది.</string>
<string name="fragment_profile_main">ప్రధాన</string>
<string name="shortcut_create_success">మీ లాంచర్‌పై షార్ట్‌కట్ సృష్టించబడింది.</string>
<string name="settings">సెట్టింగ్స్</string>
<string name="settings_dont_freeze_foreground">ముఖ్యమైన యాప్‌లను తొలగించు</string>
<string name="settings_payment_stub">చెల్లింపు సేవ స్టబ్</string>
<string name="app_context_menu_title">%s కోసం ఆపరేషన్స్</string>
<string name="uninstall_fail_system_app">షెల్టర్ కంట్రోల్ లో లేని ప్రొఫైల్‌లో సిస్టమ్ యాప్‌లను అన్‌ఇన్‌స్టాల్ చేయలేరు.</string>
<string name="continue_anyway">ఏదైనా కొనసాగించండి</string>
<string name="app_name" translatable="false"/>
<string name="freeze_app">ఫ్రిజ్</string>
<string name="first_run_alert_cancel">వీడ్కోలు</string>
<string name="setup_wizard_ready">సిద్ధంగా ఉన్నారా?</string>
<string name="settings_source_code_url" translatable="false"/>
<string name="settings_auto_freeze_service_desc">స్క్రీన్ లాక్ అయినప్పుడు, \"అన్‌ఫ్రిజ్ &amp; లాంచ్ షార్ట్‌కట్\" నుండి ప్రారంభించిన యాప్‌లను ఆటోమేటిక్‌గా ఫ్రిజ్ చేయండి.</string>
<string name="clone_to_main_profile">ప్రధాన ప్రొఫైల్‌కి క్లోన్ చేయండి</string>
<string name="show_all">అన్ని యాప్‌లను చూపించు</string>
<string name="settings_patreon" translatable="false"/>
<string name="freeze_all_shortcut">ఫ్రీజ్ చేయండి</string>
<string name="format_minutes">%d నిమిషాలు</string>
</resources>

View file

@ -3,7 +3,7 @@
<string name="setup_wizard_compatibility">Uyumluluk</string> <string name="setup_wizard_compatibility">Uyumluluk</string>
<string name="setup_wizard_permissions">İzinler hakkında</string> <string name="setup_wizard_permissions">İzinler hakkında</string>
<string name="setup_wizard_action_required">Eylem gerekli</string> <string name="setup_wizard_action_required">Eylem gerekli</string>
<string name="setup_wizard_ready">Hazır mısınız\?</string> <string name="setup_wizard_ready">Hazır mısınız?</string>
<string name="settings">Ayarlar</string> <string name="settings">Ayarlar</string>
<string name="settings_version">Sürüm</string> <string name="settings_version">Sürüm</string>
<string name="settings_about">Hakkında</string> <string name="settings_about">Hakkında</string>
@ -18,7 +18,6 @@
<string name="uninstall_success">\"%s\" uygulaması başarıyla kaldırıldı</string> <string name="uninstall_success">\"%s\" uygulaması başarıyla kaldırıldı</string>
<string name="first_run_alert_continue">Devam et</string> <string name="first_run_alert_continue">Devam et</string>
<string name="first_run_alert_cancel">İptal</string> <string name="first_run_alert_cancel">İptal</string>
<string name="camera_proxy_activity">Görüntü Dosyası Seçin</string>
<string name="device_admin_desc">Uygulama İzolasyon Hizmeti</string> <string name="device_admin_desc">Uygulama İzolasyon Hizmeti</string>
<string name="device_admin_explanation">İzolasyon hizmetinin çalışabilmesi için Shelter\'ı Cihaz Yöneticisi yap.</string> <string name="device_admin_explanation">İzolasyon hizmetinin çalışabilmesi için Shelter\'ı Cihaz Yöneticisi yap.</string>
<string name="setup_wizard_failed">Kurulum başarısız</string> <string name="setup_wizard_failed">Kurulum başarısız</string>
@ -58,7 +57,6 @@
<string name="create_freeze_all_shortcut">Çoklu Dondur Kısayolu Oluştur</string> <string name="create_freeze_all_shortcut">Çoklu Dondur Kısayolu Oluştur</string>
<string name="freeze_all">Çoklu Dondur</string> <string name="freeze_all">Çoklu Dondur</string>
<string name="settings_block_contacts_searching">Rehber Erişimini Engelle</string> <string name="settings_block_contacts_searching">Rehber Erişimini Engelle</string>
<string name="settings_camera_proxy">Görüntü Seçiciyi kamera uygulaması gibi göster</string>
<string name="freeze_success">\"%s\" uygulaması başarıyla donduruldu</string> <string name="freeze_success">\"%s\" uygulaması başarıyla donduruldu</string>
<string name="unfreeze_success">\"%s\" uygulaması başarıyla aktifleştirildi</string> <string name="unfreeze_success">\"%s\" uygulaması başarıyla aktifleştirildi</string>
<string name="app_context_menu_title">%s için İşlemler</string> <string name="app_context_menu_title">%s için İşlemler</string>
@ -114,5 +112,4 @@
<string name="request_storage_manager">Dosya Köprüsü özelliğini kullanmak için Shelter\'ın <b>Tüm Dosyalara</b> erişmesi gerekiyor. Lütfen \"Tamam\" seçeneğine tıkladıktan sonra <b>İKİ SHELTER UYGULAMASINA DA</b> (Kişisel / İş) bu izni verin.</string> <string name="request_storage_manager">Dosya Köprüsü özelliğini kullanmak için Shelter\'ın <b>Tüm Dosyalara</b> erişmesi gerekiyor. Lütfen \"Tamam\" seçeneğine tıkladıktan sonra <b>İKİ SHELTER UYGULAMASINA DA</b> (Kişisel / İş) bu izni verin.</string>
<string name="request_system_alert">Dosya Köprüsü özelliğinin düzgün bir şekilde çalışabilmesi için Shelter\'ın <b>Diğer Uygulamalar Üzerinde Göster</b> iznine ihtiyacı var. Lütfen \"Tamam\" seçeneğine tıkladıktan sonra <b>İKİ SHELTER UYGULAMASINA DA</b> (Kişisel / İş) bu izni verin. Söz konusu izin, Dosya Köprüsü hizmetlerini arkaplanda başlatmak için kullanılır.</string> <string name="request_system_alert">Dosya Köprüsü özelliğinin düzgün bir şekilde çalışabilmesi için Shelter\'ın <b>Diğer Uygulamalar Üzerinde Göster</b> iznine ihtiyacı var. Lütfen \"Tamam\" seçeneğine tıkladıktan sonra <b>İKİ SHELTER UYGULAMASINA DA</b> (Kişisel / İş) bu izni verin. Söz konusu izin, Dosya Köprüsü hizmetlerini arkaplanda başlatmak için kullanılır.</string>
<string name="request_usage_stats">Bu özelliği kullanmak için Shelter\'ın <b>Kullanım Erişimi</b> iznine ihtiyacı var. Lütfen \"Tamam\" seçeneğine tıkladıktan sonra <b>İKİ SHELTER UYGULAMASINA DA</b> (Kişisel / İş) bu izni verin, aksi takdirde söz konusu özellik düzgün bir şekilde çalışmayabilir.</string> <string name="request_usage_stats">Bu özelliği kullanmak için Shelter\'ın <b>Kullanım Erişimi</b> iznine ihtiyacı var. Lütfen \"Tamam\" seçeneğine tıkladıktan sonra <b>İKİ SHELTER UYGULAMASINA DA</b> (Kişisel / İş) bu izni verin, aksi takdirde söz konusu özellik düzgün bir şekilde çalışmayabilir.</string>
<string name="settings_camera_proxy_desc">Başka uygulamalarda kullanmanız için sahte bir kamera uygulaması oluşturur ve böylece Dosya Gezgini üzerinden (veya etkinse Dosya Köprüsü üzerinden) herhangi bir görüntü dosyasını bu uygulamalara kameradan çekilmiş bir fotoğraf olarak sunabilirsiniz. Bu özellik, normalde Dosya Gezginine erişimi olmasa bile, kamera uygulamaları üzerinden fotoğraf çekme yetkisine sahip tüm uygulamalar için Dosya Köprüsü özelliğini etkinleştirir.</string>
</resources> </resources>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="device_admin_desc">Сервіс ізоляції додатку</string>
<string name="device_admin_explanation">Shelter має стати адміністратором пристрою, щоб виконувати свої завдання ізоляції.</string>
<string name="first_run_alert_cancel">Закрити</string>
<string name="first_run_alert_continue">Продовжити</string>
<string name="setup_wizard_welcome">Ласкаво просимо до Shelter</string>
<string name="setup_wizard_permissions">Декілька слів про дозволи</string>
<string name="setup_wizard_welcome_text">Shelter - це програма, яка допоможе вам запускати інші програми в ізольованому профілі. Вона використовує функцію <b>Робочий профіль</b> в Android.
\n
\nНатисніть \"Далі\", і ми надамо вам більше інформації про Shelter і проведемо вас через процес налаштування.
\n
\nМи рекомендуємо вам уважно прочитати всі наступні сторінки.</string>
<string name="setup_wizard_please_wait_text">Ми намагаємося ініціалізувати Work Profile та налаштувати Shelter на вашому пристрої.</string>
<string name="fragment_profile_work">Shelter</string>
</resources>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="colorPrimary">@android:color/system_accent1_10</color> <color name="colorPrimary">@android:color/system_accent1_0</color>
<color name="colorAccent">@android:color/system_accent1_500</color> <color name="colorAccent">@android:color/system_accent1_500</color>
<color name="colorAccentSetupWizard">@android:color/system_accent3_500</color> <color name="colorAccentSetupWizard">@android:color/system_accent3_500</color>
<color name="colorNavigationBar">@android:color/system_accent1_100</color> <color name="colorNavigationBar">@android:color/system_accent1_100</color>

View file

@ -2,7 +2,9 @@
<resources> <resources>
<string name="setup_wizard_failed_text">Chúng tôi rất tiếc phải thông báo cho bạn rằng chúng tôi đã không thể thiết lập Shelter cho bạn. <string name="setup_wizard_failed_text">Chúng tôi rất tiếc phải thông báo cho bạn rằng chúng tôi đã không thể thiết lập Shelter cho bạn.
\n \n
\nNếu bạn đã không huỷ thiết lập theo cách thủ công, thì lý do của sự thất bại thường là một hệ thống bị sửa đổi sâu, hoặc có xung đột giữa Shelter và các trình quản lý Hồ sơ công việc khác. Không may mắn là chúng tôi không thể làm gì nhiều về điều này. \nNếu thiết bị của bạn đã có một Hồ sơ công việc được tạo từ Shelter hoặc một ứng dụng khác, bạn sẽ phải xoá hồ sơ đó trong Cài đặt -&gt; Tài khoản trước khi Shelter có thể tiếp tục.
\n
\nNgoài ra, nếu bạn đã không huỷ thiết lập theo cách thủ công, thì lý do thất bại thường là do hệ thống bị sửa đổi sâu, hoặc có xung đột giữa Shelter và các trình quản lý Hồ sơ công việc khác. Không may mắn là chúng tôi không thể làm gì nhiều về điều này.
\n \n
\nNhấn Tiếp để thoát.</string> \nNhấn Tiếp để thoát.</string>
<string name="setup_wizard_action_required_text">Bây giờ, bạn rất có thể đang thấy một thông báo từ Shelter. <b>Vui lòng nhấn vào thông báo đó</b> để hoàn thành quá trình thiết lập. <string name="setup_wizard_action_required_text">Bây giờ, bạn rất có thể đang thấy một thông báo từ Shelter. <b>Vui lòng nhấn vào thông báo đó</b> để hoàn thành quá trình thiết lập.
@ -19,10 +21,9 @@
<string name="first_run_alert_continue">Tiếp tục</string> <string name="first_run_alert_continue">Tiếp tục</string>
<string name="device_admin_desc">Dịch vụ cô lập ứng dụng</string> <string name="device_admin_desc">Dịch vụ cô lập ứng dụng</string>
<string name="device_admin_explanation">Shelter cần trở thành Quản trị viên thiết bị để thực hiện các công việc cô lập của nó.</string> <string name="device_admin_explanation">Shelter cần trở thành Quản trị viên thiết bị để thực hiện các công việc cô lập của nó.</string>
<string name="camera_proxy_activity">Chọn tệp hình ảnh</string>
<string name="setup_wizard_permissions">Một lời về các quyền</string> <string name="setup_wizard_permissions">Một lời về các quyền</string>
<string name="setup_wizard_compatibility">Sự tương thích</string> <string name="setup_wizard_compatibility">Sự tương thích</string>
<string name="setup_wizard_ready">Sẵn sàng chưa\?</string> <string name="setup_wizard_ready">Sẵn sàng chưa?</string>
<string name="setup_wizard_please_wait">Vui lòng đợi…</string> <string name="setup_wizard_please_wait">Vui lòng đợi…</string>
<string name="setup_wizard_failed">Thiết lập thất bại</string> <string name="setup_wizard_failed">Thiết lập thất bại</string>
<string name="setup_wizard_action_required">Yêu cầu hành động</string> <string name="setup_wizard_action_required">Yêu cầu hành động</string>
@ -70,12 +71,11 @@
\n \n
\nMột số hãng thiết bị giới thiệu những tuỳ biến rất gây xâm hại vào mã nguồn của Android, việc này dẫn đến sự xung đột, không tương thích và hành vi không mong đợi. Một số bản ROM tuỳ chỉnh cũng có thể giới thiệu các thay đổi phá vỡ sự tương thích, nhưng nói chung thì chúng xảy ra hiếm hơn so với những sự không tương thích do hãng điện thoại gây ra. \nMột số hãng thiết bị giới thiệu những tuỳ biến rất gây xâm hại vào mã nguồn của Android, việc này dẫn đến sự xung đột, không tương thích và hành vi không mong đợi. Một số bản ROM tuỳ chỉnh cũng có thể giới thiệu các thay đổi phá vỡ sự tương thích, nhưng nói chung thì chúng xảy ra hiếm hơn so với những sự không tương thích do hãng điện thoại gây ra.
\n \n
\nShelter chỉ là một giao diện vào tính năng Hồ sơ công việc được hệ thống cung cấp. Nếu tính năng được hệ thống cung cấp bị hỏng hoặc phi tiêu chuẩn, <b>Shelter không thể tự giải quyết vấn đề một cách nhiệm màu</b>. Nếu bạn hiện đang sử dụng một phiên bản Android được hãng sửa đổi được biết là làm hỏng Hồ sơ công việc, <b>bạn đã được cảnh báo</b>. Bạn có thể vẫn tiếp tục, nhưng không có đảm bảo rằng Shelter sẽ hoạt động đúng dưới hoàn cảnh này.</string> \nShelter chỉ là một giao diện truy cập tính năng Hồ sơ công việc được hệ thống cung cấp. Nếu tính năng được hệ thống cung cấp bị hỏng hoặc phi tiêu chuẩn, <b>Shelter không thể tự giải quyết vấn đề một cách nhiệm màu</b>. Nếu bạn hiện đang sử dụng một phiên bản Android được hãng sửa đổi được biết là làm hỏng Hồ sơ công việc, <b>bạn đã được cảnh báo</b>. Bạn có thể vẫn tiếp tục, nhưng không có đảm bảo rằng Shelter sẽ hoạt động đúng dưới hoàn cảnh này.</string>
<string name="setup_wizard_ready_text">Chúng tôi bây giờ đã sẵn sàng thiết lập Shelter cho bạn. Trước hết, vui lòng chắc chắn rằng thiết bị của bạn đang <b>không</b> trong chế độ Không làm phiền, vì bạn sẽ cần phải <b>nhấn vào một thông báo</b> vào lúc sau để hoàn thành quá trình thiết lập. <string name="setup_wizard_ready_text">Chúng tôi bây giờ đã sẵn sàng thiết lập Shelter cho bạn. Trước hết, vui lòng chắc chắn rằng thiết bị của bạn đang <b>không</b> ở chế độ Không làm phiền nếu thiết bị đang chạy Android 7 hoặc thấp hơn, vì bạn sẽ cần phải <b>nhấn vào một thông báo</b> vào lúc sau để hoàn thành quá trình thiết lập.
\n \n
\nKhi bạn đã sẵn sàng, hãy nhấn vào \"Tiếp\" để bắt đầu quá trình thiết lập.</string> \nKhi bạn đã sẵn sàng, hãy nhấn vào \"Tiếp\" để bắt đầu quá trình thiết lập.</string>
<string name="setup_wizard_please_wait_text">Chúng tôi đang cố khởi tạo Hồ sơ công việc và thiết lập Shelter trên thiết bị của bạn.</string> <string name="setup_wizard_please_wait_text">Chúng tôi đang cố khởi tạo Hồ sơ công việc và thiết lập Shelter trên thiết bị của bạn.</string>
<string name="settings_camera_proxy_desc">Trưng bày một ứng dụng máy ảnh giả cho các ứng dụng khác, việc này cho phép bạn chọn một hình ảnh bất kỳ từ Giao diện Tài liệu (và Chia sẻ tệp nếu được bật) làm bức ảnh được chụp. Việc này sẽ bật Chia sẻ tệp cho bất kỳ ứng dụng nào hỗ trợ việc gọi các ứng dụng máy ảnh khác để chụp ảnh, kể cả nếu chúng không trực tiếp hỗ trợ Giao diện Tài liệu.</string>
<string name="settings_auto_freeze_delay">Độ trễ tự động đóng băng</string> <string name="settings_auto_freeze_delay">Độ trễ tự động đóng băng</string>
<string name="settings_dont_freeze_foreground">Bỏ qua các ứng dụng ở trước</string> <string name="settings_dont_freeze_foreground">Bỏ qua các ứng dụng ở trước</string>
<string name="settings_dont_freeze_foreground_desc">KHÔNG đóng băng các ứng dụng ở trước (có hoạt động có thể nhìn thấy được) khi bạn khoá màn hình. Việc này có thể hữu ích đối với các ứng dụng như trình phát nhạc, nhưng sau đó bạn sẽ cần phải đóng băng chúng theo cách thủ công qua \"Lối tắt Đóng băng hàng loạt\".</string> <string name="settings_dont_freeze_foreground_desc">KHÔNG đóng băng các ứng dụng ở trước (có hoạt động có thể nhìn thấy được) khi bạn khoá màn hình. Việc này có thể hữu ích đối với các ứng dụng như trình phát nhạc, nhưng sau đó bạn sẽ cần phải đóng băng chúng theo cách thủ công qua \"Lối tắt Đóng băng hàng loạt\".</string>
@ -91,7 +91,6 @@
<string name="request_usage_stats">Shelter cần quyền <b>Thống kê sử dụng</b> để làm việc này. Vui lòng bật quyền đó cho <b>CẢ HAI</b> ứng dụng Shelter được hiện trong hộp thoại sau khi bạn nhấn \"Ok\". Tính năng này sẽ không hoạt động đúng nếu bạn không làm vậy.</string> <string name="request_usage_stats">Shelter cần quyền <b>Thống kê sử dụng</b> để làm việc này. Vui lòng bật quyền đó cho <b>CẢ HAI</b> ứng dụng Shelter được hiện trong hộp thoại sau khi bạn nhấn \"Ok\". Tính năng này sẽ không hoạt động đúng nếu bạn không làm vậy.</string>
<string name="settings_cross_profile_file_chooser">Chia sẻ tệp</string> <string name="settings_cross_profile_file_chooser">Chia sẻ tệp</string>
<string name="settings_cross_profile_file_chooser_desc">Khi được bật, bạn sẽ có thể duyệt / xem / chọn / sao chép các tệp trong Shelter từ hồ sơ chính và ngược lại, CHỈ qua Giao diện Tài liệu (có tên là Tệp hoặc Tài liệu trên launcher của bạn) hoặc các ứng dụng có hỗ trợ Giao diện Tài liệu (chúng chỉ có quyền truy cập tạm thời vào các tệp bạn chọn trong Giao diện Tài liệu), trong khi vẫn giữ sự cô lập hệ thống tệp.</string> <string name="settings_cross_profile_file_chooser_desc">Khi được bật, bạn sẽ có thể duyệt / xem / chọn / sao chép các tệp trong Shelter từ hồ sơ chính và ngược lại, CHỈ qua Giao diện Tài liệu (có tên là Tệp hoặc Tài liệu trên launcher của bạn) hoặc các ứng dụng có hỗ trợ Giao diện Tài liệu (chúng chỉ có quyền truy cập tạm thời vào các tệp bạn chọn trong Giao diện Tài liệu), trong khi vẫn giữ sự cô lập hệ thống tệp.</string>
<string name="settings_camera_proxy">Trình chọn hình ảnh dưới dạng máy ảnh giả</string>
<string name="settings_block_contacts_searching">Chặn tìm kiếm danh bạ</string> <string name="settings_block_contacts_searching">Chặn tìm kiếm danh bạ</string>
<string name="settings_block_contacts_searching_desc">Từ chối quyền truy cập danh bạ từ hồ sơ chính trong hồ sơ công việc.</string> <string name="settings_block_contacts_searching_desc">Từ chối quyền truy cập danh bạ từ hồ sơ chính trong hồ sơ công việc.</string>
<string name="settings_services">Dịch vụ</string> <string name="settings_services">Dịch vụ</string>

View file

@ -5,7 +5,6 @@
<string name="first_run_alert_continue">继续</string> <string name="first_run_alert_continue">继续</string>
<string name="device_admin_desc">App 隔离服务</string> <string name="device_admin_desc">App 隔离服务</string>
<string name="device_admin_explanation">Shelter 需要成为设备管理员才能正常进行 App 隔离等操作。</string> <string name="device_admin_explanation">Shelter 需要成为设备管理员才能正常进行 App 隔离等操作。</string>
<string name="camera_proxy_activity">选择图片文件</string>
<!-- Notifications --> <!-- Notifications -->
<string name="notifications_important">Shelter 重要通知</string> <string name="notifications_important">Shelter 重要通知</string>
<string name="finish_provision_title">点击这里完成 Shelter 初始化</string> <string name="finish_provision_title">点击这里完成 Shelter 初始化</string>
@ -46,8 +45,6 @@
<string name="settings_interaction">交互</string> <string name="settings_interaction">交互</string>
<string name="settings_cross_profile_file_chooser">文件穿梭</string> <string name="settings_cross_profile_file_chooser">文件穿梭</string>
<string name="settings_cross_profile_file_chooser_desc">打开以后,您将可以且仅可以从系统的 Documents UI (启动器上的名称为 文件 或 下载) 或支持 Documents UI 的 APP 中 浏览 / 查看 / 选择 / 复制 Shelter 内的文件到主用户,反之亦然。这不会影响对文件系统的隔离。即使是支持 Documents UI 的 App 也只能临时获取您选择的文件的访问权限。</string> <string name="settings_cross_profile_file_chooser_desc">打开以后,您将可以且仅可以从系统的 Documents UI (启动器上的名称为 文件 或 下载) 或支持 Documents UI 的 APP 中 浏览 / 查看 / 选择 / 复制 Shelter 内的文件到主用户,反之亦然。这不会影响对文件系统的隔离。即使是支持 Documents UI 的 App 也只能临时获取您选择的文件的访问权限。</string>
<string name="settings_camera_proxy">图片选择器伪装为相机</string>
<string name="settings_camera_proxy_desc">向其他 App 提供一个伪装的相机 App允许您从 Documents UI (包括 "文件穿梭" 功能) 选择任意文件作为 "拍摄结果"。这将使您能够在任何支持调用系统相机的 App 中选择来自 "文件穿梭" 的文件,无论 App 本身是否支持 Documents UI。</string>
<string name="settings_services">服务</string> <string name="settings_services">服务</string>
<string name="settings_auto_freeze_service">自动冻结服务</string> <string name="settings_auto_freeze_service">自动冻结服务</string>
<string name="settings_auto_freeze_service_desc">在您锁屏时,自动冻结您通过 \"解冻并运行\" 启动的应用。</string> <string name="settings_auto_freeze_service_desc">在您锁屏时,自动冻结您通过 \"解冻并运行\" 启动的应用。</string>
@ -87,7 +84,7 @@
<string name="settings_translate">翻译</string> <string name="settings_translate">翻译</string>
<string name="settings_block_contacts_searching">阻止访问联系人</string> <string name="settings_block_contacts_searching">阻止访问联系人</string>
<string name="settings_block_contacts_searching_desc">阻止主用户中的应用访问工作用户的联系人资料。</string> <string name="settings_block_contacts_searching_desc">阻止主用户中的应用访问工作用户的联系人资料。</string>
<string name="setup_wizard_welcome">欢迎来到Shelter</string> <string name="setup_wizard_welcome">欢迎来到 Shelter</string>
<string name="setup_wizard_permissions">关于权限的说明</string> <string name="setup_wizard_permissions">关于权限的说明</string>
<string name="setup_wizard_please_wait">请稍等…</string> <string name="setup_wizard_please_wait">请稍等…</string>
<string name="setup_wizard_please_wait_text">我们正在尝试初始化工作档案并在您的设备上设置 Shelter。</string> <string name="setup_wizard_please_wait_text">我们正在尝试初始化工作档案并在您的设备上设置 Shelter。</string>
@ -115,9 +112,9 @@
\nShelter可能会在你的设备上正确工作。 一些设备供应商在安卓代码库中引入了非常具有侵略性的定制导致冲突、不兼容和意外行为。一些定制的ROM也会引入破坏兼容性的变化但一般来说与手机供应商引入的不兼容问题相比这些情况更少发生。 \nShelter可能会在你的设备上正确工作。 一些设备供应商在安卓代码库中引入了非常具有侵略性的定制导致冲突、不兼容和意外行为。一些定制的ROM也会引入破坏兼容性的变化但一般来说与手机供应商引入的不兼容问题相比这些情况更少发生。
\n \n
\nSheler只是一个进入系统所提供的工作档案功能的接口。如果系统提供的功能是坏的或不标准的<b>Shelter不可能自己神奇地解决这个问题</b>。如果你目前使用的是供应商修改过的Android版本而该版本已知会破坏工作档案<b>你已经被警告了</b>。你可以继续进行但不能保证Shelter在这些情况下的行为是正常的。</string> \nSheler只是一个进入系统所提供的工作档案功能的接口。如果系统提供的功能是坏的或不标准的<b>Shelter不可能自己神奇地解决这个问题</b>。如果你目前使用的是供应商修改过的Android版本而该版本已知会破坏工作档案<b>你已经被警告了</b>。你可以继续进行但不能保证Shelter在这些情况下的行为是正常的。</string>
<string name="setup_wizard_welcome_text">Shelter是一个帮助你在一个独立的配置文件中运行其他应用程序的应用程序。它通过利用Android<b>工作档案</b>功能实现。 <string name="setup_wizard_welcome_text">Shelter 是一个帮助你在独立的配置文件中运行其他 App 的应用程序。它基于 Android <b>工作档案</b>功能实现。
\n \n
\n点击 \"下一步\",我们将向你提供更多关于Shelter的信息并指导你完成设置过程 \n点击 \"下一步\",我们将向你提供更多关于 Shelter 的信息,并带领你完成设置
\n \n
\n我们建议你仔细阅读以下所有的页面。</string> \n我们建议你仔细阅读以下所有的页面。</string>
<string name="setup_wizard_action_required_text">您现在应该会看到来自 Shelter 的通知。 <b> 请点击该通知 </b> 完成设置过程。 <string name="setup_wizard_action_required_text">您现在应该会看到来自 Shelter 的通知。 <b> 请点击该通知 </b> 完成设置过程。

View file

@ -2,33 +2,32 @@
<resources> <resources>
<string name="settings_services">服務</string> <string name="settings_services">服務</string>
<string name="settings_auto_freeze_service">自動凍結服務</string> <string name="settings_auto_freeze_service">自動凍結服務</string>
<string name="settings_auto_freeze_service_desc">在您鎖定螢幕時,自動凍結您通過「解除凍結並啟動」啓動的應用。</string> <string name="settings_auto_freeze_service_desc">在您鎖屏時,自動凍結您通過 \"解凍並運行\" 啓動的應用。</string>
<string name="settings_auto_freeze_delay">自動凍結延遲</string> <string name="settings_auto_freeze_delay">凍結延時</string>
<string name="settings_about">關於</string> <string name="settings_about">關於</string>
<string name="settings_version">版本</string> <string name="settings_version">版本</string>
<string name="settings_source_code">原始</string> <string name="settings_source_code">源代</string>
<string name="settings_translate">翻譯</string> <string name="settings_translate">翻譯</string>
<string name="settings_bug_report">錯誤報告/問題追蹤</string> <string name="settings_bug_report">Bug 報告</string>
<string name="device_admin_toast">您必須授予「裝置管理員」權限才能使 Shelter 正常工作。請重試。</string> <string name="device_admin_toast">您必須授予「裝置管理員」權限才能使 Shelter 正常工作。請重試。</string>
<string name="provision_still_pending">我們正在爲您準備 Shelter 帳戶,請稍候……</string> <string name="provision_still_pending">我們正在爲您準備 Shelter 帳戶,請稍候……</string>
<string name="msg_device_unsupported">權限不足或裝置不相容</string> <string name="msg_device_unsupported">權限不足 / 設備不兼容</string>
<string name="work_profile_not_found">沒有找到工作資料夾,請重新啓動應用程式以重新佈建帳戶。</string> <string name="work_profile_not_found">工作用戶不可用,請重新啓動 Shelter 以重新初始化。</string>
<string name="work_profile_provision_failed">無法佈建工作資料夾,您可能需要重啓 Shelter 並重試。</string> <string name="work_profile_provision_failed">無法創建工作用戶,您可以重啓 Shelter 並再試一次。</string>
<string name="uninstall_success">應用程式「%s」解除安裝成功</string> <string name="uninstall_success">應用 \"%s\" 卸載成功</string>
<string name="clone_success">應用程式「%s」克隆成功</string> <string name="clone_success">應用 \"%s\" 克隆成功</string>
<string name="freeze_success">應用程式「%s」凍結成功</string> <string name="freeze_success">應用 \"%s\" 凍結成功</string>
<string name="unfreeze_success">應用程式「%s」解除凍結成功</string> <string name="unfreeze_success">應用 \"%s\" 解凍成功</string>
<string name="clone_fail_system_app">無法將系統應用程式克隆至 Shelter 沒有管理權限的帳戶中。</string> <string name="clone_fail_system_app">無法將系統應用克隆到 Shelter 無權管理的用戶下。</string>
<string name="uninstall_fail_system_app">無法在 Shelter 沒有管理權限的帳戶中解除安裝系統應用程式。</string> <string name="uninstall_fail_system_app">無法在 Shelter 無權管理的用戶中卸載系統應用。</string>
<string name="app_context_menu_title">%s 可用作業</string> <string name="app_context_menu_title">%s 可用操作</string>
<string name="freeze_all_success">所有在「自動凍結」列表內的應用程式均已成功凍結。</string> <string name="freeze_all_success">所有在 \"自動凍結\" 列表中的應用都已經凍結成功。</string>
<string name="launch_app_fail">無法啓動沒有 GUI 的應用程式 %s。</string> <string name="launch_app_fail">無法啓動沒有用戶界面的應用 %s。</string>
<string name="miui_cannot_clone">當前無法在 MIUI 上將非系統應用程式克隆到其他帳戶。請將系統的應用商店(如 &lt;b&gt; Play 商店&lt;/b&gt;)克隆到其他帳戶中,然後從那里安裝應用程式。<b>Play Store</b>) into the other profile and then install apps from there.</string> <string name="miui_cannot_clone">目前無法在 MIUI 上克隆非系統應用。請先克隆您的系統應用商店 (如 <b>Play Store</b>) 然後從克隆的應用商店中安裝應用。</string>
<string name="continue_anyway">忽略並繼續</string> <string name="continue_anyway">無視並繼續</string>
<string name="show_all_warning">修改列表中預設隱藏的應用程式可能會導致崩潰和各種意外行為。但是當存在故障的廠商客製化 ROM 在預設情況下未在工作資料中啟用所有必需的系統應用程式時,此功能很有用。如果您選擇繼續,請確保您瞭解您在做什麼。</string> <string name="show_all_warning">對列表中默認隱藏的應用執行操作可能導致崩潰以及其他各種無法預料的行爲。但是當您的手機廠商沒有正確在工作用戶中開啓所有必要的系統組件應用的時候這個功能可以幫助您解決問題。如果您選擇繼續您確保您瞭解您在做什麼Shelter 無法提供任何保證。</string>
<string name="settings_camera_proxy_desc">向其他應用程式提供一個僞裝爲相機的應用程式,允許您從 Documents UI包括 檔案穿梭 功能)選擇任意檔案作爲拍攝結果。這將是您能在其他支援調用相機的應用中選擇來自 檔案穿梭 的檔案,即使他們不支援 Documents UI。</string> <string name="provision_finished">Shelter 已初始化完成,正在啓動 Shelter。如果 Shelter 沒有自動啓動,請您從啓動器手動啓動它。</string>
<string name="provision_finished">Shelter 設定完成。現在需要重新啟動 Shelter。如果 Shelter 沒有自動啟動,您可能需要從啟動器中再次啟動它。</string> <string name="settings_dont_freeze_foreground">跳過前臺應用</string>
<string name="settings_dont_freeze_foreground">跳過前台應用程式</string>
<string name="first_run_alert">您即將開始設定 Shelter。 <string name="first_run_alert">您即將開始設定 Shelter。
\n \n
\n此應用程式基於 Android 的 <b>工作資料夾</b> 功能以隔離應用程式。如果您正在使用的廠商/客製化 ROM 破壞了此功能(如 MIUI您應該立即 <b>退出</b><b>不要</b> 使用此應用程式。 \n此應用程式基於 Android 的 <b>工作資料夾</b> 功能以隔離應用程式。如果您正在使用的廠商/客製化 ROM 破壞了此功能(如 MIUI您應該立即 <b>退出</b><b>不要</b> 使用此應用程式。
@ -38,92 +37,90 @@
\n如果您是開發者並希望使 Shelter 在 MIUI 等不相容的 ROM 上工作,歡迎提交 pull request。如果您的裝置在運行不相容的 ROM 時損毀,開發者將 <b>不承擔任何責任</b> \n如果您是開發者並希望使 Shelter 在 MIUI 等不相容的 ROM 上工作,歡迎提交 pull request。如果您的裝置在運行不相容的 ROM 時損毀,開發者將 <b>不承擔任何責任</b>
\n \n
\n您將在完成設定後收到一則通知請確定您的裝置 <b>不在</b> 勿擾模式中。</string> \n您將在完成設定後收到一則通知請確定您的裝置 <b>不在</b> 勿擾模式中。</string>
<string name="settings_cross_profile_file_chooser_desc">啓用後,您將可以且僅可以從系統的 Documents UI啓動器上的名稱爲 檔案)或支援 Documents UI 的應用程式中瀏覽、查看、選擇、複製 Shelter 內的檔案至主帳戶,反之亦然。這不會影響對檔案系統的隔離</string> <string name="settings_cross_profile_file_chooser_desc">打開以後,您將可以且僅可以從系統的 Documents UI (啓動器上的名稱爲 文件 或 下載) 或支持 Documents UI 的 APP 中 瀏覽 / 查看 / 選擇 / 複製 Shelter 內的文件到主用戶,反之亦然。這不會影響對文件系統的隔離。即使是支持 Documents UI 的 App 也只能臨時獲取您選擇的文件的訪問權限</string>
<string name="settings_dont_freeze_foreground_desc">不在您鎖定螢幕時凍結前台應用程式(有可見活動)。這對於音樂播放器等應用來說很有用,但您需要手動使用「批次凍結捷徑」凍結它們。</string> <string name="settings_dont_freeze_foreground_desc">在您鎖屏的時候,不要凍結前臺應用 (鎖屏時仍有可見窗口的應用)。這主要用於音樂播放器等 App但您將需要在使用完成後手動使用 \"批量凍結\" 快捷方式凍結它們。</string>
<string name="work_mode_disabled">您似乎在啓動 Shelter 的同時停用了工作資料夾,如果您現在已經啓用了工作資料夾,請重新啓動 Shelter。</string> <string name="work_mode_disabled">工作模式 (Work Mode) 已被您關閉,請開啓後再啓動 Shelter。</string>
<string name="shortcut_create_success">已在您的啓動器上創建捷徑</string> <string name="shortcut_create_success">快捷方式已創建</string>
<string name="request_usage_stats">Shelter 需要 <b>使用記錄存取權</b> 來做這件事,請在點按「確定」後出現的窗口中爲 <b>兩個</b> Shelter 應用程式均授予此權限,如果沒有授權會導致此功能無法正常運作。</string> <string name="request_usage_stats">Shelter 需要 <b>使用情況數據</b> 來做這件事。請在按 \"確定\" 後出現的窗口中,對 <b>兩個</b> Shelter都打開此權限。如果沒有全部打開該功能將無法正確運作。</string>
<string name="request_storage_manager">Shelter 需要訪問 <b>全部檔案</b> 的權限以啓用檔案穿梭。請在點按「確定」後出現的窗口中爲 <b>兩個</b> Shelter 應用程式均授予此權限。</string> <string name="request_storage_manager">File Shuttle 需要訪問 <b>全部文件</b> 的權限。請在接下來的對話框中對 <b>兩個 Shelter</b> (工作用戶內 / 外) 都啓用該權限。</string>
<string name="request_system_alert">Shelter 需要 <b>顯示在其他應用上層</b> 的權限以正常使用檔案穿梭。請在點按「確定」後出現的窗口中爲 <b>兩個</b> Shelter 應用程式均授予此權限,此權限用於在後台啟動檔案穿梭服務</string> <string name="request_system_alert">File Shuttle 需要 <b>懸浮窗</b> 權限才能在 Shelter 不在運行時正常啓動。請在接下來的對話框中對 <b>兩個 Shelter</b> (工作用戶內 / 外) 都打開該權限</string>
<string name="batch_operation">次作業</string> <string name="batch_operation">量操作</string>
<string name="clone_to_work_profile">克隆到 Shelter (工作資料夾)</string> <string name="clone_to_work_profile">克隆到 Shelter (工作用戶)</string>
<string name="unsupported_launcher">無法新增捷徑至您的啓動器。請連絡開發者以獲得更多資訊</string> <string name="unsupported_launcher">無法在您的啓動器上添加快捷方式,請聯繫開發者</string>
<string name="first_run_alert_cancel">再見</string> <string name="first_run_alert_cancel">再見</string>
<string name="first_run_alert_continue">繼續</string> <string name="first_run_alert_continue">繼續</string>
<string name="device_admin_desc">應用程式隔離服務</string> <string name="device_admin_desc">App 隔離服務</string>
<string name="device_admin_explanation">Shelter 需要成為裝置管理員才能執行其隔離任務。</string> <string name="device_admin_explanation">Shelter 需要成爲設備管理員才能正常進行 App 隔離等操作。</string>
<string name="camera_proxy_activity">選擇一個圖片檔案</string> <string name="finish_provision_title">點擊這裏完成 Shelter 初始化</string>
<string name="finish_provision_title">點此完成 Shelter 的設定</string> <string name="finish_provision_desc">您距離使用 Shelter 僅有一步之遙。</string>
<string name="finish_provision_desc">恭喜!您離完成 Shelter 的設定僅隔一步之遙。</string>
<string name="service_title">Shelter 服務</string> <string name="service_title">Shelter 服務</string>
<string name="service_desc">Shelter 正在運行</string> <string name="service_desc">Shelter 正在運行 </string>
<string name="service_auto_freeze_title">正在等待自動凍結</string> <string name="service_auto_freeze_title">自動凍結等待中</string>
<string name="service_auto_freeze_now">凍結</string> <string name="service_auto_freeze_now">凍結</string>
<string name="app_installing">正在安裝……</string> <string name="app_installing">正在安裝……</string>
<string name="fragment_profile_main"></string> <string name="fragment_profile_main"></string>
<string name="list_item_disabled">「已凍結」 %s</string> <string name="list_item_disabled">[已凍結] %s</string>
<string name="service_auto_freeze_desc">Shelter 將會在下一次鎖定螢幕時凍結使用「解除凍結並啟動」的應用程式</string> <string name="service_auto_freeze_desc">Shelter 將會在您下次鎖屏時自動凍結使用 \"解凍並運行\" 啓動的應用</string>
<string name="fragment_profile_work">Shelter</string> <string name="fragment_profile_work">Shelter</string>
<string name="notifications_important">Shelter 重要通知</string> <string name="notifications_important">Shelter 重要通知</string>
<string name="clone_to_main_profile">克隆到主</string> <string name="clone_to_main_profile">克隆到主</string>
<string name="uninstall_app">解除安裝</string> <string name="uninstall_app">卸載</string>
<string name="freeze_app">凍結</string> <string name="freeze_app">凍結</string>
<string name="unfreeze_app">解除凍結</string> <string name="unfreeze_app">解除凍結</string>
<string name="launch">啟動</string> <string name="launch">運行</string>
<string name="create_unfreeze_shortcut">創建解除凍結並運行的捷徑</string> <string name="create_unfreeze_shortcut">創建解凍並運行快捷方式</string>
<string name="unfreeze_and_launch">除凍結並啟動</string> <string name="unfreeze_and_launch">凍並運行</string>
<string name="auto_freeze">自動凍結</string> <string name="auto_freeze">自動凍結</string>
<string name="allow_cross_profile_widgets">允許在主戶中創建小工具</string> <string name="allow_cross_profile_widgets">允許在主戶中創建小工具</string>
<string name="search"></string> <string name="search"></string>
<string name="freeze_all">凍結</string> <string name="freeze_all">凍結</string>
<string name="freeze_all_shortcut">凍結</string> <string name="freeze_all_shortcut">凍結</string>
<string name="install_app_to_profile">安裝 APK 至 Shelter</string> <string name="install_app_to_profile">安裝 APK 到 Shelter</string>
<string name="install_app_to_profile_success">已成功在工作資料夾中安裝應用程式。</string> <string name="install_app_to_profile_success">已成功在工作用戶內安裝 APK。</string>
<string name="show_all">顯示全部應用程式</string> <string name="show_all">顯示全部應用</string>
<string name="documents_ui">打開檔案管理員</string> <string name="documents_ui">打開文件管理器</string>
<string name="settings">設定</string> <string name="settings">設置</string>
<string name="settings_interaction">互動</string> <string name="settings_interaction">交互</string>
<string name="settings_cross_profile_file_chooser">檔案穿梭</string> <string name="settings_cross_profile_file_chooser">文件穿梭</string>
<string name="settings_camera_proxy">圖片選擇器僞裝爲相機</string> <string name="create_freeze_all_shortcut">創建批量凍結快捷方式</string>
<string name="create_freeze_all_shortcut">創建批次凍結的捷徑</string> <string name="settings_block_contacts_searching">阻止訪問聯繫人</string>
<string name="settings_block_contacts_searching">封鎖聯絡人搜尋</string> <string name="settings_block_contacts_searching_desc">阻止主用戶中的應用訪問工作用戶的聯繫人資料。</string>
<string name="settings_block_contacts_searching_desc">阻止主帳戶中的應用程式存取工作資料夾中的連絡人。</string>
<string name="setup_wizard_welcome">歡迎來到 Shelter</string> <string name="setup_wizard_welcome">歡迎來到 Shelter</string>
<string name="setup_wizard_welcome_text">Shelter 可以幫助你隔離某些應用程式,透過使用 <b>Work Profile</b> 來創建一個新profile, 與你現正使用的profile是隔絕的 <string name="setup_wizard_welcome_text">Shelter 是一個幫助你在獨立的配置文件中運行其他 App 的應用程序。它基於 Android 的<b>工作檔案</b>功能實現
\n \n
\n如欲了解詳情並開始準備安裝,請按\"Next\" \n點擊 \"下一步\",我們將向你提供更多關於 Shelter 的信息,並帶領你完成設置
\n \n
\n請小心留意下幾頁的須知</string> \n我們建議你仔細閱讀以下所有的頁面</string>
<string name="setup_wizard_permissions_text">Shelter 本身不會要求權限但創建Work Profile 後,會成為<b>Work Profile 的管理員</b> <string name="setup_wizard_permissions_text">默認情況下Shelter不會要求任何個人權限。然而一旦你繼續進行設置過程Shelter將嘗試設置一個工作檔案併成爲此檔案的<b>檔案管理員</b>
\n \n
\nShelter 將會在Work Profile 內取得相當於管理員的權限為了令Shelter 正常運作,這些權限是必須的。 \n這將授予Shelter在配置文件內的大量權限與設備管理員的權限相當儘管只限於配置文件內。爲了實現Shelter的大部分功能成爲檔案管理員是必要的。
\n \n
\n某些先進功能或需要在<b>Work Profile 外</b>徵求額外權限。如有需要Shelter 將會在您開啟該功能時,邀請你提供該權限。</string> \nShelter 的一些高級功能可能需要更多權限<b>外部</b>工作資料。當需要時Shelter將在你啓用相應的功能時單獨要求這些權限。</string>
<string name="setup_wizard_compatibility_text">Shelter 為基於Android Open Source Project (AOSP) 的Android 作業系統而設包括Google 版本 (Pixel 系列)的Android, 及<b>大部數基於AOSP 的開源作業系統</b>如LineageOS, Calyx OS等。如果你使用上述作業系統Shelter 很大機會可以正常運作。 <string name="setup_wizard_compatibility_text">Shelter是在類似AOSP的安卓衍生品上開發和測試的。這包括AOSP安卓開源項目谷歌安卓在Pixels上以及<b>大多數基於AOSP的開源定製ROM</b>如LineageOS。如果你的手機正在運行上面列出的安卓衍生品之一那麼恭喜你Shelter可能會正常工作。
\n \n
\n某些公司會大幅修改 Android, 可能會導致不兼容,衝突,或其他未知反應。間中,某些作業系統亦會作出一些導致不兼容的變化 \nShelter可能會在你的設備上正確工作。 一些設備供應商在安卓代碼庫中引入了非常具有侵略性的定製導致衝突、不兼容和意外行爲。一些定製的ROM也會引入破壞兼容性的變化但一般來說與手機供應商引入的不兼容問題相比這些情況更少發生
\n \n
\nShelter 僅提供創建Work Profile 的版面, <b>並不能解決</b>非標準或有問題的軟件或硬件。如果你的Android 版本不符合上述描述, <b>請注意:</b>你可以安全地使用Shelter, 但Shelter 未必可以正常運作</string> \nSheler只是一個進入系統所提供的工作檔案功能的接口。如果系統提供的功能是壞的或不標準的<b>Shelter不可能自己神奇地解決這個問題</b>。如果你目前使用的是供應商修改過的Android版本而該版本已知會破壞工作檔案<b>你已經被警告了</b>。你可以繼續進行但不能保證Shelter在這些情況下的行爲是正常的</string>
<string name="setup_wizard_action_required_text">Shelter 已經發出了一則通知。<b>請按該通知</b>以完成設置 <string name="setup_wizard_action_required_text">您現在應該會看到來自 Shelter 的通知。 <b> 請點擊該通知 </b> 完成設置過程
\n \n
\n如果該通知沒有出現,請確保電話現在沒有使用勿擾模式,並再次檢查所有通知 \n如果您沒有看到通知,請確保您的設備未處於“請勿打擾”模式並嘗試下拉通知中心
\n \n
\n欲重設Shelter可以去電話設定清除Shelter 的數據。</string> \n要重置 Shelter 並重新開始,您可以在設置中清除 Shelter 的數據。</string>
<string name="setup_wizard_permissions">關於Shelter 所需的權限</string> <string name="setup_wizard_permissions">關於權限的說明</string>
<string name="setup_wizard_compatibility">兼容性</string> <string name="setup_wizard_compatibility">兼容性</string>
<string name="setup_wizard_failed">設置失敗</string> <string name="setup_wizard_failed">安裝失敗</string>
<string name="setup_wizard_please_wait_text">Shelter 正在啟動 Work Profile</string> <string name="setup_wizard_please_wait_text">我們正在嘗試初始化工作檔案並在您的設備上設置 Shelter</string>
<string name="setup_wizard_please_wait">請稍</string> <string name="setup_wizard_please_wait">請稍</string>
<string name="setup_wizard_ready">準備好</string> <string name="setup_wizard_ready">準備好?</string>
<string name="setup_wizard_ready_text">請確保電話現在<b>沒有</b>使用勿擾模式以容許一則通知出現以作完成設置Shelter。請<b>按該則通知</b> <string name="setup_wizard_ready_text">我們現在已準備好爲您設置 Shelter。如果您的設備運行的是 Android 7 或更低版本,請首先確保您的設備是 <b> 不是 </b> 請勿打擾模式,因爲您需要 <b> 點擊通知 </b> 稍後完成設置過程
\n \n
\n完成後,請按下頁</string> \n準備好後,單擊“下一步”開始設置過程</string>
<string name="setup_wizard_failed_text">很遺憾地通知您,我們無法為您設置 Shelter。 <string name="setup_wizard_failed_text">我們很遺憾地通知您,我們無法爲您設置Shelter。
\n \n
\n如果您的設備已經有一個工作配置文件,無論是來自以前安裝的 Shelter 還是來自其他應用程序,您必須在設置 -&gt; 帳戶中刪除該配置文件,然後 Shelter 才能繼續。 \n如果您的設備已經有工作配置文件無論是之前安裝的Shelter所創建或者其他應用程序創建您都必須在設置 -&gt; 帳戶中刪除該配置文件,然後 Shelter 才能繼續。
\n \n
\n否則,如果您沒有手動取消設置,那麼失敗的原因最常見的原因是系統進行了大量修改,或者 Shelter 與其他工作配置文件管理器之間存在衝突。 不幸的是,我們對此無能力。 \n如果您沒有手動取消設置那麼失敗的最常見原因是系統被大量修改,或者 Shelter 與其他工作配置文件管理器之間存在衝突。 不幸的是,我們對此無能力。
\n \n
\n點擊“下一步”退出。</string> \n單擊下一步退出。</string>
<string name="setup_wizard_action_required">需要你的輸入</string> <string name="setup_wizard_action_required">需要採取的行動</string>
</resources> </resources>

View file

@ -4,6 +4,8 @@
<color name="colorAccent">#009688</color> <color name="colorAccent">#009688</color>
<color name="colorAccentSetupWizard">#FFC107</color> <color name="colorAccentSetupWizard">#FFC107</color>
<color name="colorNavigationBar">#E0F2F1</color> <color name="colorNavigationBar">#E0F2F1</color>
<color name="colorNavigationIconTint">@color/colorAccent</color>
<color name="colorNavigationIconTintSelected">@color/colorTextPrimary</color>
<color name="colorTextPrimary">#333333</color> <color name="colorTextPrimary">#333333</color>
<color name="colorTextSecondary">#999999</color> <color name="colorTextSecondary">#999999</color>
<color name="disabledAppBackground">#E0F2F1</color> <color name="disabledAppBackground">#E0F2F1</color>

View file

@ -5,7 +5,7 @@
<string name="device_admin_label" translatable="false">Shelter</string> <string name="device_admin_label" translatable="false">Shelter</string>
<string name="device_admin_desc">App Isolation Service</string> <string name="device_admin_desc">App Isolation Service</string>
<string name="device_admin_explanation">Shelter needs to become Device Admin in order to perform its isolation tasks.</string> <string name="device_admin_explanation">Shelter needs to become Device Admin in order to perform its isolation tasks.</string>
<string name="camera_proxy_activity">Choose an Image File</string> <string name="payment_stub_description">Payment Service Stub (DO NOT USE)</string>
<!-- Setup Wizard --> <!-- Setup Wizard -->
<string name="setup_wizard_welcome">Welcome to Shelter</string> <string name="setup_wizard_welcome">Welcome to Shelter</string>
@ -51,6 +51,7 @@
<string name="unfreeze_and_launch">Unfreeze and Launch</string> <string name="unfreeze_and_launch">Unfreeze and Launch</string>
<string name="auto_freeze">Auto Freeze</string> <string name="auto_freeze">Auto Freeze</string>
<string name="allow_cross_profile_widgets">Allow Widgets in Main Profile</string> <string name="allow_cross_profile_widgets">Allow Widgets in Main Profile</string>
<string name="allow_cross_profile_interaction">Allow Cross-Profile Interaction</string>
<!-- Action Bar Options Menu --> <!-- Action Bar Options Menu -->
<string name="search">Search</string> <string name="search">Search</string>
@ -68,10 +69,10 @@
<string name="settings_interaction">Interaction</string> <string name="settings_interaction">Interaction</string>
<string name="settings_cross_profile_file_chooser">File Shuttle</string> <string name="settings_cross_profile_file_chooser">File Shuttle</string>
<string name="settings_cross_profile_file_chooser_desc">When enabled, you\'ll be able to browse / view / pick / copy files in Shelter from main profile and vice-versa, ONLY through Documents UI (named Files or Documents on your launcher) or apps with Documents UI support (they only gain temporary access to files you choose in Documents UI), while still pertaining the filesystem isolation.</string> <string name="settings_cross_profile_file_chooser_desc">When enabled, you\'ll be able to browse / view / pick / copy files in Shelter from main profile and vice-versa, ONLY through Documents UI (named Files or Documents on your launcher) or apps with Documents UI support (they only gain temporary access to files you choose in Documents UI), while still pertaining the filesystem isolation.</string>
<string name="settings_camera_proxy">Image Chooser as Fake Camera</string>
<string name="settings_camera_proxy_desc">Present a fake camera app to other apps, allowing you to choose an arbitrary image from Documents UI (and File Shuttle if enabled) as the taken picture. This enables File Shuttle for any app that supports invoking other camera apps to take a picture, even if they don\'t support Documents UI natively.</string>
<string name="settings_block_contacts_searching">Block Contacts Searching</string> <string name="settings_block_contacts_searching">Block Contacts Searching</string>
<string name="settings_block_contacts_searching_desc">Deny access from main profile to contacts inside work profile.</string> <string name="settings_block_contacts_searching_desc">Deny access from main profile to contacts inside work profile.</string>
<string name="settings_payment_stub">Payment Service Stub</string>
<string name="settings_payment_stub_desc">Enable a fake NFC payment service in the main profile, so that the "contactless payments" option under Settings - NFC becomes enabled to allow you to choose a payment app inside the work profile. This works around an Android bug that makes it impossible to select a payment app inside the work profile if none is available in the main profile.</string>
<string name="settings_services">Services</string> <string name="settings_services">Services</string>
<string name="settings_auto_freeze_service">Auto Freeze Service</string> <string name="settings_auto_freeze_service">Auto Freeze Service</string>
<string name="settings_auto_freeze_service_desc">When the screen is locked, automatically freeze apps launched from \"Unfreeze &amp; Launch Shortcut\".</string> <string name="settings_auto_freeze_service_desc">When the screen is locked, automatically freeze apps launched from \"Unfreeze &amp; Launch Shortcut\".</string>
@ -113,4 +114,7 @@
<!-- MIUI --> <!-- MIUI -->
<string name="miui_cannot_clone">Cloning non-system apps to another profile is currently not possible on MIUI. Please clone your system\'s app store (e.g. <b>Play Store</b>) into the other profile and then install apps from there.</string> <string name="miui_cannot_clone">Cloning non-system apps to another profile is currently not possible on MIUI. Please clone your system\'s app store (e.g. <b>Play Store</b>) into the other profile and then install apps from there.</string>
<string name="continue_anyway">Continue anyway</string> <string name="continue_anyway">Continue anyway</string>
<!-- Formats -->
<string name="format_minutes">%d min</string>
</resources> </resources>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<host-apdu-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/payment_stub_description"
android:requireDeviceUnlock="false">
<aid-group android:description="@string/payment_stub_description"
android:category="payment">
<!-- This is not a real AID -->
<aid-filter android:name="F0010203040506"/>
</aid-group>
</host-apdu-service>

View file

@ -10,16 +10,16 @@
android:title="@string/settings_cross_profile_file_chooser" android:title="@string/settings_cross_profile_file_chooser"
android:summary="@string/settings_cross_profile_file_chooser_desc" /> android:summary="@string/settings_cross_profile_file_chooser_desc" />
<androidx.preference.CheckBoxPreference
android:key="settings_camera_proxy"
android:title="@string/settings_camera_proxy"
android:summary="@string/settings_camera_proxy_desc" />
<androidx.preference.CheckBoxPreference <androidx.preference.CheckBoxPreference
android:key="settings_block_contacts_searching" android:key="settings_block_contacts_searching"
android:title="@string/settings_block_contacts_searching" android:title="@string/settings_block_contacts_searching"
android:summary="@string/settings_block_contacts_searching_desc" /> android:summary="@string/settings_block_contacts_searching_desc" />
<androidx.preference.CheckBoxPreference
android:key="settings_payment_stub"
android:title="@string/settings_payment_stub"
android:summary="@string/settings_payment_stub_desc" />
</androidx.preference.PreferenceCategory> </androidx.preference.PreferenceCategory>
<androidx.preference.PreferenceCategory <androidx.preference.PreferenceCategory
@ -30,7 +30,7 @@
android:title="@string/settings_auto_freeze_service" android:title="@string/settings_auto_freeze_service"
android:summary="@string/settings_auto_freeze_service_desc" /> android:summary="@string/settings_auto_freeze_service_desc" />
<androidx.preference.Preference <androidx.preference.DropDownPreference
android:dependency="settings_auto_freeze_service" android:dependency="settings_auto_freeze_service"
android:key="settings_auto_freeze_delay" android:key="settings_auto_freeze_delay"
android:title="@string/settings_auto_freeze_delay" /> android:title="@string/settings_auto_freeze_delay" />

69
art/egg_f_monochrome.svg Normal file
View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="c5e7cda2-40db-4fe8-bf88-df9f364d243b"
data-name="EGG"
viewBox="0 0 737.01174 850.35934"
version="1.1"
sodipodi:docname="egg_f_monochrome.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
width="737.01172"
height="850.35931"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.87215581"
inkscape:cx="488.44483"
inkscape:cy="250.52863"
inkscape:window-width="1916"
inkscape:window-height="1026"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="c5e7cda2-40db-4fe8-bf88-df9f364d243b"
showgrid="false" />
<defs
id="defs1">
<style
id="style1">.ffca8004-faa4-460f-9db2-0ce456f4982b{opacity:0.2;}.\34 34927b1-b62e-41a1-85d4-12dc9e893b7e{fill:#efbc47;}.\30 aa0fe2b-2b82-41a2-a160-82ad7d75e0ca,.\32 36ecd15-c982-4eb5-93ac-b08221203b4e,.\34 34927b1-b62e-41a1-85d4-12dc9e893b7e,.\38 d0f6148-f92c-4962-83ab-fd87f0e1ea6b,.d1103f53-cdd8-4e15-b9ef-ecdc9c405dfb{fill-rule:evenodd;}.d1103f53-cdd8-4e15-b9ef-ecdc9c405dfb{fill:#e2cdb3;}.\32 36ecd15-c982-4eb5-93ac-b08221203b4e{fill:#fcf1e3;}.\37 958d8f3-6a5a-4841-ae4a-57eb7ddf450c{fill:#20190a;}.\38 d0f6148-f92c-4962-83ab-fd87f0e1ea6b{fill:#f9f8f4;}.\30 aa0fe2b-2b82-41a2-a160-82ad7d75e0ca{fill:#f9e4c4;}</style>
</defs>
<title
id="title1">egg_f</title>
<path
d="m 171.041,181.0195 -85,77.5898 -5.2129,-6.6367 C 50.5274,317.7463 31.1249,390.5744 28.7168,463.1484 l 28.0039,13.7422 113.3809,-80 28.3496,80 28.3496,-26.6797 56.75,29.3398 56.6895,-56 56.7011,80 56.6895,-53.3613 56.6894,53.3613 85,-106.7207 85,106.7207 28.3223,-26.3574 c -0.1951,-76.3504 -19.7698,-153.5206 -51.416,-222.9551 l -32.6758,30.2325 -85,-77.5801 -56.6992,51.7187 -56.6914,-25.8593 -56.6895,25.8593 -28.3496,-51.7187 -56.6894,51.7187 -56.6914,-25.8593 -28.3497,25.8593 z m 84.0801,130.791 c 15.6569,3e-4 28.3494,19.0369 28.3496,42.5195 -2e-4,23.4827 -12.6927,42.5193 -28.3496,42.5196 -15.6569,-3e-4 -28.3494,-19.0369 -28.3496,-42.5196 1e-4,-9.5818 2.116,-18.4211 5.6816,-25.5312 0,0 0,-0.01 0,-0.01 0.017,-0.034 0.039,-0.063 0.057,-0.098 0.7592,-1.504 1.5817,-2.9311 2.4649,-4.2695 0.01,-0.013 0.016,-0.028 0.025,-0.041 0.9072,-1.3713 1.8781,-2.6457 2.9023,-3.8223 0,0 0,0 0.01,-0.01 4.7732,-5.4808 10.739,-8.7441 17.2148,-8.7442 z m 226.7695,0 c 15.657,3e-4 28.3495,19.0369 28.3497,42.5195 -2e-4,23.4827 -12.6927,42.5193 -28.3497,42.5196 -15.6569,-3e-4 -28.3494,-19.0369 -28.3496,-42.5196 10e-5,-9.5818 2.116,-18.4211 5.6817,-25.5312 0,0 0,-0.01 0,-0.01 0.017,-0.034 0.039,-0.063 0.057,-0.098 5.1759,-10.2541 13.377,-16.8826 22.6132,-16.8828 z"
style="fill:#ffffff;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:8;stroke-dasharray:none"
id="path24" />
<path
d="m 255.1211,311.8105 c -6.4758,1e-4 -12.4416,3.2634 -17.2148,8.7442 2.0607,-2.3603 4.3456,-4.3092 6.7949,-5.7637 0.6364,-0.087 1.2776,-0.1343 1.9199,-0.1406 v -0.029 c 12.625,-10e-5 18.9457,15.2633 10.0195,24.1894 -8.9241,8.9241 -24.1807,2.6076 -24.1875,-10.0117 -3.5656,7.1101 -5.6815,15.9493 -5.6816,25.5312 2e-4,23.4828 12.6926,42.5193 28.3496,42.5196 15.657,-3e-4 28.3494,-19.0368 28.3496,-42.5196 -2e-4,-23.4827 -12.6926,-42.5192 -28.3496,-42.5195 z m -17.2207,8.75 c -1.0242,1.1766 -1.9951,2.451 -2.9023,3.8223 0.9076,-1.3688 1.8766,-2.6469 2.9023,-3.8223 z m -2.9277,3.8633 c -0.8832,1.3384 -1.7057,2.7655 -2.4649,4.2695 0.7585,-1.5023 1.5802,-2.9318 2.4649,-4.2695 z"
style="fill:#20190a"
id="path21" />
<path
d="m 481.8906,311.8105 c -9.2362,2e-4 -17.4373,6.6287 -22.6132,16.8828 3.1149,-6.151 7.3206,-11.0085 12.1933,-13.9023 0.6364,-0.087 1.2776,-0.1343 1.9199,-0.1406 v -0.029 c 12.6251,-10e-5 18.9457,15.2633 10.0196,24.1894 -8.9242,8.9242 -24.1808,2.6077 -24.1875,-10.0117 -3.5657,7.1101 -5.6816,15.9493 -5.6817,25.5312 2e-4,23.4828 12.6927,42.5193 28.3496,42.5196 15.657,-3e-4 28.3495,-19.0368 28.3497,-42.5196 -2e-4,-23.4827 -12.6927,-42.5192 -28.3497,-42.5195 z"
style="fill:#20190a"
id="path20" />
<path
d="m 473.3906,314.6211 v 0.029 c -0.6423,0.01 -1.2835,0.053 -1.9199,0.1406 -4.9,2.91 -9.13,7.8 -12.25,14 0,12.625 15.2633,18.9457 24.1895,10.0195 8.9261,-8.9261 2.6055,-24.1895 -10.0196,-24.1894 z"
style="fill:#f9f8f4;fill-rule:evenodd"
id="path19" />
<path
d="m 246.6211,314.6211 v 0.029 c -0.6423,0.01 -1.2835,0.053 -1.9199,0.1406 -4.9,2.91 -9.14,7.8 -12.25,14 -1e-4,12.625 15.2633,18.9457 24.1894,10.0195 8.9262,-8.9261 2.6055,-24.1895 -10.0195,-24.1894 z"
style="fill:#f9f8f4;fill-rule:evenodd"
id="path18" />
<path
d="M 369.5117,0 C 259.312,0 137.2103,99.4797 64.9004,231.6894 l 21.1406,26.9199 85,-77.5898 28.3496,77.5898 28.3497,-25.8593 56.6914,25.8593 56.6894,-51.7187 28.3496,51.7187 56.6895,-25.8593 56.6914,25.8593 56.6992,-51.7187 85,77.5801 52,-48.1114 C 604.6709,101.8296 481.0015,0 369.5117,0 Z"
style="fill:#1a1a1a;fill-rule:evenodd"
id="path17" />
<path
d="m 595.3203,396.83 -85,106.7207 -56.6894,-53.3613 -56.6895,53.3613 -56.7011,-80 -56.6895,56 -56.75,-29.3398 -28.3496,26.6797 -28.3496,-80 -113.3809,80 -55.8398,-27.4004 c 0,0 -0.8809,18.2494 -0.8809,27.3594 0,235.7497 165.0019,373.5097 368.5117,373.5097 203.5098,0 368.5,-137.76 368.5,-373.5097 0,-8.42 -0.25,-16.8727 -0.75,-25.3594 l -55.9414,52.0605 z"
style="fill:#1a1a1a;fill-rule:evenodd"
id="path16" />
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -7,7 +7,7 @@ buildscript {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.3.0' classpath 'com.android.tools.build:gradle:8.6.0'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong

BIN
fdroid_custom_repo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 909 B

View file

@ -6,7 +6,10 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html # http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process. # Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings. # The setting is particularly useful for tweaking memory settings.
android.defaults.buildfeatures.buildconfig=true
android.enableJetifier=true android.enableJetifier=true
android.nonFinalResIds=false
android.nonTransitiveRClass=false
android.useAndroidX=true android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode. # When configured, Gradle will run in incubating parallel mode.

View file

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip

@ -1 +1 @@
Subproject commit 15dce316a229f6ab9b1d6d112bca7a10564336e2 Subproject commit ae5ee4b4a0fb380c99e05f53b753cc86b212f1dd