diff options
407 files changed, 19522 insertions, 11197 deletions
@@ -1,7 +1,7 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE_TAGS := user +LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d260b33..78c0f5b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,10 @@ package="com.android.settings" android:sharedUserId="android.uid.system"> - <uses-permission android:name="com.google.android.providers.gmail.permission.WRITE_GMAIL" /> - <uses-permission android:name="com.google.android.providers.gmail.permission.READ_GMAIL" /> + <original-package android:name="com.android.settings" /> + + <uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL" /> + <uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> @@ -32,11 +34,12 @@ <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"/> <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/> <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/> - <uses-permission android:name="android.permission.RESTART_PACKAGES"/> + <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/> <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/> <uses-permission android:name="android.permission.BATTERY_STATS"/> <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" /> + <uses-permission android:name="android.permission.MOVE_PACKAGE" /> <application android:label="@string/settings_label" android:icon="@drawable/ic_launcher_settings" @@ -80,7 +83,9 @@ <!-- Top-level settings --> - <activity android:name=".wifi.WifiSettings" android:label="@string/wifi_settings" + <activity android:name=".wifi.WifiSettings" + android:label="@string/wifi_settings" + android:configChanges="orientation|keyboardHidden" android:clearTaskOnLaunch="true" > <intent-filter> @@ -93,7 +98,8 @@ </intent-filter> </activity> - <activity android:name=".wifi.AdvancedSettings" android:label="@string/wifi_ip_settings_titlebar" + <activity android:name=".wifi.AdvancedSettings" + android:label="@string/wifi_ip_settings_titlebar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> @@ -103,6 +109,46 @@ </intent-filter> </activity> + <activity android:name=".wifi.WifiInfo"> + <intent-filter> + <action android:name="android.intent.action.MAIN"/> + <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + + <activity android:name=".wifi.WifiConfigInfo"> + <intent-filter> + <action android:name="android.intent.action.MAIN"/> + <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + + <activity android:name=".wifi.WifiAPITest"> + <intent-filter> + <action android:name="android.intent.action.MAIN"/> + <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + + <activity android:name=".wifi.WifiStatusTest"> + <intent-filter> + <action android:name="android.intent.action.MAIN"/> + <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + + <activity android:name=".wifi.WifiApSettings"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.VOICE_LAUNCH" /> + </intent-filter> + </activity> + <activity android:name="ApnSettings" android:label="@string/apn_settings" android:configChanges="orientation|keyboardHidden" android:launchMode="singleTask" @@ -132,9 +178,18 @@ </intent-filter> </activity> + <activity android:name=".TetherSettings" + android:clearTaskOnLaunch="true"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.VOICE_LAUNCH" /> + </intent-filter> + </activity> + <activity android:name=".vpn.VpnSettings" android:configChanges="orientation|keyboardHidden" - android:launchMode="singleTask"> + android:clearTaskOnLaunch="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="android.net.vpn.SETTINGS" /> @@ -216,16 +271,28 @@ </intent-filter> </activity> - <activity android:name="SoundAndDisplaySettings" - android:label="@string/sound_and_display_settings_title" + <activity android:name="SoundSettings" + android:label="@string/sound_settings" android:clearTaskOnLaunch="true" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="com.android.settings.SOUND_SETTINGS" /> + <action android:name="android.settings.SOUND_SETTINGS" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.VOICE_LAUNCH" /> + <category android:name="com.android.settings.SHORTCUT" /> + </intent-filter> + </activity> + + <activity android:name="DisplaySettings" + android:label="@string/display_settings" + android:clearTaskOnLaunch="true" + > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> <action android:name="com.android.settings.DISPLAY_SETTINGS" /> <action android:name="android.settings.DISPLAY_SETTINGS" /> - <action android:name="android.settings.SOUND_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="com.android.settings.SHORTCUT" /> @@ -249,6 +316,7 @@ > <intent-filter> <action android:name="android.intent.action.MAIN" /> + <action android:name="android.settings.DEVICE_INFO_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> </intent-filter> @@ -334,7 +402,7 @@ </activity> <activity android:name="CredentialInstaller" - android:label="@string/credential_installer_activity_title"> + android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="android.credentials.SYSTEM_INSTALL" /> <category android:name="android.intent.category.DEFAULT" /> @@ -354,6 +422,30 @@ </intent-filter> </activity> + <activity android:name="DeviceAdminSettings" + android:label="@string/device_admin_settings_title" + android:theme="@style/TallTitleBarTheme" + android:clearTaskOnLaunch="true" + > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.VOICE_LAUNCH" /> + <category android:name="com.android.settings.SHORTCUT" /> + </intent-filter> + </activity> + + <activity android:name="DeviceAdminAdd" + android:label="@string/device_admin_add_title" + android:theme="@style/TallTitleBarTheme" + android:clearTaskOnLaunch="true" + > + <intent-filter> + <action android:name="android.app.action.ADD_DEVICE_ADMIN" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <activity android:name="IccLockSettings" android:label="@string/sim_lock_settings" android:process="com.android.phone"> <intent-filter> @@ -375,6 +467,15 @@ </intent-filter> </activity> + <activity android:name="VoiceInputOutputSettings" + android:label="@string/voice_input_output_settings"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <action android:name="com.android.settings.VOICE_INPUT_OUTPUT_SETTINGS" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <activity android:name="TextToSpeechSettings" android:label="@string/tts_settings"> <intent-filter> <action android:name="android.intent.action.MAIN" /> @@ -386,26 +487,34 @@ <!-- Second and third-level settings --> <activity android:name="ConfirmLockPattern"/> + <activity android:name="ConfirmLockPassword" + android:theme="@android:style/Theme.NoTitleBar"> + </activity> - <activity android:name="ChooseLockPattern" android:label="@string/lockpattern_change_lock_pattern_label"> + <activity android:name="ChooseLockGeneric"> <intent-filter> - <action android:name="android.intent.action.DEFAULT" /> + <action android:name="android.app.action.SET_NEW_PASSWORD" /> + <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> + <activity android:name="ChooseLockPattern" + android:label="@string/lockpattern_change_lock_pattern_label" + android:exported="false"> + </activity> + + <activity android:name="ChooseLockPassword" + android:label="@string/lockpattern_change_lock_pin_label" + android:theme="@android:style/Theme.NoTitleBar" + android:exported="false"> + </activity> + <activity android:name="ChooseLockPatternTutorial" - android:label="@string/lockpattern_change_lock_pattern_label" - > - <intent-filter> - <action android:name="android.intent.action.DEFAULT" /> - </intent-filter> + android:label="@string/lockpattern_change_lock_pattern_label"> </activity> <activity android:name="ChooseLockPatternExample" android:label="@string/lockpattern_change_lock_pattern_label"> - <intent-filter> - <action android:name="android.intent.action.DEFAULT" /> - </intent-filter> </activity> <activity android:name="ZoneList" android:label="@string/choose_timezone" /> @@ -506,6 +615,8 @@ <intent-filter> <action android:name="android.intent.action.DOCK_EVENT" /> <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /> + <action android:name="android.bluetooth.headset.action.STATE_CHANGED" /> + <action android:name="android.bluetooth.a2dp.action.SINK_STATE_CHANGED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> @@ -599,14 +710,6 @@ </intent-filter> </activity> - <activity android:name="SdCardSettings" android:label="@string/sd_card_settings_label"> - <intent-filter> - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" /> - <category android:name="android.intent.category.VOICE_LAUNCH" /> - </intent-filter> - </activity> - <activity android:name="ProxySelector" android:label="@string/proxy_settings_label" android:theme="@android:style/Theme.Dialog"> <intent-filter> @@ -652,12 +755,6 @@ </intent-filter> </activity> - <!-- Helper to bind any unbound widgets in Launcher, used as - part of initialization and upgrade process --> - <activity android:name="LauncherAppWidgetBinder" - android:permission="android.permission.BIND_APPWIDGET" - android:theme="@android:style/Theme.NoDisplay" android:exported="true" /> - <activity android:name="UsageStats" android:label="@string/usage_stats_label"> <intent-filter> <action android:name="android.intent.action.MAIN" /> diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 0000000..b84e1b6 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,49 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ diff --git a/assets/html/cs/tethering_help.html b/assets/html/cs/tethering_help.html new file mode 100644 index 0000000..92ffb5a --- /dev/null +++ b/assets/html/cs/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Sdílené datové připojení prostřednictvím portu USB</b></p> +<span class="style1">Propojíte-li počítač a telefon kabelem USB, můžete připojení k internetu svého telefonu sdílet s připojeným počítačem.</span> +<ul> +<li>Sdílení datového připojení funguje v systémech Windows Vista, Windows 7 a Linux.</li><br> +<li>Při sdílení datového připojení prostřednictvím portu USB nelze připojit kartu SD telefonu k počítači.</li><br> +<li>Další informace včetně informací o sdílení datového připojení prostřednictvím portu USB v jiných operačních systémech naleznete na stránce <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Sdílení datového připojení prostřednictvím sítě WiFi</b></p> +<span class="style1">Telefon může sloužit jako přístupový bod sítě WiFi. Připojení k internetu svého telefonu můžete sdílet hned s několika počítači nebo jinými zařízeními.</span> +<ul> +<li>Používáte-li telefon jako přístupový bod, nelze se pomocí aplikací v telefonu připojit k internetu prostřednictvím připojení WiFi.</li><br> +<li>Přístupový bod WiFi můžete konfigurovat v nabídce nastavení připojení WiFi.</li><br> +<li>Další informace naleznete na stránce <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/cs/tethering_usb_help.html b/assets/html/cs/tethering_usb_help.html new file mode 100644 index 0000000..425431f --- /dev/null +++ b/assets/html/cs/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Sdílené datové připojení prostřednictvím portu USB</b></p> +<span class="style1">Propojíte-li počítač a telefon kabelem USB, můžete připojení k internetu svého telefonu sdílet s připojeným počítačem.</span> +<ul> +<li>Sdílení datového připojení funguje v systémech Windows Vista, Windows 7 a Linux.</li><br> +<li>Při sdílení datového připojení prostřednictvím portu USB nelze připojit kartu SD telefonu k počítači.</li><br> +<li>Další informace včetně informací o sdílení datového připojení prostřednictvím portu USB v jiných operačních systémech naleznete na stránce <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/cs/tethering_wifi_help.html b/assets/html/cs/tethering_wifi_help.html new file mode 100644 index 0000000..630438c --- /dev/null +++ b/assets/html/cs/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Sdílení datového připojení prostřednictvím sítě WiFi</b></p> +<span class="style1">Telefon může sloužit jako přístupový bod sítě WiFi. Připojení k internetu svého telefonu můžete sdílet hned s několika počítači nebo jinými zařízeními.</span> +<ul> +<li>Používáte-li telefon jako přístupový bod, nelze se pomocí aplikací v telefonu připojit k internetu prostřednictvím připojení WiFi.</li><br> +<li>Přístupový bod WiFi můžete konfigurovat v nabídce nastavení připojení WiFi.</li><br> +<li>Další informace naleznete na stránce <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/da/tethering_help.html b/assets/html/da/tethering_help.html new file mode 100644 index 0000000..3b2a553 --- /dev/null +++ b/assets/html/da/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-tethering</b></p> +<span class="style1">Du kan tether din telefon til din computer med et USB-kabel for at dele din telefons internetforbindelse med din computer</span> +<ul> +<li>Tethering fungerer med Windows Vista, Windows 7 og Linux</li><br> +<li>Du kan ikke montere din telefons SD-kort på computeren, når USB er tethered</li><br> +<li>Få flere oplysninger om bl.a. brug af USB-tethering med andre operativsystemer på <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Wi-Fi-tethering</b></p> +<span class="style1">Du kan gøre din telefon til et Wi-Fi-adgangspunkt, så du kan dele din telefons internetforbindelse med en eller flere computere eller andre enheder</span> +<ul> +<li>Når din telefon fungerer som adgangspunkt, kan du ikke bruge programmerne på din telefon til at få adgang til internettet via dens Wi-Fi-forbindelse.</li><br> +<li>Du kan konfigurere et Wi-Fi-adgangspunkt i indstillingerne for Wi-Fi-tethering</li><br> +<li>Få flere oplysninger på <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/da/tethering_usb_help.html b/assets/html/da/tethering_usb_help.html new file mode 100644 index 0000000..f9f7fc1 --- /dev/null +++ b/assets/html/da/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-tethering</b></p> +<span class="style1">Du kan tether din telefon til din computer med et USB-kabel for at dele din telefons internetforbindelse med din computer</span> +<ul> +<li>Tethering fungerer med Windows Vista, Windows 7 og Linux</li><br> +<li>Du kan ikke montere din telefons SD-kort på computeren, når USB er tethered</li><br> +<li>Få flere oplysninger om bl.a. brug af USB-tethering med andre operativsystemer på <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/da/tethering_wifi_help.html b/assets/html/da/tethering_wifi_help.html new file mode 100644 index 0000000..8c5063b --- /dev/null +++ b/assets/html/da/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi-tethering</b></p> +<span class="style1">Du kan gøre din telefon til et Wi-Fi-adgangspunkt, så du kan dele din telefons internetforbindelse med en eller flere computere eller andre enheder</span> +<ul> +<li>Når din telefon fungerer som adgangspunkt, kan du ikke bruge programmerne på din telefon til at få adgang til internettet via dens Wi-Fi-forbindelse.</li><br> +<li>Du kan konfigurere et Wi-Fi-adgangspunkt i indstillingerne for Wi-Fi-tethering</li><br> +<li>Få flere oplysninger på <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/de/tethering_help.html b/assets/html/de/tethering_help.html new file mode 100644 index 0000000..317e176 --- /dev/null +++ b/assets/html/de/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-Tethering</b></p> +<span class="style1">Sie können Ihr Telefon über ein USB-Kabel mit Ihrem Computer verbinden, um die Internetverbindung auf Ihrem Telefon auf Ihrem Computer nutzen zu können.</span> +<ul> +<li>Tethering funktioniert mit Windows Vista, Windows 7 und Linux.</li><br> +<li>Sie können die SD-Karte Ihres Telefons nicht in Ihren Computer einsetzen, solange eine USB-Verbindung besteht.</li><br> +<li>Weitere Informationen (einschließlich USB-Tethering mit anderen Betriebssystemen) finden Sie auf <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +<p><b>Wi-Fi-Tethering</b></p> +<span class="style1">Sie können Ihr Telefon in einen Wi-Fi-Zugangspunkt verwandeln, um die Internetverbindung Ihres Telefons auf einem oder mehreren Computern bzw. anderen Geräten nutzen zu können.</span> +<ul> +<li>Wenn Ihr Telefon als Zugangspunkt fungiert, können Sie die darauf installierten Anwendungen nicht verwenden, um über die Wi-Fi-Verbindung auf das Internet zuzugreifen.</li><br> +<li>Sie konfigurieren einen Wi-Fi-Zugangspunkt in den Wi-Fi-Tethering-Einstellungen.</li><br> +<li>Weitere Informationen erhalten Sie auf <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/de/tethering_usb_help.html b/assets/html/de/tethering_usb_help.html new file mode 100644 index 0000000..8bad77d --- /dev/null +++ b/assets/html/de/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-Tethering</b></p> +<span class="style1">Sie können Ihr Telefon über ein USB-Kabel mit Ihrem Computer verbinden, um die Internetverbindung auf Ihrem Telefon auf Ihrem Computer nutzen zu können.</span> +<ul> +<li>Tethering funktioniert mit Windows Vista, Windows 7 und Linux.</li><br> +<li>Sie können die SD-Karte Ihres Telefons nicht in Ihren Computer einsetzen, solange eine USB-Verbindung besteht.</li><br> +<li>Weitere Informationen (einschließlich USB-Tethering mit anderen Betriebssystemen) finden Sie auf <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/de/tethering_wifi_help.html b/assets/html/de/tethering_wifi_help.html new file mode 100644 index 0000000..a708766 --- /dev/null +++ b/assets/html/de/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi-Tethering</b></p> +<span class="style1">Sie können Ihr Telefon in einen Wi-Fi-Zugangspunkt verwandeln, um die Internetverbindung Ihres Telefons auf einem oder mehreren Computern bzw. anderen Geräten nutzen zu können.</span> +<ul> +<li>Wenn Ihr Telefon als Zugangspunkt fungiert, können Sie die darauf installierten Anwendungen nicht verwenden, um über die Wi-Fi-Verbindung auf das Internet zuzugreifen.</li><br> +<li>Sie konfigurieren einen Wi-Fi-Zugangspunkt in den Wi-Fi-Tethering-Einstellungen.</li><br> +<li>Weitere Informationen erhalten Sie auf <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/el/tethering_help.html b/assets/html/el/tethering_help.html new file mode 100644 index 0000000..eae22eb --- /dev/null +++ b/assets/html/el/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Σύνδεση μέσω κινητής συσκευής με USB</b></p> +<span class="style1">Μπορείτε να συνδέσετε το τηλέφωνο με τον υπολογιστή σας με ένα καλώδιο USB, για κοινή χρήση της σύνδεσης στο Διαδίκτυο του τηλεφώνου σας με τον υπολογιστή σας</span> +<ul> +<li>Η σύνδεση μέσω κινητής συσκευής λειτουργεί με Windows Vista, Windows 7 και Linux</li><br> +<li>Δεν είναι δυνατό να τοποθετήσετε την κάρτα SD του τηλεφώνου στον υπολογιστή σας, όταν υπάρχει σύνδεση μέσω κινητής συσκευής με USB</li><br> +<li>Για περισσότερες πληροφορίες, συμπεριλαμβανομένης εκείνων για τη σύνδεση μέσω κινητής συσκευής με USB με άλλα λειτουργικά συστήματα, ανατρέξτε στη διεύθυνση <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Σύνδεση μέσω κινητής συσκευής με Wi-Fi</b></p> +<span class="style1">Μπορείτε να μετατρέψετε το τηλέφωνό σας σε ένα σημείο πρόσβασης Wi-Fi, για κοινή χρήση της σύνδεσης στο Διαδίκτυο του τηλεφώνου σας με έναν ή περισσότερους υπολογιστές ή άλλες συσκευές</span> +<ul> +<li>Όταν το τηλέφωνό σας λειτουργεί ως σημείο πρόσβασης, δεν είναι δυνατό να χρησιμοποιήσετε τις εφαρμογές του τηλεφώνου σας για να αποκτήσετε πρόσβαση στο Διαδίκτυο μέσω της σύνδεσης Wi-Fi</li><br> +<li>Μπορείτε να ρυθμίσετε ένα σημείο πρόσβασης Wi-Fi στις ρυθμίσεις σύνδεσης μέσω κινητής συσκευής με Wi-Fi</li><br> +<li>Για περισσότερες πληροφορίες, επισκεφθείτε τη διεύθυνση <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/el/tethering_usb_help.html b/assets/html/el/tethering_usb_help.html new file mode 100644 index 0000000..96ea2c8 --- /dev/null +++ b/assets/html/el/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Σύνδεση μέσω κινητής συσκευής με USB</b></p> +<span class="style1">Μπορείτε να συνδέσετε το τηλέφωνο με τον υπολογιστή σας με ένα καλώδιο USB, για κοινή χρήση της σύνδεσης στο Διαδίκτυο του τηλεφώνου σας με τον υπολογιστή σας</span> +<ul> +<li>Η σύνδεση μέσω κινητής συσκευής λειτουργεί με Windows Vista, Windows 7 και Linux</li><br> +<li>Δεν είναι δυνατό να τοποθετήσετε την κάρτα SD του τηλεφώνου στον υπολογιστή σας, όταν υπάρχει σύνδεση μέσω κινητής συσκευής με USB</li><br> +<li>Για περισσότερες πληροφορίες, συμπεριλαμβανομένης εκείνων για τη σύνδεση μέσω κινητής συσκευής με USB με άλλα λειτουργικά συστήματα, ανατρέξτε στη διεύθυνση <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/el/tethering_wifi_help.html b/assets/html/el/tethering_wifi_help.html new file mode 100644 index 0000000..8507748 --- /dev/null +++ b/assets/html/el/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Σύνδεση μέσω κινητής συσκευής με Wi-Fi</b></p> +<span class="style1">Μπορείτε να μετατρέψετε το τηλέφωνό σας σε ένα σημείο πρόσβασης Wi-Fi, για κοινή χρήση της σύνδεσης στο Διαδίκτυο του τηλεφώνου σας με έναν ή περισσότερους υπολογιστές ή άλλες συσκευές</span> +<ul> +<li>Όταν το τηλέφωνό σας λειτουργεί ως σημείο πρόσβασης, δεν είναι δυνατό να χρησιμοποιήσετε τις εφαρμογές του τηλεφώνου σας για να αποκτήσετε πρόσβαση στο Διαδίκτυο μέσω της σύνδεσης Wi-Fi</li><br> +<li>Μπορείτε να ρυθμίσετε ένα σημείο πρόσβασης Wi-Fi στις ρυθμίσεις σύνδεσης μέσω κινητής συσκευής με Wi-Fi</li><br> +<li>Για περισσότερες πληροφορίες, επισκεφθείτε τη διεύθυνση <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/en_gb/tethering_help.html b/assets/html/en_gb/tethering_help.html new file mode 100644 index 0000000..63fec31 --- /dev/null +++ b/assets/html/en_gb/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB tethering</b></p> +<span class="style1">You can tether your phone to your computer with a USB cable, to share your phone's Internet connection with your computer</span> +<ul> +<li>Tethering works with Windows Vista, Windows 7 and Linux</li><br> +<li>You can't mount your phone's SD card on your computer when USB-tethered</li><br> +<li>For more information, including using USB tethering with other OSs, see <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Wi-Fi tethering</b></p> +<span class="style1">You can turn your phone into a Wi-Fi access point, to share your phone's Internet connection with one or more computers or other devices</span> +<ul> +<li>When your phone is acting as an access point, you can't use your phone's applications to access the Internet via its Wi-Fi connection</li><br> +<li>You configure a Wi-Fi access point in Wi-Fi tethering settings</li><br> +<li>For more information, visit <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/en_gb/tethering_usb_help.html b/assets/html/en_gb/tethering_usb_help.html new file mode 100644 index 0000000..50e2154 --- /dev/null +++ b/assets/html/en_gb/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB tethering</b></p> +<span class="style1">You can tether your phone to your computer with a USB cable, to share your phone's Internet connection with your computer</span> +<ul> +<li>Tethering works with Windows Vista, Windows 7 and Linux</li><br> +<li>You can't mount your phone's SD card on your computer when USB-tethered</li><br> +<li>For more information, including using USB tethering with other OSs, see <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/en_gb/tethering_wifi_help.html b/assets/html/en_gb/tethering_wifi_help.html new file mode 100644 index 0000000..3e8c1af --- /dev/null +++ b/assets/html/en_gb/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi tethering</b></p> +<span class="style1">You can turn your phone into a Wi-Fi access point, to share your phone's Internet connection with one or more computers or other devices</span> +<ul> +<li>When your phone is acting as an access point, you can't use your phone's applications to access the Internet via its Wi-Fi connection</li><br> +<li>You configure a Wi-Fi access point in Wi-Fi tethering settings</li><br> +<li>For more information, visit <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/en_us/tethering_help.html b/assets/html/en_us/tethering_help.html new file mode 100644 index 0000000..dfff700 --- /dev/null +++ b/assets/html/en_us/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB tethering</b></p> +<span class="style1">You can tether your phone to your computer with a USB cable, to share your phone's internet connection with your computer</span> +<ul> +<li>Tethering works with Windows Vista, Windows 7, and Linux</li><br> +<li>You can't mount your phone's SD card on your computer when USB tethered</li><br> +<li>For more information, including using USB tethering with other OSs, see <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Portable Wi-Fi hotspot</b></p> +<span class="style1">You can turn your phone into a portable Wi-Fi hotspot, to share your phone's internet connection with one or more computers or other devices</span> +<ul> +<li>When your phone is serving as a Wi-Fi hotspot, you can't use your phone's applications to access the internet via its Wi-Fi connection</li><br> +<li>You configure the hotspot with the Wi-Fi hotspot settings</li><br> +<li>For more information, visit <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/en_us/tethering_usb_help.html b/assets/html/en_us/tethering_usb_help.html new file mode 100644 index 0000000..23f39e5 --- /dev/null +++ b/assets/html/en_us/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB tethering</b></p> +<span class="style1">You can tether your phone to your computer with a USB cable, to share your phone's internet connection with your computer</span> +<ul> +<li>Tethering works with Windows Vista, Windows 7, and Linux</li><br> +<li>You can't mount your phone's SD card on your computer when USB tethered</li><br> +<li>For more information, including using USB tethering with other OSs, see <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/en_us/tethering_wifi_help.html b/assets/html/en_us/tethering_wifi_help.html new file mode 100644 index 0000000..fac231b --- /dev/null +++ b/assets/html/en_us/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Portable Wi-Fi hotspot</b></p> +<span class="style1">You can turn your phone into a portable Wi-Fi hotspot, to share your phone's internet connection with one or more computers or other devices</span> +<ul> +<li>When your phone is serving as a Wi-Fi hotspot, you can't use your phone's applications to access the internet via its Wi-Fi connection</li><br> +<li>You configure the hotspot with the Wi-Fi hotspot settings</li><br> +<li>For more information, visit <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/es/tethering_help.html b/assets/html/es/tethering_help.html new file mode 100644 index 0000000..35a1e16 --- /dev/null +++ b/assets/html/es/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Anclaje de USB</b></p> +<span class="style1">Puedes anclar el teléfono a tu ordenador con un cable USB para compartir la conexión a Internet del teléfono con el equipo.</span> +<ul> +<li>El anclaje funciona con Windows Vista, Windows 7 y Linux.</li><br> +<li>Puedes montar la tarjeta SD del teléfono en el equipo una vez realizado el anclaje de USB.</li><br> +<li>Para obtener más información, incluido el uso del anclaje de USB con otros sistemas operativos, consulta la página <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +<p><b>Anclaje a red Wi-Fi</b></p> +<span class="style1">Puedes convertir el teléfono en un punto de acceso Wi-Fi para compartir la conexión a Internet del teléfono con uno o con varios equipos o dispositivos.</span> +<ul> +<li>Cuando el teléfono actúe como un punto de acceso, no podrás utilizar sus aplicaciones para acceder a Internet a través de la conexión Wi-Fi del dispositivo.</li><br> +<li>Para configurar un punto de acceso Wi-Fi, accede a la configuración de anclaje a red Wi-Fi.</li><br> +<li>Para obtener más información, consulta la página <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/es/tethering_usb_help.html b/assets/html/es/tethering_usb_help.html new file mode 100644 index 0000000..ec7a746 --- /dev/null +++ b/assets/html/es/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Anclaje de USB</b></p> +<span class="style1">Puedes anclar el teléfono a tu ordenador con un cable USB para compartir la conexión a Internet del teléfono con el equipo.</span> +<ul> +<li>El anclaje funciona con Windows Vista, Windows 7 y Linux.</li><br> +<li>Puedes montar la tarjeta SD del teléfono en el equipo una vez realizado el anclaje de USB.</li><br> +<li>Para obtener más información, incluido el uso del anclaje de USB con otros sistemas operativos, consulta la página <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/es/tethering_wifi_help.html b/assets/html/es/tethering_wifi_help.html new file mode 100644 index 0000000..0761735 --- /dev/null +++ b/assets/html/es/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Anclaje a red Wi-Fi</b></p> +<span class="style1">Puedes convertir el teléfono en un punto de acceso Wi-Fi para compartir la conexión a Internet del teléfono con uno o con varios equipos o dispositivos.</span> +<ul> +<li>Cuando el teléfono actúe como un punto de acceso, no podrás utilizar sus aplicaciones para acceder a Internet a través de la conexión Wi-Fi del dispositivo.</li><br> +<li>Para configurar un punto de acceso Wi-Fi, accede a la configuración de anclaje a red Wi-Fi.</li><br> +<li>Para obtener más información, consulta la página <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/es_us/tethering_help.html b/assets/html/es_us/tethering_help.html new file mode 100644 index 0000000..f3055a0 --- /dev/null +++ b/assets/html/es_us/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Anclaje a red USB</b></p> +<span class="style1">Puedes anclar tu teléfono a tu computadora con un cable USB para compartir la conexión a Internet de tu teléfono con tu computadora.</span> +<ul> +<li>El anclaje funciona con Windows Vista, Windows 7 y Linux.</li><br> +<li>No puedes montar la tarjeta SD de tu teléfono en tu computadora cuando el USB esté anclado.</li><br> +<li>Para obtener más información, incluido el anclaje a red USB con otros SO, consulta <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +<p><b>Anclaje a redes de Wi-Fi</b></p> +<span class="style1">Puedes cambiar tu teléfono a un punto de acceso Wi-Fi para compartir la conexión a Internet de tu teléfono con una computadora o un dispositivo, o más.</span> +<ul> +<li>Cuando tu teléfono actúa como punto de acceso, no puedes usar las aplicaciones de tu teléfono para acceder a Internet a través de la conexión Wi-Fi.</li><br> +<li>Debes configurar un punto de acceso Wi-Fi en configuración de anclaje a redes de Wi-Fi.</li><br> +<li>Para obtener más información, visita <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/es_us/tethering_usb_help.html b/assets/html/es_us/tethering_usb_help.html new file mode 100644 index 0000000..b29b8a9 --- /dev/null +++ b/assets/html/es_us/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Anclaje a red USB</b></p> +<span class="style1">Puedes anclar tu teléfono a tu computadora con un cable USB para compartir la conexión a Internet de tu teléfono con tu computadora.</span> +<ul> +<li>El anclaje funciona con Windows Vista, Windows 7 y Linux.</li><br> +<li>No puedes montar la tarjeta SD de tu teléfono en tu computadora cuando el USB esté anclado.</li><br> +<li>Para obtener más información, incluido el anclaje a red USB con otros SO, consulta <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/es_us/tethering_wifi_help.html b/assets/html/es_us/tethering_wifi_help.html new file mode 100644 index 0000000..ae08093 --- /dev/null +++ b/assets/html/es_us/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Anclaje a redes de Wi-Fi</b></p> +<span class="style1">Puedes cambiar tu teléfono a un punto de acceso Wi-Fi para compartir la conexión a Internet de tu teléfono con una computadora o un dispositivo, o más.</span> +<ul> +<li>Cuando tu teléfono actúa como punto de acceso, no puedes usar las aplicaciones de tu teléfono para acceder a Internet a través de la conexión Wi-Fi.</li><br> +<li>Debes configurar un punto de acceso Wi-Fi en configuración de anclaje a redes de Wi-Fi.</li><br> +<li>Para obtener más información, visita <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/fr/tethering_help.html b/assets/html/fr/tethering_help.html new file mode 100644 index 0000000..7356067 --- /dev/null +++ b/assets/html/fr/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Partage de connexion par USB</b></p> +<span class="style1">Vous pouvez partager la connexion Internet de votre mobile avec votre ordinateur, cela en connectant le téléphone à l'ordinateur par le biais d'un câble USB.</span> +<ul> +<li>Ce procédé est possible avec Windows Vista, Windows 7 et Linux</li><br> +<li>Vous ne pouvez cependant pas monter la carte SD du mobile sur l'ordinateur en cas de partage de connexion par USB.</li><br> +<li>Pour de plus amples informations, en particulier sur le partage de connexion par USB avec d'autres systèmes d'exploitation, consultez la page <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Partage de connexion via Wi-Fi</b></p> +<span class="style1">Vous pouvez transformer votre mobile en point d'accès Wi-Fi et ainsi partager la connexion Internet du téléphone avec un ou plusieurs ordinateurs ou autres appareils.</span> +<ul> +<li>Lorsque votre mobile fait office de point d'accès, notez qu'il n'est pas possible d'utiliser ses applications pour accéder à Internet via sa connexion Wi-Fi.</li><br> +<li>Vous configurez un point d'accès Wi-Fi dans les paramètres de partage de connexion via Wi-Fi.</li><br> +<li>Pour de plus amples informations, consultez la page <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/fr/tethering_usb_help.html b/assets/html/fr/tethering_usb_help.html new file mode 100644 index 0000000..2000bcc --- /dev/null +++ b/assets/html/fr/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Partage de connexion par USB</b></p> +<span class="style1">Vous pouvez partager la connexion Internet de votre mobile avec votre ordinateur, cela en connectant le téléphone à l'ordinateur par le biais d'un câble USB.</span> +<ul> +<li>Ce procédé est possible avec Windows Vista, Windows 7 et Linux</li><br> +<li>Vous ne pouvez cependant pas monter la carte SD du mobile sur l'ordinateur en cas de partage de connexion par USB.</li><br> +<li>Pour de plus amples informations, en particulier sur le partage de connexion par USB avec d'autres systèmes d'exploitation, consultez la page <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/fr/tethering_wifi_help.html b/assets/html/fr/tethering_wifi_help.html new file mode 100644 index 0000000..4fab911 --- /dev/null +++ b/assets/html/fr/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Partage de connexion via Wi-Fi</b></p> +<span class="style1">Vous pouvez transformer votre mobile en point d'accès Wi-Fi et ainsi partager la connexion Internet du téléphone avec un ou plusieurs ordinateurs ou autres appareils.</span> +<ul> +<li>Lorsque votre mobile fait office de point d'accès, notez qu'il n'est pas possible d'utiliser ses applications pour accéder à Internet via sa connexion Wi-Fi.</li><br> +<li>Vous configurez un point d'accès Wi-Fi dans les paramètres de partage de connexion via Wi-Fi.</li><br> +<li>Pour de plus amples informations, consultez la page <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/it/tethering_help.html b/assets/html/it/tethering_help.html new file mode 100644 index 0000000..7434bb8 --- /dev/null +++ b/assets/html/it/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Tethering USB</b></p> +<span class="style1">È possibile eseguire il tethering tra telefono e computer con un cavo USB per condividere la connessione Internet del cellulare con il computer.</span> +<ul> +<li>Il tethering funziona con Windows Vista, Windows 7 e Linux.</li><br> +<li>Non è possibile montare la scheda SD del telefono sul computer quando viene eseguito il tethering USB.</li><br> +<li>Per ulteriori informazioni, incluso l'utilizzo del tethering USB con altri sistemi operativi, visita l'indirizzo <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +<p><b>Tethering Wi-Fi</b></p> +<span class="style1">È possibile trasformare il telefono in un punto di accesso Wi-Fi per condividere la connessione Internet del cellulare con uno o più computer o altri dispositivi.</span> +<ul> +<li>Quando il telefono funge da punto di accesso, non è possibile utilizzare le applicazioni del telefono per accedere a Internet attraverso la sua connessione Wi-Fi.</li><br> +<li>Puoi configurare un punto di accesso Wi-Fi nelle impostazioni di tethering Wi-Fi.</li><br> +<li>Per ulteriori informazioni, visita l'indirizzo <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/it/tethering_usb_help.html b/assets/html/it/tethering_usb_help.html new file mode 100644 index 0000000..fcd7a03 --- /dev/null +++ b/assets/html/it/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Tethering USB</b></p> +<span class="style1">È possibile eseguire il tethering tra telefono e computer con un cavo USB per condividere la connessione Internet del cellulare con il computer.</span> +<ul> +<li>Il tethering funziona con Windows Vista, Windows 7 e Linux.</li><br> +<li>Non è possibile montare la scheda SD del telefono sul computer quando viene eseguito il tethering USB.</li><br> +<li>Per ulteriori informazioni, incluso l'utilizzo del tethering USB con altri sistemi operativi, visita l'indirizzo <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/it/tethering_wifi_help.html b/assets/html/it/tethering_wifi_help.html new file mode 100644 index 0000000..d53b07f --- /dev/null +++ b/assets/html/it/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Tethering Wi-Fi</b></p> +<span class="style1">È possibile trasformare il telefono in un punto di accesso Wi-Fi per condividere la connessione Internet del cellulare con uno o più computer o altri dispositivi.</span> +<ul> +<li>Quando il telefono funge da punto di accesso, non è possibile utilizzare le applicazioni del telefono per accedere a Internet attraverso la sua connessione Wi-Fi.</li><br> +<li>Puoi configurare un punto di accesso Wi-Fi nelle impostazioni di tethering Wi-Fi.</li><br> +<li>Per ulteriori informazioni, visita l'indirizzo <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ja/tethering_help.html b/assets/html/ja/tethering_help.html new file mode 100644 index 0000000..4fd6065 --- /dev/null +++ b/assets/html/ja/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB テザリング</b></p> +<span class="style1">USB ケーブルを使って携帯端末をパソコンにテザリングし、端末のインターネット接続をパソコンと共有できます。</span> +<ul> +<li>テザリング機能は、Windows Vista、Windows 7、Linux でご利用いただけます。</li><br> +<li>USB テザリング中は、パソコンで端末の SD カードをマウントすることはできません。</li><br> +<li>その他の OS で USB をテザリングする方法など、テザリングについて詳しくは <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a> をご覧ください。</li><br> +</ul> +<p><b>Wi-Fi テザリング</b></p> +<span class="style1">お使いの携帯端末を Wi-Fi アクセス ポイントとして利用し、端末のインターネット接続を 1 台以上のパソコンやその他の端末で共有できます。</span> +<ul> +<li>端末がアクセス ポイントとして機能している場合は、端末のアプリケーションを使用して、端末の Wi-Fi 接続経由でインターネットにアクセスすることはできません。</li><br> +<li>Wi-Fi アクセス ポイントの設定は [Wi-Fiテザリング設定] で行います。</li><br> +<li>詳しくは <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a> をご覧ください。</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ja/tethering_usb_help.html b/assets/html/ja/tethering_usb_help.html new file mode 100644 index 0000000..9bd95e6 --- /dev/null +++ b/assets/html/ja/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB テザリング</b></p> +<span class="style1">USB ケーブルを使って携帯端末をパソコンにテザリングし、端末のインターネット接続をパソコンと共有できます。</span> +<ul> +<li>テザリング機能は、Windows Vista、Windows 7、Linux でご利用いただけます。</li><br> +<li>USB テザリング中は、パソコンで端末の SD カードをマウントすることはできません。</li><br> +<li>その他の OS で USB をテザリングする方法など、テザリングについて詳しくは <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a> をご覧ください。</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ja/tethering_wifi_help.html b/assets/html/ja/tethering_wifi_help.html new file mode 100644 index 0000000..d6c2a9a --- /dev/null +++ b/assets/html/ja/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi テザリング</b></p> +<span class="style1">お使いの携帯端末を Wi-Fi アクセス ポイントとして利用し、端末のインターネット接続を 1 台以上のパソコンやその他の端末で共有できます。</span> +<ul> +<li>端末がアクセス ポイントとして機能している場合は、端末のアプリケーションを使用して、端末の Wi-Fi 接続経由でインターネットにアクセスすることはできません。</li><br> +<li>Wi-Fi アクセス ポイントの設定は [Wi-Fiテザリング設定] で行います。</li><br> +<li>詳しくは <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a> をご覧ください。</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ko/tethering_help.html b/assets/html/ko/tethering_help.html new file mode 100644 index 0000000..0239f68 --- /dev/null +++ b/assets/html/ko/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB 테더링</b></p> +<span class="style1">USB 케이블로 휴대전화를 컴퓨터에 테더링하여 휴대전화의 인터넷 연결을 컴퓨터와 공유할 수 있습니다.</span> +<ul> +<li>테더링은 Windows Vista, Windows 7, 및 Linux에서 지원합니다.</li><br> +<li>USB 테더링 중에 휴대전화의 SD카드를 컴퓨터에 마운트할 수 없습니다.</li><br> +<li>기타 운영 체제에서의 테더링 사용을 비롯한 자세한 내용은 <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>를 참조하세요.</li><br> +</ul> +<p><b>Wi-Fi 테더링</b></p> +<span class="style1">휴대전화를 Wi-Fi 액세스 포인트로 전환하여 휴대전화의 인터넷 연결을 하나 이상의 컴퓨터 또는 기타 기기와 공유할 수 있습니다.</span> +<ul> +<li>휴대전화가 액세스 포인트 역할을 하는 경우 휴대전화의 응용프로그램은 휴대전화의 Wi-Fi 연결을 통해 인터넷에 액세스할 수 없습니다.</li><br> +<li>Wi-Fi 테더링 설정에서 Wi-Fi 액세스 포인트를 구성할 수 있습니다.</li><br> +<li>자세한 내용은 <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>를 참조하세요.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ko/tethering_usb_help.html b/assets/html/ko/tethering_usb_help.html new file mode 100644 index 0000000..66ac3de --- /dev/null +++ b/assets/html/ko/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB 테더링</b></p> +<span class="style1">USB 케이블로 휴대전화를 컴퓨터에 테더링하여 휴대전화의 인터넷 연결을 컴퓨터와 공유할 수 있습니다.</span> +<ul> +<li>테더링은 Windows Vista, Windows 7, 및 Linux에서 지원합니다.</li><br> +<li>USB 테더링 중에 휴대전화의 SD카드를 컴퓨터에 마운트할 수 없습니다.</li><br> +<li>기타 운영 체제에서의 테더링 사용을 비롯한 자세한 내용은 <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>를 참조하세요.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ko/tethering_wifi_help.html b/assets/html/ko/tethering_wifi_help.html new file mode 100644 index 0000000..b51b93e --- /dev/null +++ b/assets/html/ko/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi 테더링</b></p> +<span class="style1">휴대전화를 Wi-Fi 액세스 포인트로 전환하여 휴대전화의 인터넷 연결을 하나 이상의 컴퓨터 또는 기타 기기와 공유할 수 있습니다.</span> +<ul> +<li>휴대전화가 액세스 포인트 역할을 하는 경우 휴대전화의 응용프로그램은 휴대전화의 Wi-Fi 연결을 통해 인터넷에 액세스할 수 없습니다.</li><br> +<li>Wi-Fi 테더링 설정에서 Wi-Fi 액세스 포인트를 구성할 수 있습니다.</li><br> +<li>자세한 내용은 <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>를 참조하세요.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/nl/tethering_help.html b/assets/html/nl/tethering_help.html new file mode 100644 index 0000000..febd1af --- /dev/null +++ b/assets/html/nl/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-tethering</b></p> +<span class="style1">U kunt uw telefoon tetheren met een USB-kabel om de internetverbinding van uw telefoon te delen met uw computer</span> +<ul> +<li>Tethering werkt met Windows Vista, Windows 7 en Linux</li><br> +<li>U kunt de SD-kaart van uw telefoon niet koppelen aan uw computer tijdens USB-tethering</li><br> +<li>Raadpleeg <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a> voor meer informatie, waaronder het gebruik van USB-tethering met andere besturingssystemen.</li><br> +</ul> +<p><b>Wi-Fi-tethering</b></p> +<span class="style1">U kunt uw telefoon gebruiken als Wi-Fi-toegangspunt om de internetverbinding van uw telefoon te delen met een of meer computers of andere apparaten</span> +<ul> +<li>Wanneer uw telefoon wordt gebruikt als toegangspunt, kunt u de toepassingen op uw telefoon niet gebruiken om via de Wi-Fi-verbinding toegang tot internet te krijgen</li><br> +<li>U configureert een Wi-Fi-toegangspunt in de instellingen voor Wi-Fi-tethering</li><br> +<li>Ga naar <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a> voor meer informatie.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/nl/tethering_usb_help.html b/assets/html/nl/tethering_usb_help.html new file mode 100644 index 0000000..fc027da --- /dev/null +++ b/assets/html/nl/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-tethering</b></p> +<span class="style1">U kunt uw telefoon tetheren met een USB-kabel om de internetverbinding van uw telefoon te delen met uw computer</span> +<ul> +<li>Tethering werkt met Windows Vista, Windows 7 en Linux</li><br> +<li>U kunt de SD-kaart van uw telefoon niet koppelen aan uw computer tijdens USB-tethering</li><br> +<li>Raadpleeg <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a> voor meer informatie, waaronder het gebruik van USB-tethering met andere besturingssystemen.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/nl/tethering_wifi_help.html b/assets/html/nl/tethering_wifi_help.html new file mode 100644 index 0000000..13f0fa0 --- /dev/null +++ b/assets/html/nl/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi-tethering</b></p> +<span class="style1">U kunt uw telefoon gebruiken als Wi-Fi-toegangspunt om de internetverbinding van uw telefoon te delen met een of meer computers of andere apparaten</span> +<ul> +<li>Wanneer uw telefoon wordt gebruikt als toegangspunt, kunt u de toepassingen op uw telefoon niet gebruiken om via de Wi-Fi-verbinding toegang tot internet te krijgen</li><br> +<li>U configureert een Wi-Fi-toegangspunt in de instellingen voor Wi-Fi-tethering</li><br> +<li>Ga naar <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a> voor meer informatie.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/no/tethering_help.html b/assets/html/no/tethering_help.html new file mode 100644 index 0000000..2883592 --- /dev/null +++ b/assets/html/no/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-tilknytning</b></p> +<span class="style1">Du kan knytte telefonen til datamaskinen med en USB-kabel, slik at du kan dele telefonens Internett-tilkobling med maskinen</span> +<ul> +<li>Tilknytning fungerer med Windows Vista, Windows 7 og Linux</li><br> +<li>Du kan ikke montere telefonens SD-kort i datamaskinen når telefonen er tilknyttet via USB</li><br> +<li>Du finner mer informasjon, herunder om hvordan du bruker USB-tilknytning med andre operativsystemer, på <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Tilknytning av trådløst nett</b></p> +<span class="style1">Telefonen kan angis som et tilgangspunkt for trådløst nett for deling av Internett-tilkobling med én eller flere datamaskiner eller andre enheter</span> +<ul> +<li>Når telefonen fungerer som tilgangspunkt, kan du ikke bruke telefonens programmer til å få tilgang til Internett via trådløst nett</li><br> +<li>Gå til innstillinger for tilknytning av trådløst nett for å konfigurere tilgangspunkt for trådløst nett</li><br> +<li>Du finner mer informasjon på <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/no/tethering_usb_help.html b/assets/html/no/tethering_usb_help.html new file mode 100644 index 0000000..e32c8b2 --- /dev/null +++ b/assets/html/no/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-tilknytning</b></p> +<span class="style1">Du kan knytte telefonen til datamaskinen med en USB-kabel, slik at du kan dele telefonens Internett-tilkobling med maskinen</span> +<ul> +<li>Tilknytning fungerer med Windows Vista, Windows 7 og Linux</li><br> +<li>Du kan ikke montere telefonens SD-kort i datamaskinen når telefonen er tilknyttet via USB</li><br> +<li>Du finner mer informasjon, herunder om hvordan du bruker USB-tilknytning med andre operativsystemer, på <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/no/tethering_wifi_help.html b/assets/html/no/tethering_wifi_help.html new file mode 100644 index 0000000..84e5910 --- /dev/null +++ b/assets/html/no/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Tilknytning av trådløst nett</b></p> +<span class="style1">Telefonen kan angis som et tilgangspunkt for trådløst nett for deling av Internett-tilkobling med én eller flere datamaskiner eller andre enheter</span> +<ul> +<li>Når telefonen fungerer som tilgangspunkt, kan du ikke bruke telefonens programmer til å få tilgang til Internett via trådløst nett</li><br> +<li>Gå til innstillinger for tilknytning av trådløst nett for å konfigurere tilgangspunkt for trådløst nett</li><br> +<li>Du finner mer informasjon på <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/pl/tethering_help.html b/assets/html/pl/tethering_help.html new file mode 100644 index 0000000..271f92f --- /dev/null +++ b/assets/html/pl/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Powiązanie USB</b></p> +<span class="style1">Telefon możesz powiązać z komputerem przy użyciu kabla USB, aby udostępniać na nim połączenie internetowe telefonu.</span> +<ul> +<li>Powiązanie działa w systemach Windows Vista, Windows 7 oraz Linux.</li><br> +<li>Podczas powiązania USB nie ma możliwości podłączenia na komputerze karty SD telefonu.</li><br> +<li>Więcej informacji, w tym również na temat korzystania z powiązania USB z innymi systemami operacyjnymi, znajdziesz pod adresem <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +<p><b>Powiązanie Wi-Fi</b></p> +<span class="style1">Telefon możesz przekształcić w punkt dostępowy Wi-Fi, aby udostępniać połączenie internetowe telefonu jednemu lub większej liczbie komputerów i innych urządzeń.</span> +<ul> +<li>Gdy telefon działa jako punkt dostępowy, nie możesz korzystać z aplikacji telefonu w celu uzyskania dostępu do internetu za pośrednictwem jego połączenia Wi-Fi.</li><br> +<li>Punkt dostępowy Wi-Fi konfiguruje się w ustawieniach powiązania Wi-Fi.</li><br> +<li>Aby uzyskać więcej informacji, odwiedź stronę <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/pl/tethering_usb_help.html b/assets/html/pl/tethering_usb_help.html new file mode 100644 index 0000000..67d343c --- /dev/null +++ b/assets/html/pl/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Powiązanie USB</b></p> +<span class="style1">Telefon możesz powiązać z komputerem przy użyciu kabla USB, aby udostępniać na nim połączenie internetowe telefonu.</span> +<ul> +<li>Powiązanie działa w systemach Windows Vista, Windows 7 oraz Linux.</li><br> +<li>Podczas powiązania USB nie ma możliwości podłączenia na komputerze karty SD telefonu.</li><br> +<li>Więcej informacji, w tym również na temat korzystania z powiązania USB z innymi systemami operacyjnymi, znajdziesz pod adresem <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/pl/tethering_wifi_help.html b/assets/html/pl/tethering_wifi_help.html new file mode 100644 index 0000000..50a66a7 --- /dev/null +++ b/assets/html/pl/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Powiązanie Wi-Fi</b></p> +<span class="style1">Telefon możesz przekształcić w punkt dostępowy Wi-Fi, aby udostępniać połączenie internetowe telefonu jednemu lub większej liczbie komputerów i innych urządzeń.</span> +<ul> +<li>Gdy telefon działa jako punkt dostępowy, nie możesz korzystać z aplikacji telefonu w celu uzyskania dostępu do internetu za pośrednictwem jego połączenia Wi-Fi.</li><br> +<li>Punkt dostępowy Wi-Fi konfiguruje się w ustawieniach powiązania Wi-Fi.</li><br> +<li>Aby uzyskać więcej informacji, odwiedź stronę <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/pt_br/tethering_help.html b/assets/html/pt_br/tethering_help.html new file mode 100644 index 0000000..00c4251 --- /dev/null +++ b/assets/html/pt_br/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Vínculo USB</b></p> +<span class="style1">Você pode vincular seu telefone ao seu computador com um cabo USB, compartilhando a conexão com a internet do telefone</span> +<ul> +<li>O vínculo funciona com Windows Vista, Windows 7 e Linux</li><br> +<li>Você não pode usar o cartão SD do telefone no computador com vínculo USB</li><br> +<li>Para mais informações, incluindo o uso de vínculo USB em outros SOs, veja <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Vínculo Wi-Fi</b></p> +<span class="style1">Use seu telefone como um ponto de acesso Wi-Fi, compartilhando a conexão com a internet do telefone com computadores ou outros aparelhos</span> +<ul> +<li>Quando seu telefone atua como ponto de acesso, você não pode usar os aplicativos do telefone para acessar a internet via conexão Wi-Fi</li><br> +<li>Configure um ponto de acesso Wi-Fi nas configurações de vínculo Wi-Fi</li><br> +<li>Para mais informações, visite <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/pt_br/tethering_usb_help.html b/assets/html/pt_br/tethering_usb_help.html new file mode 100644 index 0000000..8db1cc2 --- /dev/null +++ b/assets/html/pt_br/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Vínculo USB</b></p> +<span class="style1">Você pode vincular seu telefone ao seu computador com um cabo USB, compartilhando a conexão com a internet do telefone</span> +<ul> +<li>O vínculo funciona com Windows Vista, Windows 7 e Linux</li><br> +<li>Você não pode usar o cartão SD do telefone no computador com vínculo USB</li><br> +<li>Para mais informações, incluindo o uso de vínculo USB em outros SOs, veja <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/pt_br/tethering_wifi_help.html b/assets/html/pt_br/tethering_wifi_help.html new file mode 100644 index 0000000..88ca44f --- /dev/null +++ b/assets/html/pt_br/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Vínculo Wi-Fi</b></p> +<span class="style1">Use seu telefone como um ponto de acesso Wi-Fi, compartilhando a conexão com a internet do telefone com computadores ou outros aparelhos</span> +<ul> +<li>Quando seu telefone atua como ponto de acesso, você não pode usar os aplicativos do telefone para acessar a internet via conexão Wi-Fi</li><br> +<li>Configure um ponto de acesso Wi-Fi nas configurações de vínculo Wi-Fi</li><br> +<li>Para mais informações, visite <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/pt_pt/tethering_help.html b/assets/html/pt_pt/tethering_help.html new file mode 100644 index 0000000..ecf9c65 --- /dev/null +++ b/assets/html/pt_pt/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Associação USB</b></p> +<span class="style1">Pode associar o seu telefone ao computador com um cabo USB, para partilhar com o computador a ligação à internet do telefone</span> +<ul> +<li>A associação funciona com o Windows Vista, Windows 7 e Linux</li><br> +<li>Durante a associação USB, não é possível instalar o cartão SD do telefone no computador</li><br> +<li>Para mais informações, incluindo como utilizar a associação USB com outros sistemas operativos, consulte <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Associação Wi-Fi</b></p> +<span class="style1">Pode transformar o seu telefone num ponto de acesso Wi-Fi para partilhar a ligação à internet do telefone com um ou mais computadores ou outros dispositivos</span> +<ul> +<li>Quando o telefone estiver a ser usado como ponto de acesso, não poderá utilizar as aplicações do telefone para aceder à internet através da sua ligação Wi-Fi</li><br> +<li>Para configurar um ponto de acesso Wi-Fi, aceda às definições de associação Wi-Fi</li><br> +<li>Para mais informações, visite <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/pt_pt/tethering_usb_help.html b/assets/html/pt_pt/tethering_usb_help.html new file mode 100644 index 0000000..8cfab8c --- /dev/null +++ b/assets/html/pt_pt/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Associação USB</b></p> +<span class="style1">Pode associar o seu telefone ao computador com um cabo USB, para partilhar com o computador a ligação à internet do telefone</span> +<ul> +<li>A associação funciona com o Windows Vista, Windows 7 e Linux</li><br> +<li>Durante a associação USB, não é possível instalar o cartão SD do telefone no computador</li><br> +<li>Para mais informações, incluindo como utilizar a associação USB com outros sistemas operativos, consulte <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/pt_pt/tethering_wifi_help.html b/assets/html/pt_pt/tethering_wifi_help.html new file mode 100644 index 0000000..c214ae0 --- /dev/null +++ b/assets/html/pt_pt/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Associação Wi-Fi</b></p> +<span class="style1">Pode transformar o seu telefone num ponto de acesso Wi-Fi para partilhar a ligação à internet do telefone com um ou mais computadores ou outros dispositivos</span> +<ul> +<li>Quando o telefone estiver a ser usado como ponto de acesso, não poderá utilizar as aplicações do telefone para aceder à internet através da sua ligação Wi-Fi</li><br> +<li>Para configurar um ponto de acesso Wi-Fi, aceda às definições de associação Wi-Fi</li><br> +<li>Para mais informações, visite <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/ru/tethering_help.html b/assets/html/ru/tethering_help.html new file mode 100644 index 0000000..e09e428 --- /dev/null +++ b/assets/html/ru/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-подключение</b></p> +<span class="style1">Вы можете подключить телефон к компьютеру с помощью USB-кабеля и предоставить компьютеру интернет-подключение, установленное посредством телефона.</span> +<ul> +<li>Такое подключение возможно для ОС Windows Vista, Windows 7 и Linux.</li><br> +<li>При USB-подключении вы не сможете получить доступ к SD-карте телефона с компьютера.</li><br> +<li>Дополнительная информация и сведения об USB-подключении в других ОС приведена на странице <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +<p><b>Подключение Wi-Fi</b></p> +<span class="style1">Телефон можно использовать как точку доступа Wi-Fi. В этом случае несколько компьютеров или других устройств смогут использовать интернет-подключение, установленное посредством телефона.</span> +<ul> +<li>Когда телефон выступает в роли точки доступа, его приложения не смогут получить доступ к Интернету через подключение Wi-Fi.</li><br> +<li>Включить режим общего доступа к Интернету через Wi-Fi можно в настройках подключения Wi-Fi.</li><br> +<li>Дополнительная информация приведена на странице <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ru/tethering_usb_help.html b/assets/html/ru/tethering_usb_help.html new file mode 100644 index 0000000..570b88b --- /dev/null +++ b/assets/html/ru/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB-подключение</b></p> +<span class="style1">Вы можете подключить телефон к компьютеру с помощью USB-кабеля и предоставить компьютеру интернет-подключение, установленное посредством телефона.</span> +<ul> +<li>Такое подключение возможно для ОС Windows Vista, Windows 7 и Linux.</li><br> +<li>При USB-подключении вы не сможете получить доступ к SD-карте телефона с компьютера.</li><br> +<li>Дополнительная информация и сведения об USB-подключении в других ОС приведена на странице <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/ru/tethering_wifi_help.html b/assets/html/ru/tethering_wifi_help.html new file mode 100644 index 0000000..6fcca62 --- /dev/null +++ b/assets/html/ru/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Подключение Wi-Fi</b></p> +<span class="style1">Телефон можно использовать как точку доступа Wi-Fi. В этом случае несколько компьютеров или других устройств смогут использовать интернет-подключение, установленное посредством телефона.</span> +<ul> +<li>Когда телефон выступает в роли точки доступа, его приложения не смогут получить доступ к Интернету через подключение Wi-Fi.</li><br> +<li>Включить режим общего доступа к Интернету через Wi-Fi можно в настройках подключения Wi-Fi.</li><br> +<li>Дополнительная информация приведена на странице <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a>.</li><br> +</ul> +</body> +</html> diff --git a/assets/html/sv/tethering_help.html b/assets/html/sv/tethering_help.html new file mode 100644 index 0000000..2242e98 --- /dev/null +++ b/assets/html/sv/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Internetdelning via USB</b></p> +<span class="style1">Du kan ansluta telefonen till datorn med en USB-kabel om du vill dela telefonens Internetanslutning med datorn</span> +<ul> +<li>Internetdelning fungerar även med Windows Vista, Windows 7 och Linux</li><br> +<li>Det går inte att montera telefonens SD-kort i datorn när du delar Internet via USB</li><br> +<li>Om du vill veta mer, till exempel hur du använder Internetdelning via USB i andra operativsystem, besöker du <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Internetdelning via Wi-Fi</b></p> +<span class="style1">Du kan göra din telefon till en åtkomstpunkt för Wi-FI om du vill dela telefonens Internetanslutning med en eller flera datorer eller enheter</span> +<ul> +<li>När telefonen fungerar som åtkomstpunkt kan du inte använda telefonens program med Internet via telefonens Wi-Fi-anslutning</li><br> +<li>Du konfigurerar en Wi-Fi-åtkomstpunkt under inställningarna för Internetdelning via Wi-Fi</li><br> +<li>Om du vill veta mer besöker du <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/sv/tethering_usb_help.html b/assets/html/sv/tethering_usb_help.html new file mode 100644 index 0000000..a16ec51 --- /dev/null +++ b/assets/html/sv/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Internetdelning via USB</b></p> +<span class="style1">Du kan ansluta telefonen till datorn med en USB-kabel om du vill dela telefonens Internetanslutning med datorn</span> +<ul> +<li>Internetdelning fungerar även med Windows Vista, Windows 7 och Linux</li><br> +<li>Det går inte att montera telefonens SD-kort i datorn när du delar Internet via USB</li><br> +<li>Om du vill veta mer, till exempel hur du använder Internetdelning via USB i andra operativsystem, besöker du <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/sv/tethering_wifi_help.html b/assets/html/sv/tethering_wifi_help.html new file mode 100644 index 0000000..cfffe4d --- /dev/null +++ b/assets/html/sv/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Internetdelning via Wi-Fi</b></p> +<span class="style1">Du kan göra din telefon till en åtkomstpunkt för Wi-FI om du vill dela telefonens Internetanslutning med en eller flera datorer eller enheter</span> +<ul> +<li>När telefonen fungerar som åtkomstpunkt kan du inte använda telefonens program med Internet via telefonens Wi-Fi-anslutning</li><br> +<li>Du konfigurerar en Wi-Fi-åtkomstpunkt under inställningarna för Internetdelning via Wi-Fi</li><br> +<li>Om du vill veta mer besöker du <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/tr/tethering_help.html b/assets/html/tr/tethering_help.html new file mode 100644 index 0000000..cb59618 --- /dev/null +++ b/assets/html/tr/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB bağlantısı</b></p> +<span class="style1">Telefonunuzun internet bağlantısını bilgisayarınızla paylaşmak için telefonunuzu bir USB kablosuyla bilgisayarınıza bağlayabilirsiniz</span> +<ul> +<li>Bu tür bağlantı Windows Vista, Windows 7 ve Linux işletim sistemlerinde kullanılır</li><br> +<li>USB ile bağlandığında telefonunuzun SD kartını bilgisayarınızda kullanamazsınız</li><br> +<li>Diğer işletim sistemlerinde USB bağlantısı hakkında daha fazla bilgi için bkz. <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Kablosuz bağlantı</b></p> +<span class="style1">Telefonunuzun internet bağlantısını bir veya daha fazla bilgisayarla ya da diğer cihazlarla paylaşmak için telefonunuzu kablosuz erişim noktasına dönüştürebilirsiniz</span> +<ul> +<li>Telefonunuz erişim noktası görevi görürken kablosuz bağlantısı üzerinden internete erişmek için telefonunuzun uygulamalarını kullanamazsınız</li><br> +<li>Kablosuz bağlantı ayarlarında bir kablosuz erişim noktası yapılandırırsınız</li><br> +<li>Daha fazla bilgi için <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a> adresini ziyaret edin</li><br> +</ul> +</body> +</html> diff --git a/assets/html/tr/tethering_usb_help.html b/assets/html/tr/tethering_usb_help.html new file mode 100644 index 0000000..9b01ff9 --- /dev/null +++ b/assets/html/tr/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB bağlantısı</b></p> +<span class="style1">Telefonunuzun internet bağlantısını bilgisayarınızla paylaşmak için telefonunuzu bir USB kablosuyla bilgisayarınıza bağlayabilirsiniz</span> +<ul> +<li>Bu tür bağlantı Windows Vista, Windows 7 ve Linux işletim sistemlerinde kullanılır</li><br> +<li>USB ile bağlandığında telefonunuzun SD kartını bilgisayarınızda kullanamazsınız</li><br> +<li>Diğer işletim sistemlerinde USB bağlantısı hakkında daha fazla bilgi için bkz. <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/tr/tethering_wifi_help.html b/assets/html/tr/tethering_wifi_help.html new file mode 100644 index 0000000..60f8206 --- /dev/null +++ b/assets/html/tr/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Kablosuz bağlantı</b></p> +<span class="style1">Telefonunuzun internet bağlantısını bir veya daha fazla bilgisayarla ya da diğer cihazlarla paylaşmak için telefonunuzu kablosuz erişim noktasına dönüştürebilirsiniz</span> +<ul> +<li>Telefonunuz erişim noktası görevi görürken kablosuz bağlantısı üzerinden internete erişmek için telefonunuzun uygulamalarını kullanamazsınız</li><br> +<li>Kablosuz bağlantı ayarlarında bir kablosuz erişim noktası yapılandırırsınız</li><br> +<li>Daha fazla bilgi için <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a> adresini ziyaret edin</li><br> +</ul> +</body> +</html> diff --git a/assets/html/zh_cn/tethering_help.html b/assets/html/zh_cn/tethering_help.html new file mode 100644 index 0000000..0513eb7 --- /dev/null +++ b/assets/html/zh_cn/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB 绑定</b></p> +<span class="style1">您可以通过 USB 线将手机与计算机绑定,从而与计算机共享手机的互联网连接</span> +<ul> +<li>绑定适用于 Windows Vista、Windows 7 和 Linux</li><br> +<li>在 USB 绑定期间,您无法在计算机上安装手机的 SD 卡</li><br> +<li>要了解详细信息(包括如何在其他操作系统上使用 USB 绑定),请访问 <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Wi-Fi 绑定</b></p> +<span class="style1">您可以将手机设为 Wi-Fi 接入点,从而与一台或多台计算机或者其他设备共享手机的互联网连接</span> +<ul> +<li>手机成为接入点后,您就无法通过 Wi-Fi 连接使用手机的应用程序访问互联网了</li><br> +<li>您可以在 Wi-Fi 绑定设置中配置 Wi-Fi 接入点</li><br> +<li>要了解详细信息,请访问 <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/zh_cn/tethering_usb_help.html b/assets/html/zh_cn/tethering_usb_help.html new file mode 100644 index 0000000..adb3769 --- /dev/null +++ b/assets/html/zh_cn/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB 绑定</b></p> +<span class="style1">您可以通过 USB 线将手机与计算机绑定,从而与计算机共享手机的互联网连接</span> +<ul> +<li>绑定适用于 Windows Vista、Windows 7 和 Linux</li><br> +<li>在 USB 绑定期间,您无法在计算机上安装手机的 SD 卡</li><br> +<li>要了解详细信息(包括如何在其他操作系统上使用 USB 绑定),请访问 <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/zh_cn/tethering_wifi_help.html b/assets/html/zh_cn/tethering_wifi_help.html new file mode 100644 index 0000000..32a8792 --- /dev/null +++ b/assets/html/zh_cn/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi 绑定</b></p> +<span class="style1">您可以将手机设为 Wi-Fi 接入点,从而与一台或多台计算机或者其他设备共享手机的互联网连接</span> +<ul> +<li>手机成为接入点后,您就无法通过 Wi-Fi 连接使用手机的应用程序访问互联网了</li><br> +<li>您可以在 Wi-Fi 绑定设置中配置 Wi-Fi 接入点</li><br> +<li>要了解详细信息,请访问 <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/zh_tw/tethering_help.html b/assets/html/zh_tw/tethering_help.html new file mode 100644 index 0000000..15f69c0 --- /dev/null +++ b/assets/html/zh_tw/tethering_help.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB 數據連線</b></p> +<span class="style1">您可以使用 USB 纜線讓手機和電腦連線,使電腦可以共用手機的網際網路連線</span> +<ul> +<li>支援數據連線的作業系統包括 Windows Vista、Windows 7 及 Linux</li><br> +<li>使用 USB 數據連線時,您無法將手機的 SD 卡插到電腦上</li><br> +<li>如需更多資訊,包括在其他作業系統中使用 USB 數據連線的資訊,請參閱 <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +<p><b>Wi-Fi 數據連線</b></p> +<span class="style1">您可以將手機變成 Wi-Fi 存取點,讓一或多台電腦或其他裝置可以共用手機的網際網路連線</span> +<ul> +<li>將手機當作存取點使用時,手機的應用程式將無法透過 Wi-Fi 連線存取網際網路</li><br> +<li>您可以在 Wi-Fi 數據連線設定中配置 Wi-Fi 存取點</li><br> +<li>如需更多資訊,請造訪 <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/zh_tw/tethering_usb_help.html b/assets/html/zh_tw/tethering_usb_help.html new file mode 100644 index 0000000..f1a20df --- /dev/null +++ b/assets/html/zh_tw/tethering_usb_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>USB 數據連線</b></p> +<span class="style1">您可以使用 USB 纜線讓手機和電腦連線,使電腦可以共用手機的網際網路連線</span> +<ul> +<li>支援數據連線的作業系統包括 Windows Vista、Windows 7 及 Linux</li><br> +<li>使用 USB 數據連線時,您無法將手機的 SD 卡插到電腦上</li><br> +<li>如需更多資訊,包括在其他作業系統中使用 USB 數據連線的資訊,請參閱 <a href="http://www.android.com/tether#usb">http://www.android.com/tether#usb</a></li><br> +</ul> +</body> +</html> diff --git a/assets/html/zh_tw/tethering_wifi_help.html b/assets/html/zh_tw/tethering_wifi_help.html new file mode 100644 index 0000000..f91b151 --- /dev/null +++ b/assets/html/zh_tw/tethering_wifi_help.html @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html DIR="LTR"> +<head> +<style> +P { + font-size: 14 px; + } +B { + font-size: 16px; +} +A { + color: #OOC; +} +.style1 { + font-size: 16px; +} +</style> +</head> +<body> +<p><b>Wi-Fi 數據連線</b></p> +<span class="style1">您可以將手機變成 Wi-Fi 存取點,讓一或多台電腦或其他裝置可以共用手機的網際網路連線</span> +<ul> +<li>將手機當作存取點使用時,手機的應用程式將無法透過 Wi-Fi 連線存取網際網路</li><br> +<li>您可以在 Wi-Fi 數據連線設定中配置 Wi-Fi 存取點</li><br> +<li>如需更多資訊,請造訪 <a href="http://www.android.com/tether#wifi">http://www.android.com/tether#wifi</a></li><br> +</ul> +</body> +</html> diff --git a/res/drawable-hdpi/ic_appwidget_settings_brightness_auto.png b/res/drawable-hdpi/ic_appwidget_settings_brightness_auto.png Binary files differnew file mode 100644 index 0000000..14c3e04 --- /dev/null +++ b/res/drawable-hdpi/ic_appwidget_settings_brightness_auto.png diff --git a/res/drawable-hdpi/ic_settings_display.png b/res/drawable-hdpi/ic_settings_display.png Binary files differindex 20568d2..c35e8be 100644 --- a/res/drawable-hdpi/ic_settings_display.png +++ b/res/drawable-hdpi/ic_settings_display.png diff --git a/res/drawable-hdpi/ic_settings_sound_display.png b/res/drawable-hdpi/ic_settings_sound.png Binary files differindex 6ed9039..6ed9039 100755 --- a/res/drawable-hdpi/ic_settings_sound_display.png +++ b/res/drawable-hdpi/ic_settings_sound.png diff --git a/res/drawable-hdpi/ic_tab_selected_all.png b/res/drawable-hdpi/ic_tab_selected_all.png Binary files differnew file mode 100644 index 0000000..d5a7878 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_selected_all.png diff --git a/res/drawable-hdpi/ic_tab_selected_download.png b/res/drawable-hdpi/ic_tab_selected_download.png Binary files differnew file mode 100644 index 0000000..d316c10 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_selected_download.png diff --git a/res/drawable-hdpi/ic_tab_selected_running.png b/res/drawable-hdpi/ic_tab_selected_running.png Binary files differnew file mode 100644 index 0000000..56849f8 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_selected_running.png diff --git a/res/drawable-hdpi/ic_tab_selected_sdcard.png b/res/drawable-hdpi/ic_tab_selected_sdcard.png Binary files differnew file mode 100644 index 0000000..f4bd7d1 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_selected_sdcard.png diff --git a/res/drawable-hdpi/ic_tab_unselected_all.png b/res/drawable-hdpi/ic_tab_unselected_all.png Binary files differnew file mode 100644 index 0000000..2ef5115 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_unselected_all.png diff --git a/res/drawable-hdpi/ic_tab_unselected_download.png b/res/drawable-hdpi/ic_tab_unselected_download.png Binary files differnew file mode 100644 index 0000000..bd74ee9 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_unselected_download.png diff --git a/res/drawable-hdpi/ic_tab_unselected_running.png b/res/drawable-hdpi/ic_tab_unselected_running.png Binary files differnew file mode 100644 index 0000000..f27cb93 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_unselected_running.png diff --git a/res/drawable-hdpi/ic_tab_unselected_sdcard.png b/res/drawable-hdpi/ic_tab_unselected_sdcard.png Binary files differnew file mode 100644 index 0000000..b73b939 --- /dev/null +++ b/res/drawable-hdpi/ic_tab_unselected_sdcard.png diff --git a/res/drawable-hdpi/lock_anim_00.png b/res/drawable-hdpi/lock_anim_0.png Binary files differindex 08732e4..08732e4 100644 --- a/res/drawable-hdpi/lock_anim_00.png +++ b/res/drawable-hdpi/lock_anim_0.png diff --git a/res/drawable-hdpi/lock_anim_1.png b/res/drawable-hdpi/lock_anim_1.png Binary files differnew file mode 100644 index 0000000..74a0628 --- /dev/null +++ b/res/drawable-hdpi/lock_anim_1.png diff --git a/res/drawable-hdpi/lock_anim_11.png b/res/drawable-hdpi/lock_anim_11.png Binary files differnew file mode 100644 index 0000000..f8976a2 --- /dev/null +++ b/res/drawable-hdpi/lock_anim_11.png diff --git a/res/drawable-hdpi/lock_anim_13.png b/res/drawable-hdpi/lock_anim_13.png Binary files differnew file mode 100644 index 0000000..ccd38d5 --- /dev/null +++ b/res/drawable-hdpi/lock_anim_13.png diff --git a/res/drawable-hdpi/lock_anim_02.png b/res/drawable-hdpi/lock_anim_2.png Binary files differindex 495b2da..495b2da 100644 --- a/res/drawable-hdpi/lock_anim_02.png +++ b/res/drawable-hdpi/lock_anim_2.png diff --git a/res/drawable-hdpi/lock_anim_3.png b/res/drawable-hdpi/lock_anim_3.png Binary files differnew file mode 100644 index 0000000..fa37813 --- /dev/null +++ b/res/drawable-hdpi/lock_anim_3.png diff --git a/res/drawable-hdpi/lock_anim_04.png b/res/drawable-hdpi/lock_anim_4.png Binary files differindex 8201fd9..8201fd9 100644 --- a/res/drawable-hdpi/lock_anim_04.png +++ b/res/drawable-hdpi/lock_anim_4.png diff --git a/res/drawable-hdpi/lock_anim_5.png b/res/drawable-hdpi/lock_anim_5.png Binary files differnew file mode 100644 index 0000000..b08932d --- /dev/null +++ b/res/drawable-hdpi/lock_anim_5.png diff --git a/res/drawable-hdpi/lock_anim_06.png b/res/drawable-hdpi/lock_anim_6.png Binary files differindex dac09e1..dac09e1 100644 --- a/res/drawable-hdpi/lock_anim_06.png +++ b/res/drawable-hdpi/lock_anim_6.png diff --git a/res/drawable-hdpi/lock_anim_7.png b/res/drawable-hdpi/lock_anim_7.png Binary files differnew file mode 100644 index 0000000..f06c9d6 --- /dev/null +++ b/res/drawable-hdpi/lock_anim_7.png diff --git a/res/drawable-hdpi/lock_anim_08.png b/res/drawable-hdpi/lock_anim_8.png Binary files differindex 07f7e34..07f7e34 100644 --- a/res/drawable-hdpi/lock_anim_08.png +++ b/res/drawable-hdpi/lock_anim_8.png diff --git a/res/drawable-hdpi/lock_anim_9.png b/res/drawable-hdpi/lock_anim_9.png Binary files differnew file mode 100644 index 0000000..551bafa --- /dev/null +++ b/res/drawable-hdpi/lock_anim_9.png diff --git a/res/drawable-hdpi/password_field_default.9.png b/res/drawable-hdpi/password_field_default.9.png Binary files differnew file mode 100644 index 0000000..2c424f0 --- /dev/null +++ b/res/drawable-hdpi/password_field_default.9.png diff --git a/res/drawable-mdpi/appwidget_inner_focus_r.9.png b/res/drawable-mdpi/appwidget_inner_focus_r.9.png Binary files differindex bc8757b..604256e 100644 --- a/res/drawable-mdpi/appwidget_inner_focus_r.9.png +++ b/res/drawable-mdpi/appwidget_inner_focus_r.9.png diff --git a/res/drawable-mdpi/appwidget_inner_press_r.9.png b/res/drawable-mdpi/appwidget_inner_press_r.9.png Binary files differindex 79eaea3..6d7bf29 100644 --- a/res/drawable-mdpi/appwidget_inner_press_r.9.png +++ b/res/drawable-mdpi/appwidget_inner_press_r.9.png diff --git a/res/drawable-mdpi/ic_appwidget_settings_brightness_auto.png b/res/drawable-mdpi/ic_appwidget_settings_brightness_auto.png Binary files differnew file mode 100644 index 0000000..6e2237a --- /dev/null +++ b/res/drawable-mdpi/ic_appwidget_settings_brightness_auto.png diff --git a/res/drawable-mdpi/ic_launcher_settings.png b/res/drawable-mdpi/ic_launcher_settings.png Binary files differindex 16db056..a8cddf3 100755..100644 --- a/res/drawable-mdpi/ic_launcher_settings.png +++ b/res/drawable-mdpi/ic_launcher_settings.png diff --git a/res/drawable-mdpi/ic_settings_display.png b/res/drawable-mdpi/ic_settings_display.png Binary files differindex b676b85..85af393 100644 --- a/res/drawable-mdpi/ic_settings_display.png +++ b/res/drawable-mdpi/ic_settings_display.png diff --git a/res/drawable-mdpi/ic_settings_sound_display.png b/res/drawable-mdpi/ic_settings_sound.png Binary files differindex 73c93bd..73c93bd 100755 --- a/res/drawable-mdpi/ic_settings_sound_display.png +++ b/res/drawable-mdpi/ic_settings_sound.png diff --git a/res/drawable-mdpi/ic_tab_selected_all.png b/res/drawable-mdpi/ic_tab_selected_all.png Binary files differnew file mode 100644 index 0000000..bdcfc16 --- /dev/null +++ b/res/drawable-mdpi/ic_tab_selected_all.png diff --git a/res/drawable-mdpi/ic_tab_selected_download.png b/res/drawable-mdpi/ic_tab_selected_download.png Binary files differnew file mode 100644 index 0000000..e9d02c8 --- /dev/null +++ b/res/drawable-mdpi/ic_tab_selected_download.png diff --git a/res/drawable-mdpi/ic_tab_selected_running.png b/res/drawable-mdpi/ic_tab_selected_running.png Binary files differnew file mode 100644 index 0000000..5f07d4b --- /dev/null +++ b/res/drawable-mdpi/ic_tab_selected_running.png diff --git a/res/drawable-mdpi/ic_tab_selected_sdcard.png b/res/drawable-mdpi/ic_tab_selected_sdcard.png Binary files differnew file mode 100644 index 0000000..f90c7ea --- /dev/null +++ b/res/drawable-mdpi/ic_tab_selected_sdcard.png diff --git a/res/drawable-mdpi/ic_tab_unselected_all.png b/res/drawable-mdpi/ic_tab_unselected_all.png Binary files differnew file mode 100644 index 0000000..dfd81cc --- /dev/null +++ b/res/drawable-mdpi/ic_tab_unselected_all.png diff --git a/res/drawable-mdpi/ic_tab_unselected_download.png b/res/drawable-mdpi/ic_tab_unselected_download.png Binary files differnew file mode 100644 index 0000000..b7e56d4 --- /dev/null +++ b/res/drawable-mdpi/ic_tab_unselected_download.png diff --git a/res/drawable-mdpi/ic_tab_unselected_running.png b/res/drawable-mdpi/ic_tab_unselected_running.png Binary files differnew file mode 100644 index 0000000..6a72513 --- /dev/null +++ b/res/drawable-mdpi/ic_tab_unselected_running.png diff --git a/res/drawable-mdpi/ic_tab_unselected_sdcard.png b/res/drawable-mdpi/ic_tab_unselected_sdcard.png Binary files differnew file mode 100644 index 0000000..59af3a2 --- /dev/null +++ b/res/drawable-mdpi/ic_tab_unselected_sdcard.png diff --git a/res/drawable-mdpi/icon.png b/res/drawable-mdpi/icon.png Binary files differindex 16db056..a8cddf3 100755..100644 --- a/res/drawable-mdpi/icon.png +++ b/res/drawable-mdpi/icon.png diff --git a/res/drawable-mdpi/lock_anim_0.png b/res/drawable-mdpi/lock_anim_0.png Binary files differnew file mode 100644 index 0000000..afdda8b --- /dev/null +++ b/res/drawable-mdpi/lock_anim_0.png diff --git a/res/drawable-mdpi/lock_anim_1.png b/res/drawable-mdpi/lock_anim_1.png Binary files differnew file mode 100644 index 0000000..6cae8e5 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_1.png diff --git a/res/drawable-mdpi/lock_anim_11.png b/res/drawable-mdpi/lock_anim_11.png Binary files differnew file mode 100644 index 0000000..35db815 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_11.png diff --git a/res/drawable-mdpi/lock_anim_13.png b/res/drawable-mdpi/lock_anim_13.png Binary files differnew file mode 100644 index 0000000..d0b8cf0 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_13.png diff --git a/res/drawable-mdpi/lock_anim_2.png b/res/drawable-mdpi/lock_anim_2.png Binary files differnew file mode 100644 index 0000000..0542b1d --- /dev/null +++ b/res/drawable-mdpi/lock_anim_2.png diff --git a/res/drawable-mdpi/lock_anim_3.png b/res/drawable-mdpi/lock_anim_3.png Binary files differnew file mode 100644 index 0000000..7e2ba9a --- /dev/null +++ b/res/drawable-mdpi/lock_anim_3.png diff --git a/res/drawable-mdpi/lock_anim_4.png b/res/drawable-mdpi/lock_anim_4.png Binary files differnew file mode 100644 index 0000000..a3ca629 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_4.png diff --git a/res/drawable-mdpi/lock_anim_5.png b/res/drawable-mdpi/lock_anim_5.png Binary files differnew file mode 100644 index 0000000..17e3839 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_5.png diff --git a/res/drawable-mdpi/lock_anim_6.png b/res/drawable-mdpi/lock_anim_6.png Binary files differnew file mode 100644 index 0000000..90205a6 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_6.png diff --git a/res/drawable-mdpi/lock_anim_7.png b/res/drawable-mdpi/lock_anim_7.png Binary files differnew file mode 100644 index 0000000..1d94a47 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_7.png diff --git a/res/drawable-mdpi/lock_anim_8.png b/res/drawable-mdpi/lock_anim_8.png Binary files differnew file mode 100644 index 0000000..af7cd28 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_8.png diff --git a/res/drawable-mdpi/lock_anim_9.png b/res/drawable-mdpi/lock_anim_9.png Binary files differnew file mode 100644 index 0000000..d401624 --- /dev/null +++ b/res/drawable-mdpi/lock_anim_9.png diff --git a/res/drawable-mdpi/password_field_default.9.png b/res/drawable-mdpi/password_field_default.9.png Binary files differnew file mode 100644 index 0000000..3193275 --- /dev/null +++ b/res/drawable-mdpi/password_field_default.9.png diff --git a/res/drawable/ic_tab_all.xml b/res/drawable/ic_tab_all.xml new file mode 100644 index 0000000..9e5756b --- /dev/null +++ b/res/drawable/ic_tab_all.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/ic_tab_selected_all" /> + <item android:drawable="@drawable/ic_tab_unselected_all" /> +</selector> + diff --git a/res/drawable/ic_tab_download.xml b/res/drawable/ic_tab_download.xml new file mode 100644 index 0000000..d126f5b --- /dev/null +++ b/res/drawable/ic_tab_download.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/ic_tab_selected_download" /> + <item android:drawable="@drawable/ic_tab_unselected_download" /> +</selector> + diff --git a/res/drawable/ic_tab_running.xml b/res/drawable/ic_tab_running.xml new file mode 100644 index 0000000..1044acc --- /dev/null +++ b/res/drawable/ic_tab_running.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/ic_tab_selected_running" /> + <item android:drawable="@drawable/ic_tab_unselected_running" /> +</selector> + diff --git a/res/drawable/ic_tab_sdcard.xml b/res/drawable/ic_tab_sdcard.xml new file mode 100644 index 0000000..2088f93 --- /dev/null +++ b/res/drawable/ic_tab_sdcard.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/ic_tab_selected_sdcard" /> + <item android:drawable="@drawable/ic_tab_unselected_sdcard" /> +</selector> + diff --git a/res/drawable/lock_anim.xml b/res/drawable/lock_anim.xml index ca1f9d8..8ec31a6 100644 --- a/res/drawable/lock_anim.xml +++ b/res/drawable/lock_anim.xml @@ -1,30 +1,37 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -/* +/* ** Copyright 2008, The Android Open Source Project ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at ** -** http://www.apache.org/licenses/LICENSE-2.0 +** http://www.apache.org/licenses/LICENSE-2.0 ** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and ** limitations under the License. */ --> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> - <item android:drawable="@drawable/lock_anim_00" android:duration="400" /> - <item android:drawable="@drawable/lock_anim_02" android:duration="400" /> - <item android:drawable="@drawable/lock_anim_04" android:duration="400" /> - <item android:drawable="@drawable/lock_anim_06" android:duration="400" /> - <item android:drawable="@drawable/lock_anim_08" android:duration="400" /> - <item android:drawable="@drawable/lock_anim_10" android:duration="400" /> - <item android:drawable="@drawable/lock_anim_12" android:duration="400" /> - <item android:drawable="@drawable/lock_anim_14" android:duration="400" /> + <item android:drawable="@drawable/lock_anim_0" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_1" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_2" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_3" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_4" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_5" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_6" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_7" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_8" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_9" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_10" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_11" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_12" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_13" android:duration="200" /> + <item android:drawable="@drawable/lock_anim_14" android:duration="200" /> </animation-list> diff --git a/res/layout-land/choose_lock_password.xml b/res/layout-land/choose_lock_password.xml new file mode 100644 index 0000000..f2a2f46 --- /dev/null +++ b/res/layout-land/choose_lock_password.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 2008, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License") +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" + android:background="@android:color/background_dark" + android:gravity="center_horizontal"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + <!-- "Enter PIN(Password) to unlock" --> + <TextView android:id="@+id/headerText" + android:layout_width="0dip" + android:layout_height="wrap_content" + android:layout_weight="1" + android:orientation="horizontal" + android:layout_marginRight="6dip" + android:layout_marginLeft="6dip" + android:layout_marginTop="10dip" + android:layout_marginBottom="10dip" + android:gravity="left" + android:ellipsize="marquee" + android:textAppearance="?android:attr/textAppearanceLarge" + /> + + <!-- Password entry field --> + <EditText android:id="@+id/password_entry" + android:layout_width="0dip" + android:layout_height="wrap_content" + android:layout_weight="1" + android:singleLine="true" + android:textStyle="bold" + android:inputType="textPassword" + android:gravity="center" + android:layout_gravity="center" + android:textSize="24sp" + android:layout_marginTop="5dip" + android:layout_marginBottom="5dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:background="@drawable/password_field_default" + android:textColor="#ffffffff" + /> + </LinearLayout> + + <!-- Spacer between password entry and keyboard --> + <View + android:layout_width="match_parent" + android:layout_height="0dip" + android:layout_weight="1" /> + + <!-- Alphanumeric keyboard --> + <com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard" + android:layout_alignParentBottom="true" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="#00000000" + android:keyBackground="@*android:drawable/btn_keyboard_key_fulltrans" + /> + + <RelativeLayout + android:layout_height="wrap_content" + android:layout_width="match_parent" + android:background="@android:drawable/bottom_bar" + android:visibility="gone"> + + <Button android:id="@+id/cancel_button" + android:layout_width="150dip" + android:layout_height="wrap_content" + android:layout_margin="5dip" + android:layout_alignParentLeft="true" + android:text="@string/lockpassword_cancel_label" + /> + + <Button android:id="@+id/next_button" + android:layout_width="150dip" + android:layout_height="wrap_content" + android:layout_margin="5dip" + android:layout_alignParentRight="true" + android:drawableRight="@drawable/ic_btn_next" + android:drawablePadding="10dip" + android:text="@string/lockpassword_continue_label" + /> + + </RelativeLayout> + +</LinearLayout> diff --git a/res/layout-land/choose_lock_pattern.xml b/res/layout-land/choose_lock_pattern.xml index 9d623f6..9af76d1 100644 --- a/res/layout-land/choose_lock_pattern.xml +++ b/res/layout-land/choose_lock_pattern.xml @@ -18,28 +18,28 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/topLayout" android:orientation="horizontal" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:background="@color/black"> <!-- left side: instructions and messages --> <LinearLayout android:orientation="vertical" android:layout_width="0dip" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:layout_weight="1.0" > <!-- header message --> <TextView android:id="@+id/headerText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textSize="18sp"/> <!-- footer can show a message, or confirm / restart buttons --> <RelativeLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1.0"> @@ -81,7 +81,7 @@ <View android:background="@*android:drawable/code_lock_left" android:layout_width="2dip" - android:layout_height="fill_parent" /> + android:layout_height="match_parent" /> <!-- right side: lock pattern --> <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern" android:layout_width="wrap_content" diff --git a/res/layout-land/confirm_lock_password.xml b/res/layout-land/confirm_lock_password.xml new file mode 100644 index 0000000..3a27b9d --- /dev/null +++ b/res/layout-land/confirm_lock_password.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 2008, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License") +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<!-- This is basically the same layout now, but will likely change --> +<merge xmlns:android="http://schemas.android.com/apk/res/android"> + <include + layout="@layout/choose_lock_password" + android:layout_width="match_parent" + android:layout_height="match_parent" + /> +</merge> diff --git a/res/layout-land/confirm_lock_pattern.xml b/res/layout-land/confirm_lock_pattern.xml index 6decb14..2da2b9a 100644 --- a/res/layout-land/confirm_lock_pattern.xml +++ b/res/layout-land/confirm_lock_pattern.xml @@ -18,21 +18,21 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/topLayout" android:orientation="horizontal" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:background="@color/black"> <!-- left side: instructions and messages --> <LinearLayout android:orientation="vertical" android:layout_width="0dip" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:layout_weight="1.0" > <!-- header message --> <TextView android:id="@+id/headerText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textSize="18sp"/> @@ -40,13 +40,13 @@ <!-- fill space between header and button below --> <View android:layout_weight="1.0" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" /> <!-- footer message --> <TextView android:id="@+id/footerText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textSize="14sp"/> @@ -55,7 +55,7 @@ <View android:background="@*android:drawable/code_lock_left" android:layout_width="2dip" - android:layout_height="fill_parent" /> + android:layout_height="match_parent" /> <!-- right side: lock pattern --> <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern" android:layout_width="wrap_content" diff --git a/res/layout/apn_preference_layout.xml b/res/layout/apn_preference_layout.xml index 2a7c2e9..1694a93 100644 --- a/res/layout/apn_preference_layout.xml +++ b/res/layout/apn_preference_layout.xml @@ -16,7 +16,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical"> diff --git a/res/layout/band_mode.xml b/res/layout/band_mode.xml index e920af0..ddbc7ae 100644 --- a/res/layout/band_mode.xml +++ b/res/layout/band_mode.xml @@ -18,12 +18,12 @@ android:orientation="vertical" android:padding="4dip" android:gravity="center_horizontal" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <ListView android:id="@+id/band" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:textSize="7sp"> </ListView> diff --git a/res/layout/battery_history.xml b/res/layout/battery_history.xml index 5421c40..b46d97b 100644 --- a/res/layout/battery_history.xml +++ b/res/layout/battery_history.xml @@ -2,44 +2,44 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/topLayout" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <TextView android:id="@+id/title" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" /> <LinearLayout android:id="@+id/graphLayout" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent" > + android:layout_width="match_parent" + android:layout_height="match_parent" > <Spinner android:id="@+id/typeSpinner" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/battery_history_type_spinner" /> <Spinner android:id="@+id/whichSpinner" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/battery_history_which_spinner" /> <ScrollView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:orientation="vertical" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/messageText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:textSize="17dp" @@ -47,7 +47,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button0" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -56,7 +56,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button1" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -65,7 +65,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button2" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -74,7 +74,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button3" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -83,7 +83,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button4" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -92,7 +92,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button5" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -101,7 +101,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button6" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -110,7 +110,7 @@ <com.android.settings.battery_history.GraphableButton android:id="@+id/button7" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" @@ -126,15 +126,15 @@ android:id="@+id/textLayout" android:visibility="gone" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent" > + android:layout_width="match_parent" + android:layout_height="match_parent" > <ScrollView - android:layout_width="fill_parent" - android:layout_height="fill_parent" > + android:layout_width="match_parent" + android:layout_height="match_parent" > <TextView android:id="@+id/detailsText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:textSize="17dp" android:layout_height="1000dp"/> </ScrollView> diff --git a/res/layout/bluetooth.xml b/res/layout/bluetooth.xml index 530cbbe..a4ac1ca 100644 --- a/res/layout/bluetooth.xml +++ b/res/layout/bluetooth.xml @@ -19,32 +19,32 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:paddingLeft="2dip" android:paddingRight="2dip"> <Button android:id="@+id/enable" android:textStyle="bold" android:text="@string/bluetooth_enable_text" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"/> <Button android:id="@+id/scan" android:textStyle="bold" android:text="@string/bluetooth_scan_text" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"/> <Button android:id="@+id/settings" android:textStyle="bold" android:text="@string/bluetooth_settings_text" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"/> <ListView android:id="@android:id/list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:drawSelectorOnTop="false"> </ListView> diff --git a/res/layout/bluetooth_device_info.xml b/res/layout/bluetooth_device_info.xml index e589103..4178734 100644 --- a/res/layout/bluetooth_device_info.xml +++ b/res/layout/bluetooth_device_info.xml @@ -16,20 +16,20 @@ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll_content" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/bluetooth_device_info_alias" /> <TextView android:id="@+id/deviceAlias" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/bluetooth_device_info_no_alias" /> @@ -49,12 +49,12 @@ android:text="@string/bluetooth_device_info_sdp" /> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/bluetooth_device_info" /> <TextView android:id="@+id/deviceInfo" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/bluetooth_device_info_deviceInfo_text" /> </LinearLayout> diff --git a/res/layout/bluetooth_discoverable.xml b/res/layout/bluetooth_discoverable.xml index 3673774..fb65453 100644 --- a/res/layout/bluetooth_discoverable.xml +++ b/res/layout/bluetooth_discoverable.xml @@ -19,12 +19,12 @@ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_height="fill_parent" - android:layout_width="fill_parent"> + android:layout_height="match_parent" + android:layout_width="match_parent"> <TextView android:id="@+id/message" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="20dip" android:paddingRight="20dip" diff --git a/res/layout/bluetooth_pin_entry.xml b/res/layout/bluetooth_pin_entry.xml index bcb6f16..16b75fc 100644 --- a/res/layout/bluetooth_pin_entry.xml +++ b/res/layout/bluetooth_pin_entry.xml @@ -19,18 +19,18 @@ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_height="fill_parent" - android:layout_width="fill_parent"> + android:layout_height="match_parent" + android:layout_width="match_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_height="fill_parent" - android:layout_width="fill_parent" + android:layout_height="match_parent" + android:layout_width="match_parent" android:orientation="vertical"> <TextView android:id="@+id/message" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" @@ -40,7 +40,7 @@ <EditText android:id="@+id/text" android:layout_height="wrap_content" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_marginTop="20dip" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" diff --git a/res/layout/bookmark_picker_item.xml b/res/layout/bookmark_picker_item.xml index fd764ea..a0d71c6 100644 --- a/res/layout/bookmark_picker_item.xml +++ b/res/layout/bookmark_picker_item.xml @@ -17,7 +17,7 @@ */ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:paddingLeft="2dip" @@ -29,7 +29,7 @@ android:scaleType="fitCenter" /> <TextView android:id="@+id/title" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:paddingLeft="6dip" /> diff --git a/res/layout/choose_lock_password.xml b/res/layout/choose_lock_password.xml new file mode 100644 index 0000000..3ab1374 --- /dev/null +++ b/res/layout/choose_lock_password.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 2008, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License") +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" + android:background="@android:color/background_dark" + android:gravity="center_horizontal"> + + <!-- header text ('Enter Pin') --> + <TextView android:id="@+id/headerText" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:lines="2" + android:textAppearance="?android:attr/textAppearanceLarge"/> + + <!-- spacer above text entry field --> + <View + android:id="@+id/spacerBottom" + android:layout_width="fill_parent" + android:layout_height="1dip" + android:layout_marginTop="6dip" + android:background="@android:drawable/divider_horizontal_dark" + /> + + <!-- Password entry field --> + <EditText android:id="@+id/password_entry" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:textStyle="bold" + android:inputType="textPassword" + android:gravity="center" + android:layout_gravity="center" + android:textSize="32sp" + android:layout_marginTop="15dip" + android:layout_marginLeft="30dip" + android:layout_marginRight="30dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:background="@drawable/password_field_default" + android:textColor="#ffffffff" + /> + + <!-- Spacer between password entry and keyboard --> + <View + android:layout_width="match_parent" + android:layout_height="0dip" + android:layout_weight="1" /> + + <!-- Alphanumeric keyboard --> + <com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard" + android:layout_alignParentBottom="true" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="#00000000" + android:layout_marginBottom="30dip" + android:keyBackground="@*android:drawable/btn_keyboard_key_fulltrans" + /> + + <RelativeLayout + android:layout_height="wrap_content" + android:layout_width="match_parent" + android:background="@android:drawable/bottom_bar"> + + <Button android:id="@+id/cancel_button" + android:layout_width="150dip" + android:layout_height="wrap_content" + android:layout_margin="5dip" + android:layout_alignParentLeft="true" + android:text="@string/lockpassword_cancel_label" + /> + + <Button android:id="@+id/next_button" + android:layout_width="150dip" + android:layout_height="wrap_content" + android:layout_margin="5dip" + android:layout_alignParentRight="true" + android:drawableRight="@drawable/ic_btn_next" + android:drawablePadding="10dip" + android:text="@string/lockpassword_continue_label" + /> + + </RelativeLayout> + +</LinearLayout> diff --git a/res/layout/choose_lock_pattern.xml b/res/layout/choose_lock_pattern.xml index 78ab8b4..97c647f 100644 --- a/res/layout/choose_lock_pattern.xml +++ b/res/layout/choose_lock_pattern.xml @@ -18,18 +18,18 @@ android:id="@+id/topLayout" android:orientation="vertical" android:layout_width="wrap_content" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@color/black"> <!-- takes up all space above button bar at bottom --> <LinearLayout android:orientation="vertical" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1"> <TextView android:id="@+id/headerText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:gravity="center" @@ -37,7 +37,7 @@ <View android:background="@*android:drawable/code_lock_top" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="2dip" /> <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern" android:layout_width="wrap_content" @@ -46,11 +46,11 @@ <!-- bottom line looks bad when button bar is their too, omit in this case --> <!--View android:background="@*android:drawable/code_lock_bottom" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="8dip" /--> <TextView android:id="@+id/footerText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:gravity="center" @@ -61,7 +61,7 @@ <LinearLayout style="@android:style/ButtonBar" android:orientation="horizontal" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/footerLeftButton" diff --git a/res/layout/choose_lock_pattern_example.xml b/res/layout/choose_lock_pattern_example.xml index d1e816c..62a5364 100644 --- a/res/layout/choose_lock_pattern_example.xml +++ b/res/layout/choose_lock_pattern_example.xml @@ -16,22 +16,22 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_height="fill_parent" - android:layout_width="fill_parent"> + android:layout_height="match_parent" + android:layout_width="match_parent"> <ScrollView - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:layout_weight="1"> <LinearLayout android:orientation="vertical" - android:layout_height="fill_parent" - android:layout_width="fill_parent" + android:layout_height="match_parent" + android:layout_width="match_parent" android:padding="5dip"> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/lock_example_title" android:gravity="center_horizontal" @@ -48,7 +48,7 @@ /> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dip" android:text="@string/lock_example_message" @@ -62,7 +62,7 @@ <LinearLayout style="@android:style/ButtonBar" android:orientation="horizontal" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/skip_button" diff --git a/res/layout/choose_lock_pattern_tutorial.xml b/res/layout/choose_lock_pattern_tutorial.xml index 8eadc01..3032c05 100644 --- a/res/layout/choose_lock_pattern_tutorial.xml +++ b/res/layout/choose_lock_pattern_tutorial.xml @@ -16,22 +16,22 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_height="fill_parent" - android:layout_width="fill_parent"> + android:layout_height="match_parent" + android:layout_width="match_parent"> <ScrollView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1"> <LinearLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="5dip"> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="@string/lock_title" @@ -41,7 +41,7 @@ /> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_marginTop="10dip" @@ -54,7 +54,7 @@ <LinearLayout style="@android:style/ButtonBar" android:orientation="horizontal" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/skip_button" diff --git a/res/layout/compute_sizes.xml b/res/layout/compute_sizes.xml index b32ba58..4ba5b3e 100755 --- a/res/layout/compute_sizes.xml +++ b/res/layout/compute_sizes.xml @@ -14,23 +14,9 @@ limitations under the License. --> -<LinearLayout +<ListView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - <ListView - android:id="@android:id/list" - android:drawSelectorOnTop="false" - android:layout_width="fill_parent" - android:layout_height="wrap_content" /> - <TextView android:id="@android:id/empty" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:paddingLeft="20dip" - android:paddingTop="5dip" - android:text="@string/empty_list_msg" - android:gravity="center" - android:textAppearance="?android:attr/textAppearanceMedium" /> -</LinearLayout> - - + android:id="@android:id/list" + android:drawSelectorOnTop="false" + android:layout_width="match_parent" + android:layout_height="match_parent" /> diff --git a/res/layout/confirm_lock_password.xml b/res/layout/confirm_lock_password.xml new file mode 100644 index 0000000..3a27b9d --- /dev/null +++ b/res/layout/confirm_lock_password.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 2008, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License") +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<!-- This is basically the same layout now, but will likely change --> +<merge xmlns:android="http://schemas.android.com/apk/res/android"> + <include + layout="@layout/choose_lock_password" + android:layout_width="match_parent" + android:layout_height="match_parent" + /> +</merge> diff --git a/res/layout/confirm_lock_pattern.xml b/res/layout/confirm_lock_pattern.xml index 52cf24a..01ef5b1 100644 --- a/res/layout/confirm_lock_pattern.xml +++ b/res/layout/confirm_lock_pattern.xml @@ -18,11 +18,11 @@ android:id="@+id/topLayout" android:orientation="vertical" android:layout_width="wrap_content" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@color/black"> <TextView android:id="@+id/headerText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1.0" android:gravity="center" @@ -30,18 +30,18 @@ <View android:background="@*android:drawable/code_lock_top" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="2dip" /> <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <View android:background="@*android:drawable/code_lock_bottom" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="8dip" /> <TextView android:id="@+id/footerText" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1.0" android:gravity="center" diff --git a/res/layout/credentials_password_dialog.xml b/res/layout/credentials_password_dialog.xml index c23cc68..440a107 100644 --- a/res/layout/credentials_password_dialog.xml +++ b/res/layout/credentials_password_dialog.xml @@ -15,17 +15,17 @@ --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:padding="15dip"> <TextView android:id="@+id/hint" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="@dimen/vpn_connect_normal_text_size" android:text="@string/credentials_first_time_hint" @@ -33,38 +33,38 @@ android:visibility="gone"/> <TextView android:id="@+id/error" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/red" android:textStyle="bold" android:visibility="gone"/> <TextView android:id="@+id/old_password_prompt" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/credentials_old_password" android:visibility="gone"/> <EditText android:id="@+id/old_password" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:password="True" android:singleLine="True" android:visibility="gone"/> - <TextView android:layout_width="fill_parent" + <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/credentials_new_password" /> <EditText android:id="@+id/new_password" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:password="True" android:singleLine="True"/> - <TextView android:layout_width="fill_parent" + <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/credentials_confirm_password" /> <EditText android:id="@+id/confirm_password" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:password="True" android:singleLine="True"/> diff --git a/res/layout/credentials_unlock_dialog.xml b/res/layout/credentials_unlock_dialog.xml index 2ba2ace..a538807 100644 --- a/res/layout/credentials_unlock_dialog.xml +++ b/res/layout/credentials_unlock_dialog.xml @@ -15,17 +15,17 @@ --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:padding="15dip"> <TextView android:id="@+id/hint" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="@dimen/vpn_connect_normal_text_size" android:text="@string/credentials_unlock_hint" @@ -33,14 +33,14 @@ android:visibility="gone"/> <TextView android:id="@+id/error" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/red" android:textStyle="bold" android:visibility="gone"/> <EditText android:id="@+id/old_password" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:password="True" android:singleLine="True"/> diff --git a/res/layout/date_time_settings_setupwizard.xml b/res/layout/date_time_settings_setupwizard.xml index fc6f5e2..930e199 100644 --- a/res/layout/date_time_settings_setupwizard.xml +++ b/res/layout/date_time_settings_setupwizard.xml @@ -15,20 +15,20 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_height="fill_parent" - android:layout_width="fill_parent" + android:layout_height="match_parent" + android:layout_width="match_parent" android:orientation="vertical"> <LinearLayout android:orientation="vertical" android:layout_height="0dip" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_weight="1" android:gravity="left"> <ListView android:id="@android:id/list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:drawSelectorOnTop="false" android:paddingTop="2dip" /> @@ -37,7 +37,7 @@ <RelativeLayout android:layout_height="wrap_content" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:background="@android:drawable/bottom_bar"> <Button android:id="@+id/next_button" diff --git a/res/layout/device_admin_add.xml b/res/layout/device_admin_add.xml new file mode 100644 index 0000000..f560331 --- /dev/null +++ b/res/layout/device_admin_add.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/active_layout" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + <ScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_weight="1" + android:orientation="vertical"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:orientation="vertical"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:background="@*android:drawable/title_bar_medium"> + <TextView android:id="@+id/title" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textColor="?android:attr/textColorPrimary" + android:shadowColor="?android:attr/colorBackground" + android:shadowRadius="2" /> + </LinearLayout> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + <ImageView android:id="@+id/admin_icon" + android:layout_width="@android:dimen/app_icon_size" + android:layout_height="@android:dimen/app_icon_size" + android:layout_marginLeft="5dip" + android:layout_marginRight="11dip" + android:layout_gravity="center_vertical" + android:scaleType="fitCenter"/> + <TextView android:id="@+id/admin_name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginBottom="2dip" + android:layout_gravity="center_vertical" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textStyle="bold" + android:singleLine="true" + android:ellipsize="marquee" /> + </LinearLayout> + <TextView android:id="@+id/admin_warning" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="10dip" /> + <LinearLayout android:id="@+id/admin_policies" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingLeft="16dip" + android:paddingRight="12dip" /> + <TextView android:id="@+id/admin_description" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:padding="10dip" /> + <TextView android:id="@+id/add_msg" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:padding="10dip" /> + </LinearLayout> + </ScrollView> + <LinearLayout style="@android:style/ButtonBar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + <View + android:layout_width="0dip" + android:layout_height="0dip" + android:layout_weight="1" /> + <Button android:id="@+id/action_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" /> + <View + android:layout_width="0dip" + android:layout_height="0dip" + android:layout_weight="1" /> + <Button android:id="@+id/cancel_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/cancel" /> + <View + android:layout_width="0dip" + android:layout_height="0dip" + android:layout_weight="1" /> + </LinearLayout> +</LinearLayout> diff --git a/res/layout/device_admin_item.xml b/res/layout/device_admin_item.xml new file mode 100644 index 0000000..49cbc61 --- /dev/null +++ b/res/layout/device_admin_item.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2010, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="?android:attr/listPreferredItemHeight" + android:orientation="vertical" + android:paddingRight="6dip" + android:paddingLeft="6dip" + android:gravity="fill" > + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <ImageView android:id="@+id/icon" + android:layout_width="@android:dimen/app_icon_size" + android:layout_height="@android:dimen/app_icon_size" + android:layout_marginLeft="5dip" + android:layout_marginRight="11dip" + android:layout_gravity="center_vertical" + android:scaleType="fitCenter"/> + + <TextView android:id="@+id/name" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_gravity="center_vertical" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textStyle="bold" + android:singleLine="true" + android:ellipsize="marquee" + android:layout_marginBottom="2dip" /> + + <CheckBox xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/checkbox" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:focusable="false" + android:clickable="false" /> + </LinearLayout> + + <TextView android:id="@+id/description" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:singleLine="true" + android:ellipsize="end" /> + +</LinearLayout> diff --git a/res/layout/device_admin_settings.xml b/res/layout/device_admin_settings.xml new file mode 100644 index 0000000..eaf42fe --- /dev/null +++ b/res/layout/device_admin_settings.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:background="@*android:drawable/title_bar_medium"> + <TextView + android:layout_width="match_parent" + android:layout_height="match_parent" + android:text="@string/select_device_admin_msg" + android:gravity="center" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textColor="?android:attr/textColorPrimary" + android:shadowColor="?android:attr/colorBackground" + android:shadowRadius="2" /> + </LinearLayout> + <FrameLayout + android:layout_width="match_parent" + android:layout_height="0px" + android:layout_weight="1" + android:paddingTop="10dip" + android:paddingBottom="10dip"> + <ListView android:id="@android:id/list" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:drawSelectorOnTop="false" + android:fastScrollEnabled="true" /> + <TextView android:id="@android:id/empty" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:text="@string/no_device_admins" + android:textAppearance="?android:attr/textAppearanceLarge" /> + </FrameLayout> +</LinearLayout> diff --git a/res/layout/dialog_edittext.xml b/res/layout/dialog_edittext.xml index 0dcf673..6b849ac 100644 --- a/res/layout/dialog_edittext.xml +++ b/res/layout/dialog_edittext.xml @@ -22,7 +22,7 @@ <EditText android:id="@+id/edittext" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLength="50" /> diff --git a/res/layout/display.xml b/res/layout/display.xml index 0049025..f35730b 100644 --- a/res/layout/display.xml +++ b/res/layout/display.xml @@ -23,22 +23,22 @@ android:orientation="vertical"> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/display_font_size_label" /> <Spinner android:id="@+id/fontSize" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> </Spinner> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/display_preview_label" /> <TextView android:id="@+id/preview" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/save" diff --git a/res/layout/installed_app_details.xml b/res/layout/installed_app_details.xml index 2810604..3243672 100644 --- a/res/layout/installed_app_details.xml +++ b/res/layout/installed_app_details.xml @@ -18,73 +18,50 @@ --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <LinearLayout android:id="@+id/all_details" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:paddingRight="6dip" android:paddingTop="5dip" android:paddingBottom="5dip" android:orientation="vertical"> - <!-- App snippet --> - <RelativeLayout - android:layout_width="fill_parent" + <!-- App snippet with buttons --> + <LinearLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_gravity="center_vertical"> - - <LinearLayout - android:orientation="vertical" - android:layout_alignParentLeft="true" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:paddingTop="6dip" - android:paddingBottom="6dip" - android:paddingRight="6dip" - android:paddingLeft="6dip" > - <!-- application name --> - <TextView android:id="@+id/app_name" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textStyle="bold" - android:singleLine="true" - android:ellipsize="marquee" - android:layout_marginBottom="2dip" /> - <!-- application version --> - <TextView android:id="@+id/app_version" - android:layout_marginTop="-4dip" - android:layout_gravity="center_vertical" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </LinearLayout> + android:layout_gravity="center_vertical" + android:orientation="vertical" + android:paddingRight="6dip" + android:paddingLeft="6dip" + android:paddingTop="5dip" + android:paddingBottom="5dip" > - <!-- application icon --> - <ImageView android:id="@+id/app_icon" - android:layout_width="@android:dimen/app_icon_size" - android:layout_height="@android:dimen/app_icon_size" - android:layout_alignParentRight="true" - android:paddingTop="6dip" - android:paddingBottom="6dip" - android:paddingRight="6dip" - android:scaleType="fitCenter" /> - </RelativeLayout> + <!-- Application snippet label, version and icon --> + <include + layout="@layout/manage_applications_item" + android:id="@+id/app_snippet"/> + <!-- Force stop and uninstall buttons --> + <include + layout="@layout/two_buttons_panel" + android:id="@+id/control_buttons_panel"/> + </LinearLayout> <TextView style="?android:attr/listSeparatorTextViewStyle" android:text="@string/storage_label" /> <LinearLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="6dip" android:orientation="vertical"> <LinearLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:baselineAligned="true" @@ -121,7 +98,7 @@ </LinearLayout> <LinearLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:baselineAligned="true" @@ -158,7 +135,7 @@ </LinearLayout> <LinearLayout android:id="@+id/info_size" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:baselineAligned="true" @@ -193,43 +170,17 @@ android:maxLines="1" /> </LinearLayout> - <!-- Manage space, Clear data/Uninstall buttons --> - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:gravity="bottom" - android:orientation="horizontal"> - <Button - android:id="@+id/manage_space_button" - android:text="@string/manage_space_text" - android:visibility="invisible" - android:layout_width="150dip" - android:paddingLeft="6dip" - android:layout_gravity="left" - android:layout_weight="0.4" - android:layout_height="wrap_content"/> - <!-- Spacer --> - <View - android:id="@+id/buttons_spacer_left" - android:layout_width="0dip" - android:layout_height="wrap_content" - android:layout_weight="0.2" - android:visibility="gone" /> - - <Button - android:id="@+id/uninstall_button" - android:layout_width="150dip" - android:paddingRight="6dip" - android:layout_gravity="right" - android:layout_weight="0.4" - android:layout_height="wrap_content"/> - </LinearLayout> + <!-- Clear data and install location buttons --> + <include + layout="@layout/two_buttons_panel" + android:id="@+id/data_buttons_panel"/> + </LinearLayout> <!-- Clear cache section --> <RelativeLayout android:id="@+id/cache_panel" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/cache_header" @@ -237,7 +188,7 @@ android:text="@string/cache_header_label" /> <LinearLayout android:id="@+id/cache_size" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:baselineAligned="true" @@ -287,13 +238,13 @@ android:text="@string/auto_launch_label" /> <RelativeLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical"> <TextView android:id="@+id/auto_launch" android:textAppearance="?android:attr/textAppearanceSmall" android:layout_alignParentLeft="true" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="6dip" android:paddingRight="6dip" @@ -307,30 +258,11 @@ android:layout_height="wrap_content" /> </RelativeLayout> - <!-- Other controls section --> - <TextView - style="?android:attr/listSeparatorTextViewStyle" - android:text="@string/controls_label" /> - - <RelativeLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical"> - <Button android:id="@+id/force_stop_button" - android:layout_alignParentRight="true" - android:layout_alignParentTop="true" - android:layout_centerHorizontal="true" - android:paddingTop="6dip" - android:layout_width="150dip" - android:text="@string/force_stop" - android:layout_height="wrap_content" /> - </RelativeLayout> - <!-- Permissions section --> <LinearLayout android:id="@+id/permissions_section" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:orientation="vertical"> <TextView style="?android:attr/listSeparatorTextViewStyle" @@ -341,12 +273,12 @@ android:paddingTop="6dip" android:paddingLeft="6dip" android:paddingBottom="6dip" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" /> <LinearLayout android:id="@+id/security_settings_list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:orientation="vertical"/> </LinearLayout> </LinearLayout> diff --git a/res/layout/intent_sender.xml b/res/layout/intent_sender.xml index 07fe67d..8a85bf8 100644 --- a/res/layout/intent_sender.xml +++ b/res/layout/intent_sender.xml @@ -21,13 +21,13 @@ android:paddingLeft="6dip" android:paddingRight="6dip" android:paddingBottom="3dip" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <LinearLayout android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <TextView android:textStyle="bold" diff --git a/res/layout/list_content_with_empty_view.xml b/res/layout/list_content_with_empty_view.xml index 324d23f..1d4dcdc 100644 --- a/res/layout/list_content_with_empty_view.xml +++ b/res/layout/list_content_with_empty_view.xml @@ -16,18 +16,18 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" > + android:layout_width="match_parent" + android:layout_height="match_parent" > <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:drawSelectorOnTop="false" /> <TextView android:id="@+id/empty" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:padding="5dip" android:gravity="center" android:visibility="gone" /> diff --git a/res/layout/locale_picker.xml b/res/layout/locale_picker.xml index 476293f..cc38278 100644 --- a/res/layout/locale_picker.xml +++ b/res/layout/locale_picker.xml @@ -16,12 +16,12 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <ListView android:id="@android:id/list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:drawSelectorOnTop="false" /> diff --git a/res/layout/locale_picker_in_setupwizard.xml b/res/layout/locale_picker_in_setupwizard.xml index 184250d..d816f47 100644 --- a/res/layout/locale_picker_in_setupwizard.xml +++ b/res/layout/locale_picker_in_setupwizard.xml @@ -16,8 +16,8 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" @@ -29,15 +29,15 @@ /> <View - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="1dip" android:layout_marginTop="8dip" android:background="@android:drawable/divider_horizontal_dark" /> <ListView android:id="@android:id/list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:drawSelectorOnTop="false" /> diff --git a/res/layout/locale_picker_item.xml b/res/layout/locale_picker_item.xml index caa6fb5..091419f 100644 --- a/res/layout/locale_picker_item.xml +++ b/res/layout/locale_picker_item.xml @@ -17,7 +17,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_height="wrap_content" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:gravity="center_vertical" android:minHeight="?android:attr/listPreferredItemHeight" android:padding="5dip"> diff --git a/res/layout/manage_applications_item.xml b/res/layout/manage_applications_item.xml index ecefcf5..cdf4c9d 100755 --- a/res/layout/manage_applications_item.xml +++ b/res/layout/manage_applications_item.xml @@ -18,7 +18,7 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:orientation="horizontal" @@ -38,7 +38,7 @@ <LinearLayout android:orientation="vertical" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/app_name" android:layout_width="wrap_content" diff --git a/res/layout/pick_item.xml b/res/layout/pick_item.xml index f276511..62fc4f4 100755 --- a/res/layout/pick_item.xml +++ b/res/layout/pick_item.xml @@ -15,7 +15,7 @@ --> <TextView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:textAppearance="?android:attr/textAppearanceLargeInverse" diff --git a/res/layout/power_usage_action_item.xml b/res/layout/power_usage_action_item.xml index 7b81ec1..e4d8b5a 100644 --- a/res/layout/power_usage_action_item.xml +++ b/res/layout/power_usage_action_item.xml @@ -15,7 +15,7 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" @@ -25,14 +25,15 @@ android:paddingRight="?android:attr/scrollbarSize"> <TextView android:id="@+id/summary" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="2dip" + android:paddingBottom="4dip" android:ellipsize="marquee" android:textAppearance="?android:attr/textAppearanceMedium"/> <LinearLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <!-- Spacer --> diff --git a/res/layout/power_usage_detail_item_text.xml b/res/layout/power_usage_detail_item_text.xml index 7ea2432..6c21274 100644 --- a/res/layout/power_usage_detail_item_text.xml +++ b/res/layout/power_usage_detail_item_text.xml @@ -16,7 +16,7 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <!--Label for the item--> <TextView diff --git a/res/layout/power_usage_details.xml b/res/layout/power_usage_details.xml index f7485ee..23be53f 100644 --- a/res/layout/power_usage_details.xml +++ b/res/layout/power_usage_details.xml @@ -16,18 +16,18 @@ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <LinearLayout android:id="@+id/all_details" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:paddingTop="5dip" android:paddingBottom="5dip" android:orientation="vertical"> <LinearLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:orientation="horizontal" @@ -73,7 +73,7 @@ android:id="@+id/gauge" android:background="#80404040" android:layout_height="wrap_content" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_marginTop="5dip" android:layout_below="@id/battery_percentage" android:layout_gravity="center_vertical" /> @@ -87,13 +87,24 @@ </RelativeLayout> </LinearLayout> + <!-- Force stop and report buttons --> + <LinearLayout + android:id="@+id/two_buttons_panel" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingBottom="6dip" + android:orientation="vertical"> + <include + layout="@layout/two_buttons_panel"/> + </LinearLayout> + <TextView style="?android:attr/listSeparatorTextViewStyle" android:text="@string/details_subtitle" /> <LinearLayout android:id="@+id/details" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="6dip" android:orientation="vertical"> @@ -104,7 +115,7 @@ <LinearLayout android:id="@+id/controls" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> @@ -126,7 +137,7 @@ <LinearLayout android:id="@+id/packages_section" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="6dip" android:orientation="vertical"> diff --git a/res/layout/power_usage_package_item.xml b/res/layout/power_usage_package_item.xml index dcd5aad..750e062 100644 --- a/res/layout/power_usage_package_item.xml +++ b/res/layout/power_usage_package_item.xml @@ -16,7 +16,7 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <!--Label for the item--> <TextView diff --git a/res/layout/preference_bluetooth.xml b/res/layout/preference_bluetooth.xml index e832f20..501c827 100644 --- a/res/layout/preference_bluetooth.xml +++ b/res/layout/preference_bluetooth.xml @@ -15,7 +15,7 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" diff --git a/res/layout/preference_dialog_brightness.xml b/res/layout/preference_dialog_brightness.xml index 071beed..a6893e7 100644 --- a/res/layout/preference_dialog_brightness.xml +++ b/res/layout/preference_dialog_brightness.xml @@ -18,11 +18,11 @@ --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal" android:paddingBottom="20dip"> @@ -30,10 +30,11 @@ <ImageView android:id="@android:id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:paddingTop="20dip" /> + android:paddingTop="20dip" + android:visibility="gone" /> <CheckBox android:id="@+id/automatic_mode" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/automatic_brightness" android:textAppearance="?android:attr/textAppearanceSmall" @@ -42,7 +43,7 @@ android:layout_marginRight="20dip" /> <SeekBar android:id="@*android:id/seekbar" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="20dip" /> diff --git a/res/layout/preference_dialog_ringervolume.xml b/res/layout/preference_dialog_ringervolume.xml index 5905f45..f0e8328 100644 --- a/res/layout/preference_dialog_ringervolume.xml +++ b/res/layout/preference_dialog_ringervolume.xml @@ -15,12 +15,12 @@ --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal" android:paddingBottom="20dip"> @@ -31,23 +31,53 @@ android:paddingTop="20dip" /> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/incoming_call_volume_title" - android:paddingTop="20dip" + android:paddingTop="10dip" android:paddingLeft="20dip" android:paddingRight="20dip" /> <!-- Used for the ring volume. This is what the superclass VolumePreference uses. --> <SeekBar android:id="@*android:id/seekbar" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingTop="6dip" + android:paddingTop="2dip" android:paddingLeft="20dip" android:paddingRight="20dip" /> + <!-- Used for the media volume --> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/media_volume_title" + android:paddingTop="10dip" + android:paddingLeft="20dip" + android:paddingRight="20dip" /> + <SeekBar android:id="@+id/media_volume_seekbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingTop="2dip" + android:paddingLeft="20dip" + android:paddingRight="20dip" /> + + <!-- Used for the alarm volume --> + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/alarm_volume_title" + android:paddingTop="10dip" + android:paddingLeft="20dip" + android:paddingRight="20dip" /> + <SeekBar android:id="@+id/alarm_volume_seekbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingTop="2dip" + android:paddingLeft="20dip" + android:paddingRight="20dip" /> + <CheckBox android:id="@+id/same_notification_volume" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/checkbox_notification_same_as_incoming_call" android:textAppearance="?android:attr/textAppearanceSmall" @@ -56,7 +86,7 @@ android:layout_marginRight="20dip" /> <TextView android:id="@+id/notification_volume_title" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/notification_volume_title" android:paddingTop="6dip" @@ -65,9 +95,9 @@ <!-- Used for the notification volume --> <SeekBar android:id="@+id/notification_volume_seekbar" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingTop="6dip" + android:paddingTop="2dip" android:paddingLeft="20dip" android:paddingRight="20dip" /> diff --git a/res/layout/preference_icon.xml b/res/layout/preference_icon.xml index 03f4e70..e51a73b 100644 --- a/res/layout/preference_icon.xml +++ b/res/layout/preference_icon.xml @@ -19,7 +19,7 @@ type in the "widget_frame" layout. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+android:id/widget_frame" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" diff --git a/res/layout/preference_powergauge.xml b/res/layout/preference_powergauge.xml index 7aafec1..7de2e20 100644 --- a/res/layout/preference_powergauge.xml +++ b/res/layout/preference_powergauge.xml @@ -15,7 +15,7 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:gravity="center_vertical" @@ -63,7 +63,7 @@ android:id="@+id/appGauge" android:background="#80404040" android:layout_height="wrap_content" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_marginTop="5dip" android:layout_below="@id/percent" android:layout_gravity="center_vertical" /> diff --git a/res/layout/proxy.xml b/res/layout/proxy.xml index 914d0ea..3ecbb80 100644 --- a/res/layout/proxy.xml +++ b/res/layout/proxy.xml @@ -22,7 +22,7 @@ android:paddingLeft="6dip" android:paddingRight="6dip" android:paddingBottom="3dip" - android:layout_width="fill_parent" android:layout_height="wrap_content"> + android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:textStyle="bold" @@ -34,7 +34,7 @@ <EditText android:id="@+id/hostname" android:maxLines="1" android:layout_marginTop="2dip" - android:layout_width="fill_parent" android:layout_height="wrap_content" + android:layout_width="match_parent" android:layout_height="wrap_content" android:autoText="false" android:capitalize="none" android:scrollHorizontally="true" /> @@ -50,7 +50,7 @@ android:numeric="integer" android:maxLines="1" android:layout_marginTop="2dip" - android:layout_width="fill_parent" android:layout_height="wrap_content" + android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollHorizontally="true" /> <LinearLayout @@ -59,17 +59,17 @@ android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/action" - android:layout_width="wrap_content" android:layout_height="fill_parent" + android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:text="@string/proxy_action_text" /> <Button android:id="@+id/clear" - android:layout_width="wrap_content" android:layout_height="fill_parent" + android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:text="@string/proxy_clear_text" /> <Button android:id="@+id/defaultView" - android:layout_width="wrap_content" android:layout_height="fill_parent" + android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:text="@string/proxy_defaultView_text" /> diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml index b560fff..e9841d0 100644 --- a/res/layout/radio_info.xml +++ b/res/layout/radio_info.xml @@ -18,8 +18,8 @@ */ --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" > + android:layout_width="match_parent" + android:layout_height="match_parent" > <LinearLayout style="@style/info_layout"> @@ -177,49 +177,27 @@ <!-- Preferred Network Type --> <TextView - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/radio_info_set_perferred_label" style="@style/info_label" /> <Spinner android:id="@+id/preferredNetworkType" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" /> - <!-- Ciphering --> - <LinearLayout style="@style/entry_layout"> - <Button android:id="@+id/ciph_toggle" - android:textSize="14sp" - android:layout_marginTop="8dip" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/radio_info_toggle_ciph_label" - /> - <TextView android:id="@+id/ciphState" style="@style/info_value" /> - - </LinearLayout> - - <!-- QXDM logging & radio power --> - <LinearLayout style="@style/entry_layout"> - <Button android:id="@+id/qxdm_log" - android:textSize="14sp" - android:layout_marginTop="8dip" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - /> - - <Button android:id="@+id/radio_power" + <!-- Radio Power --> + <Button android:id="@+id/radio_power" android:textSize="14sp" android:layout_marginTop="8dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> - </LinearLayout> <!-- SMSC --> - <RelativeLayout android:layout_width="fill_parent" + <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/smsc_label" android:text="@string/radio_info_smsc_label" @@ -261,5 +239,14 @@ <TextView android:id="@+id/dnsCheckState" style="@style/info_value" /> </LinearLayout> + <!-- Launch OEM-specific Info/Settings Activity (if any) --> + <Button android:id="@+id/oem_info" + android:textSize="14sp" + android:layout_marginTop="8dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/oem_radio_info_label" + /> + </LinearLayout> </ScrollView> diff --git a/res/layout/remember_dock_setting.xml b/res/layout/remember_dock_setting.xml index a19ca7c..023a912 100644 --- a/res/layout/remember_dock_setting.xml +++ b/res/layout/remember_dock_setting.xml @@ -17,7 +17,7 @@ <CheckBox xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/remember" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/bluetooth_dock_settings_remember" android:focusable="true" diff --git a/res/layout/running_services.xml b/res/layout/running_services.xml index 120a113..5c0da6f 100644 --- a/res/layout/running_services.xml +++ b/res/layout/running_services.xml @@ -16,39 +16,39 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:orientation="vertical"> <FrameLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0px" android:layout_weight="1"> <ListView android:id="@android:id/list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:drawSelectorOnTop="false" android:fastScrollEnabled="true" /> <TextView android:id="@android:id/empty" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:gravity="center" android:text="@string/no_running_services" android:textAppearance="?android:attr/textAppearanceLarge" /> </FrameLayout> - <LinearLayout - android:layout_width="fill_parent" + <view class="com.android.settings.RunningServices$LinearColorBar" + android:id="@+id/color_bar" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:background="?android:attr/colorForeground" android:padding="4dp"> - <TextView android:id="@+id/backgroundText" + <TextView android:id="@+id/foregroundText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:textAppearance="?android:attr/textAppearanceSmallInverse" android:color="?android:attr/textColorPrimaryInverse" android:singleLine="true" /> - <TextView android:id="@+id/foregroundText" + <TextView android:id="@+id/backgroundText" android:layout_gravity="center_vertical|right" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -56,5 +56,5 @@ android:textAppearance="?android:attr/textAppearanceSmallInverse" android:color="?android:attr/textColorPrimaryInverse" android:singleLine="true" /> - </LinearLayout> + </view> </LinearLayout> diff --git a/res/layout/running_services_item.xml b/res/layout/running_services_item.xml index 2728c76..f8a0c97 100644 --- a/res/layout/running_services_item.xml +++ b/res/layout/running_services_item.xml @@ -18,7 +18,7 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" android:orientation="vertical" @@ -30,7 +30,7 @@ android:src="?android:attr/listDivider"/> <LinearLayout - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="horizontal" @@ -48,12 +48,12 @@ <LinearLayout android:orientation="vertical" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:orientation="horizontal" android:baselineAlignedChildIndex="0" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/name" android:layout_width="wrap_content" diff --git a/res/layout/sdcard_settings_screen.xml b/res/layout/sdcard_settings_screen.xml deleted file mode 100644 index 734a5b6..0000000 --- a/res/layout/sdcard_settings_screen.xml +++ /dev/null @@ -1,132 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* //device/apps/Settings/res/layout/sdcard_settings_screen.xml -** -** Copyright 2007, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <LinearLayout android:id="@+id/list" - android:orientation="vertical" - android:padding="10dip" - android:layout_width="fill_parent" - android:layout_height="wrap_content"> - - <LinearLayout android:id="@+id/usb" - android:orientation="vertical" - android:paddingBottom="10dip" - android:layout_width="fill_parent" - android:layout_height="wrap_content"> - - <CheckBox android:id="@+id/mass_storage" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/sdcard_settings_screen_mass_storage_text"> - <requestFocus/> - </CheckBox> - - <TextView android:text="@string/sdcard_changes_instructions" style="@style/info_small" /> - </LinearLayout> - - <!-- divider line --> - <View android:background="#FF000000" - android:layout_width="fill_parent" - android:layout_height="1dip" /> - - <LinearLayout android:id="@+id/mounted" - android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:paddingTop="10dip"> - - <TextView android:id="@+id/read_only" - android:text="@string/sdcard_settings_read_only_status" - style="@style/info_label" /> - - <Button android:id="@+id/sdcard_unmount" - android:text="@string/sdcard_unmount" - android:textSize="14sp" - android:layout_marginTop="8dip" - android:layout_width="wrap_content" android:layout_height="wrap_content" /> - - <Button android:id="@+id/sdcard_format" - android:text="@string/sdcard_format" - android:textSize="14sp" - android:layout_marginTop="8dip" - android:layout_width="wrap_content" android:layout_height="wrap_content" /> - - <TableLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:paddingTop="10dip"> - <TableRow> - <TextView android:text="@string/sdcard_settings_total_bytes_label" style="@style/info_label" /> - <TextView android:id="@+id/total" style="@style/info_value" /> - </TableRow> - <TableRow> - <TextView android:text="@string/sdcard_settings_used_bytes_label" style="@style/info_label" /> - <TextView android:id="@+id/used" style="@style/info_value" /> - </TableRow> - <TableRow> - <TextView android:text="@string/sdcard_settings_available_bytes_label" style="@style/info_label" /> - <TextView android:id="@+id/available" style="@style/info_value" /> - </TableRow> - </TableLayout> - - </LinearLayout> - - <LinearLayout style="@style/entry_layout" - android:id="@+id/scanning" - android:paddingTop="10dip"> - <TextView android:text="@string/sdcard_settings_scanning_status" style="@style/info_label" /> - </LinearLayout> - - <LinearLayout style="@style/entry_layout" - android:id="@+id/removed" - android:paddingTop="10dip"> - <TextView android:text="@string/sdcard_settings_not_present_status" style="@style/info_label" /> - </LinearLayout> - - <LinearLayout android:id="@+id/shared" - android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:paddingTop="10dip"> - - <LinearLayout style="@style/entry_layout" > - <TextView android:text="@string/sdcard_settings_mass_storage_status" style="@style/info_label" /> - </LinearLayout> - - </LinearLayout> - - <LinearLayout style="@style/entry_layout" - android:id="@+id/unmounted" - android:paddingTop="10dip"> - <TextView android:text="@string/sdcard_settings_unmounted_status" style="@style/info_label" /> - </LinearLayout> - - <LinearLayout style="@style/entry_layout" - android:id="@+id/bad_removal" - android:paddingTop="10dip"> - <TextView android:text="@string/sdcard_settings_bad_removal_status" style="@style/info_label" /> - </LinearLayout> - - </LinearLayout> -</ScrollView> - diff --git a/res/layout/twelve_key_entry.xml b/res/layout/twelve_key_entry.xml new file mode 100644 index 0000000..81ead98 --- /dev/null +++ b/res/layout/twelve_key_entry.xml @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2008, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<!-- This is not a standalone element it can be included into apps that need 12-key input --> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical"> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="64dip" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:orientation="horizontal"> + + <Button android:id="@+id/one" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + <Button android:id="@+id/two" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + <Button android:id="@+id/three" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + </LinearLayout> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="64dip" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:orientation="horizontal"> + + <Button android:id="@+id/four" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + <Button android:id="@+id/five" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + <Button android:id="@+id/six" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + </LinearLayout> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="64dip" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:orientation="horizontal"> + + <Button android:id="@+id/seven" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + <Button android:id="@+id/eight" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + <Button android:id="@+id/nine" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + </LinearLayout> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="64dip" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:orientation="horizontal"> + + <Button android:id="@+id/ok" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textStyle="bold" + android:text="@android:string/ok" + /> + + <Button android:id="@+id/zero" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textStyle="bold" + /> + + <Button android:id="@+id/cancel" + android:layout_width="0sp" + android:layout_height="fill_parent" + android:layout_weight="1" + android:layout_marginLeft="2dip" + android:layout_marginRight="2dip" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textStyle="bold" + android:text="@android:string/cancel" + /> + + </LinearLayout> + +</LinearLayout>
\ No newline at end of file diff --git a/res/layout/two_buttons_panel.xml b/res/layout/two_buttons_panel.xml new file mode 100755 index 0000000..d76855c --- /dev/null +++ b/res/layout/two_buttons_panel.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- + Defines a panel with two buttons and a spacer in between. +--> + +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="bottom" + android:paddingTop="4dip" + android:paddingLeft="2dip" + android:paddingRight="2dip" + android:orientation="horizontal"> + <Button + android:id="@+id/left_button" + android:layout_width="150dip" + android:paddingLeft="6dip" + android:layout_gravity="left" + android:layout_weight="0.4" + android:layout_height="wrap_content"/> + <!-- Spacer --> + <View + android:id="@+id/buttons_spacer_left" + android:layout_width="0dip" + android:layout_height="wrap_content" + android:visibility="gone" + android:layout_weight="0.2" /> + <Button + android:id="@+id/right_button" + android:layout_width="150dip" + android:paddingRight="6dip" + android:layout_gravity="right" + android:text="@string/cancel" + android:layout_weight="0.4" + android:layout_height="wrap_content"/> +</LinearLayout> diff --git a/res/layout/usage_stats.xml b/res/layout/usage_stats.xml index 727052d..9ce338c 100755 --- a/res/layout/usage_stats.xml +++ b/res/layout/usage_stats.xml @@ -1,24 +1,24 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <TextView android:text="@string/display_order_text" android:textAppearance="?android:attr/textAppearanceLarge" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" /> <Spinner android:id="@+id/typeSpinner" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/usage_stats_display_order_types" /> <LinearLayout android:orientation="horizontal" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:text="@string/app_name_label" @@ -39,7 +39,7 @@ android:layout_height="wrap_content" /> </LinearLayout> <ListView android:id="@+id/pkg_list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:drawSelectorOnTop="false" /> </LinearLayout> diff --git a/res/layout/usage_stats_item.xml b/res/layout/usage_stats_item.xml index 7ab0090..bdadf85 100755 --- a/res/layout/usage_stats_item.xml +++ b/res/layout/usage_stats_item.xml @@ -18,7 +18,7 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:minHeight="?android:attr/listPreferredItemHeight"> diff --git a/res/layout/vpn_connect_dialog_view.xml b/res/layout/vpn_connect_dialog_view.xml index 062f881..3b6d0db 100644 --- a/res/layout/vpn_connect_dialog_view.xml +++ b/res/layout/vpn_connect_dialog_view.xml @@ -15,18 +15,18 @@ --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:padding="10dip"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/username_str" android:layout_width="@dimen/vpn_connect_input_box_label_width" @@ -36,14 +36,14 @@ android:layout_marginRight="@dimen/vpn_connect_margin_right" android:text="@string/vpn_username_colon" /> <EditText android:id="@+id/username_value" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="True"/> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/password_str" android:layout_width="@dimen/vpn_connect_input_box_label_width" @@ -53,14 +53,14 @@ android:layout_marginRight="@dimen/vpn_connect_margin_right" android:text="@string/vpn_password_colon" /> <EditText android:id="@+id/password_value" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:password="True" android:singleLine="True"/> </LinearLayout> <CheckBox android:id="@+id/save_username" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="66dip" android:text="@string/vpn_save_username" /> diff --git a/res/layout/widget.xml b/res/layout/widget.xml index 1e22dbe..210fcc1 100644 --- a/res/layout/widget.xml +++ b/res/layout/widget.xml @@ -16,8 +16,8 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" - android:layout_width="fill_parent" - android:layout_height="fill_parent" + android:layout_width="match_parent" + android:layout_height="match_parent" android:gravity="center" android:background="@drawable/appwidget_bg" > @@ -25,7 +25,7 @@ android:id="@+id/btn_wifi" android:layout_width="0dip" android:layout_weight="1" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_button_left" android:clickable="true" android:focusable="true" @@ -33,7 +33,7 @@ <ImageView android:id="@+id/img_wifi" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:scaleType="center" @@ -41,7 +41,7 @@ <ImageView android:id="@+id/ind_wifi" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" /> @@ -49,7 +49,7 @@ <ImageView android:layout_width="1dip" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_settings_divider" /> @@ -57,7 +57,7 @@ android:id="@+id/btn_bluetooth" android:layout_width="0dip" android:layout_weight="1" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_button_center" android:clickable="true" android:focusable="true" @@ -65,7 +65,7 @@ <ImageView android:id="@+id/img_bluetooth" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:scaleType="center" @@ -73,7 +73,7 @@ <ImageView android:id="@+id/ind_bluetooth" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" /> @@ -82,7 +82,7 @@ <ImageView android:layout_width="1dip" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_settings_divider" /> @@ -90,7 +90,7 @@ android:id="@+id/btn_gps" android:layout_width="0dip" android:layout_weight="1" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_button_center" android:clickable="true" android:focusable="true" @@ -98,7 +98,7 @@ <ImageView android:id="@+id/img_gps" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:scaleType="center" @@ -106,7 +106,7 @@ <ImageView android:id="@+id/ind_gps" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" /> @@ -114,7 +114,7 @@ <ImageView android:layout_width="1dip" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_settings_divider" /> @@ -122,7 +122,7 @@ android:id="@+id/btn_sync" android:layout_width="0dip" android:layout_weight="1" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_button_center" android:clickable="true" android:focusable="true" @@ -130,7 +130,7 @@ <ImageView android:id="@+id/img_sync" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:scaleType="center" @@ -138,7 +138,7 @@ <ImageView android:id="@+id/ind_sync" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" /> @@ -146,7 +146,7 @@ <ImageView android:layout_width="1dip" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_settings_divider" /> @@ -154,7 +154,7 @@ android:id="@+id/btn_brightness" android:layout_width="0dip" android:layout_weight="1" - android:layout_height="fill_parent" + android:layout_height="match_parent" android:background="@drawable/appwidget_button_right" android:clickable="true" android:focusable="true" @@ -162,7 +162,7 @@ <ImageView android:id="@+id/img_brightness" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:scaleType="center" @@ -170,7 +170,7 @@ <ImageView android:id="@+id/ind_brightness" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" android:scaleType="fitXY" /> diff --git a/res/layout/wifi_ap_configure.xml b/res/layout/wifi_ap_configure.xml deleted file mode 100644 index f816ae5..0000000 --- a/res/layout/wifi_ap_configure.xml +++ /dev/null @@ -1,162 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content"> - - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:padding="8dip" - android:orientation="vertical"> - - <LinearLayout - android:id="@+id/table" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:orientation="vertical"> - </LinearLayout> - - - <!-- SSID --> - - <TextView android:id="@+id/ssid_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:text="@string/wifi_type_ssid" /> - - <EditText android:id="@+id/ssid_edit" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:singleLine="true" - android:inputType="textNoSuggestions" /> - - <!-- Security --> - - <TextView android:id="@+id/security_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/wifi_security" /> - - <!-- The entries will be set programmatically --> - <Spinner android:id="@+id/security_spinner" - android:layout_width="fill_parent" - android:layout_height="wrap_content" /> - - <!-- Enterprise Fields --> - <LinearLayout android:id="@+id/enterprise_wrapper" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:padding="0dip" - android:orientation="vertical"> - <TextView android:id="@+id/eap_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_select_eap" /> - <Spinner android:id="@+id/eap_spinner" - android:layout_width="fill_parent" - android:layout_height="wrap_content" /> - <TextView android:id="@+id/phase2_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_select_phase2" /> - <Spinner android:id="@+id/phase2_spinner" - android:layout_width="fill_parent" - android:layout_height="wrap_content" /> - - <TextView android:id="@+id/ca_certificate_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_select_ca_certificate" /> - <Spinner android:id="@+id/ca_certificate_spinner" - android:layout_width="fill_parent" - android:layout_height="wrap_content" /> - <TextView android:id="@+id/client_certificate_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_select_client_certificate" /> - <Spinner android:id="@+id/client_certificate_spinner" - android:layout_width="fill_parent" - android:layout_height="wrap_content" /> - <TextView android:id="@+id/identity_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_type_identity" /> - <EditText android:id="@+id/identity_edit" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:singleLine="true" - android:inputType="textNoSuggestions" /> - <TextView android:id="@+id/anonymous_identity_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_type_anonymous_identity" /> - <EditText android:id="@+id/anonymous_identity_edit" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:singleLine="true" /> - </LinearLayout> - - <!-- Password --> - - <TextView android:id="@+id/password_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_type_passphrase" /> - - <EditText android:id="@+id/password_edit" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:singleLine="true" - android:password="true" /> - - <CheckBox android:id="@+id/show_password_checkbox" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:text="@string/wifi_show_password" /> - - <Spinner android:id="@+id/wep_type_spinner" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:entries="@array/wifi_wep_type" /> - - </LinearLayout> - -</ScrollView> diff --git a/res/layout/wifi_ap_dialog.xml b/res/layout/wifi_ap_dialog.xml new file mode 100644 index 0000000..6d9691b --- /dev/null +++ b/res/layout/wifi_ap_dialog.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="300sp" + android:layout_height="wrap_content"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="8dip" + android:orientation="vertical"> + + <LinearLayout android:id="@+id/info" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" /> + + <LinearLayout android:id="@+id/type" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="gone"> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="8dip" + android:text="@string/wifi_ssid" /> + + <EditText android:id="@+id/ssid" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:inputType="textNoSuggestions" /> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="8dip" + android:text="@string/wifi_security" /> + + <Spinner android:id="@+id/security" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:prompt="@string/wifi_security" + android:entries="@array/wifi_ap_security" /> + </LinearLayout> + + <LinearLayout android:id="@+id/fields" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="gone"> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="4dip" + android:text="@string/wifi_password" /> + + <EditText android:id="@+id/password" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:password="true" /> + + <TextView android:id="@+id/hint" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textSize="12sp" + android:text="@string/credentials_password_too_short" + android:layout_marginBottom="10sp"/> + + <CheckBox android:id="@+id/show_password" + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/wifi_show_password" /> + </LinearLayout> + </LinearLayout> +</ScrollView> diff --git a/res/layout/wifi_ap_info.xml b/res/layout/wifi_ap_info.xml deleted file mode 100644 index 8c430fc..0000000 --- a/res/layout/wifi_ap_info.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content"> - - <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:padding="8dip" - android:orientation="vertical"> - - <LinearLayout - android:id="@+id/table" - android:layout_width="fill_parent" - android:layout_height="fill_parent" - android:orientation="vertical"> - - <!-- Info dynamically added here. --> - - </LinearLayout> - - <!-- Password --> - <TextView android:id="@+id/password_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_type_passphrase" /> - - <EditText android:id="@+id/password_edit" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:singleLine="true" - android:password="true" /> - - <CheckBox android:id="@+id/show_password_checkbox" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:text="@string/wifi_show_password" /> - - </LinearLayout> - -</ScrollView> diff --git a/res/layout/wifi_ap_retry_password.xml b/res/layout/wifi_ap_retry_password.xml deleted file mode 100644 index 14a4eae..0000000 --- a/res/layout/wifi_ap_retry_password.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content"> - - <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:padding="8dip" - android:orientation="vertical"> - - <TextView - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:text="@string/wifi_password_incorrect_error" /> - - <!-- Password --> - <TextView android:id="@+id/password_text" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="8dip" - android:text="@string/please_type_passphrase" /> - - <EditText android:id="@+id/password_edit" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:singleLine="true" - android:password="true" /> - - <CheckBox android:id="@+id/show_password_checkbox" - style="?android:attr/textAppearanceSmallInverse" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_marginTop="2dip" - android:text="@string/wifi_show_password" /> - - </LinearLayout> - -</ScrollView> diff --git a/res/layout/wifi_api_test.xml b/res/layout/wifi_api_test.xml new file mode 100644 index 0000000..b3ad18a --- /dev/null +++ b/res/layout/wifi_api_test.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2009 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/wifi_settings_category"> + + <Preference + android:key="disable_network" + android:title="@string/disableNetwork" + android:persistent="false" /> + + <Preference + android:key="disconnect" + android:title="@string/disconnect" + android:persistent="false" /> + + <Preference + android:key="enable_network" + android:title="@string/enableNetwork" + android:persistent="false" /> + + <Preference + android:key="getConfiguredNetworks" + android:title="@string/getConfiguredNetworks" + android:persistent="false" /> + + <Preference + android:key="getConnectionInfo" + android:title="@string/getConnectionInfo" + android:persistent="false" /> + + +</PreferenceScreen> diff --git a/res/layout/wifi_config_info.xml b/res/layout/wifi_config_info.xml new file mode 100644 index 0000000..c95eb6a --- /dev/null +++ b/res/layout/wifi_config_info.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2009 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" > + + + <LinearLayout style="@style/info_layout"> + + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/config_list_label" style="@style/info_label" /> + </LinearLayout> + + <LinearLayout style="@style/entry_layout"> + <TextView android:id="@+id/config_list" style="@style/info_value" /> + </LinearLayout> + </LinearLayout> + +</ScrollView> + diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml new file mode 100644 index 0000000..081ab6c --- /dev/null +++ b/res/layout/wifi_dialog.xml @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="300sp" + android:layout_height="wrap_content"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="8dip" + android:orientation="vertical"> + + <LinearLayout android:id="@+id/info" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" /> + + <LinearLayout android:id="@+id/type" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="gone"> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="8dip" + android:text="@string/wifi_ssid" /> + + <EditText android:id="@+id/ssid" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:inputType="textNoSuggestions" /> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="8dip" + android:text="@string/wifi_security" /> + + <Spinner android:id="@+id/security" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:prompt="@string/wifi_security" + android:entries="@array/wifi_security" /> + </LinearLayout> + + <LinearLayout android:id="@+id/fields" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="gone"> + + <LinearLayout android:id="@+id/eap" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="gone"> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="4dip" + android:text="@string/wifi_eap_method" /> + + <Spinner android:id="@+id/method" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:prompt="@string/wifi_eap_method" + android:entries="@array/wifi_eap_method" /> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_marginTop="8dip" + android:text="@string/please_select_phase2" /> + + <Spinner android:id="@+id/phase2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:prompt="@string/please_select_phase2" + android:entries="@array/wifi_phase2_entries" /> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="4dip" + android:text="@string/wifi_eap_ca_cert" /> + + <Spinner android:id="@+id/ca_cert" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:prompt="@string/wifi_eap_ca_cert" /> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="4dip" + android:text="@string/wifi_eap_user_cert" /> + + <Spinner android:id="@+id/user_cert" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:prompt="@string/wifi_eap_user_cert" /> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="4dip" + android:text="@string/wifi_eap_identity" /> + + <EditText android:id="@+id/identity" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:inputType="textNoSuggestions" /> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="4dip" + android:text="@string/wifi_eap_anonymous" /> + + <EditText android:id="@+id/anonymous" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:inputType="textNoSuggestions" /> + </LinearLayout> + + <TextView + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="4dip" + android:text="@string/wifi_password" /> + + <EditText android:id="@+id/password" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:singleLine="true" + android:password="true" /> + + <CheckBox android:id="@+id/show_password" + style="?android:attr/textAppearanceSmallInverse" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/wifi_show_password" /> + </LinearLayout> + </LinearLayout> +</ScrollView> diff --git a/res/layout/wifi_ap_info_row.xml b/res/layout/wifi_dialog_row.xml index 79064b0..52819d4 100644 --- a/res/layout/wifi_ap_info_row.xml +++ b/res/layout/wifi_dialog_row.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project +<!-- Copyright (C) 2010 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,7 +15,7 @@ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/name" diff --git a/res/layout/wifi_status_test.xml b/res/layout/wifi_status_test.xml new file mode 100644 index 0000000..2bdfbfc --- /dev/null +++ b/res/layout/wifi_status_test.xml @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2009 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" > + + + <LinearLayout style="@style/info_layout"> + + <!-- Update Button --> + <Button android:id="@+id/update" + android:textSize="14sp" + android:layout_marginTop="8dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/wifi_update" + /> + + <!--Wifi State--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/wifi_state_label" style="@style/info_label" /> + <TextView android:id="@+id/wifi_state" style="@style/info_value" /> + </LinearLayout> + + <!--Network State--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/network_state_label" style="@style/info_label" /> + <TextView android:id="@+id/network_state" style="@style/info_value" /> + </LinearLayout> + + <!--Supplicant State--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/supplicant_state_label" style="@style/info_label" /> + <TextView android:id="@+id/supplicant_state" style="@style/info_value" /> + </LinearLayout> + + <!--RSSI Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/rssi_label" style="@style/info_label" /> + <TextView android:id="@+id/rssi" style="@style/info_value" /> + </LinearLayout> + + <!--BSSID Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/bssid_label" style="@style/info_label" /> + <TextView android:id="@+id/bssid" style="@style/info_value" /> + </LinearLayout> + + <!--SSID Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/ssid_label" style="@style/info_label" /> + <TextView android:id="@+id/ssid" style="@style/info_value" /> + </LinearLayout> + + + <!--Hidden SSID Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/hidden_ssid_label" style="@style/info_label" /> + <TextView android:id="@+id/hidden_ssid" style="@style/info_value" /> + </LinearLayout> + + <!--IP address Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/ipaddr_label" style="@style/info_label" /> + <TextView android:id="@+id/ipaddr" style="@style/info_value" /> + </LinearLayout> + + <!--MAC address Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/macaddr_label" style="@style/info_label" /> + <TextView android:id="@+id/macaddr" style="@style/info_value" /> + </LinearLayout> + + <!--Network ID Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/networkid_label" style="@style/info_label" /> + <TextView android:id="@+id/networkid" style="@style/info_value" /> + </LinearLayout> + + <!--Link Speed Value--> + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/link_speed_label" style="@style/info_label" /> + <TextView android:id="@+id/link_speed" style="@style/info_value" /> + </LinearLayout> + + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/scan_list_label" style="@style/info_label" /> + <TextView android:id="@+id/scan_list" style="@style/info_value" /> + </LinearLayout> + + <!-- Ping stats --> + <Button android:id="@+id/ping_test" + android:textSize="14sp" + android:layout_marginTop="8dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/ping_test_label" + /> + + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/radio_info_ping_ipaddr" style="@style/info_label" /> + <TextView android:id="@+id/pingIpAddr" style="@style/info_value" /> + </LinearLayout> + + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/radio_info_ping_hostname" style="@style/info_label" /> + <TextView android:id="@+id/pingHostname" style="@style/info_value" /> + </LinearLayout> + + <LinearLayout style="@style/entry_layout"> + <TextView android:text="@string/radio_info_http_client_test" style="@style/info_label" /> + <TextView android:id="@+id/httpClientTest" style="@style/info_value" /> + </LinearLayout> + + </LinearLayout> +</ScrollView> diff --git a/res/values-cs-nokeys/strings.xml b/res/values-cs-nokeys/strings.xml index ab827bb..4a7498e 100644 --- a/res/values-cs-nokeys/strings.xml +++ b/res/values-cs-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Správa aplikací"</string> diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml index b2ccbfc..e91ac4b 100644 --- a/res/values-cs/arrays.xml +++ b/res/values-cs/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -22,7 +27,7 @@ <item msgid="4439789052790868249">"Asie"</item> <item msgid="956915953069815961">"Austrálie"</item> <item msgid="5345178126174698955">"Tichomoří"</item> - <item msgid="8392017019801393511">"Všechny"</item> + <item msgid="8392017019801393511">"Vše"</item> </string-array> <string-array name="animations_entries"> <item msgid="207790005475613429">"Žádné animace"</item> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"italština"</item> <item msgid="5811378076054402537">"španělština"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automaticky"</item> - <item msgid="5434666299123318296">"Žádné"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Žádné"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automaticky"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"Hexadecimální WEP"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Vyhledávání..."</item> + <item msgid="8513729475867537913">"Připojování..."</item> + <item msgid="515055375277271756">"Ověřování..."</item> + <item msgid="1943354004029184381">"Načítání adresy IP…"</item> + <item msgid="4221763391123233270">"Připojeno"</item> + <item msgid="624838831631122137">"Pozastaveno"</item> + <item msgid="7979680559596111948">"Odpojování..."</item> + <item msgid="1634960474403853625">"Odpojeno"</item> + <item msgid="746097431216080650">"Neúspěšné"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Vyhledávání..."</item> + <item msgid="355508996603873860">"Připojování k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="554971459996405634">"Ověřování v síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="7928343808033020343">"Získávání adresy IP ze sítě <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="8937994881315223448">"Připojeno k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Pozastaveno"</item> + <item msgid="7698638434317271902">"Odpojování od sítě <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="197508606402264311">"Odpojeno"</item> + <item msgid="8578370891960825148">"Neúspěšné"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Otevřít"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Nízká"</item> + <item msgid="5615082285463430971">"Dostačující"</item> + <item msgid="3565079809875324621">"Dobrá"</item> + <item msgid="5702329417707689835">"Vynikající"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Při vypnutí obrazovky"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP nebo CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Interní úložiště zařízení"</item> + <item msgid="3738430123799803530">"Vyjímatelná karta SD"</item> + <item msgid="4498124044785815005">"Automaticky vybere systém"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Vždy"</item> + <item msgid="6293147072807231256">"Nikdy"</item> + <item msgid="1276641209451816572">"Pouze v tichém režimu"</item> + <item msgid="8418930333779132418">"Pouze pokud není v tichém režimu"</item> + </string-array> </resources> diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 800d27e..1427350 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Ano"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Neznámé"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Zapnout rádio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Vypnout rádio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Povolit protokol QXDM SD"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Zakázat protokol QXDM SD"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Zobrazit adresář karty SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Zobrazit povolená telefonní čísla"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Zobrazit čísla volání služeb"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Získat seznam PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Povolit připojení datových služeb"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Zakázat připojení datových služeb"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Povolit startovací data"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Zakázat startovací data"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"V provozu"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Nepokrytá oblast"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Pouze tísňová volání"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Viditelné"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Zařízení je viditelné v intervalu <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> s."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Přepne zařízení do viditelného režimu"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Uzamknout hlasové vytáčení"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Zabránit použití vytáčení Bluetooth při uzamčené obrazovce"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Zařízení Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Název zařízení"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Název není nastaven, použit název účtu"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Odpojeno"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Odpojování..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Připojování..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Párovat s tímto zařízením"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Párování..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Spárováno, ale nepřipojeno"</string> @@ -145,7 +141,7 @@ <string name="proxy_error_empty_port" msgid="3525734169948795417">"Je třeba vyplnit pole port."</string> <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Pokud je pole hostitel prázdné, musí být prázdné i pole port."</string> <string name="proxy_error_invalid_port" msgid="1816315605424943626">"Zadaný port není platný."</string> - <string name="radio_info_signal_location_label" msgid="16475158265551708">"Poloha:"</string> + <string name="radio_info_signal_location_label" msgid="16475158265551708">"Místo:"</string> <string name="radio_info_neighboring_location_label" msgid="2385625674055934880">"Sousední identifikátor CID:"</string> <string name="radio_info_data_attempts_label" msgid="1731106244577323381">"Pokusy dat:"</string> <string name="radio_info_gprs_service_label" msgid="2331818110375395364">"Služba GPRS:"</string> @@ -170,21 +166,21 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Použít test Ping na IpAddr:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Provést test Ping hostitele (www.google.cz):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test klienta HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Přepnout šifrování"</string> <string name="ping_test_label" msgid="7255376471490860631">"Spustit test Ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aktualizovat"</string> - <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Obnovit"</string> + <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Aktualizovat"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Přepnout kontrolu DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Informace a nastavení specifické pro výrobce OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Nastavit pásmo pro GSM a UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Načítání seznamu pásem..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Nastavit"</string> - <string name="band_mode_failed" msgid="1495968863884716379">"Pásmo nenastaveno."</string> + <string name="band_mode_failed" msgid="1495968863884716379">"Neúspěšné"</string> <string name="band_mode_succeeded" msgid="2701016190055887575">"Pásmo nastaveno."</string> <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Změna se projeví při příštím připojení kabelu USB."</string> <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Povolit velkokapacitní paměťové zařízení USB"</string> <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Celková paměť (bajty):"</string> - <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Žádná karta SD není dostupná."</string> + <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Žádná karta SD"</string> <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Dostupná paměť (bajty):"</string> <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"Karta SD je využívána jako velkokapacitní paměťové zařízení."</string> <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Nyní můžete kartu SD bezpečně odebrat."</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Moje poloha, odemknutí obrazovky, zámek SIM, zámek úložiště pověření"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Nastavení funkce Moje poloha, odemknutí obrazovky a zamknutí úložiště pověření"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Hesla"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Zabezpečení odemknutí obrazovky"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Nastavit zámek obrazovky"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Zamknout obrazovku pomocí gesta, kódu PIN nebo hesla"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Změnit zámek obrazovky"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Změnit nebo deaktivovat bezpečnostní gesto, kód PIN nebo heslo"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Žádné"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Deaktivovat zabezpečení zámku obrazovky"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Gesto"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Nakreslete gesto pro odemknutí obrazovky"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Zadejte číselný kód PIN pro odemknutí obrazovky"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Heslo"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Zadejte heslo pro odemknutí obrazovky"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Deaktivováno vzdáleným správcem po telefonu"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Vypnout zámek obrazovky"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Odebrat bezpečnostní gesto"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Odebrat bezpečnostní kód PIN"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Odebrat bezpečnostní heslo"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Změna bezpečnostního gesta"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Změna bezpečnostního kódu PIN"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Změnit bezpečnostní heslo"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Heslo musí obsahovat nejméně %d znaků"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Kód PIN musí obsahovat nejméně %d znaků"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Po dokončení stiskněte tlačítko Pokračovat"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Pokračovat"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Kód PIN nemůže obsahovat více než %d číslic"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Kód PIN nemůže obsahovat více než %d číslic"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Kód PIN musí obsahovat pouze číslice 0 až 9."</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Heslo obsahuje neplatný znak"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Heslo musí obsahovat nejméně jedno písmeno."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Heslo musí obsahovat nejméně jednu číslici."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Heslo musí obsahovat nejméně jeden symbol."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Zrušit"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Správa zařízení"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Vyberte správce zařízení"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Přidat nebo odebrat správce zařízení"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Zapnout Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Nastavení Bluetooth"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Jako telefon pro hlasitý poslech"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Pro hudbu a média"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Zapamatovat nastavení"</string> - <string name="wifi" msgid="1081550856200013637">"WiFi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"WiFi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Zapnout WiFi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Nastavení WiFi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Nastavení WiFi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Umožňuje nastavit a spravovat přístupové body bezdrátové sítě"</string> - <string name="forget_network" msgid="4718015029995727138">"Odstranit"</string> - <string name="wifi_status" msgid="4824568012414605414">"Stav"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Rychlost"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Vynikající"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Dobrá"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Dostačující"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Nízká"</string> - <string name="security" msgid="1040691896987225267">"Zabezpečení"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Nezabezpečená"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Neznámé"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"nezabezpečená síť"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"zabezpečení WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"zabezpečeno pomocí protokolu WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"zabezpečeno pomocí protokolu 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Adresa IP"</string> - <string name="signal" msgid="1947969631626413228">"Síla signálu"</string> <string name="wifi_starting" msgid="6710266609710860129">"Zapínání WiFi..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Vypínání..."</string> <string name="wifi_error" msgid="3207971103917128179">"Chyba"</string> - <string name="error_starting" msgid="4055163089721254078">"WiFi se nepodařilo spustit."</string> - <string name="error_stopping" msgid="7855531609645531489">"WiFi se nepodařilo zastavit."</string> - <string name="error_scanning" msgid="4644050284132264368">"Nepodařilo se vyhledávat sítě."</string> - <string name="error_connecting" msgid="1981882310590509609">"K síti se nelze připojit."</string> - <string name="error_saving" msgid="8294279443961615302">"Síť nelze uložit."</string> - <string name="connect" msgid="3079076576295839400">"Připojit"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Připojit k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Metoda EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Ověření Phase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identita"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Anonymní identita"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certifikát klienta"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Certifikát CA"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Heslo bezdrátové sítě"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Hexadecimální klíč WEP (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Zobrazovat heslo."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Vyhledávání"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Mimo dosah"</string> - <string name="summary_remembered" msgid="6079941090549401742">"uložené nastavení"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Připojení se nezdařilo, dotkněte se a zkuste to znovu."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Sítě WiFi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Identifikátor SSID sítě"</string> - <string name="wifi_security" msgid="6603611185592956936">"Zabezpečení"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Uložit"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(nezměněno)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Přidat síť WiFi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"Při režimu V letadle"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Nelze vyhledávat sítě"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Oznamování sítě"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Oznamovat dostupné nezabezpečené sítě"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Původní síťové heslo bylo zadáno nesprávně. Zkuste to znovu."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Při připojování k síti došlo k chybě. Zkuste to znovu."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Přidat síť WiFi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Sítě WiFi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Vyhledávání"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Pokročilé"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Nastavení adresy IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Uložit"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Zrušit"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Zadejte platnou adresu IP."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Použít statickou adresu IP"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Připojit k síti"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Odstranit záznam sítě"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Upravit síť"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Identifikátor SSID sítě"</string> + <string name="wifi_security" msgid="6603611185592956936">"Zabezpečení"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Síla signálu"</string> + <string name="wifi_status" msgid="4824568012414605414">"Stav"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Rychlost připojení"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Adresa IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"Server DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"Server DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Brána"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Maska sítě"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Připojit k síti"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Odstranit záznam sítě"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Změnit heslo"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Metoda EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Ověření Phase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certifikát CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certifikát uživatele"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identita"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonymní identita"</string> + <string name="wifi_password" msgid="5948219759936151048">"Heslo"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Zobrazovat heslo."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(nezměněno)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(neurčeno)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Uložené nastavení"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Vypnuto"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Mimo dosah"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Zabezpečení <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, zabezpečení <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Připojit"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Odstranit"</string> + <string name="wifi_save" msgid="3331121567988522826">"Uložit"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Zrušit"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Pokročilé"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Regulační doména"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Umožňuje nastavit počet použitých kanálů"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Určit, kdy přepnout ze sítě Wi-Fi na mobilní datový přenos"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Při nastavení zásad pro režim spánku došlo k problému."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adresa MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Vyhledávání..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Připojování k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Ověřování v síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Získávání adresy IP ze sítě <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Připojeno k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Odpojování od sítě <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Odpojeno"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Připojení se nezdařilo."</string> - <string name="status_scanning" msgid="8402178267165567371">"Vyhledávání..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Připojování..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Ověřování..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Získávání adresy..."</string> - <string name="status_connected" msgid="8175694029067954271">"Připojeno"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Odpojování..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Odpojeno"</string> - <string name="status_failed" msgid="610462050405904601">"Připojení se nezdařilo."</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Obraz a zvuk"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Nastavení obrazu a zvuku"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Nastavení adresy IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Uložit"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Zrušit"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Zadejte platnou adresu IP."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Použít statickou adresu IP"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"Server DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"Server DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Brána"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Maska sítě"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Přenosný hotspot Wi-Fi"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Přenosný hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivní"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Chyba přenosného hotspotu Wi-Fi"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Nastavení přenosného hotspotu Wi-Fi"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Nastavení a správa přenosného hotspotu Wi-Fi"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Nastavení přenosného hotspotu Wi-Fi"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurace hotspotu Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Přenosný hotspot Wi-Fi <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Zvuk"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Zobrazení"</string> <string name="sound_settings" msgid="5007659014828162881">"Nastavení zvuku"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Umožňuje nastavit vyzváněcí tón, oznámení a jas obrazovky"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Tichý režim"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Ztiší všechny zvuky kromě médií a budíků"</string> - <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Všechny zvuky kromě médií jsou ztišeny."</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Ztlumit všechny zvuky kromě médií a budíků"</string> + <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Jsou ztišeny všechny zvuky kromě médií"</string> <string name="ringtone_title" msgid="5379026328015343686">"Vyzváněcí tón telefonu"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Umožňuje nastavit výchozí vyzváněcí tón příchozího hovoru"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Hlasitost"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Hlasitost vyzvánění"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Umožňuje nastavit hlasitost příchozích hovorů a oznámení"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibrace telefonu"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Při příchozím hovoru vibrovat"</string> - <string name="notification_sound_title" msgid="6316316069880531693">"Tón oznámení"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Umožňuje nastavit výchozí tón oznámení"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrovat v tichém režimu"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Povolit odezvu vibracemi v tichém režimu"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrace"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibrační zpětná vazba pro hovory a oznámení"</string> + <string name="notification_sound_title" msgid="6316316069880531693">"Tón upozornění"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Blikat kontrolkou oznámení"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Při nových oznámeních opakovaně zablikat osvětlením trackballu"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Hlasitost příchozího hovoru"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Hlasitost oznámení"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Vyzváněcí tón"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Upozornění"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Použije hlasitost příchozích hovorů také pro oznámení"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Zvolit vyzváněcí tón oznámení"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Hlasitost médií"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Média"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Umožňuje nastavit hlasitost hudby a videí"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Budík"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Nastavení zvuku pro připojený dok"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Dotyky jsou provázeny zvuky"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Tlačítka číselníku jsou provázena zvuky"</string> @@ -417,15 +427,15 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Výběr se zvuky"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Výběr na obrazovce je provázen zvuky"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Výběr na obrazovce je provázen zvuky"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Zvuky uzamčení obrazovky"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Přehrát zvuk při uzamykání a odemykání obrazovky"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Přehrát zvuk při uzamykání a odemykání obrazovky"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Hmatová odezva"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrovat při stisku softwarových kláves a při některých událostech uživatelského rozhraní"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrovat při stisku softwarových kláves a při některých událostech uživatelského rozhraní"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Oznámení karty SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Přehrát zvuk při oznámení karty SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Přehrát zvuk při oznámení karty SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Potlačení hluku"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Při hovoru nebo nahrávání potlačí okolní hluk."</string> - <string name="dock_settings" msgid="1820107306693002541">"Dok"</string> + <string name="dock_settings" msgid="1820107306693002541">"Dokovací stanice"</string> <string name="dock_settings_title" msgid="9161438664257429372">"Nastavení doku"</string> <string name="dock_audio_settings_title" msgid="3324750259959570305">"Zvuk"</string> <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Nastavení připojeného stolního doku"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Nastavení připojeného doku"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Dok nebyl nalezen"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Chcete-li konfigurovat zvuk doku, musí v něm být telefon vložen."</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Zvuk při vkládání do doku"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Přehrát zvuk při vkládání nebo vyjímání telefonu z doku"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Nepřehrávat zvuk při vkládání nebo vyjímání telefonu z doku"</string> <string name="sync_settings" msgid="9186125469300013491">"Účty a synchronizace"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Umožňuje přidat nebo odebrat účty a změnit jejich nastavení"</string> <string name="search_settings" msgid="1910951467596035063">"Vyhledávání"</string> @@ -442,9 +455,9 @@ <string name="animations_title" msgid="1062189037402346023">"Animace"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Zobrazit animace otevírání a zavírání oken"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Zobrazit animace otevírání a zavírání oken"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientace"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Automatické otočení obrazovky"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Při otáčení telefonu automaticky přepínat orientaci"</string> - <string name="accelerometer_summary_off" msgid="5485489363715740761">"Přepínat orientaci automaticky při otáčení telefonu"</string> + <string name="accelerometer_summary_off" msgid="5485489363715740761">"Při otáčení telefonu automaticky přepínat orientaci"</string> <string name="brightness" msgid="2354961343555249270">"Jas"</string> <string name="brightness_summary" msgid="838917350127550703">"Nastavení jasu displeje"</string> <string name="screen_timeout" msgid="4882669461447531301">"Interval vypnutí obrazovky"</string> @@ -454,7 +467,7 @@ <string name="sim_lock_settings_category" msgid="5136244267576697004">"Nastavení zámku karty SIM"</string> <string name="sim_lock_settings_title" msgid="9018585580955414596">"Zámek karty SIM"</string> <string name="sim_pin_toggle" msgid="1742123478029451888">"Zamykat kartu SIM"</string> - <string name="sim_lock_on" msgid="2503536505568814324">"K použití telefonu je vyžadován kód PIN"</string> + <string name="sim_lock_on" msgid="2503536505568814324">"K použití telefonu je vyžadován PIN"</string> <string name="sim_lock_off" msgid="258981978215428916">"K použití telefonu je vyžadován PIN"</string> <string name="sim_pin_change" msgid="6311414184279932368">"Změnit kód PIN karty SIM"</string> <string name="sim_enter_pin" msgid="6608715137008508432">"Kód PIN karty SIM"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Zrušit"</string> <string name="device_info_settings" msgid="475872867864762157">"Stav telefonu"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Aktualizace systému"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Zkontrolovat aktualizace systému"</string> - <string name="firmware_version" msgid="6284872163051667788">"Verze firmwaru"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Verze systému Android"</string> <string name="model_number" msgid="3765737700545384794">"Označení modelu"</string> <string name="baseband_version" msgid="1848990160763524801">"Verze základního pásma"</string> <string name="kernel_version" msgid="9192574954196167602">"Verze jádra"</string> @@ -507,17 +520,27 @@ <string name="memory_size" msgid="6629067715017232195">"Celková paměť"</string> <string name="sd_eject" msgid="6915293408836853020">"Odpojit kartu SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Odpojit kartu SD za účelem bezpečného odebrání"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Vložte kartu SD, kterou chcete připojit."</string> + <string name="sd_mount" msgid="5940523765187704135">"Připojit kartu SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Připojit kartu SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formátovat kartu SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formátovat (vymazat) kartu SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Nedostupný údaj"</string> <string name="read_only" msgid="6702420168629076340">" (Pouze pro čtení)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Odpojit kartu SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Pokud odpojíte kartu SD, dojde k zastavení některých používaných aplikací. Tyto aplikace pravděpodobně nebudou k dispozici až do opětovného připojení karty SD."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Odpojení karty SD se nezdařilo"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Kartu SD nelze odpojit. Zkuste to znovu později."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"Karta SD bude odpojena. Stav bude zobrazen v oznamovací oblasti."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Odpojování"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Probíhá odpojování"</string> <string name="battery_status_title" msgid="9159414319574976203">"Stav baterie"</string> <string name="battery_level_title" msgid="2965679202786873272">"Stav baterie"</string> - <string name="apn_settings" msgid="3743170484827528406">"Přístupové body"</string> + <string name="apn_settings" msgid="3743170484827528406">"Názvy AP"</string> <string name="apn_edit" msgid="1354715499708424718">"Upravit přístupový bod"</string> <string name="apn_not_set" msgid="7422262558097875757">"<Nenastaveno>"</string> <string name="apn_name" msgid="4115580098369824123">"Jméno"</string> - <string name="apn_apn" msgid="2479425126733513353">"Název přístupvého bodu (APN)"</string> + <string name="apn_apn" msgid="2479425126733513353">"Název AP"</string> <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy"</string> <string name="apn_http_port" msgid="3763259523984976226">"Port"</string> <string name="apn_user" msgid="455637547356117761">"Uživatelské jméno"</string> @@ -533,9 +556,9 @@ <string name="apn_auth_type_pap" msgid="1666934536996033383">"PAP"</string> <string name="apn_auth_type_chap" msgid="3369626283789068360">"CHAP"</string> <string name="apn_auth_type_pap_chap" msgid="9102343063036134541">"PAP nebo CHAP"</string> - <string name="apn_type" msgid="469613123902220544">"typ APN"</string> - <string name="menu_delete" msgid="6981294422841124659">"Smazat APN"</string> - <string name="menu_new" msgid="3014205883303921729">"Nový APN"</string> + <string name="apn_type" msgid="469613123902220544">"Typ názvu AP"</string> + <string name="menu_delete" msgid="6981294422841124659">"Smazat název přístupového bodu"</string> + <string name="menu_new" msgid="3014205883303921729">"Nový název AP"</string> <string name="menu_save" msgid="8109345640668285399">"Uložit"</string> <string name="menu_cancel" msgid="2194502410474697474">"Zrušit"</string> <string name="error_title" msgid="1319225301794168762">"Upozornění"</string> @@ -548,23 +571,37 @@ <string name="restore_default_apn_completed" msgid="3990449939234957281">"Obnovení výchozích nastavení názvu AP bylo dokončeno."</string> <string name="master_clear_title" msgid="5907939616087039756">"Obnovení továrních dat"</string> <string name="master_clear_summary" msgid="4986154238001088492">"Vymaže všechna data v telefonu"</string> - <string name="master_clear_desc" msgid="7823268823499739178">"Tento krok z vašeho telefonu vymaže všechna data včetně:"\n<li>"vašeho účtu Google,"</li>\n<li>"dat a nastavení systému a aplikací,"</li>\n<li>"stažených aplikací."</li>\n"Vymazány nebudou:"\n<li>"aktuální software systému a s ním dodané aplikace"</li>\n<li>"soubory na kartě SD, například hudba a fotky."</li></string> + <string name="master_clear_desc" msgid="7823268823499739178">"Tento krok vymaže všechna data z vašeho telefonu včetně:"\n<li>"vašeho účtu Google,"</li>\n<li>"dat a nastavení systému a aplikací,"</li>\n<li>"stažených aplikací."</li>\n"Vymazány nebudou:"\n<li>"aktuální software systému a s ním dodané aplikace"</li>\n<li>"soubory na kartě SD, například hudba a fotky."</li></string> <string name="master_clear_button_text" msgid="7550632653343157971">"Resetovat telefon"</string> <string name="master_clear_final_desc" msgid="6917971132484622696">"Chcete smazat všechny osobní informace a stažené aplikace? Tuto akci nelze vrátit zpět."</string> <string name="master_clear_final_button_text" msgid="5390908019019242910">"Odstranit vše"</string> - <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Nakreslete své bezpečnostní gesto"</string> - <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Chcete-li potvrdit resetování telefonu, musíte nakreslit bezpečnostní gesto."</string> + <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Proveďte gesto odemknutí"</string> + <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Chcete-li potvrdit reset telefonu, musíte provést gesto odemknutí."</string> <string name="master_clear_failed" msgid="8655202125010189406">"Pokus o reset se nezdařil, protože služba System Clear není dostupná."</string> <string name="media_format_title" msgid="4671276096695789895">"Formátovat kartu SD"</string> <string name="media_format_summary" msgid="3805714639375830120">"Vymaže všechna data na kartě SD"</string> <string name="media_format_desc" msgid="1142563222357820834">"Tato akce smaže kartu SD v telefonu. VŠECHNA data na kartě budou ztracena."</string> <string name="media_format_button_text" msgid="370856400090190151">"Formátovat kartu SD"</string> <string name="media_format_final_desc" msgid="1776666694910717198">"Formátování karty SD. Chcete smazat všechna svoje média? Akci nelze vrátit zpět."</string> - <string name="media_format_final_button_text" msgid="4881713344315923175">"Smazat vše"</string> - <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Nakreslete své bezpečnostní gesto"</string> - <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Formátování karty SD je potřeba potvrdit nakreslením bezpečnostního gesta."</string> + <string name="media_format_final_button_text" msgid="4881713344315923175">"Odstranit vše"</string> + <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Proveďte gesto odemknutí"</string> + <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Formátování karty SD je potřeba potvrdit nakreslením odemykacího obrazce."</string> <string name="call_settings_title" msgid="5188713413939232801">"Nastavení hovorů"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Nastavení hlasové schránky, přesměrování a čekání hovorů a ID volajícího"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Přenosný hotspot"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering a přenosný hotspot"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Sdílet mobilního datové připojení telefonu prostřednictvím portu USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Sdílet mobilní připojení telefonu jako přenosný hotspot Wi-Fi"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Sdílet mobilní datové připojení telefonu prostřednictvím portu USB nebo jako přenosný hotspot Wi-Fi"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Sdílené datové připojení prostřednictvím portu USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Připojení USB je k dispozici. Chcete-li vytvořit sdílené datové připojení, vyberte je."</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Sdíleno"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Nelze sdílet datové připojení, pokud se používá úložiště USB"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Připojení USB není k dispozici"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Chyba sdílení datového připojení prostřednictvím USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Nápověda"</string> <string name="network_settings_title" msgid="7967552516440151852">"Mobilní sítě"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Nastavení roamingu, sítí a názvů přístupových bodů"</string> <string name="location_title" msgid="1029961368397484576">"Moje poloha"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Použít systém A-GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Vylepšit funkčnost GPS pomocí serveru (deaktivací této funkce snížíte využití sítě)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Vylepšit funkčnost GPS pomocí serveru (zrušením této funkce zvýšíte výkon GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Používat funkci Moje poloha"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Používat funkci Moje poloha pro výsledky vyhledávání a další služby Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Chcete Googlu umožnit využívat informace o poloze k poskytování přesnějších výsledků vyhledávání a dalších služeb?"</string> - <string name="agree" msgid="6288718671527758326">"Souhlasím"</string> - <string name="disagree" msgid="6221069272309799230">"Nesouhlasím"</string> <string name="about_settings" msgid="1743378368185371685">"Info o telefonu"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Zobrazuje právní informace, stav telefonu a verzi softwaru"</string> <string name="legal_information" msgid="5769301644270604095">"Právní informace"</string> @@ -598,47 +630,57 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Bezpečnostní informace"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Telefon není připojen k datové službě. Chcete-li tyto informace zobrazit nyní, přejděte na stránku %s z libovolného počítače připojeného k internetu."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Načítání..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Gesto pro odemknutí obrazovky"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Zvolte heslo"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Zvolte kód PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Potvrďte heslo"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Potvrďte kód PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Hesla nejsou shodná"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Kódy PIN nejsou shodné"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Heslo bylo nastaveno"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Kód PIN byl nastaven"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Gesto bylo nastaveno"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Odemknutí obrazovky"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Změna bezpečnostního gesta"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Změna bezpečnostního kódu PIN"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Potvrďte uložené gesto"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Zkuste to prosím znovu:"</string> - <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Nakreslete své bezpečnostní gesto."</string> + <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Proveďte gesto odemknutí"</string> <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Nápovědu zobrazíte stisknutím klávesy Menu."</string> <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"Na závěr zdvihněte prst z obrazovky."</string> <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"Minimální počet spojených teček je <xliff:g id="NUMBER">%d</xliff:g>. Zkuste to znovu:"</string> <string name="lockpattern_pattern_entered_header" msgid="5012716272001299362">"Gesto bylo zaznamenáno."</string> - <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"Pro potvrzení nakreslete gesto znovu:"</string> - <string name="lockpattern_pattern_confirmed_header" msgid="2223856038485537716">"Nové bezpečnostní gesto:"</string> + <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"Proveďte gesto znovu pro potvrzení:"</string> + <string name="lockpattern_pattern_confirmed_header" msgid="2223856038485537716">"Nové gesto odemknutí:"</string> <string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"Potvrdit"</string> <string name="lockpattern_restart_button_text" msgid="3337574403350953926">"Nakreslit znovu"</string> <string name="lockpattern_retry_button_text" msgid="1949847413862309134">"Zkusit znovu"</string> <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"Pokračovat"</string> - <string name="lockpattern_settings_title" msgid="3207750489460466680">"Bezpečnostní gesto"</string> + <string name="lockpattern_settings_title" msgid="3207750489460466680">"Gesto odemknutí"</string> <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Požadovat gesto"</string> - <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Obrazovku je nutné odemknout pomocí bezpečnostního gesta"</string> + <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Obrazovku je třeba odemknout gestem ruky."</string> <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Viditelné gesto"</string> <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Vibrační zpětná vazba"</string> <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Nastavení bezpečnostního gesta"</string> <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Změna bezpečnostního gesta"</string> - <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"Bezpečnostní gesto nakreslíte takto"</string> + <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"Gesto odemknutí obrazovky proveďte tímto způsobem"</string> <string name="lockpattern_too_many_failed_confirmation_attempts_header" msgid="819903817323783498">"Příliš mnoho neplatných pokusů."</string> <string name="lockpattern_too_many_failed_confirmation_attempts_footer" msgid="6759029360597122873">"Sekundy zbývající do dalšího pokusu: <xliff:g id="NUMBER">%d</xliff:g>."</string> <string name="skip_button_label" msgid="8680422740354436943">"Zrušit"</string> <string name="next_button_label" msgid="8890792540116568321">"Další"</string> <string name="lock_title" msgid="4059246467204273930">"Zabezpečení telefonu"</string> - <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Vytvořte si osobní bezpečnostní gesto a chraňte tak svůj telefon před nepovoleným použitím. "\n<font height="17">\n</font><b>"1"</b>" Příklad takového gesta uvidíte na dalším snímku. "\n<font height="17">\n</font><b>"2"</b>" Až budete připraveni, nakreslete své osobní bezpečnostní gesto. Vyzkoušejte více gest, ale vždy spojte alespoň čtyři tečky. "\n<font height="17">\n</font><b>"3"</b>" Gesto zopakujte a tím jej potvrďte. "\n<font height="17">\n</font><b>"Jste připraveni začít? Dotkněte se tlačítka Další"</b>". "\n<font height="3">\n</font>"Chcete-li ponechat telefon nezabezpečený, dotkněte se tlačítka Zrušit."</font></string> + <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Vytvořte si osobní gesto odemknutí a chraňte tak svůj telefon před nepovoleným použitím. "\n<font height="17">\n</font><b>"1"</b>" Na dalším snímku uvidíte příklad takového gesta. "\n<font height="17">\n</font><b>"2"</b>" Až budete připraveni, proveďte své osobní gesto odemknutí. Vyzkoušejte více gest, ale vždy spojte alespoň čtyři tečky. "\n<font height="17">\n</font><b>"3"</b>" Opakujte gesto a tím jej potvrďte. "\n<font height="17">\n</font><b>"Jste připraveni začít? Dotkněte se tlačítka Další "</b>". "\n<font height="3">\n</font>"Chcete-li ponechat telefon nezabezpečený, dotkněte se tlačítka Storno."</font></string> <string name="lock_example_title" msgid="8052305554017485410">"Příklad gesta"</string> <string name="lock_example_message" msgid="1838650097090632706">"Spojte alespoň čtyři tečky."\n" "\n"Až budete připraveni provést vlastní gesto, dotkněte se tlačítka Další."</string> <string name="manageapplications_settings_title" msgid="5712405848153426706">"Správa aplikací"</string> <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Umožňuje spravovat a odebírat instalované aplikace"</string> <string name="applications_settings" msgid="3736173521008476946">"Aplikace"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"Správa aplikací a klávesových zkratek rychlého spuštění"</string> - <string name="applications_settings_header" msgid="6018266337275422250">"Nastavení aplikace"</string> + <string name="applications_settings_header" msgid="6018266337275422250">"Nastavení aplikací"</string> <string name="install_applications" msgid="4872012136210802181">"Neznámé zdroje"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Povoluje instalaci aplikací, které nepocházejí ze služby Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Povoluje instalaci aplikací, které nepocházejí ze služby Market."</string> <string name="install_all_warning" msgid="1923717607319933741">"Váš telefon a osobní údaje jsou zranitelnější vůči útoku aplikací z neznámých zdrojů. Vyjadřujete souhlas, že nesete osobní odpovědnost za jakékoli škody způsobené na vašem telefonu nebo za ztrátu dat v důsledku používání těchto aplikací."</string> - <string name="application_info_label" msgid="1150486628158409543">"Info o aplikaci"</string> - <string name="storage_label" msgid="8700867073480107253">"Paměť"</string> + <string name="application_info_label" msgid="1150486628158409543">"Informace o aplikaci"</string> + <string name="storage_label" msgid="8700867073480107253">"Úložiště"</string> <string name="auto_launch_label" msgid="3012617472833815382">"Spouštět jako výchozí"</string> <string name="permissions_label" msgid="2605296874922726203">"Oprávnění"</string> <string name="cache_header_label" msgid="1877197634162461830">"Mezipaměť"</string> @@ -650,7 +692,7 @@ <string name="application_size_label" msgid="5055196275624686382">"Aplikace"</string> <string name="data_size_label" msgid="8679376373625710107">"Data"</string> <string name="uninstall_text" msgid="3644892466144802466">"Odinstalovat"</string> - <string name="clear_user_data_text" msgid="5597622864770098388">"Vymazat data"</string> + <string name="clear_user_data_text" msgid="5597622864770098388">"Mazání dat"</string> <string name="app_factory_reset" msgid="6635744722502563022">"Odinstalovat aktualizace"</string> <string name="auto_launch_enable_text" msgid="2630656657744196691">"Aplikace byla nastavena, aby se pro některé akce spouštěla jako výchozí."</string> <string name="auto_launch_disable_text" msgid="7800385822185540166">"Není výchozí pro žádné akce."</string> @@ -661,9 +703,10 @@ <string name="manage_space_text" msgid="8852711522447794676">"Správa paměti"</string> <string name="filter" msgid="2018011724373033887">"Filtrovat"</string> <string name="filter_dlg_title" msgid="6507663329723966854">"Vyberte možnosti filtru"</string> - <string name="filter_apps_all" msgid="5142129378749391876">"Všechny"</string> + <string name="filter_apps_all" msgid="5142129378749391876">"Vše"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Stažené"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Spuštěné"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Na kartě SD"</string> <string name="loading" msgid="3200408047793887917">"Načítání..."</string> <string name="recompute_size" msgid="7722567982831691718">"Přepočítávání velikosti..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Smazat"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Nepodařilo se určit velikost balíčku"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Žádné aplikace třetích stran nejsou nainstalovány."</string> <string name="version_text" msgid="9189073826278676425">"verze <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Přesunout"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Přesunout do telefonu"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Přesunout na kartu SD"</string> + <string name="moving" msgid="6431016143218876491">"Přesouvání"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"V úložišti je nedostatek volného místa."</string> + <string name="does_not_exist" msgid="837163572898468245">"Aplikace neexistuje."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Aplikace je chráněna proti kopírování."</string> + <string name="invalid_location" msgid="4934491353200240499">"Zadané místo pro instalaci není platné."</string> + <string name="system_package" msgid="1030561474413022831">"Aktualizace systému nelze nainstalovat na externí média."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Vynutit zastavení"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Tato aplikace bude okamžitě restartována. Opravdu chcete vynutit její zastavení?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Přesun aplikace"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Přesunutí aplikace se nezdařilo. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Preferované umístění pro instalaci"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Změna preferovaného umístění pro instalaci nových aplikací"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Spuštěné služby"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Umožňuje zobrazit a ovládat aktuálně spuštěné služby"</string> <string name="service_restarting" msgid="2242747937372354306">"Probíhá restartování"</string> @@ -691,7 +749,7 @@ <string name="confirm_stop_stop" msgid="7382363913280993331">"Zastavit"</string> <string name="confirm_stop_cancel" msgid="206495326622692381">"Zrušit"</string> <string name="service_started_by_app" msgid="8432097226392386802">"Spuštěno aplikací: dotykem zastavíte"</string> - <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: dotykem otevřete správu"</string> + <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: spravovat dotykem"</string> <string name="service_background_processes" msgid="5158600475629177758">"K dispozici: <xliff:g id="FREE">%2$s</xliff:g> + <xliff:g id="MEMORY">%3$s</xliff:g> v <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_foreground_processes" msgid="4013890350284680796">"Ostatní: <xliff:g id="MEMORY">%2$s</xliff:g> v <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"Proces: <xliff:g id="PROCESS">%1$s</xliff:g>"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Nastavení jazyka a oblasti, způsobu zadávání textu a automatických oprav"</string> <string name="language_category" msgid="3391756582724541530">"Nastavení národního prostředí"</string> <string name="text_category" msgid="6342540511465136739">"Nastavení textu"</string> - <string name="phone_language" msgid="2138384312336494991">"Národní prostředí"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Vyberte jazyk a oblast"</string> + <string name="phone_language" msgid="1165758957501090679">"Vyberte jazyk"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Automatické nahrazování"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Opravovat pravopisné chyby"</string> <string name="auto_caps" msgid="581633131114124121">"Automatická velká písmena"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Prostřednictvím této metody zadávání dat lze shromažďovat zadaný text včetně osobních údajů, jako jsou hesla a čísla kreditních karet. Metoda je součástí aplikace <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Chcete tuto metodu zadávání dat použít?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Uživatelský slovník"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Uživatelský slovník"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Přidat nebo odebrat slova z uživatelského slovníku"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Přidat"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Přidat do slovníku"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Upravit slovo"</string> @@ -735,10 +793,10 @@ <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"OK"</string> <string name="quick_launch_clear_cancel_button" msgid="1892854652197747064">"Zrušit"</string> <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Aplikace"</string> - <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Klávesové zkratky"</string> + <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Zástupce"</string> <string name="input_methods_settings_title" msgid="6800066636850553887">"Zadávání textu"</string> <string name="input_methods_settings_summary" msgid="7571173442946675205">"Správa možností zadávání textu"</string> - <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Nastavení metody <xliff:g id="IME_NAME">%1$s</xliff:g>"</string> + <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Nastavení modulu <xliff:g id="IME_NAME">%1$s</xliff:g>"</string> <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Nastavení klávesnice na obrazovce"</string> <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Klávesnice zařízení"</string> <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Nastavení vestavěné klávesnice"</string> @@ -774,7 +832,7 @@ <string name="battery_history_sensor" msgid="2333488996028993982">"Senzor:"</string> <string name="battery_history_wakelock" msgid="608683447522396293">"Částečný zámek probuzení:"</string> <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Senzor je používán následujícími balíčky:"</string> - <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Použito <xliff:g id="COUNT">%1$d</xliff:g>krát balíčkem <xliff:g id="PACKAGE">%2$s</xliff:g>"</string> + <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Použito <xliff:g id="COUNT">%1$d</xliff:g>krát balíčkem <xliff:g id="PACKAGE">%2$s</xliff:g>\n"</string> <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Použito <xliff:g id="COUNT">%1$d</xliff:g>krát některým z následujících:"</string> <string name="battery_history_awake_label" msgid="8449792868990080882">"Spuštěné"</string> <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Obrazovka zapnutá"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Žádné nainstalované služby usnadnění."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Tato služba usnadnění může shromažďovat veškerý text, který napíšete, včetně osobních údajů a čísel kreditních karet, nikoli však hesla. Může také protokolovat vaše interakce s uživatelským rozhraním. Služba pochází z aplikace <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Chcete tuto službu usnadnění použít?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Deaktivovat usnadnění?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Nebyly nalezeny žádné aplikace týkající se usnadnění"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Nejsou nainstalovány žádné aplikace týkající se usnadnění."\n\n"Prostřednictvím služby Android Market můžete do svého zařízení stáhnout čtečku obrazovky."\n\n"Kliknutím na tlačítko OK čtečku obrazovky nainstalujete."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Tlačítko Napájení"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Tlačítko Napájení ukončuje hovor"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Stisknutí tlačítka Napájení během hovoru ukončí hovor místo vypnutí obrazovky"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Využití baterie"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Co využívá baterii"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Využití baterie od odpojení"</string> @@ -842,7 +905,7 @@ <string name="battery_desc_display" msgid="5432795282958076557">"Využití baterie displejem a podsvícením"</string> <string name="battery_sugg_display" msgid="3370202402045141760">"Snižte jas displeje nebo interval vypnutí obrazovky"</string> <string name="battery_desc_wifi" msgid="1702486494565080431">"Využití baterie sítí WiFi"</string> - <string name="battery_sugg_wifi" msgid="7542345142282261691">"Pokud síť WiFi nepoužíváte nebo na daném místě není k dispozici, vypněte ji."</string> + <string name="battery_sugg_wifi" msgid="7542345142282261691">"Pokud síť WiFi nepoužíváte nebo na daném místě není k dispozici, vypněte přijímač WiFi."</string> <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Využití baterie technologií Bluetooth"</string> <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Vypněte technologii Bluetooth, když ji nepoužíváte."</string> <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Zkuste se připojit k jinému zařízení bluetooth"</string> @@ -851,17 +914,27 @@ <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Nepoužíváte-li systém GPS, vypněte jej."</string> <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Tato aplikace může nabízet nastavení pro snížení využití baterie"</string> <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> od odpojení"</string> - <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Od posledního odpojení (<xliff:g id="UNPLUGGED">%1$s</xliff:g>)"</string> + <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Při posledním odpojení pro <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> <string name="menu_stats_total" msgid="8973377864854807854">"Využití baterie celkem"</string> <string name="menu_stats_refresh" msgid="1676215433344981075">"Obnovit"</string> <string name="process_kernel_label" msgid="3916858646836739323">"OS Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string> - <string name="tts_settings" msgid="3348626948015962987">"Převod textu na řeč"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Nastavit možnosti syntézy řeči"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Hlasový vstup a výstup"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Nastavení hlasového vstupu a výstupu"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Hlasové vyhledávání"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Klávesnice Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Hlasový vstup"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Hlasový výstup"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Rozpoznávání hlasu"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Nastavení rozpoznávání hlasu"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Nastavení pro poskytovatele <xliff:g id="RECOGNIZER_NAME">%s</xliff:g>"</string> + <string name="tts_settings" msgid="8186971894801348327">"Nastavení převodu textu na řeč"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Nastavení převodu textu na řeč"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Vždy používat moje nastavení"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Výchozí nastavení níže přepíše nastavení jednotlivých aplikací"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Výchozí nastavení"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Výchozí modul"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Nastavuje modul pro syntézu řeči použitý pro mluvený text."</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Rychlost řeči"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Rychlost mluveného textu"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Výška"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Hlas pro syntézu řeči je již řádně nainstalován."</string> <string name="tts_demo" msgid="405357591189935876">"Toto je příklad syntézy řeči."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Nastavení se změnilo. Toto je příklad současného znění."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Vybraný modul pro syntézu řeči nelze spustit"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Konfigurovat"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Vyberte jiný modul"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Modul pro syntézu řeči může shromažďovat veškerý mluvený text, včetně osobních dat jako jsou hesla nebo čísla kreditních karet. Je založen na modulu <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Chcete modul pro syntézu řeči aktivovat?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Moduly"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Nastavení modulu <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"Položka <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> je aktivována"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"Možnost <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> je deaktivována"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Jazyky a hlasy"</string> + <string name="pico_installed" msgid="2452546687858267414">"Nainstalováno"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Není nainstalováno"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Žena"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Muž"</string> <string name="gadget_title" msgid="7455548605888590466">"Ovládací prvek napájení"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Probíhá aktualizace nastavení Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Probíhá aktualizace nastavení Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Program na instalaci pověření"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Nastavení sítě VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Připojit k síti <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Uživatelské jméno:"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Nastavit chování při tísňovém volání"</string> <string name="privacy_settings" msgid="9206631214140954954">"Ochrana osobních údajů"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Nastavení ochrany osobních údajů"</string> - <string name="location_section_title" msgid="6072558684044939786">"Poloha"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Nastavení"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Osobní údaje"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Zálohovat moje nastavení"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Zálohování nastavení"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Opravdu chcete zastavit zálohování svých nastavení a vymazat všechny kopie na serverech Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Automatické obnovení"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Záloha"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Opravdu chcete zrušit zálohování nastavení a dat aplikací a vymazat všechny kopie těchto dat na serverech Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Nastavení správce zařízení"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Správce zařízení"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Deaktivovat"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Správci zařízení"</string> + <string name="no_device_admins" msgid="702695100241728775">"Není k dispozici žádný správce zařízení"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Aktivovat správce zařízení?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Aktivovat"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Správce zařízení"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Aktivací tohoto správce umožníte aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> provádět následující operace:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Správce je aktivní a umožňuje aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> provádět následující operace:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Bez názvu"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Obecné"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Příchozí hovory"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Oznámení"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Zpětná vazba"</string> </resources> diff --git a/res/values-da-nokeys/strings.xml b/res/values-da-nokeys/strings.xml index 526d11f..f65be78 100644 --- a/res/values-da-nokeys/strings.xml +++ b/res/values-da-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Administ. programmer"</string> diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml index 515bb39..567e194 100644 --- a/res/values-da/arrays.xml +++ b/res/values-da/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiensk"</item> <item msgid="5811378076054402537">"Spansk"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automatisk"</item> - <item msgid="5434666299123318296">"Ingen"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Ingen"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automatisk"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP-heksadecimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Scanner ..."</item> + <item msgid="8513729475867537913">"Opretter forbindelse ..."</item> + <item msgid="515055375277271756">"Godkender ..."</item> + <item msgid="1943354004029184381">"Henter IP-adresse …"</item> + <item msgid="4221763391123233270">"Tilsluttet"</item> + <item msgid="624838831631122137">"Midlertidigt standset"</item> + <item msgid="7979680559596111948">"Afbryder ..."</item> + <item msgid="1634960474403853625">"Afbrudt"</item> + <item msgid="746097431216080650">"Mislykkedes"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Scanner ..."</item> + <item msgid="355508996603873860">"Opretter forbindelse til <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item> + <item msgid="554971459996405634">"Godkender med <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item> + <item msgid="7928343808033020343">"Henter IP-adresse fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item> + <item msgid="8937994881315223448">"Forbundet til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Midlertidigt standset"</item> + <item msgid="7698638434317271902">"Afbryder fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</item> + <item msgid="197508606402264311">"Afbrudt"</item> + <item msgid="8578370891960825148">"Mislykkedes"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Åbent"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Dårlig"</item> + <item msgid="5615082285463430971">"Rimelig"</item> + <item msgid="3565079809875324621">"God"</item> + <item msgid="5702329417707689835">"Fremragende"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Når skærmen slukker"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP eller CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Intern lagring på enheden"</item> + <item msgid="3738430123799803530">"SD-kort, der kan fjernes"</item> + <item msgid="4498124044785815005">"Lad systemet vælge"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Altid"</item> + <item msgid="6293147072807231256">"Aldrig"</item> + <item msgid="1276641209451816572">"Kun, når lydløs er slået til"</item> + <item msgid="8418930333779132418">"Kun, når lydløs er slået fra"</item> + </string-array> </resources> diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index c8d12db..4b2105a 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,24 +12,19 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Ja"</string> <string name="no" msgid="6731231425810196216">"Nej"</string> - <string name="device_info_default" msgid="7847265875578739287">"Ukendt"</string> + <string name="device_info_default" msgid="7847265875578739287">"Ukendte"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Slå radio til"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Slå radio fra"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Aktiver QXDM SD-log"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Deaktiver QXDM SD-log"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Vis adressebog på SIM-kortet"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vis faste opkaldsnumre"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Vis tjenesten faste opkaldsnumre"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Hent PDP-liste"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Aktiver dataforbindelse"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Deaktiver dataforbindelse"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Aktiver data ved start"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Deaktiver data ved start"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"I drift"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Ude af drift"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Kun nødopkald"</string> @@ -41,7 +36,7 @@ <string name="radioInfo_phone_offhook" msgid="4174402846862780998">"Opkald i gang"</string> <string name="radioInfo_data_disconnected" msgid="1959735267890719418">"Afbrudt"</string> <string name="radioInfo_data_connecting" msgid="8404571440697917823">"Forbinder"</string> - <string name="radioInfo_data_connected" msgid="7074301157399238697">"Forbundet"</string> + <string name="radioInfo_data_connected" msgid="7074301157399238697">"Tilsluttet"</string> <string name="radioInfo_data_suspended" msgid="5315325487890334196">"Midlertidigt standset"</string> <string name="radioInfo_unknown" msgid="737385314432468266">"ukendt"</string> <string name="radioInfo_display_packets" msgid="8654359809877290639">"pk."</string> @@ -53,7 +48,7 @@ <string name="sdcard_unmount" msgid="3364184561355611897">"Demonter SD-kort"</string> <string name="sdcard_format" msgid="362497552060004057">"Formater SD-kort"</string> <string name="small_font" msgid="2295331917424072635">"Lille"</string> - <string name="medium_font" msgid="2068475425515133701">"Medium"</string> + <string name="medium_font" msgid="2068475425515133701">"Normal"</string> <string name="large_font" msgid="599055175160971446">"Stor"</string> <string name="font_size_save" msgid="3450855718056759095">"OK"</string> <string name="sdcard_setting" msgid="5922637503871474866">"SD-kort"</string> @@ -71,7 +66,7 @@ <string name="battery_info_awake_battery" msgid="2557725975486185849">"Opvågningstid på batteri:"</string> <string name="battery_info_awake_plugged" msgid="176716874713478188">"Opvågningstid under opladning:"</string> <string name="battery_info_screen_on" msgid="376277447175613889">"Tid for skærm TIL:"</string> - <string name="battery_info_status_unknown" msgid="196130600938058547">"Ukendt"</string> + <string name="battery_info_status_unknown" msgid="196130600938058547">"Ukendte"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Oplader"</string> <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(AC)"</string> <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string> @@ -83,7 +78,7 @@ <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string> <string name="battery_info_power_ac_usb" msgid="6777734146838328688">"AC+USB"</string> <string name="battery_info_power_unknown" msgid="7344115502868899881">"Ukendte"</string> - <string name="battery_info_health_unknown" msgid="5664295556921944255">"Ukendt"</string> + <string name="battery_info_health_unknown" msgid="5664295556921944255">"Ukendte"</string> <string name="battery_info_health_good" msgid="8070356565806711806">"God"</string> <string name="battery_info_health_overheat" msgid="8442959549291368806">"Overophed"</string> <string name="battery_info_health_dead" msgid="1725917445762829059">"Dødt"</string> @@ -93,17 +88,18 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Søgbar"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Søgbar i <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> sekunder ..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Gør enheden søgbar"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Lås stemmeopkald"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Bloker brug af Bluetooth-opkald, når skærmen er låst"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth-enheder"</string> - <string name="bluetooth_device_name" msgid="8415828355207423800">"Enhedsnavn"</string> + <string name="bluetooth_device_name" msgid="8415828355207423800">"Enhedens navn"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Der er ikke angivet noget navn. Kontonavn anvendes"</string> - <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"Scan efter enheder"</string> + <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"Søg efter enheder"</string> <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> afbrydes."</string> - <string name="bluetooth_connected" msgid="6038755206916626419">"Forbundet"</string> + <string name="bluetooth_connected" msgid="6038755206916626419">"Tilsluttet"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Afbrudt"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Afbryder ..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Opretter forbindelse ..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Par med denne enhed"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Parrer ..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Parret, men ikke forbundet"</string> @@ -115,8 +111,8 @@ <string name="device_picker" msgid="8721012448931226323">"Vælger af Bluetooth-enheder"</string> <string name="bluetooth_permission_request" msgid="1523129741266262748">"Anmodning om Bluetooth-tilladelse"</string> <string name="bluetooth_ask_enablement" msgid="2342558978033892004">"Et program på din telefon anmoder om at aktivere Bluetooth. Ønsker du at gøre dette?"</string> - <string name="bluetooth_ask_discovery" msgid="669870705606180872">"Et program på din telefon kræver tilladelse til, at din telefon er søgbar for andre Bluetooth-enheder i <xliff:g id="TIMEOUT">%1$d</xliff:g> sekunder. Ønsker du at gøre dette?"</string> - <string name="bluetooth_ask_enablement_and_discovery" msgid="7220210326619399542">"Et program på din telefon anmoder om tilladelse til at aktivere Bluetooth, så din telefon er søgbar for andre enheder i <xliff:g id="TIMEOUT">%1$d</xliff:g> sekunder. Ønsker du at gøre dette?"</string> + <string name="bluetooth_ask_discovery" msgid="669870705606180872">"Et program på din telefon kræver tilladelse til, at din telefon er synlig for andre Bluetooth-enheder i <xliff:g id="TIMEOUT">%1$d</xliff:g> sekunder. Ønsker du at gøre dette?"</string> + <string name="bluetooth_ask_enablement_and_discovery" msgid="7220210326619399542">"Et program på din telefon anmoder om tilladelse til at aktivere Bluetooth, så din telefon er synlig for andre enheder i <xliff:g id="TIMEOUT">%1$d</xliff:g> sekunder. Ønsker du at gøre dette?"</string> <string name="bluetooth_turning_on" msgid="3107102168379705771">"Aktiverer Bluetooth …"</string> <string name="date_and_time" msgid="4114084177056654663">"Indstillinger for dato og tid"</string> <string name="date_time_12_hour_sample" msgid="3259617262618020574">"1:00 pm"</string> @@ -170,15 +166,15 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping-IpAdr.:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping-værtsnavn(www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP-klienttest:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Skift nummer"</string> <string name="ping_test_label" msgid="7255376471490860631">"Kør ping-test"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Opdater"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Opdater"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Skift DNS-kontrol"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM-specifikke oplysninger/indstillinger"</string> <string name="band_mode_title" msgid="954174198903776205">"Angiv GSM/UMTS-bånd"</string> <string name="band_mode_loading" msgid="548764766363847336">"Indlæser båndliste ..."</string> - <string name="band_mode_set" msgid="5730560180249458484">"Indstil"</string> + <string name="band_mode_set" msgid="5730560180249458484">"Angiv"</string> <string name="band_mode_failed" msgid="1495968863884716379">"Mislykkedes"</string> <string name="band_mode_succeeded" msgid="2701016190055887575">"Lykkedes"</string> <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Ændringerne træder i kraft, når USB-kablet tilsluttes igen"</string> @@ -210,9 +206,9 @@ <string name="airplane_mode_summary" msgid="3154817401368780988">"Deaktiver alle trådløse forbindelser"</string> <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Deaktiverer trådløse forbindelser ..."</string> <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Aktiverer trådløse forbindelser ..."</string> - <string name="radio_controls_title" msgid="5868688473587168882">"Trådløst og netværk"</string> + <string name="radio_controls_title" msgid="5868688473587168882">"Trådløs og netværk"</string> <string name="wireless_networks_settings_title" msgid="149274247949769551">"Indstillinger for trådløs og netværk"</string> - <string name="radio_controls_summary" msgid="2998818677094465517">"Administrer Wi-Fi, Bluetooth, flytilstand, mobile netværk og VPN\'er"</string> + <string name="radio_controls_summary" msgid="2998818677094465517">"Administrer Wi-Fi, Bluetooth, flytilstand, mobilnetværk og VPN\'er"</string> <string name="roaming" msgid="3596055926335478572">"Dataroaming"</string> <string name="roaming_enable" msgid="3737380951525303961">"Opret forbindelse til datatjenester ved roaming"</string> <string name="roaming_disable" msgid="1295279574370898378">"Opret forbindelse til datatjenester ved roaming"</string> @@ -239,31 +235,68 @@ <string name="security_settings_summary" msgid="967393342537986570">"Angiv Min placering, oplåsning af skærmen, låsning af SIM-kort og oplysningslagring"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Angiv Min placering, oplåsning af skærmen, oplysningslagring"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Adgangskoder"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Sikkerhed med skærmlås"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Konfigurer skærmlås"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Lås skærmen med mønster, PIN-kode eller adgangskode"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Skift skærmlås"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Skift eller deaktiver mønster, PIN-kode eller adgangskode."</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ingen"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Deaktiver sikkerhed med skærmlås"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Mønster"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Du skal tegne et mønster for at låse skærmen op"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN-kode"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Angiv en PIN-kode for at låse skærmen op"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Adgangskode"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Angiv en adgangskode for at låse skærmen op"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Deaktiveret af fjernadministrator"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Slå skærmlås fra"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Fjern mønster til at låse op"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Fjern pinkode til at låse op"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Fjern adgangskode til at låse op"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Skift mønster til at låse op"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Skift pinkode til at låse op"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Skift adgangskode til at låse op"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Adgangskoden skal være på mindst %d tegn"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Pinkoden skal være på mindst %d tegn"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Tryk på Fortsæt, når du er færdig"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Fortsæt"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Pinkoden kan ikke være længere end %d cifre"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-koden kan ikke være længere end %d cifre"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Pinkoden må kun indeholde cifrene 0-9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Adgangskoden indeholder et ulovligt tegn"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Adgangskoden skal indeholde mindst ét bogstav."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Adgangskoden skal indeholde mindst ét tal"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Adgangskoden skal indeholde mindst ét symbol."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuller"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Enhedsadministration"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Vælg enhedsadministratorer"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Tilføj eller fjern enhedsadministratorer"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Slå Bluetooth til"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Indstillinger for Bluetooth"</string> <string name="bluetooth_settings_title" msgid="2824020086246268296">"Indstillinger for Bluetooth"</string> - <string name="bluetooth_settings_summary" msgid="2091062709530570462">"Administrer forbindelser, angiv enhedsnavn og søgbarhed"</string> + <string name="bluetooth_settings_summary" msgid="2091062709530570462">"Administrer forbindelser, angiv enhedens navn og søgbarhed"</string> <string name="bluetooth_pairing_request" msgid="6385750334766370310">"Anmodning om Bluetooth-parring"</string> <string name="bluetooth_device_info" msgid="6644515376523965073">"Oplysninger om Bluetooth-enhed"</string> - <string name="bluetooth_enter_pin_msg" msgid="856962526754150334">\n"Indtast PIN-kode for at parre med \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". (Prøv 0000 eller 1234)."</string> - <string name="bluetooth_enter_passkey_msg" msgid="8121515818772179228">\n"Indtast adgangsnøgle for at parre med \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string> + <string name="bluetooth_enter_pin_msg" msgid="856962526754150334">\n"Indtast PIN-kode for at forbinde med \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". (Prøv 0000 eller 1234)."</string> + <string name="bluetooth_enter_passkey_msg" msgid="8121515818772179228">\n"Indtast adgangsnøgle for at forbinde med \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string> <string name="bluetooth_confirm_passkey_msg" msgid="1205362283945104263">"For at parre med \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" skal du bekræfte, at den viser adgangsnøglen: <xliff:g id="PASSKEY">%2$s</xliff:g>."</string> - <string name="bluetooth_incoming_pairing_msg" msgid="1076613564387784476">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"\n"ønsker at parre."</string> - <string name="bluetooth_display_passkey_msg" msgid="3048496029389441579">"Indtast <xliff:g id="PASSKEY">%2$s</xliff:g> på \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" for at parre."</string> + <string name="bluetooth_incoming_pairing_msg" msgid="1076613564387784476">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"\n"ønsker at forbinde."</string> + <string name="bluetooth_display_passkey_msg" msgid="3048496029389441579">"Indtast <xliff:g id="PASSKEY">%2$s</xliff:g> på \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" for at forbinde."</string> <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Par"</string> <string name="bluetooth_pairing_decline" msgid="930951069988011471">"Undlad at parre"</string> <string name="bluetooth_remote_device" msgid="2406662802908395389">"Bluetooth-enhed"</string> <string name="bluetooth_error_title" msgid="538287072376677166">"Bemærk"</string> <string name="bluetooth_pairing_error_message" msgid="2852744547246910349">"Der var problemer med at parre med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string> - <string name="bluetooth_pairing_pin_error_message" msgid="6065697229258906937">"Der var problemer med at parre med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, fordi PIN-koden eller adgangsnøglen er forkert."</string> + <string name="bluetooth_pairing_pin_error_message" msgid="6065697229258906937">"Der var problemer med at forbinde med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, fordi PIN-koden eller adgangsnøglen er forkert."</string> <string name="bluetooth_pairing_device_down_error_message" msgid="6688215193824686741">"Der kan ikke etableres kommunikation med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> - <string name="bluetooth_pairing_rejected_error_message" msgid="1648157108520832454">"Parringen blev afvist af <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> + <string name="bluetooth_pairing_rejected_error_message" msgid="1648157108520832454">"Parring afvist af <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="bluetooth_connecting_error_message" msgid="1779660510084746802">"Der var problemer med at oprette forbindelse til <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> - <string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"Scan efter enheder"</string> + <string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"Søg efter enheder"</string> <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Forbind"</string> <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"Afbryd"</string> - <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"Par, og forbind"</string> + <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"Par og forbind med denne enhed"</string> <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"Ophæv parring"</string> <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"Afbryd, og ophæv parring"</string> <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Indstillinger"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som højttalertelefon"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Til musik og medier"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Husk indstillinger"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Slå Wi-Fi til"</string> - <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi-indstillinger"</string> + <string name="wifi_settings" msgid="4746946030627213196">"Indstillinger for Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Indstillinger for Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Konfiguration og administration af trådløse adgangspunkter"</string> - <string name="forget_network" msgid="4718015029995727138">"Glem"</string> - <string name="wifi_status" msgid="4824568012414605414">"Status"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Hastighed"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Fremragende"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"God"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Rimeligt"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Dårlig"</string> - <string name="security" msgid="1040691896987225267">"Sikkerhed"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Åbn"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Ukendt"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"åbent netværk"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"sikret med WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"sikret med WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"sikret med 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"IP-adresse"</string> - <string name="signal" msgid="1947969631626413228">"Signalstyrke"</string> - <string name="wifi_starting" msgid="6710266609710860129">"Tænder ..."</string> - <string name="wifi_stopping" msgid="5952909472548218348">"Slukker ..."</string> + <string name="wifi_starting" msgid="6710266609710860129">"Aktiverer..."</string> + <string name="wifi_stopping" msgid="5952909472548218348">"Deaktiverer..."</string> <string name="wifi_error" msgid="3207971103917128179">"Fejl"</string> - <string name="error_starting" msgid="4055163089721254078">"Wi-Fi kunne ikke startes"</string> - <string name="error_stopping" msgid="7855531609645531489">"Wi-Fi kan ikke stoppes"</string> - <string name="error_scanning" msgid="4644050284132264368">"Der kunne ikke søges efter netværk"</string> - <string name="error_connecting" msgid="1981882310590509609">"Der kunne ikke oprettes forbindelse til netværket"</string> - <string name="error_saving" msgid="8294279443961615302">"Netværket kunne ikke gemmes"</string> - <string name="connect" msgid="3079076576295839400">"Forbind"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Opret forbindelse til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP-metode"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Fase 2-godkendelse"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identitet"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Anonym identitet"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Klientcertifikat"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA-certifikat"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Adgangskode til trådløs"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"tast til \"WEP-heksadecimal\" (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Vis adgangskode."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Scan"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Ikke inden for rækkevidde"</string> - <string name="summary_remembered" msgid="6079941090549401742">"husket"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Forbindelsen mislykkedes. Tryk for at prøve igen"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi-netværk"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Netværk-SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"Sikkerhed"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Gem"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(uændret)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Tilføj Wi-Fi-netværk"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"I flytilstand"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Der kunne ikke søges efter netværk"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Netværksmeddelelse"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Fortæl mig, når der er et tilgængeligt åbent netværk"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Den indtastede netværksadgangskode er forkert. Prøv igen."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Der opstod et problem ved oprettelse af forbindelse til netværket. Prøv igen."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Tilføj Wi-Fi-netværk"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi-netværk"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Scan"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avanceret"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-indstillinger"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Gem"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuller"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Indtast en gyldig IP-adresse."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Brug statisk IP"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Opret forbindelse til netværk"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Glem netværk"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Rediger netværk"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Netværk-SSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"Sikkerhed"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Signalstyrke"</string> + <string name="wifi_status" msgid="4824568012414605414">"Status"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Linkhastighed"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP-adresse"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Netmask"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Opret forbindelse til netværk"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Glem netværk"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Skift adgangskode"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP-metode"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Fase 2-godkendelse"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA-certifikat"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Brugercertifikat"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identitet"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonym identitet"</string> + <string name="wifi_password" msgid="5948219759936151048">"Adgangskode"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Vis adgangskode."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(uændret)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(ikke specificeret)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Husket"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Deaktiveret"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Ikke inden for rækkevidde"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Sikret med <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, sikret med <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Forbind"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Glem"</string> + <string name="wifi_save" msgid="3331121567988522826">"Gem"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Annuller"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avanceret"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Regulatorisk domæne"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Angiv det antal kanaler, der skal bruges"</string> @@ -371,58 +376,63 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Angiv, hvornår der skal skiftes fra Wi-Fi til mobile data"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Der opstod et problem med indstillingen af dvalepolitikken."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-adresse"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Scanner ..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Opretter forbindelse til <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Autentificerer med <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Henter IP-adresse fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Opret forbindelse til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Afbryder fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Afbrudt"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Mislykkedes"</string> - <string name="status_scanning" msgid="8402178267165567371">"Scanner ..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Forbinder ..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Autentificerer ..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Henter adresse ..."</string> - <string name="status_connected" msgid="8175694029067954271">"Forbundet"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Afbryder ..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Afbrudt"</string> - <string name="status_failed" msgid="610462050405904601">"Mislykkedes"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Lyd og visning"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Indstillinger for lyd og visning"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-indstillinger"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Gem"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuller"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Indtast en gyldig IP-adresse."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Brug statisk IP"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Netmask"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Bærbart Wi-Fi-hotspot"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Det bærbare hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> er aktivt"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fejl ved bærbart Wi-Fi-hotspot"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Indstillinger for bærbart Wi-Fi-hotspot"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Konfiguration og administration af bærbart Wi-Fi-hotspot"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Indstillinger for bærbart Wi-Fi-hotspot"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurer Wi-Fi-hotspot"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> bærbart Wi-Fi-hotspot"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Lyd"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Visning"</string> <string name="sound_settings" msgid="5007659014828162881">"Indstillinger for lyd"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Angiv ringetoner, meddelelser, skærmlysstyrke"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Lydløs"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Alle lyde undtagen medier og alarmer er slået fra"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Fjern alle lyde undtagen medier og alarmer"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Al lyd undtagen medier er slået fra"</string> <string name="ringtone_title" msgid="5379026328015343686">"Ringetone for telefon"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Angiv din standardringetone for indgående opkald"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Lydstyrke"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Lydstyrke for opkald"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Angiv lydstyrke for indgående opkald og meddelelser"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibration"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Vibration ved indgående opkald"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrer ved lydløs"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Tillad vibrering ved lydløs"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibration"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibration ved opkald og underretninger"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Ringetone for meddelelser"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Angiv din standardringetone for meddelelser"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Blinkende underretningslys"</string> - <string name="notification_pulse_summary" msgid="6899220780534617152">"Blinkende trackball-lys gentagne gange for nye meddelelser"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Lydstyrke for indgående opkald"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Meddelelseslydstyrke"</string> + <string name="notification_pulse_summary" msgid="6899220780534617152">"Gentagne lysblink i trackball ved nye meddelelser"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringetone"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Meddelelse"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Brug lydstyrke for indgående opkald til meddelelser"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Vælg ringetone for meddelelser"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Lydstyrke for medier"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Medier"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Angiv lydstyrke for musik og videoer"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarm"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Lydindstillinger til den fastgjorte dock"</string> - <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Hørbare touch-toner"</string> + <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Lyd ved skærmtryk"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Afspil toner, når nummerblokken bruges"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Afspil toner, når nummerblokken bruges"</string> <string name="sound_effects_enable_title" msgid="3197313718929122833">"Lyd ved valg"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Afspil lyd, når der foretages et valg på skærmen"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Afspil lyd, når der foretages et valg på skærmen"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Lyde ved skærmlås "</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Afspil lyde, når skærmen låses og låses op"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Afspil lyde, når skærmen låses og låses op"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Feedback ved berøring"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibration ved tryk på funktionstaster og ved visse interaktioner med brugergrænsefladen"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibration ved tryk på funktionstaster og nogle interaktioner"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Meddelelser om SD-kort"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Afspil lyd for meddelelser om SD-kort"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Afspil lyd for meddelelser om SD-kort"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Støjdæmpning"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Dæmp baggrundsstøj under tale og optagelse"</string> <string name="dock_settings" msgid="1820107306693002541">"Dockingstation"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Indstillinger for den dockingstation der er tilsluttet"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Dockingstationen blev ikke fundet"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Telefonen skal være sluttet til dockingstationen for at lyden kan konfigureres"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Lyd ved isætning i dockingstation"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Afspil lyd, når telefonen isættes og fjernes fra dockingstation"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Afspil ikke lyd, når telefonen isættes og fjernes fra dockingstation"</string> <string name="sync_settings" msgid="9186125469300013491">"Konti og synkronisering"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Tilføj eller fjern konti, og skift indstillinger for konto"</string> <string name="search_settings" msgid="1910951467596035063">"Søg"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animation"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Vis animationer, når der åbnes og lukkes for vinduer"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Vis animationer, når der åbnes og lukkes for vinduer"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Retning"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Roterskærm automatisk"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Skift automatisk retning, når telefonen drejes"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Skift automatisk retning, når telefonen drejes"</string> <string name="brightness" msgid="2354961343555249270">"Lysstyrke"</string> @@ -466,15 +479,15 @@ <string name="sim_change_pin" msgid="7328607264898359112">"PIN-kode til SIM-kort"</string> <string name="sim_bad_pin" msgid="2746201276896134075">"Forkert PIN-kode!"</string> <string name="sim_pins_dont_match" msgid="4664611595579163214">"PIN-koderne stemmer ikke overens."</string> - <string name="sim_change_failed" msgid="4823538458798362222">"PIN-koden kunne ikke ændres."\n"PIN-koden er muligvis forkert."</string> + <string name="sim_change_failed" msgid="4823538458798362222">"PIN-koden kunne ikke ændres."\n"Muligvis forkert PIN-kode."</string> <string name="sim_change_succeeded" msgid="8556135413096489627">"PIN-koden til SIM-kortet er ændret"</string> - <string name="sim_lock_failed" msgid="6676748290838006404">"SIM-kortlåsens tilstand kunne ikke ændres."\n"PIN-koden er muligvis forkert."</string> + <string name="sim_lock_failed" msgid="6676748290838006404">"SIM-kortlåsens tilstand kunne ikke ændres."\n"Det skyldes muligvis en forkert PIN-kode."</string> <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string> <string name="sim_enter_cancel" msgid="6240422158517208036">"Annuller"</string> <string name="device_info_settings" msgid="475872867864762157">"Telefonstatus"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemopdateringer"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Søg efter systemopdateringer"</string> - <string name="firmware_version" msgid="6284872163051667788">"Firmwareversion"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android-version"</string> <string name="model_number" msgid="3765737700545384794">"Modelnummer"</string> <string name="baseband_version" msgid="1848990160763524801">"Basebandversion"</string> <string name="kernel_version" msgid="9192574954196167602">"Kernesystem"</string> @@ -490,9 +503,9 @@ <string name="status_min_number" msgid="3519504522179420597">"MIN"</string> <string name="status_prl_version" msgid="8499039751817386529">"PRL-version"</string> <string name="status_meid_number" msgid="1751442889111731088">"MEID"</string> - <string name="status_network_type" msgid="3279383550222116235">"Mobil netværkstype"</string> - <string name="status_data_state" msgid="5503181397066522950">"Mobil netværkstilstand"</string> - <string name="status_service_state" msgid="2323931627519429503">"Servicetilstand"</string> + <string name="status_network_type" msgid="3279383550222116235">"Mobilnetværk"</string> + <string name="status_data_state" msgid="5503181397066522950">"Tilstand for mobilnetværk"</string> + <string name="status_service_state" msgid="2323931627519429503">"Tjenestetilstand"</string> <string name="status_signal_strength" msgid="3732655254188304547">"Signalstyrke"</string> <string name="status_roaming" msgid="2638800467430913403">"Roaming"</string> <string name="status_operator" msgid="2274875196954742087">"Netværk"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Plads i alt"</string> <string name="sd_eject" msgid="6915293408836853020">"Demonter SD-kort"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Demonter SD-kortet til sikker fjernelse"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Insæt et SD-kort, der skal monteres"</string> + <string name="sd_mount" msgid="5940523765187704135">"Montér SD-kort"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Montér SD-kortet"</string> <string name="sd_format" msgid="5448738337382712203">"Formater SD-kort"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formater (slet) SD-kortet"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Utilgængelig"</string> <string name="read_only" msgid="6702420168629076340">" (Skrivebeskyttet)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Demonter SD-kort"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Hvis du demonterer SD-kortet, vil nogle af de programmer, som du bruger, stoppe, og de kan være utilgængelige, indtil du monterer SD-kortet igen."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Demonteringen af SD-kortet mislykkedes"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD-kortet kan ikke demonteres. Prøv igen senere. "</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD-kortet demonteres. Se status i meddelelsesområdet."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Demontering"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Demontering i gang"</string> <string name="battery_status_title" msgid="9159414319574976203">"Batteristatus"</string> <string name="battery_level_title" msgid="2965679202786873272">"Batteriniveau"</string> <string name="apn_settings" msgid="3743170484827528406">"APN\'er"</string> @@ -546,18 +569,18 @@ <string name="restore_default_apn" msgid="2724583218635739913">"Gendanner APN-standardindstillinger"</string> <string name="menu_restore" msgid="8260067415075573273">"Nulstil til standard"</string> <string name="restore_default_apn_completed" msgid="3990449939234957281">"Nulstillingen af APN-standardindstillinger er afsluttet"</string> - <string name="master_clear_title" msgid="5907939616087039756">"Nulstilling til fabriksdata"</string> + <string name="master_clear_title" msgid="5907939616087039756">"Gendannelse af fabriksdata"</string> <string name="master_clear_summary" msgid="4986154238001088492">"Sletter alle data på telefonen"</string> - <string name="master_clear_desc" msgid="7823268823499739178">"Dette sletter alle data fra din telefon, inklusive :"\n<li>"Din Google-konto"</li>\n<li>"System- og programdata samt indstillinger"</li>\n<li>"Downloadede programmer"</li>\n"Det sletter ikke:"\n<li>"Nuværende systemsoftware og programbundter"</li>\n<li>"Filer på SD-kortet, som f.eks. musik og fotos"</li></string> + <string name="master_clear_desc" msgid="7823268823499739178">"Dette sletter alle data fra din telefon, inklusive :"\n<li>"Din Google-konto"</li>\n<li>"System- og programdata samt indstillinger"</li>\n<li>"Downloadede programmer"</li>\n"Det sletter ikke:"\n<li>"Nuværende systemsoftware og programbundter"</li>\n<li>"SD-kortfiler, som f.eks. musik og fotos"</li></string> <string name="master_clear_button_text" msgid="7550632653343157971">"Nulstil telefon"</string> - <string name="master_clear_final_desc" msgid="6917971132484622696">"Slet alle dine personlige oplysninger og downloadede programmer? Denne handling kan ikke annulleres?"</string> + <string name="master_clear_final_desc" msgid="6917971132484622696">"Slet alle dine personlige oplysninger og downloadede programmer? Denne handlíng kan ikke fortrydes."</string> <string name="master_clear_final_button_text" msgid="5390908019019242910">"Slet alt"</string> <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Tegn dit oplåsningsmønster"</string> <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Du skal tegne dit oplåsningsmønster for at bekræfte, at telefonen nulstilles."</string> <string name="master_clear_failed" msgid="8655202125010189406">"Der blev ikke foretaget nogen nulstilling, fordi tjenesten Systemoprydning ikke er tilgængelig."</string> <string name="media_format_title" msgid="4671276096695789895">"Formater SD-kort."</string> <string name="media_format_summary" msgid="3805714639375830120">"Sletter alle data på SD-kortet"</string> - <string name="media_format_desc" msgid="1142563222357820834">"Dette sletter det SD-kort, der sidder i telefonen. Du mister ALLE data på kortet!"</string> + <string name="media_format_desc" msgid="1142563222357820834">"Denne handling rydder det SD-kort, der sidder i telefonen. Du mister ALLE data på kortet!"</string> <string name="media_format_button_text" msgid="370856400090190151">"Formater SD-kort"</string> <string name="media_format_final_desc" msgid="1776666694910717198">"Vil du formatere dit SD-kort og slette alle dine medier? Handlingen kan ikke annulleres."</string> <string name="media_format_final_button_text" msgid="4881713344315923175">"Slet alt"</string> @@ -565,23 +588,32 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du skal tegne dit oplåsningsmønster for at bekræfte et SD-kortformat."</string> <string name="call_settings_title" msgid="5188713413939232801">"Indstillinger for opkald"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Opsæt voicemail, viderestilling af opkald, ventende opkald, opkalds-id"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Bærbart hotspot"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering og bærbart hotspot"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Del din telefons mobildataforbindelse via USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Del din telefons mobilforbindelse som et bærbart Wi-Fi-hotspot"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Del din telefons mobildataforbindelse via USB eller som et bærbart Wi-Fi-hotspot"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-tethering"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB tilsluttet, kontroller for at bruge tethering"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Tethering anvendt"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Kan ikke anvende tethering, når USB-lager er i brug"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB ikke tilsluttet"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Fejl ved USB-tethering"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Hjælp"</string> <string name="network_settings_title" msgid="7967552516440151852">"Mobilnetværk"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Angiv indstillinger for roaming, netværk, APN\'er"</string> <string name="location_title" msgid="1029961368397484576">"Min placering"</string> <string name="location_network_based" msgid="8815705866861993344">"Brug trådløse netværk"</string> <string name="location_networks_disabled" msgid="2708968452901433980">"Se placering i programmer (som f.eks. Maps) ved hjælp af trådløse netværk"</string> - <string name="location_neighborhood_level" msgid="4656658097932515921">"Placering afgøres af Wi-Fi og/eller mobile netværk"</string> + <string name="location_neighborhood_level" msgid="4656658097932515921">"Placering afgøres af Wi-Fi og/eller mobilnetværk"</string> <string name="location_gps" msgid="6296125378829097831">"Brug GPS-satellitter"</string> <string name="location_street_level" msgid="6460740847018275745">"Præcis placering på gadeplan (slå fra for at spare på batteriet)"</string> <string name="location_gps_disabled" msgid="6632537158777308128">"Placering på gadeplan (mere batterikrævende, skal bruges i det fri)"</string> <string name="assisted_gps" msgid="4649317129586736885">"Brug assisteret GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Brug serveren til at assistere GPS (fjern markering for at mindske netværksforbrug)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Brug serveren til at assistere GPS (fjern markering for at forbedre GPS-ydelsen)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Brug Min placering"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Brug Min placering til Google-søgeresultater og andre Google-tjenester"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Tillad, at Google bruger placeringer til forbedring af søgeresultater og andre tjenester?"</string> - <string name="agree" msgid="6288718671527758326">"Accepterer"</string> - <string name="disagree" msgid="6221069272309799230">"Accepterer ikke"</string> <string name="about_settings" msgid="1743378368185371685">"Om telefonen"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Vis juridiske oplysninger, telefonstatus, softwareversion"</string> <string name="legal_information" msgid="5769301644270604095">"Juridiske oplysninger"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Sikkerhedsoplysninger"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Din telefon er ikke tilsluttet en datatjeneste. For at se disse oplysninger nu skal du gå til %s fra en hvilken som helst computer, der er forbundet til internettet."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Indlæser ..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Oplåsningsmønster"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Vælg din adgangskode"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Vælg din pinkode"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Bekræft din adgangskode"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Bekræft din pinkode"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Adgangskoderne matcher ikke"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Pinkoderne matcher ikke"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Adgangskoden er indstillet"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Pinkoden er blevet indstillet"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Mønsteret er blevet indstillet"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Lås skærm op"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Skift oplåsningsmønster"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Skift pinkode til at låse op"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Bekræft gemt mønster"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Beklager! Prøv igen:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Tegn et oplåsningsmønster"</string> @@ -625,17 +667,17 @@ <string name="lockpattern_too_many_failed_confirmation_attempts_footer" msgid="6759029360597122873">"Prøv igen om <xliff:g id="NUMBER">%d</xliff:g> sekunder."</string> <string name="skip_button_label" msgid="8680422740354436943">"Annuller"</string> <string name="next_button_label" msgid="8890792540116568321">"Næste"</string> - <string name="lock_title" msgid="4059246467204273930">"Sikring af din telefon"</string> - <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Beskyt din telefon mod uautoriseret brug ved at oprette et personligt mønster til at låse skærmen op. "\n<font height="17">\n</font><b>"1"</b>" På næste skærm kan du se et eksempel på, hvordan mønsteret tegnes. "\n<font height="17">\n</font><b>"2"</b>" Når du er klar, kan du tegne dit eget personlige mønster til at låse op. Eksperimenter med forskellige mønstre, men forbind mindst fire punkter. "\n<font height="17">\n</font><b>"3"</b>" Tegn dit mønster igen for at bekræfte. "\n<font height="17">\n</font><b>"Er du klar? Tryk på \"Næste\""</b>". "\n<font height="3">\n</font>"Du kan lade din telefon være ubeskyttet ved at trykke på \"Annuller\"."</font></string> + <string name="lock_title" msgid="4059246467204273930">"Beskyt din telefon"</string> + <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Beskyt din telefon mod uautoriseret brug ved at oprette et personligt mønster til at låse skærmen op. "\n<font height="17">\n</font><b>"1"</b>" På næste skærm kan du se et eksempel på, hvordan mønsteret tegnes. "\n<font height="17">\n</font><b>"2"</b>" Når du er klar, kan du tegne dit eget personlige mønster til at låse op. Eksperimenter med forskellige mønstre, men forbind mindst fire punkter. "\n<font height="17">\n</font><b>"3"</b>" Tegn dit mønster igen for at bekræfte. "\n<font height="17">\n</font><b>"Er du klar? Tryk på \"Næste\""</b>". "\n<font height="3">\n</font>"Du kan lade din telefon være ubeskyttet ved at trykke på \"Annuller\"."</font></string> <string name="lock_example_title" msgid="8052305554017485410">"Eksempel på et mønster"</string> <string name="lock_example_message" msgid="1838650097090632706">"Forbind mindst fire punkter."\n" "\n"Tryk på \"Næste\", når du er klar til at tegne dit eget mønster."</string> <string name="manageapplications_settings_title" msgid="5712405848153426706">"Administ. programmer"</string> <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Administrer og fjern installerede programmer"</string> <string name="applications_settings" msgid="3736173521008476946">"Programmer"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"Administ. programmer, konf. genveje til hurtig start"</string> - <string name="applications_settings_header" msgid="6018266337275422250">"Indstillinger for program"</string> + <string name="applications_settings_header" msgid="6018266337275422250">"Indstillinger for programmer"</string> <string name="install_applications" msgid="4872012136210802181">"Ukendte kilder"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Tillad installation af programmer, der ikke stammer fra Marked"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Tillad installation af programmer, der ikke stammer fra Marked"</string> <string name="install_all_warning" msgid="1923717607319933741">"Din telefon og dine personlige oplysninger er mere sårbare over for angreb af programmer fra ukendte kilder. Du accepterer, at du alene er ansvarlig for skader på din telefon eller tab af data, der kan skyldes brug af disse programmer."</string> <string name="application_info_label" msgid="1150486628158409543">"Programoplysninger"</string> <string name="storage_label" msgid="8700867073480107253">"Lagring"</string> @@ -653,9 +695,9 @@ <string name="clear_user_data_text" msgid="5597622864770098388">"Ryd data"</string> <string name="app_factory_reset" msgid="6635744722502563022">"Afinstaller opdateringer"</string> <string name="auto_launch_enable_text" msgid="2630656657744196691">"Du har valgt at starte dette program som standard for nogle handlinger."</string> - <string name="auto_launch_disable_text" msgid="7800385822185540166">"Der er ikke indstillet nogen standarder."</string> + <string name="auto_launch_disable_text" msgid="7800385822185540166">"Der er ikke angivet nogen standarder."</string> <string name="clear_activities" msgid="7408923511535174430">"Ryd standarder"</string> - <string name="unknown" msgid="1592123443519355854">"Ukendt"</string> + <string name="unknown" msgid="1592123443519355854">"Ukendte"</string> <string name="sort_order_alpha" msgid="8622029358896599842">"Sorter"</string> <string name="sort_order_size" msgid="7024513286636502362">"Sorter efter størrelse"</string> <string name="manage_space_text" msgid="8852711522447794676">"Administrer plads"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Alle"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Overført"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Kørende"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"På SD-kort"</string> <string name="loading" msgid="3200408047793887917">"Indlæser ..."</string> <string name="recompute_size" msgid="7722567982831691718">"Beregner størrelse igen ..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Slet"</string> @@ -677,13 +720,28 @@ <string name="app_factory_reset_dlg_text" msgid="438395129140568893">"Ønsker du at afinstallere alle opdateringer til dette Android-systemprogram?"</string> <string name="clear_failed_dlg_title" msgid="2387060805294783175">"Ryd data"</string> <string name="clear_failed_dlg_text" msgid="7943411157007320290">"Rydning af data til programmet mislykkedes"</string> - <string name="security_settings_desc" msgid="3116027624526915561">"Dette program kan få adgang til følgende på din telefon:"</string> + <string name="security_settings_desc" msgid="3116027624526915561">"Dette program har adgang til følgende på din telefon:"</string> <string name="computing_size" msgid="1599186977475211186">"Beregner ..."</string> <string name="invalid_size_value" msgid="1901940003700269523">"Pakkestørrelsen kunne ikke beregnes"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Du har ikke installeret nogen tredjepartsprogrammer."</string> <string name="version_text" msgid="9189073826278676425">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Flyt"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Flyt til telefon"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Flyt til SD-kort"</string> + <string name="moving" msgid="6431016143218876491">"Flytter"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Der er ikke nok lagerplads tilbage."</string> + <string name="does_not_exist" msgid="837163572898468245">"Programmet eksisterer ikke."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Programmet er kopisikret."</string> + <string name="invalid_location" msgid="4934491353200240499">"Den angivne sti til installation er ikke gyldig."</string> + <string name="system_package" msgid="1030561474413022831">"Systemopdateringerne kan ikke installeres på eksterne medier."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Tving til at standse"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Dette program bliver genstartet med det samme. Er du sikker på, at du vil tvangsstandse?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Flyt program"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Programmet kunne ikke flyttes. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Foretrukken installationsplacering"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Skift den foretrukne installationsplacering for nye programmer."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Kørende tjenester"</string> - <string name="runningservices_settings_summary" msgid="854608995821032748">"Vis og kontroller igangværende tjenester"</string> + <string name="runningservices_settings_summary" msgid="854608995821032748">"Vis og kontroller kørende tjenester"</string> <string name="service_restarting" msgid="2242747937372354306">"Genstarter"</string> <string name="no_running_services" msgid="6981216347270280598">"Der er ingen kørende tjenester"</string> <string name="confirm_stop_service" msgid="5700448757318301681">"Stop tjeneste?"</string> @@ -700,21 +758,21 @@ <string name="language_settings_summary" msgid="595647729475399987">"Angiv landestandard (sprog og område), tekstinput…"</string> <string name="language_category" msgid="3391756582724541530">"Indstilling af landestandard"</string> <string name="text_category" msgid="6342540511465136739">"Indstillinger for tekst"</string> - <string name="phone_language" msgid="2138384312336494991">"Vælg landestandard"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Vælg sprog og område"</string> + <string name="phone_language" msgid="1165758957501090679">"Vælg sprog"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Automatisk erstatning"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Ret ord, der er stavet forkert"</string> <string name="auto_caps" msgid="581633131114124121">"Skriv aut. med stort"</string> <string name="auto_caps_summary" msgid="6358102538315261466">"Første bogstav i en sætning skrives med stort"</string> - <string name="auto_punctuate" msgid="4595367243950425833">"Automatisk tegnsætning"</string> + <string name="auto_punctuate" msgid="4595367243950425833">"Foretag automatisk tegnsætning"</string> <string name="hardkeyboard_category" msgid="5957168411305769899">"Indstillinger for fysisk tastatur"</string> <string name="auto_punctuate_summary" msgid="4372126865670574837">"Tryk på mellemrumstasten to gange for at indsætte punktum"</string> <string name="show_password" msgid="2198798062604049206">"Synlig adgangskode"</string> <string name="show_password_summary" msgid="3806709974395178121">"Vis adgangskoden under indtastning"</string> - <string name="ime_security_warning" msgid="812267421486877917">"Denne indtastningsmetode vil muligvis være i stand til at indsamle al den tekst, du indtaster, herunder personlige oplysninger såsom adgangskoder og kreditkortnumre. Den kommer fra programmet <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Vil du bruge denne indtastningsmetode?"</string> + <string name="ime_security_warning" msgid="812267421486877917">"Denne indtastningsmetode vil muligvis være i stand til at indsamle al den tekst, du indtaster, herunder personlige data som adgangskoder og kreditkortnumre. Den kommer fra programmet <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Vil du bruge denne indtastningsmetode?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Brugerordbog"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Brugerordbog"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Tilføj og fjern ord fra brugerordbogen"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Tilføj"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Føj til ordbog"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Rediger ord"</string> @@ -738,8 +796,8 @@ <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Genveje"</string> <string name="input_methods_settings_title" msgid="6800066636850553887">"Tekstinput"</string> <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrer valgmuligheder for tekstinput"</string> - <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> indstillinger"</string> - <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Indstillinger for skærmtastaturet"</string> + <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>-indstillinger"</string> + <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Indstillinger for skærmens tastatur"</string> <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Enhedens tastatur"</string> <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Indstillinger for indbygget tastatur"</string> <string name="development_settings_title" msgid="6719732334835420989">"Udvikling"</string> @@ -796,8 +854,13 @@ <string name="toggle_accessibility_title" msgid="650839277066574497">"Tilgængelighed"</string> <string name="accessibility_services_category" msgid="8127851026323672607">"Tilgængelighedstjenester"</string> <string name="no_accessibility_services_summary" msgid="694578333333808159">"Der er ikke installeret nogen tilgængelighedstjenester."</string> - <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Denne tilgængelighedstjeneste vil muligvis være i stand til at indsamle al den tekst, du indtaster, inklusive personlige oplysninger og kreditkortoplysninger, men ikke adgangskoder. Den kan også registrere dine brugergrænsefladeinteraktioner. Den kommer fra programmet <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Vil du bruge denne tilgængelighedstjeneste?"</string> + <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Denne tilgængelighedstjeneste vil muligvis være i stand til at indsamle al den tekst, du indtaster, inklusive personlige data, kreditkortoplysninger undtagen adgangskoder. Den kan også registrere dine interaktioner med brugergrænsefladen. Den kommer fra programmet <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Vil du aktivere denne tilgængelighedstjeneste?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Deaktiver tilgængelighed?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Der blev ikke fundet programmer med relateret tilgængelighed"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Du har ingen programmer med relateret tilgængelighed installeret."\n\n"Du kan downloade en skærmlæser fra Android Marked."\n\n"Klik på OK for at installere skærmlæseren."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Afbryderknap"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Afbryderknappen afslutter opkaldet"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Hvis du trykker på Sluk under et opkald, afsluttes opkaldet i stedet for at slukke skærmen"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Batteriforbrug"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Hvad der har brugt batteriet"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Batteriforbrug siden afbrydelse"</string> @@ -831,7 +894,7 @@ <string name="usage_type_no_coverage" msgid="3797004252954385053">"Tid uden signal"</string> <string name="battery_action_stop" msgid="649958863744041872">"Tving til at standse"</string> <string name="battery_action_app_details" msgid="3275013531871113681">"Programoplysninger"</string> - <string name="battery_action_app_settings" msgid="350562653472577250">"Indstillinger for program"</string> + <string name="battery_action_app_settings" msgid="350562653472577250">"Indstillinger for programmer"</string> <string name="battery_action_display" msgid="5302763261448580102">"Indstillinger for visning"</string> <string name="battery_action_wifi" msgid="5452076674659927993">"Indstillinger for Wi-Fi"</string> <string name="battery_action_bluetooth" msgid="8374789049507723142">"Indstillinger for Bluetooth"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Opdater"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Medieserver"</string> - <string name="tts_settings" msgid="3348626948015962987">"Tekst-til-tale"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Angiv indstillinger for tekst-til-tale"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Stemmeinput og -output"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Indstillinger for stemmeinput og -output"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Stemmesøgning"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android-tastatur"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Stemmeinput"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Stemmeoutput"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Stemmegenkendelse"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Stemmegenkendelsesindstillinger"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Indstillinger for \'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\'"</string> + <string name="tts_settings" msgid="8186971894801348327">"Indstillinger for tekst-til-tale"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Indstillinger for tekst-til-tale"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Brug altid mine indstil."</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Nedenstående standardindstillinger tilsidesætter programindstillingerne"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardindstillinger"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Standardmaskine"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Indstiller den talesyntesemaskine, der skal bruges til talt tekst."</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Talehastighed"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Oplæsningshastighed for tekst"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tonehøjde"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"De påkrævede stemmer til talesyntese er allerede installeret korrekt"</string> <string name="tts_demo" msgid="405357591189935876">"Dette er et eksempel på talesyntese."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Dine indstillinger er blevet ændret. Dette er et eksempel på, hvordan de lyder."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Den valgte maskine kan ikke køre"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Konfigurer"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Vælg en anden maskine"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Denne tale kan muligvis indsamle al den tekst, der udtales, inklusive personlige data som adgangskoder og kreditkortnumre. Den kommer fra <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>-maskinen. Aktiver brug af denne talesyntesemaskine?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Maskiner"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>-indstillinger"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> er aktiveret"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> er deaktiveret"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Sprog og stemmer"</string> + <string name="pico_installed" msgid="2452546687858267414">"Installeret"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Ikke installeret"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kvinde"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Mand"</string> <string name="gadget_title" msgid="7455548605888590466">"Strømkontrol"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Opdaterer indstillinger for Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Opdaterer Bluetooth-indstilling"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Installationsprogram til oplysninger"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-indstillinger"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Opret forbindelse til <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Brugernavn:"</string> @@ -920,7 +1005,7 @@ <string name="vpns" msgid="3148141862835492816">"VPN\'er"</string> <string name="vpn_connecting" msgid="8039521381692090116">"Opretter forbindelse ..."</string> <string name="vpn_disconnecting" msgid="7748050200708257066">"Afbryder ..."</string> - <string name="vpn_connected" msgid="7641723116362845781">"Forbundet"</string> + <string name="vpn_connected" msgid="7641723116362845781">"Tilsluttet"</string> <string name="vpn_connect_hint" msgid="7442898962925875181">"Opret forbindelse til netværk"</string> <string name="vpn_name" msgid="1550918148476193076">"VPN-navn"</string> <string name="vpn_a_name" msgid="8445736942405283509">"et VPN-navn"</string> @@ -947,9 +1032,9 @@ <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"DNS-søgedomæner"</string> <string name="vpn_dns_search_list" msgid="4230034234026605360">"DNS-søgedomæner"</string> <string name="vpn_field_is_set" msgid="7137320847812992243">"<xliff:g id="VALUE">%s</xliff:g> er indstillet"</string> - <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> er ikke angivet"</string> - <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"<xliff:g id="VALUE">%s</xliff:g> er ikke angivet (valgfrit)"</string> - <string name="vpn_enable_field" msgid="3700967675854517191">"Aktiver<xliff:g id="OPTION">%s</xliff:g>"</string> + <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> ikke indstillet"</string> + <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"<xliff:g id="VALUE">%s</xliff:g> ikke indstillet (valgfrit)"</string> + <string name="vpn_enable_field" msgid="3700967675854517191">"Aktiver <xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_disable_field" msgid="6905658811179634005">"Deaktiver<xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_is_enabled" msgid="1266304230417098877">"<xliff:g id="OPTION">%s</xliff:g> er aktiveret"</string> <string name="vpn_is_disabled" msgid="2013622485867806167">"<xliff:g id="OPTION">%s</xliff:g> er deaktiveret"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Angiv adfærd ved nødopkald"</string> <string name="privacy_settings" msgid="9206631214140954954">"Fortrolighed"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Indstillinger for fortrolighed"</string> - <string name="location_section_title" msgid="6072558684044939786">"Placering"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Indstillinger"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Personlige oplysninger"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Sikkerhedskopier indst."</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Sikkerhedskopi af indstillinger"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Er du sikker på, at du vil holde op med at sikkerhedskopiere dine indstillinger og slette alle kopier på Googles servere?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Automatisk gendannelse"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sikkerhedskopi"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Er du sikker på, at du vil holde op med at sikkerhedskopiere dine indstillinger og programdata og slette alle kopier på Googles servere?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Enhedsadministrationsindstillinger"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Enhedsadministrator"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Deaktiver"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Enhedsadministratorer"</string> + <string name="no_device_admins" msgid="702695100241728775">"Ingen tilgængelige enhedsadministratorer"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Aktiver enhedsadministrator?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Aktiver"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Enhedsadministrator"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Hvis denne administrator aktiveres, får programmet <xliff:g id="APP_NAME">%1$s</xliff:g> tilladelse til at foretage følgende handlinger:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Denne administrator er aktiv og tillader programmet <xliff:g id="APP_NAME">%1$s</xliff:g> at foretage følgende handlinger:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Ikke-navngivet"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Generelt"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Indgående opkald"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Underretninger"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Feedback"</string> </resources> diff --git a/res/values-de-nokeys/strings.xml b/res/values-de-nokeys/strings.xml index d065753..faf23e2 100644 --- a/res/values-de-nokeys/strings.xml +++ b/res/values-de-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Anwendungen verwalten"</string> diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml index 15e24d4..b8e9fc0 100644 --- a/res/values-de/arrays.xml +++ b/res/values-de/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -21,7 +26,7 @@ <item msgid="5696915123093701218">"Afrika"</item> <item msgid="4439789052790868249">"Asien"</item> <item msgid="956915953069815961">"Australien"</item> - <item msgid="5345178126174698955">"Pacific"</item> + <item msgid="5345178126174698955">"Pazifik"</item> <item msgid="8392017019801393511">"Alle"</item> </string-array> <string-array name="animations_entries"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italienisch"</item> <item msgid="5811378076054402537">"Spanisch"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Autom."</item> - <item msgid="5434666299123318296">"Keine"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2-PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Keine"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2-PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Autom."</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP hexadezimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Scan…"</item> + <item msgid="8513729475867537913">"Verbindung wird hergestellt..."</item> + <item msgid="515055375277271756">"Authentifizierung..."</item> + <item msgid="1943354004029184381">"IP-Adresse wird abgerufen..."</item> + <item msgid="4221763391123233270">"Verbunden"</item> + <item msgid="624838831631122137">"Angehalten"</item> + <item msgid="7979680559596111948">"Verbindung wird getrennt..."</item> + <item msgid="1634960474403853625">"Nicht verbunden"</item> + <item msgid="746097431216080650">"Nicht erfolgreich"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Scan…"</item> + <item msgid="355508996603873860">"Verbindung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g> wird hergestellt..."</item> + <item msgid="554971459996405634">"Authentifizierung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="7928343808033020343">"IP-Adresse wird von <xliff:g id="NETWORK_NAME">%1$s</xliff:g> abgerufen..."</item> + <item msgid="8937994881315223448">"Verbunden mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Angehalten"</item> + <item msgid="7698638434317271902">"Verbindung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g> wird getrennt..."</item> + <item msgid="197508606402264311">"Nicht verbunden"</item> + <item msgid="8578370891960825148">"Nicht erfolgreich"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Offen"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2-PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Schwach"</item> + <item msgid="5615082285463430971">"Gut"</item> + <item msgid="3565079809875324621">"OK"</item> + <item msgid="5702329417707689835">"Ausgezeichnet"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Wenn Bildschirm sich abschaltet"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP oder CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Interner Gerätespeicher"</item> + <item msgid="3738430123799803530">"Austauschbare SD-Karte"</item> + <item msgid="4498124044785815005">"Auswahl durch das System"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Immer"</item> + <item msgid="6293147072807231256">"Nie"</item> + <item msgid="1276641209451816572">"Nur im Lautlosmodus"</item> + <item msgid="8418930333779132418">"Außer im Lautlosmodus"</item> + </string-array> </resources> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index a283a83..e224db8 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Ja"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Unbekannt"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Mobilfunkverbindung aktivieren"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Mobilfunkverbindung deaktivieren"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM-SD-Protokoll aktivieren"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM-SD-Protokoll deaktivieren"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM-Adressbuch anzeigen"</string> - <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Begrenzte Rufnummern anzeigen"</string> + <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Zugelassene Rufnummern anzeigen"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Servicerufnummern anzeigen"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP-Liste abrufen"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Datenverbindung aktivieren"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Datenverbindung deaktivieren"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Daten beim Start aktivieren"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Daten beim Start deaktivieren"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"In Betrieb"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Außer Betrieb"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Nur Notrufe"</string> @@ -66,7 +61,7 @@ <string name="battery_info_voltage_label" msgid="8971764146757637863">"Akkuspannung:"</string> <string name="battery_info_voltage_units" msgid="8658490792208288107">"mV"</string> <string name="battery_info_temperature_label" msgid="1968383098818648037">"Akkutemperatur:"</string> - <string name="battery_info_temperature_units" msgid="9098950587249987550">"° C"</string> + <string name="battery_info_temperature_units" msgid="9098950587249987550">"°C"</string> <string name="battery_info_uptime" msgid="5548545143573527992">"Zeit seit Start:"</string> <string name="battery_info_awake_battery" msgid="2557725975486185849">"Aktivzeit bei Akku:"</string> <string name="battery_info_awake_plugged" msgid="176716874713478188">"Aktivzeit beim Laden:"</string> @@ -75,7 +70,7 @@ <string name="battery_info_status_charging" msgid="1705179948350365604">"Wird geladen"</string> <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(AC)"</string> <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string> - <string name="battery_info_status_discharging" msgid="6222697503392774475">"Entladung"</string> + <string name="battery_info_status_discharging" msgid="6222697503392774475">"Entlädt"</string> <string name="battery_info_status_not_charging" msgid="2820070506621483576">"Wird nicht geladen"</string> <string name="battery_info_status_full" msgid="2824614753861462808">"Voll"</string> <string name="battery_info_power_unplugged" msgid="5987246575519551081">"Nicht angeschlossen"</string> @@ -91,8 +86,10 @@ <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"Unbekannter Fehler"</string> <string name="bluetooth" msgid="5549625000628014477">"Bluetooth"</string> <string name="bluetooth_visibility" msgid="2930835434091839916">"Sichtbar"</string> - <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Für <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> Sekunden sichtbar..."</string> + <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Für <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> Sekunden erkennbar..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Gerät sichtbar machen"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Sprachwahl sperren"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Verwendung des Bluetooth-Dialers bei gesperrtem Bildschirm verhindern"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth-Geräte"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Gerätename"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Kein Name festgelegt, Kontoname wird verwendet"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Nicht verbunden"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbindung wird getrennt..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbindung wird hergestellt..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Pairing mit diesem Gerät"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Pairing…"</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Gepaart, jedoch nicht verbunden"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IP-Adresse pingen:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Hostnamen pingen (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP Client-Test:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Verschlüsselung wechseln"</string> <string name="ping_test_label" msgid="7255376471490860631">"Pingtest ausführen"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aktualisierung"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Aktualisieren"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS-Überprüfung ein-/ausschalten"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM-spezifische Infos/Einstellungen"</string> <string name="band_mode_title" msgid="954174198903776205">"GSM-/UMTS-Band festlegen"</string> <string name="band_mode_loading" msgid="548764766363847336">"Bandliste wird geladen..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Festlegen"</string> @@ -210,7 +206,7 @@ <string name="airplane_mode_summary" msgid="3154817401368780988">"Alle drahtlosen Verbindungen deaktivieren"</string> <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Drahtlosverbindungen werden deaktiviert..."</string> <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Drahtlosverbindungen werden aktiviert..."</string> - <string name="radio_controls_title" msgid="5868688473587168882">"Drahtlos und Netzwerke"</string> + <string name="radio_controls_title" msgid="5868688473587168882">"Drahtlos & Netzwerke"</string> <string name="wireless_networks_settings_title" msgid="149274247949769551">"Einstellungen für Drahtlosnetzwerke"</string> <string name="radio_controls_summary" msgid="2998818677094465517">"WLAN, Bluetooth, Flugmodus, mobile Netzwerke und VPNs verwalten"</string> <string name="roaming" msgid="3596055926335478572">"Daten-Roaming"</string> @@ -222,7 +218,7 @@ <string name="roaming_reenable_title" msgid="7626425894611573131">"Achtung"</string> <string name="networks" msgid="6333316876545927039">"Netzbetreiberauswahl"</string> <string name="sum_carrier_select" msgid="6648929373316748020">"Netzbetreiber auswählen"</string> - <string name="date_and_time_settings_title" msgid="3350640463596716780">"Datum und Uhrzeit"</string> + <string name="date_and_time_settings_title" msgid="3350640463596716780">"Datum & Uhrzeit"</string> <string name="date_and_time_settings_summary" msgid="2435705040205950381">"Datum, Uhrzeit, Zeitzone und Formate festlegen"</string> <string name="date_time_auto" msgid="3086083265745944725">"Automatisch"</string> <string name="date_time_auto_summaryOn" msgid="9034585614665299846">"Vom Netzwerk bereitgestellte Werte verwenden"</string> @@ -231,14 +227,51 @@ <string name="date_time_set_time" msgid="5716856602742530696">"Uhrzeit festlegen"</string> <string name="date_time_set_timezone" msgid="5045627174274377814">"Zeitzone auswählen"</string> <string name="date_time_set_date" msgid="7021491668550232105">"Datum festlegen"</string> - <string name="date_time_date_format" msgid="436706100255870967">"Datumsformat auswählen"</string> + <string name="date_time_date_format" msgid="436706100255870967">"Datumsformat"</string> <string name="zone_list_menu_sort_alphabetically" msgid="5683377702671088588">"Alphabetisch sortieren"</string> <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"Nach Zeitzone sortieren"</string> - <string name="security_settings_title" msgid="5168491784222013179">"Standort und Sicherheit"</string> + <string name="security_settings_title" msgid="5168491784222013179">"Standort & Sicherheit"</string> <string name="location_security_settings_title" msgid="4624434296446625554">"Einstellungen für Standort & Sicherheit"</string> - <string name="security_settings_summary" msgid="967393342537986570">"Meinen Standort, Display-Entsperrung, SIM-Kartensperrung und Sperrung des Anmeldeinformationsspeichers festlegen"</string> - <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Meinen Standort festlegen, Bildschirm entsperren, Sperren des Speichers für Anmeldeinformationen"</string> + <string name="security_settings_summary" msgid="967393342537986570">"Meinen Standort, Display-Entsperrung, SIM-Kartensperre und Sperre für Anmeldeinformationsspeicher festlegen"</string> + <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Meinen Standort, Display-Entsperrung, SIM-Kartensperrung und Sperrung des Anmeldeinformationsspeichers festlegen"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Passwörter"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Display-Entsperrung"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Display-Sperre einrichten"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Display mit einem Muster, einer PIN oder einem Passwort sperren"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Display-Sperre ändern"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Sperre (Muster, PIN, Passwort) ändern oder deaktivieren"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Keine"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Display-Entsperrung deaktivieren"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Muster"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Muster zum Entsperren des Displays zeichnen"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Geben Sie eine numerische PIN zum Entsperren ein."</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Passwort"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Geben Sie ein Passwort zum Entsperren des Displays ein."</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Vom Remote-Telefonadministrator deaktiviert"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Display-Sperre deaktivieren"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Entsperrungsmuster entfernen"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Entsperrungs-PIN entfernen"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Entsperrungspasswort entfernen"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Entsperrungsmuster ändern"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Entsperrungs-PIN ändern"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Entsperrungspasswort ändern"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Das Passwort muss mindestens %d Zeichen enthalten."</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Die PIN muss mindestens %d Zeichen enthalten."</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Wählen Sie \"Weiter\", wenn Sie fertig sind."</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Weiter"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Die PIN darf maximal %d Zeichen enthalten."</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Die PIN darf maximal %d Zeichen enthalten."</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN darf nur die Ziffern 0 - 9 enthalten."</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Das Passwort enthält ein ungültiges Zeichen."</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Das Passwort muss mindestens einen Buchstaben enthalten."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Das Passwort muss mindestens eine Zahl enthalten."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Das Passwort muss mindestens ein Symbol enthalten."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Abbrechen"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Geräteverwaltung"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Geräte-Administratoren"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Geräteadministratoren hinzufügen oder entfernen"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Bluetooth aktivieren"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth-Einstellungen"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Als Lautsprechertelefon"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Für Musik und Medien"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Einstellungen speichern"</string> - <string name="wifi" msgid="1081550856200013637">"WLAN"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"WLAN"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"WLAN aktivieren"</string> <string name="wifi_settings" msgid="4746946030627213196">"WLAN-Einstellungen"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"WLAN-Einstellungen"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"WLAN-Zugangspunkte festlegen und verwalten"</string> - <string name="forget_network" msgid="4718015029995727138">"Entfernen"</string> - <string name="wifi_status" msgid="4824568012414605414">"Status"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Geschwindigkeit"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Ausgezeichnet"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"OK"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Gut"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Schwach"</string> - <string name="security" msgid="1040691896987225267">"Sicherheit"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Öffnen"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2-PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Unbekannt"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"offenes Netzwerk"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"gesichert mit WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"gesichert mit WPA/WPA2-PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"gesichert mit 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"IP-Adresse"</string> - <string name="signal" msgid="1947969631626413228">"Signalstärke"</string> <string name="wifi_starting" msgid="6710266609710860129">"Aktivierung..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Wird beendet..."</string> <string name="wifi_error" msgid="3207971103917128179">"Fehler"</string> - <string name="error_starting" msgid="4055163089721254078">"WLAN kann nicht gestartet werden"</string> - <string name="error_stopping" msgid="7855531609645531489">"WLAN kann nicht beendet werden"</string> - <string name="error_scanning" msgid="4644050284132264368">"Netzwerkscan nicht möglich"</string> - <string name="error_connecting" msgid="1981882310590509609">"Netzwerkverbindung kann nicht hergestellt werden"</string> - <string name="error_saving" msgid="8294279443961615302">"Netzwerk kann nicht gespeichert werden"</string> - <string name="connect" msgid="3079076576295839400">"Verbinden"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g> verbinden"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP-Methode"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Phase 2-Authentifizierung"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identität"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Anonyme Identität"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Client-Zertifikat"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA-Zertifikat"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Passwort für Drahtloszugang"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"WEP Hexadezimalschlüssel (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Passwort anzeigen"</string> - <string name="scan_wifi" msgid="2459901725350542606">"Scannen"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Nicht in Reichweite"</string> - <string name="summary_remembered" msgid="6079941090549401742">"gespeichert"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Verbindung fehlgeschlagen, versuchen Sie es erneut."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"WLAN-Netzwerke"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Netzwerk-SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"Sicherheit"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Speichern"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(nicht geändert)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"WLAN-Netzwerk hinzufügen"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"Im Flugmodus"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Netzwerkscan nicht möglich"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Netzwerkhinweis"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Benachrichtigen, wenn ein offenes Netzwerk verfügbar ist"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Das eingegebene Netzwerkpasswort ist falsch. Bitte versuchen Sie es erneut."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Beim Herstellen der Netzwerkverbindung ist ein Problem aufgetreten. Bitte versuchen Sie es erneut."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"WLAN-Netzwerk hinzufügen"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"WLAN-Netzwerke"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Scan"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Erweitert"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-Einstellungen"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Speichern"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Abbrechen"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Bitte geben Sie eine gültige IP-Adresse ein."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statische IP verwenden"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Mit Netzwerk verbinden"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Netzwerk entfernen"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Netzwerk ändern"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Netzwerk-SSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"Sicherheit"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Signalstärke"</string> + <string name="wifi_status" msgid="4824568012414605414">"Status"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Verbindungsgeschwindigkeit"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP-Adresse"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Netmask"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Mit Netzwerk verbinden"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Netzwerk entfernen"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Passwort ändern"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP-Methode"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Phase 2-Authentifizierung"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA-Zertifikat"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Nutzerzertifikat"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identität"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonyme Identität"</string> + <string name="wifi_password" msgid="5948219759936151048">"Passwort"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Passwort anzeigen"</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(nicht geändert)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(keine Angabe)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Gespeichert"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Deaktiviert"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Nicht in Reichweite"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Gesichert mit <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, gesichert mit <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Verbinden"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Entfernen"</string> + <string name="wifi_save" msgid="3331121567988522826">"Speichern"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Abbrechen"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Erweitert"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Rechtliche Domain"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Anzahl an zu verwendenden Kanälen festlegen"</string> @@ -371,58 +376,63 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Festlegen, wann von WLAN auf mobile Daten umgeschaltet werden soll"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Beim Einrichten der Standby-Richtlinie ist ein Problem aufgetreten."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-Adresse"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Scannen…"</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Verbindung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g> wird hergestellt..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Authentifizierung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"IP-Adresse wird von <xliff:g id="NETWORK_NAME">%1$s</xliff:g> abgerufen..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Verbunden mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Verbindung mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g> wird getrennt..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Nicht verbunden"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Fehlgeschlagen"</string> - <string name="status_scanning" msgid="8402178267165567371">"Scannen…"</string> - <string name="status_connecting" msgid="1669262263707521505">"Verbindung wird hergestellt..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Authentifizierung..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Adresse wird abgerufen..."</string> - <string name="status_connected" msgid="8175694029067954271">"Verbunden"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Verbindung wird getrennt..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Nicht verbunden"</string> - <string name="status_failed" msgid="610462050405904601">"Fehlgeschlagen"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Sound und Display"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Einstellungen für Sound & Display"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-Einstellungen"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Speichern"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Abbrechen"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Bitte geben Sie eine gültige IP-Adresse ein."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statische IP verwenden"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Netmask"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Mobiler WLAN-Hotspot"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Mobiler Hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktiv"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fehler beim mobilen WLAN-Hotspot"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"WLAN-Hotspot-Einstellungen"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Mobilen WLAN-Hotspot einrichten & verwalten"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"WLAN-Hotspot-Einstellungen"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"WLAN-Hotspot konfigurieren"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> mobiler WLAN-Hotspot"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Töne"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Display"</string> <string name="sound_settings" msgid="5007659014828162881">"Toneinstellungen"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Klingeltöne, Benachrichtigungen und Helligkeit festlegen"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Lautlosmodus"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Alle Töne außer für Medien und Warnungen sind stummgeschaltet"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Alle Töne (außer für Medienwiedergabe & Wecker) stummschalten"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alle Sounds außer Medien sind stumm geschaltet"</string> <string name="ringtone_title" msgid="5379026328015343686">"Klingelton"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Standardklingelton für eingehende Anrufe festlegen"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Lautstärke"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Klingeltonlautstärke"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Lautstärke für eingehende Anrufe und Benachrichtigungen festlegen"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibration"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Vibration für eingehende Anrufe"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Im Lautlosmodus vibrieren"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Vibration im Lautlosmodus zulassen"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibration"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibration bei Anrufen und Benachrichtigungen"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Benachrichtigungston"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Standard-Benachrichtigungston festlegen"</string> - <string name="notification_pulse_title" msgid="1247988024534030629">"Benachrichtigungslicht pulsieren"</string> - <string name="notification_pulse_summary" msgid="6899220780534617152">"Trackball-Licht bei neuen Benachrichtigungen wiederholt pulsieren"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Lautstärke für eingehende Anrufe"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Benachrichtigungslautstärke"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> + <string name="notification_pulse_title" msgid="1247988024534030629">"Benachrichtigungslicht"</string> + <string name="notification_pulse_summary" msgid="6899220780534617152">"Bei neuen Benachrichtigungen Trackball-Licht wiederholt pulsieren"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Klingelton"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Benachrichtigung"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Lautstärke für eingehende Anrufe für Benachrichtigungen verwenden"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Benachrichtigungston auswählen"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Medienlautstärke"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Medien"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Lautstärke für Musik und Videos festlegen"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Wecker"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Audioeinstellungen für angeschlossenen Dock"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Tastentöne"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Töne bei Telefonwahl"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Töne bei Telefonwahl"</string> <string name="sound_effects_enable_title" msgid="3197313718929122833">"Akustische Auswahl"</string> - <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Ton bei Auswahl auf Display"</string> - <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Ton bei Auswahl auf Display"</string> + <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Ton bei Auswahl auf Bildschirm"</string> + <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Ton bei Auswahl auf Bildschirm"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Display-Sperre"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Ton beim Sperren und Entsperren des Bildschirms"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Ton beim Sperren und Entsperren des Bildschirms"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Haptisches Feedback"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibration beim Drücken von Softkeys und bei bestimmten UI-Interaktionen"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibration beim Drücken von Softkeys und bei bestimmten UI-Interaktionen"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"SD-Karten-Nachricht"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Ton bei SD-Karten-Benachrichtigungen"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Ton bei SD-Karten-Benachrichtigungen"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Geräuschunterdrückung"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Geräusche beim Sprechen oder Aufnehmen unterdrücken"</string> <string name="dock_settings" msgid="1820107306693002541">"Dock"</string> @@ -434,15 +444,18 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Einstellungen für angeschlossenen Dock"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Dock nicht gefunden"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Zur Konfiguration des Dock-Audios muss das Telefon angedockt sein."</string> - <string name="sync_settings" msgid="9186125469300013491">"Konten und Synchronisierung"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Ton bei Dock-Anschluss"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Beim Anschließen oder Trennen des Telefons vom Dock Ton abspielen"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Beim Anschließen oder Trennen des Telefons vom Dock keinen Ton abspielen"</string> + <string name="sync_settings" msgid="9186125469300013491">"Konten&Synchronisierung"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Konten hinzufügen und entfernen und Kontoeinstellungen ändern"</string> - <string name="search_settings" msgid="1910951467596035063">"Suchen"</string> + <string name="search_settings" msgid="1910951467596035063">"Suche"</string> <string name="search_settings_summary" msgid="9205656546570654169">"Sucheinstellungen und Suchverlauf verwalten"</string> <string name="display_settings" msgid="3912042046350078328">"Display-Einstellungen"</string> <string name="animations_title" msgid="1062189037402346023">"Animation"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Animation beim Öffnen und Schließen von Fenstern anzeigen"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Animation beim Öffnen und Schließen von Fenstern anzeigen"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Ausrichtung"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Display autom. drehen"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Ausrichtung beim Drehen des Telefons automatisch ändern"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Ausrichtung beim Drehen des Telefons automatisch ändern"</string> <string name="brightness" msgid="2354961343555249270">"Helligkeit"</string> @@ -451,12 +464,12 @@ <string name="screen_timeout_summary" msgid="2905757633140605334">"Verzögerung vor automatischer Bildschirmabschaltung anpassen"</string> <string name="automatic_brightness" msgid="5014143533884135461">"Automatische Helligkeit"</string> <string name="sim_lock_settings" msgid="3392331196873564292">"Einstellungen"</string> - <string name="sim_lock_settings_category" msgid="5136244267576697004">"SIM-Sperrung einrichten"</string> - <string name="sim_lock_settings_title" msgid="9018585580955414596">"SIM-Kartensperrung"</string> + <string name="sim_lock_settings_category" msgid="5136244267576697004">"SIM-Sperre einrichten"</string> + <string name="sim_lock_settings_title" msgid="9018585580955414596">"SIM-Kartensperre"</string> <string name="sim_pin_toggle" msgid="1742123478029451888">"SIM-Karte sperren"</string> <string name="sim_lock_on" msgid="2503536505568814324">"PIN zur Verwendung des Telefons erforderlich"</string> <string name="sim_lock_off" msgid="258981978215428916">"PIN zur Verwendung des Telefons erforderlich"</string> - <string name="sim_pin_change" msgid="6311414184279932368">"PIN der SIM-Karte ändern"</string> + <string name="sim_pin_change" msgid="6311414184279932368">"PIN ändern"</string> <string name="sim_enter_pin" msgid="6608715137008508432">"PIN für SIM-Karte"</string> <string name="sim_enable_sim_lock" msgid="4517742794997166918">"SIM-Karte sperren"</string> <string name="sim_disable_sim_lock" msgid="7664729528754784824">"SIM-Karte entsperren"</string> @@ -466,15 +479,15 @@ <string name="sim_change_pin" msgid="7328607264898359112">"PIN für SIM-Karte"</string> <string name="sim_bad_pin" msgid="2746201276896134075">"Falsche PIN!"</string> <string name="sim_pins_dont_match" msgid="4664611595579163214">"Die PINs stimmen nicht überein!"</string> - <string name="sim_change_failed" msgid="4823538458798362222">"PIN kann nicht geändert werden."\n"Möglicherweise falsche Eingabe."</string> + <string name="sim_change_failed" msgid="4823538458798362222">"PIN kann nicht geändert werden."\n"Möglicherweise falsche PIN."</string> <string name="sim_change_succeeded" msgid="8556135413096489627">"SIM-PIN erfolgreich geändert"</string> - <string name="sim_lock_failed" msgid="6676748290838006404">"Status der SIM-Kartensperrung kann nicht geändert werden."\n"Möglicherweise falsche PIN."</string> + <string name="sim_lock_failed" msgid="6676748290838006404">"Status der SIM-Kartensperre kann nicht geändert werden."\n"Möglicherweise falsche PIN."</string> <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string> <string name="sim_enter_cancel" msgid="6240422158517208036">"Abbrechen"</string> <string name="device_info_settings" msgid="475872867864762157">"Telefonstatus"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemaktualisierungen"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Nach Systemaktualisierungen suchen"</string> - <string name="firmware_version" msgid="6284872163051667788">"Firmware-Version"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android-Version"</string> <string name="model_number" msgid="3765737700545384794">"Modellnummer"</string> <string name="baseband_version" msgid="1848990160763524801">"Baseband-Version"</string> <string name="kernel_version" msgid="9192574954196167602">"Kernel-Version"</string> @@ -483,7 +496,7 @@ <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string> <string name="device_status" msgid="607405385799807324">"Status"</string> <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, Signal usw."</string> - <string name="storage_settings" msgid="6681164315506788024">"SD-Karte & Telefonspeicher"</string> + <string name="storage_settings" msgid="6681164315506788024">"SD-Karte&Telefonspeicher"</string> <string name="storage_settings_title" msgid="5379463509034022773">"Einstellungen für SD-Karte & Telefonspeicher"</string> <string name="storage_settings_summary" msgid="9176693537325988610">"SD-Karte entnehmen, verfügbaren Speicher anzeigen"</string> <string name="status_number" msgid="5123197324870153205">"Meine Telefonnummer"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Gesamtspeicher"</string> <string name="sd_eject" msgid="6915293408836853020">"SD-Karte entnehmen"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"SD-Karte sicher entfernen"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"SD-Karte zur Bereitstellung einlegen"</string> + <string name="sd_mount" msgid="5940523765187704135">"SD-Karte bereitstellen"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"SD-Karte bereitstellen"</string> <string name="sd_format" msgid="5448738337382712203">"SD-Karte formatieren"</string> <string name="sd_format_summary" msgid="6616491027883134004">"SD-Karte formatieren (löschen)"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Nicht verfügbar"</string> <string name="read_only" msgid="6702420168629076340">" (schreibgeschützt)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD-Karte entnehmen"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Wenn Sie die SD-Karte entfernen, werden einige von Ihnen verwendete Anwendungen angehalten und sind nicht mehr verfügbar, bis Sie die SD-Karte wieder einsetzen."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Fehler beim Entfernen der SD-Karte"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD-Karte kann nicht entfernt werden. Versuchen Sie es später erneut."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD-Karte wird getrennt. Überprüfen Sie den Status im Benachrichtigungsfeld."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Trennen..."</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Trennung..."</string> <string name="battery_status_title" msgid="9159414319574976203">"Akkustatus"</string> <string name="battery_level_title" msgid="2965679202786873272">"Akkuladung"</string> <string name="apn_settings" msgid="3743170484827528406">"APNs"</string> @@ -555,7 +578,7 @@ <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Bitte zeichnen Sie Ihr Entsperrungsmuster."</string> <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Sie müssen Ihr Entsperrungsmuster eingeben, um das Zurücksetzen des Telefons zu bestätigen."</string> <string name="master_clear_failed" msgid="8655202125010189406">"Die Zurücksetzung konnte nicht durchgeführt werden, da der Service zur Systembereinigung nicht verfügbar ist."</string> - <string name="media_format_title" msgid="4671276096695789895">"SD-Karte formatieren."</string> + <string name="media_format_title" msgid="4671276096695789895">"SD-Karte formatieren"</string> <string name="media_format_summary" msgid="3805714639375830120">"Löscht alle Daten auf der SD-Karte"</string> <string name="media_format_desc" msgid="1142563222357820834">"Durch diese Aktion wird die SD-Karte im Telefon gelöscht. Sie verlieren dann ALLE Daten auf der Karte!"</string> <string name="media_format_button_text" msgid="370856400090190151">"SD-Karte formatieren"</string> @@ -565,23 +588,32 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Sie müssen Ihr Entsperrungsmuster eingeben, um eine SD-Karten-Formatierung zu bestätigen."</string> <string name="call_settings_title" msgid="5188713413939232801">"Anrufeinstellungen"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Mailbox, Rufweiterleitung, Anklopfen, Anruferkennung einrichten"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Mobiler Hotspot"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering & mobiler Hotspot"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Mobile Datenverbindung Ihres Handys über USB freigeben"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Mobile Verbindung Ihres Handys als mobilen WLAN-Hotspot freigeben"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Mobile Datenverbindung Ihres Handys über USB oder als mobilen WLAN-Hotspot freigeben"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-Tethering"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB verbunden; auf Tethering überprüfen"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Tethering aktiv"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Tethering bei Verwendung des USB-Speichers nicht möglich"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Keine USB-Verbindung"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB-Tethering-Fehler"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Hilfe"</string> <string name="network_settings_title" msgid="7967552516440151852">"Mobile Netzwerke"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Optionen für Roaming, Netzwerke, APNs festlegen"</string> <string name="location_title" msgid="1029961368397484576">"Mein Standort"</string> - <string name="location_network_based" msgid="8815705866861993344">"Drahtlosnetzwerke nutzen"</string> - <string name="location_networks_disabled" msgid="2708968452901433980">"Standort über Drahtlosnetzwerke anzeigen (z.B. in Google Maps)"</string> + <string name="location_network_based" msgid="8815705866861993344">"Drahtlosnetzwerke"</string> + <string name="location_networks_disabled" msgid="2708968452901433980">"Standort über Drahtlosnetzwerke bestimmen (z. B. in Google Maps)"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Standort bestimmt von WLAN und/oder mobilen Netzwerken"</string> - <string name="location_gps" msgid="6296125378829097831">"GPS-Satelliten verwenden"</string> + <string name="location_gps" msgid="6296125378829097831">"GPS-Satelliten"</string> <string name="location_street_level" msgid="6460740847018275745">"Auf Straßenebene lokalisieren (deaktivieren, um Akku zu sparen)"</string> <string name="location_gps_disabled" msgid="6632537158777308128">"Auf Straßenebene lokalisieren (höherer Akkuverbrauch, im Freien)"</string> <string name="assisted_gps" msgid="4649317129586736885">"Unterstütztes GPS verwenden"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Server zur Unterstützung von GPS verwenden (zur Verringerung der Netzwerkauslastung nicht auswählen)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Server zur Unterstützung von GPS verwenden (zur Verbesserung der GPS-Leistung deaktivieren)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Meinen Standort verwenden"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Standort für Google-Suchergebnisse und -Services verwenden"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Soll Google bessere Suchergebnisse und weitere Dienste anhand Ihres Standorts anbieten?"</string> - <string name="agree" msgid="6288718671527758326">"Zustimmen"</string> - <string name="disagree" msgid="6221069272309799230">"Ablehnen"</string> <string name="about_settings" msgid="1743378368185371685">"Telefoninfo"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Rechtliche Hinweise, Telefonstatus und Softwareversion anzeigen"</string> <string name="legal_information" msgid="5769301644270604095">"Rechtliche Hinweise"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Sicherheitsinformationen"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Ihr Telefon ist mit keinem Datendienst verbunden. Um diese Informationen jetzt anzuzeigen, rufen Sie %s von einem beliebigen, mit dem Internet verbundenen Computer auf."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Ladevorgang läuft..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Display-Entsperrungsmuster"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Passwort auswählen"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"PIN auswählen"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Passwort bestätigen"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"PIN bestätigen"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Die Passwörter stimmen nicht überein."</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Die PINs stimmen nicht überein."</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Das Passwort wurde festgelegt."</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Die PIN wurde festgelegt."</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Das Muster wurde festgelegt."</string> + <string name="lock_settings_title" msgid="975088518210629938">"Display-Entsperrung"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Entsperrungsmuster ändern"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Entsperrungs-PIN ändern"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Gespeichertes Muster bestätigen"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Versuchen Sie es bitte erneut:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Zeichnen Sie ein Entsperrungsmuster."</string> @@ -634,8 +676,8 @@ <string name="applications_settings" msgid="3736173521008476946">"Anwendungen"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"Anwendungen verwalten, Tastenkombinationen für Schnellstart"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Anwendungen"</string> - <string name="install_applications" msgid="4872012136210802181">"Unbekannte Quellen"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Installation von Nicht-Market-Anwendungen zulassen"</string> + <string name="install_applications" msgid="4872012136210802181">"Unbekannte Herkunft"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Installation von Nicht-Market-Anwendungen zulassen"</string> <string name="install_all_warning" msgid="1923717607319933741">"Anwendungen aus unbekannten Quellen können gefährlich für Ihr Telefon und Ihre persönlichen Daten sein. Sie stimmen zu, dass Sie die Verantwortung für alle Schäden an Ihrem Telefon oder jegliche Datenverluste tragen, die aus der Verwendung dieser Anwendungen entstehen können."</string> <string name="application_info_label" msgid="1150486628158409543">"Anwendungsinfo"</string> <string name="storage_label" msgid="8700867073480107253">"Speicher"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Alle"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Heruntergeladen"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Wird ausgeführt"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Auf SD-Karte"</string> <string name="loading" msgid="3200408047793887917">"Wird geladen..."</string> <string name="recompute_size" msgid="7722567982831691718">"Größe wird neu berechnet..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Löschen"</string> @@ -682,26 +725,41 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Paketgröße kann nicht berechnet werden"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Sie haben keine Anwendungen von Drittanbietern installiert."</string> <string name="version_text" msgid="9189073826278676425">"Version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="runningservices_settings_title" msgid="8097287939865165213">"Ausgeführte Dienste"</string> + <string name="move_app" msgid="5042838441401731346">"Verschieben"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Auf Telefon verschieben"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Auf SD-Karte verschieben"</string> + <string name="moving" msgid="6431016143218876491">"Verschieben"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Es ist nicht genügend Speicher vorhanden."</string> + <string name="does_not_exist" msgid="837163572898468245">"Diese Anwendung existiert nicht."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Die Anwendung ist kopiergeschützt."</string> + <string name="invalid_location" msgid="4934491353200240499">"Der angegebene Installationsort ist nicht gültig."</string> + <string name="system_package" msgid="1030561474413022831">"Systemupdates können nicht auf externen Datenträgern installiert werden."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Stoppen erzwingen"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Diese Anwendung wird sofort neu gestartet. Möchten Sie das Beenden wirklich erzwingen?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Anwendung verschieben"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Verschieben der Anwendung fehlgeschlagen. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Bevorzugter Installationspfad"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Bevorzugten Installationspfad für neue Anwendungen ändern"</string> + <string name="runningservices_settings_title" msgid="8097287939865165213">"Aktive Dienste"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Derzeit ausgeführte Dienste anzeigen und steuern"</string> <string name="service_restarting" msgid="2242747937372354306">"Neustart wird durchgeführt."</string> <string name="no_running_services" msgid="6981216347270280598">"Es werden keine Dienste ausgeführt."</string> - <string name="confirm_stop_service" msgid="5700448757318301681">"Dienst anhalten?"</string> - <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Der Service muss neu gestartet werden. Dies kann unerwünschte Auswirkungen auf die <xliff:g id="APPLICATION">%1$s</xliff:g>-Anwendung haben."</string> - <string name="confirm_stop_stop" msgid="7382363913280993331">"Anhalten"</string> + <string name="confirm_stop_service" msgid="5700448757318301681">"Dienst beenden?"</string> + <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Der Dienst muss neu gestartet werden. Dies kann unerwünschte Auswirkungen auf die Anwendung \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" haben."</string> + <string name="confirm_stop_stop" msgid="7382363913280993331">"Beenden"</string> <string name="confirm_stop_cancel" msgid="206495326622692381">"Abbrechen"</string> <string name="service_started_by_app" msgid="8432097226392386802">"Gestartet: Zum Beenden berühren"</string> <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: Zum Verwalten berühren"</string> <string name="service_background_processes" msgid="5158600475629177758">"Verfügbar: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_foreground_processes" msgid="4013890350284680796">"Sonstige: <xliff:g id="MEMORY">%2$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"Prozess: <xliff:g id="PROCESS">%1$s</xliff:g>"</string> - <string name="language_settings" msgid="502219872342167227">"Sprache und Tastatur"</string> + <string name="language_settings" msgid="502219872342167227">"Sprache & Tastatur"</string> <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Einstellungen für Sprache & Tastatur"</string> <string name="language_settings_summary" msgid="595647729475399987">"Optionen für Sprache und Region, Texteingabe und Autokorrektur festlegen"</string> <string name="language_category" msgid="3391756582724541530">"Ländereinstellung"</string> <string name="text_category" msgid="6342540511465136739">"Texteinstellungen"</string> - <string name="phone_language" msgid="2138384312336494991">"Sprache wählen"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Sprache und Region auswählen"</string> + <string name="phone_language" msgid="1165758957501090679">"Sprache auswählen"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Autom. Ersetzung"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Tippfehler korrigieren"</string> <string name="auto_caps" msgid="581633131114124121">"Autom. Großschreibung"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Diese Eingabemethode kann den gesamten von Ihnen eingegebenen Text erfassen, einschließlich persönlicher Daten wie Passwörter und Kreditkartennummern. Sie ist Teil der Anwendung <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Möchten diese Eingabemethode verwenden?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Wörterbuch des Nutzers"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Wörterbuch des Nutzers"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Hinzufügen & Entfernen von Wörtern im Wörterbuch des Nutzers"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Hinzufügen"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Ins Wörterbuch"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Wort bearbeiten"</string> @@ -729,9 +787,9 @@ <string name="quick_launch_summary" msgid="3453825712466417452">"Tastenkombinationen zum Starten von Anwendungen festlegen"</string> <string name="quick_launch_assign_application" msgid="4521368464929956350">"Anwendung zuweisen"</string> <string name="quick_launch_no_shortcut" msgid="5998005833838278693">"Keine Tastenkombination"</string> - <string name="quick_launch_shortcut" msgid="5090405067413522300">"Suchen + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string> + <string name="quick_launch_shortcut" msgid="5090405067413522300">"Suche + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string> <string name="quick_launch_clear_dialog_title" msgid="5546543501250320220">"Löschen"</string> - <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">"Die Tastenkombination für <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g> (<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>) wird gelöscht."</string> + <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">"Die Verknüpfung für <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g> (<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>) wird gelöscht."</string> <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"OK"</string> <string name="quick_launch_clear_cancel_button" msgid="1892854652197747064">"Abbrechen"</string> <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"Anwendungen"</string> @@ -746,7 +804,7 @@ <string name="development_settings_summary" msgid="2151320488701538355">"Optionen zur Anwendungsentwicklung festlegen"</string> <string name="enable_adb" msgid="7982306934419797485">"USB-Debugging"</string> <string name="enable_adb_summary" msgid="4881186971746056635">"Debugmodus bei Anschluss eines USB-Geräts"</string> - <string name="keep_screen_on" msgid="1146389631208760344">"Aktiv bleiben"</string> + <string name="keep_screen_on" msgid="1146389631208760344">"Aktiv lassen"</string> <string name="keep_screen_on_summary" msgid="2173114350754293009">"Display wird beim Laden nie in den Ruhezustand versetzt"</string> <string name="allow_mock_location" msgid="2787962564578664888">"Falsche Standorte"</string> <string name="allow_mock_location_summary" msgid="317615105156345626">"Falsche Standorte zulassen"</string> @@ -798,8 +856,13 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Keine Eingabehilfen installiert"</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Diese Eingabehilfe kann den gesamten von Ihnen eingegebenen Text erfassen, einschließlich persönlicher Daten wie Kreditkartennummern, jedoch keine Passwörter. Sie kann auch Ihre Interaktionen auf der Benutzeroberfläche protokollieren. Sie ist Teil der Anwendung <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Soll diese Eingabehilfe aktiviert werden?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Eingabehilfe deaktivieren?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Keine Eingabehilfen-Anwendungen gefunden"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Es sind keine Eingabehilfen-Anwendungen installiert."\n\n"Sie können von Android Market einen Screenreader für Ihr Gerät herunterladen."\n\n"Klicken Sie auf \"OK\", um den Screenreader zu installieren."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Ein-/Austaste"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Ein/Aus beendet Anruf"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Das Drücken der Ein-/Austaste während eines Anrufs beendet den Anruf (statt den Bildschirm auszuschalten)"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Akkuverbrauch"</string> - <string name="power_usage_summary" msgid="7237084831082848168">"Akkuverbraucher"</string> + <string name="power_usage_summary" msgid="7237084831082848168">"Was zum Akkuverbrauch beiträgt"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Akkuverbrauch seit dem Ausstecken"</string> <string name="battery_since_reset" msgid="7464546661121187045">"Akkuverbrauch seit dem Zurücksetzen"</string> <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> seit dem Ausstecken"</string> @@ -810,24 +873,24 @@ <string name="bluetooth_on_time" msgid="4478515071957280711">"WLAN-Aktivzeit"</string> <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> - <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> <string name="details_title" msgid="7564809986329021063">"Akkuverbrauch - Details"</string> - <string name="details_subtitle" msgid="32593908269911734">"Details verwenden"</string> + <string name="details_subtitle" msgid="32593908269911734">"Details"</string> <string name="controls_subtitle" msgid="390468421138288702">"Energieverbrauch anpassen"</string> <string name="packages_subtitle" msgid="4736416171658062768">"Enthaltene Pakete"</string> <string name="power_screen" msgid="2353149143338929583">"Display"</string> <string name="power_wifi" msgid="2382791137776486974">"WLAN"</string> <string name="power_bluetooth" msgid="4373329044379008289">"Bluetooth"</string> - <string name="power_cell" msgid="6596471490976003056">"Handy-Standby"</string> + <string name="power_cell" msgid="6596471490976003056">"Mobilfunk-Standby"</string> <string name="power_phone" msgid="5392641106474567277">"Anrufe"</string> <string name="power_idle" msgid="9055659695602194990">"Telefon inaktiv"</string> <string name="usage_type_cpu" msgid="715162150698338714">"CPU insgesamt"</string> - <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU-Vordergrund"</string> + <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU Vordergrund"</string> <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string> <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string> <string name="usage_type_data_send" msgid="2857401966985425427">"Gesendete Daten"</string> <string name="usage_type_data_recv" msgid="7251090882025234185">"Empfangene Daten"</string> <string name="usage_type_audio" msgid="6957269406840886290">"Audio"</string> <string name="usage_type_video" msgid="4295357792078579944">"Video"</string> - <string name="usage_type_on_time" msgid="3351200096173733159">"Aktiviert"</string> + <string name="usage_type_on_time" msgid="3351200096173733159">"Laufzeit"</string> <string name="usage_type_no_coverage" msgid="3797004252954385053">"Zeit ohne Signal"</string> <string name="battery_action_stop" msgid="649958863744041872">"Stoppen erzwingen"</string> <string name="battery_action_app_details" msgid="3275013531871113681">"Anwendungsinfo"</string> @@ -838,15 +901,15 @@ <string name="battery_desc_voice" msgid="8980322055722959211">"Akkuverbrauch durch Anrufe"</string> <string name="battery_desc_standby" msgid="3009080001948091424">"Akkuverbrauch bei inaktivem Telefon"</string> <string name="battery_desc_radio" msgid="5479196477223185367">"Akkuverbrauch durch Mobilfunk"</string> - <string name="battery_sugg_radio" msgid="8211336978326295047">"In den Flugmodus wechseln, um in Gebieten ohne Mobilfunkabdeckung Energie zu sparen"</string> + <string name="battery_sugg_radio" msgid="8211336978326295047">"Flugmodus zum Energiesparen in Gebieten ohne Mobilfunkabdeckung"</string> <string name="battery_desc_display" msgid="5432795282958076557">"Akkuverbrauch durch Display und Beleuchtung"</string> - <string name="battery_sugg_display" msgid="3370202402045141760">"Bildschirmhelligkeit und/oder Bildschirm-Timeout verringern"</string> + <string name="battery_sugg_display" msgid="3370202402045141760">"Display-Helligkeit und/oder Display-Timeout verringern"</string> <string name="battery_desc_wifi" msgid="1702486494565080431">"Akkuverbrauch durch WLAN"</string> <string name="battery_sugg_wifi" msgid="7542345142282261691">"WLAN bei Nichtverwendung oder Nichtverfügbarkeit deaktivieren"</string> <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Akkuverbrauch durch Bluetooth"</string> <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Bluetooth bei Nichtverwendung deaktivieren"</string> <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Mit einem anderen Bluetooth-Gerät verbinden"</string> - <string name="battery_desc_apps" msgid="8123202939321333639">"Akkuverbrauch bei ausgeführten Anwendungen"</string> + <string name="battery_desc_apps" msgid="8123202939321333639">"Akkuverbrauch durch ausgeführte Anwendungen"</string> <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Anwendung beenden oder deinstallieren"</string> <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"GPS bei Nichtverwendung deaktivieren"</string> <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Die Anwendung bietet unter Umständen Einstellungen für einen geringeren Akkuverbrauch."</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Aktualisieren"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string> - <string name="tts_settings" msgid="3348626948015962987">"Text-in-Sprache"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Text-in-Sprache einrichten"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Spracheingabe&-ausgabe"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Einstellungen für Spracheingabe & -ausgabe"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Sprachsuche"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android-Tastatur"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Spracheingabe"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Sprachausgabe"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Spracherkennung"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Spracherkennungseinstellungen"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Einstellungen für \'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\'"</string> + <string name="tts_settings" msgid="8186971894801348327">"Text-in-Sprache-Einstellungen"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Text-in-Sprache-Einstellungen"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Immer meine Einst. verwenden"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Standardeinstellungen überschreiben Anwendungseinstellungen"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardeinstellungen"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Standardmodul"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Legt das Sprachsynthesemodul für gesprochenen Text fest."</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Sprechgeschwindigkeit"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Geschwindigkeit, mit der der Text gesprochen wird"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tonlage"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Die für die Sprachsynthese erforderlichen Stimmen sind bereits installiert."</string> <string name="tts_demo" msgid="405357591189935876">"Dies ist ein Beispiel für Sprachsynthese."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Ihre Einstellungen wurden geändert. Dies ist ein Klangbeispiel."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Das ausgewählte Modul kann nicht ausgeführt werden."</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Konfigurieren"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Anderes Modul auswählen"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Dieses Sprachsynthesemodul kann den gesamten gesprochenen Text erfassen, einschließlich persönlicher Daten wie Passwörter und Kreditkartennummern. Es ist Teil der Anwendung <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Möchten Sie dieses Sprachsynthesemodul aktivieren?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Module"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>-Einstellungen"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> ist aktiviert."</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> ist deaktiviert."</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Sprachen und Stimmen"</string> + <string name="pico_installed" msgid="2452546687858267414">"Installiert"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Nicht installiert"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Weiblich"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Männlich"</string> <string name="gadget_title" msgid="7455548605888590466">"Energiesteuerung"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Aktualisieren der WLAN-Einstellung"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Aktualisieren der Bluetooth-Einstellung"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Installation der Zugangsdaten"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-Einstellungen"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Mit <xliff:g id="NAME">%s</xliff:g> verbinden"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nutzername:"</string> @@ -958,8 +1043,9 @@ <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(nicht geändert)"</string> <string name="vpn_secret_not_set" msgid="1037792636371641845">"(nicht festgelegt)"</string> <string name="credentials_category" msgid="8536992056377271234">"Anmeldeinformationsspeicher"</string> - <string name="credentials_access" msgid="4843187230913860492">"Sichere Anmeldeinformationen verwenden"</string> - <string name="credentials_access_summary" msgid="319662078718574168">"Anwendungen können sichere Zertifikate und Anmeldeinformationen abrufen."</string> + <string name="credentials_access" msgid="4843187230913860492">"Sichere Anmeldeinfos"</string> + <!-- unknown quoting pattern: original -1, translation 1 --> + <string name="credentials_access_summary" msgid="319662078718574168">"Anwendungen können sichere Zertifikate &amp; Anmeldeinform. abrufen"</string> <string name="credentials_unlock" msgid="1463040326264133844">"Passwort eingeben"</string> <string name="credentials_unlock_hint" msgid="594679530407918031">"Geben Sie das Passwort für den Anmeldeinformationsspeicher ein."</string> <string name="credentials_install_certificates" msgid="177337517568022236">"Von SD-Karte installieren"</string> @@ -980,18 +1066,30 @@ <string name="credentials_passwords_empty" msgid="8647631321684363549">"Sie müssen ein Passwort eingeben und bestätigen."</string> <string name="credentials_password_empty" msgid="8292138152983330473">"Geben Sie das Passwort ein."</string> <string name="credentials_password_too_short" msgid="7502749986405522663">"Das Passwort muss mindestens acht Zeichen lang sein."</string> - <string name="credentials_erased" msgid="7700309135582200849">"Der Speicher für die Anmeldeinformationen wurde gelöscht."</string> + <string name="credentials_erased" msgid="7700309135582200849">"Der Anmeldeinformationsspeicher wurde gelöscht."</string> <string name="credentials_enabled" msgid="7588607413349978930">"Der Anmeldeinformationsspeicher ist aktiviert."</string> <string name="credentials_disabled" msgid="7453188089059045380">"Der Anmeldeinformationsspeicher ist deaktiviert."</string> <string name="emergency_tone_title" msgid="1055954530111587114">"Notfallsignal"</string> <string name="emergency_tone_summary" msgid="722259232924572153">"Verhalten bei einem Notruf festlegen"</string> <string name="privacy_settings" msgid="9206631214140954954">"Datenschutz"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Datenschutzeinstellungen"</string> - <string name="location_section_title" msgid="6072558684044939786">"Standort"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Einstellungen"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Persönliche Daten"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Meine Einstellungen sichern"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Sicherung der Einstellungen"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Möchten Sie wirklich die Sicherung Ihrer Einstellungen beenden und alle Kopien auf den Google-Servern löschen?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Autom. Wiederherst."</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sicherung"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Möchten Sie wirklich die Sicherung Ihrer Einstellungen beenden und alle Kopien auf den Google-Servern löschen?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Einstellungen für die Geräteverwaltung"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Geräteadministrator"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Deaktivieren"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Geräteadministratoren"</string> + <string name="no_device_admins" msgid="702695100241728775">"Keine Geräteadministratoren verfügbar"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Geräteadministrator aktivieren?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Aktivieren"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Geräteadministrator"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Die Aktivierung dieses Administrators ermöglicht der Anwendung <xliff:g id="APP_NAME">%1$s</xliff:g>, folgende Vorgänge auszuführen:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Dieser Administrator ist aktiv und ermöglicht der Anwendung <xliff:g id="APP_NAME">%1$s</xliff:g>, folgende Vorgänge auszuführen:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Unbenannt"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Allgemein"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Eingehende Anrufe"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Benachrichtigungen"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Feedback"</string> </resources> diff --git a/res/values-el-nokeys/strings.xml b/res/values-el-nokeys/strings.xml index d7b90b7..85b73de 100644 --- a/res/values-el-nokeys/strings.xml +++ b/res/values-el-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Διαχείριση εφαρμογών"</string> diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml index dd197b4..5ffc387 100644 --- a/res/values-el/arrays.xml +++ b/res/values-el/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Ιταλικά"</item> <item msgid="5811378076054402537">"Ισπανικά"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Αυτόματο"</item> - <item msgid="5434666299123318296">"Κανένα"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Εταιρικό"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Κανένα"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Εταιρικό"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Αυτόματο"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP δεκαεξαδικός"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Σάρωση..."</item> + <item msgid="8513729475867537913">"Σύνδεση..."</item> + <item msgid="515055375277271756">"Έλεγχος ταυτότητας..."</item> + <item msgid="1943354004029184381">"Λήψη διεύθυνσης IP…"</item> + <item msgid="4221763391123233270">"Συνδεδεμένο"</item> + <item msgid="624838831631122137">"Σε αναστολή"</item> + <item msgid="7979680559596111948">"Αποσύνδεση..."</item> + <item msgid="1634960474403853625">"Αποσυνδέθηκε"</item> + <item msgid="746097431216080650">"Ανεπιτυχής"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Σάρωση..."</item> + <item msgid="355508996603873860">"Σύνδεση σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="554971459996405634">"Έλεγχος ταυτότητας με <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"Λήψη διεύθυνσης IP από <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="8937994881315223448">"Συνδεδεμένο σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Σε αναστολή"</item> + <item msgid="7698638434317271902">"Αποσύνδεση από <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Αποσυνδέθηκε"</item> + <item msgid="8578370891960825148">"Ανεπιτυχής"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Άνοιγμα"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Κακό"</item> + <item msgid="5615082285463430971">"Μέτριο"</item> + <item msgid="3565079809875324621">"Καλό"</item> + <item msgid="5702329417707689835">"Εξαιρετικό"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Όταν η οθόνη απενεργοποιείται"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP ή CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Εσωτερικός χώρος αποθήκευσης της συσκευής"</item> + <item msgid="3738430123799803530">"Αφαιρούμενη κάρτα SD"</item> + <item msgid="4498124044785815005">"Να αποφασίζει το σύστημα"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Πάντα"</item> + <item msgid="6293147072807231256">"Ποτέ"</item> + <item msgid="1276641209451816572">"Μόνο στην αθόρυβη λειτουργία"</item> + <item msgid="8418930333779132418">"Μόνο όταν δεν είναι ενεργή η αθόρυβη λειτουργία"</item> + </string-array> </resources> diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index d61279b..f48f1a1 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Ναι"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Άγνωστο"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Ενεργοποίηση πομπού"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Απενεργοποίηση πομπού"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Ενεργοποίηση αρχείου καταγραφής QXDM SD"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Απενεργοποίηση αρχείου καταγραφής QXDM SD"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Προβολή βιβλίου διευθύνσεων κάρτας SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Προβολή καθορισμένων αριθμών κλήσης"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Προβολή αριθμών κλήσης υπηρεσίας"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Λήψη λίστας PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Ενεργοποίηση σύνδεσης δεδομένων"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Απενεργοποίηση σύνδεσης δεδομένων"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Ενεργοποίηση δεδομένων κατά την εκκίνηση"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Απενεργοποίηση δεδομένων κατά την εκκίνηση"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"Σε υπηρεσία"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Εκτός υπηρεσίας"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Μόνο κλήσεις έκτακτης ανάγκης"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Ανιχνεύσιμο"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Ανιχνεύσιμο για <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> δευτερόλεπτα..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Να γίνει η συσκευή ανιχνεύσιμη"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Κλείδωμα της λειτουργίας φωνητικών κλήσεων"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Να μην επιτρέπεται η χρήση του προγράμματος κλήσης bluetooth όταν η οθόνη είναι κλειδωμένη"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Συσκευές Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Όνομα συσκευής"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Δεν έχει οριστεί όνομα, χρήση ονόματος λογαριασμού"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Αποσυνδέθηκε"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Αποσύνδεση..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Σύνδεση..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Σύζευξη με αυτή τη συσκευή"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Σύζευξη..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Συζευγμένα αλλά όχι συνδεδεμένα"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IpAddr:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Εκτέλεση εντολής ping σε όνομα κεντρικού υπολογιστή (www.google.gr):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Δοκιμή HTTP πελάτη:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Ενεργοποίηση κρυπτογράφησης"</string> <string name="ping_test_label" msgid="7255376471490860631">"Εκτέλεση δοκιμής ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Ενημέρωση"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Ανανέωση"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Αλλαγή ελέγχου DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Πληροφορίες/ρυθμίσεις για OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Ορισμός ζώνης GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Φόρτωση λίστας ζωνών..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Ορισμός"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Ορισμός του \"Η τοποθεσία μου\", ξεκλειδώματος οθόνης, κλειδώματος κάρτας SIM, κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ορισμός του \"Η τοποθεσία μου\", του ξεκλειδώματος οθόνης και του κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Κωδικοί πρόσβασης"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Ασφάλεια ξεκλειδώματος οθόνης"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ρύθμιση κλειδώματος οθόνης"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Κλειδώστε την οθόνη με ένα μοτίβο, ένα PIN ή έναν κωδικό πρόσβασης"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Αλλαγή του κλειδώματος οθόνης"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Αλλαγή ή απενεργοποίηση ασφάλειας μοτίβου, PIN ή κωδικού πρόσβασης"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Καμία"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Απενεργοποίηση της ασφάλειας ξεκλειδώματος οθόνης"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Μοτίβο"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Σχεδιάστε το μοτίβο για να ξεκλειδώσετε την οθόνη"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Αριθμός PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Εισαγάγετε ένα αριθμητικό PIN για να ξεκλειδώσετε την οθόνη"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Κωδικός πρόσβασης"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Εισαγάγετε έναν κωδικό πρόσβασης για να ξεκλειδώσετε την οθόνη"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Απενεργοποιήθηκε από το διαχειριστή του απομακρυσμένου τηλεφώνου"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Απενεργοποίηση κλειδώματος οθόνης"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Κατάργηση μοτίβου ξεκλειδώματος"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Κατάργηση αριθμού PIN ξεκλειδώματος"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Κατάργηση κωδικού πρόσβασης ξεκλειδώματος"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Αλλαγή μοτίβου ξεκλειδώματος"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Αλλαγή αριθμού PIN ξεκλειδώματος"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Αλλαγή κωδικού πρόσβασης ξεκλειδώματος"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον %d χαρακτήρες"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Ο αριθμός PIN πρέπει να έχει τουλάχιστον %d χαρακτήρες"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Πατήστε \"Συνέχεια\" όταν τελειώσετε"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Συνέχεια"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Ο αριθμός PIN δεν μπορεί να υπερβαίνει τα %d ψηφία"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Ο αριθμός PIN δεν μπορεί να υπερβαίνει τα %d ψηφία"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Ο αριθμός PIN πρέπει να περιέχει μόνο ψηφία από το 0 έως το 9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Ο κωδικός πρόσβασης περιέχει ένα μη έγκυρο χαρακτήρα"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"O κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον ένα γράμμα"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον ένα ψηφίο"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"O κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον ένα σύμβολο"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"ΟΚ"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Ακύρωση"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Διαχείριση συσκευής"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Επιλογή διαχειριστών συσκευών"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Προσθήκη ή κατάργηση διαχειριστών συσκευών"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Ενεργοποίηση Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Ρυθμίσεις Bluetooth"</string> @@ -263,7 +296,7 @@ <string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"Ανίχνευση για συσκευές"</string> <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"Σύνδεση"</string> <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"Αποσύνδεση"</string> - <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"Σύζευξη & σύνδεση"</string> + <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"Σύζευξη και σύνδεση"</string> <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"Διακοπή σύζευξης"</string> <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"Αποσύνδεση & διακοπή σύζευξης"</string> <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Επιλογές..."</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Ως τηλέφωνο ανοιχτής συνομιλίας"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Για μουσική και πολυμέσα"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Διατήρηση ρυθμίσεων"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Ενεργοποίηση Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Ρυθμίσεις Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Ρυθμίσεις Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Ορισμός & διαχείριση ασύρματων σημείων πρόσβασης"</string> - <string name="forget_network" msgid="4718015029995727138">"Να διαγραφεί από τη μνήμη"</string> - <string name="wifi_status" msgid="4824568012414605414">"Κατάσταση"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Ταχύτητα"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Εξαιρετικό"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Καλό"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Μέτρια"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Κακό"</string> - <string name="security" msgid="1040691896987225267">"Ασφάλεια"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Άνοιγμα"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Εταιρία(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Άγνωστο"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"ανοικτό δίκτυο"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"ασφαλισμένο με WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"ασφαλισμένο με WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"ασφαλισμένο με 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Διεύθυνση IP"</string> - <string name="signal" msgid="1947969631626413228">"Ισχύς σήματος"</string> <string name="wifi_starting" msgid="6710266609710860129">"Ενεργοποίηση..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Απενεργοποίηση..."</string> <string name="wifi_error" msgid="3207971103917128179">"Σφάλμα"</string> - <string name="error_starting" msgid="4055163089721254078">"Δεν είναι δυνατή η εκκίνηση του Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Δεν είναι δυνατή η διακοπή του Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"Δεν είναι δυνατή η ανίχνευση για δίκτυα"</string> - <string name="error_connecting" msgid="1981882310590509609">"Δεν είναι δυνατή η σύνδεση στο δίκτυο"</string> - <string name="error_saving" msgid="8294279443961615302">"Δεν είναι δυνατή η αποθήκευση του δικτύου"</string> - <string name="connect" msgid="3079076576295839400">"Σύνδεση"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Σύνδεση σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Μέθοδος EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"2η φάση ελέγχου ταυτότητας"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Ταυτότητα"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Ανώνυμη ταυτότητα"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Πιστοποιητικό πελάτη"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Πιστοποιητικό CA"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Κωδικός πρόσβασης ασύρματου"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Δεκαεξαδικό κλειδί WEP (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Εμφάνιση κωδικού πρόσβασης."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Σάρωση"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Εκτός εμβέλειας"</string> - <string name="summary_remembered" msgid="6079941090549401742">"διατηρήθηκε"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Η σύνδεση δεν ήταν επιτυχής, αγγίξτε για να προσπαθήσετε ξανά"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Δίκτυα Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Δίκτυο SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"Ασφάλεια"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Αποθ/ση"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(δεν έγινε αλλαγή)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Προσθήκη δικτύου Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"Στη λειτουργία πτήσης"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Δεν είναι δυνατή η σάρωση για δίκτυα"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Ειδοποίηση δικτύου"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Να ειδοποιούμαι όταν υπάρχει διαθέσιμο ανοικτό δίκτυο"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Ο κωδικός πρόσβασης δικτύου που πληκτρολογήσατε είναι εσφαλμένος. Προσπαθήστε ξανά."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Παρουσιάστηκε ένα πρόβλημα κατά τη σύνδεση στο δίκτυο. Προσπαθήστε ξανά."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Προσθήκη δικτύου Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Δίκτυα Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Σάρωση"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Σύνθετα"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ρυθμίσεις IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Αποθ/ση"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Ακύρωση"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Πληκτρολογήστε μια έγκυρη διεύθυνση IP."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Χρήση στατικής διεύθυνσης IP"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Σύνδεση στο δίκτυο"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Διαγραφή δικτύου από τη μνήμη"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Τροποποίηση δικτύου"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Δίκτυο SSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"Ασφάλεια"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Ισχύς σήματος"</string> + <string name="wifi_status" msgid="4824568012414605414">"Κατάσταση"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Ταχύτητα σύνδεσης"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Διεύθυνση IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Πύλη"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Μάσκα δικτύου"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Σύνδεση στο δίκτυο"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Διαγραφή δικτύου από τη μνήμη"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Αλλαγή κωδικού πρόσβασης"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Μέθοδος EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"2η φάση ελέγχου ταυτότητας"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Πιστοποιητικό CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Πιστοποιητικό χρήστη"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Ταυτότητα"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Ανώνυμη ταυτότητα"</string> + <string name="wifi_password" msgid="5948219759936151048">"Κωδικός πρόσβασης"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Εμφάνιση κωδικού πρόσβασης."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(δεν έγινε αλλαγή)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(δεν έχει καθοριστεί)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Δίκτυο που έχει διατηρηθεί"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Απενεργοποιημένο"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Εκτός εμβέλειας"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Ασφαλισμένο με <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, ασφαλισμένο με <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Σύνδεση"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Να διαγραφεί από τη μνήμη"</string> + <string name="wifi_save" msgid="3331121567988522826">"Αποθήκευση"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Ακύρωση"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Σύνθετα"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Κανονιστικός τομέας"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Ορισμός του αριθμού καναλιών για χρήση"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Ορισμός εναλλαγής από δεδομένα Wi-Fi σε δεδομένα κινητού"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Παρουσιάστηκε ένα πρόβλημα κατά τη ρύθμιση της πολιτικής κατάστασης αδράνειας."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Διεύθυνση MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Σάρωση..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Σύνδεση σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Έλεγχος ταυτότητας με <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Λήψη διεύθυνσης IP από <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Συνδεδεμένο σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Αποσύνδεση από <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Αποσυνδέθηκε"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Ανεπιτυχής"</string> - <string name="status_scanning" msgid="8402178267165567371">"Ανίχνευση..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Σύνδεση..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Έλεγχος ταυτότητας..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Λήψη διεύθυνσης..."</string> - <string name="status_connected" msgid="8175694029067954271">"Συνδεδεμένο"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Αποσύνδεση..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Αποσυνδέθηκε"</string> - <string name="status_failed" msgid="610462050405904601">"Ανεπιτυχής"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Ήχος και εικόνα"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Ρυθμίσεις ήχου & προβολής"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ρυθμίσεις IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Αποθ/ση"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Ακύρωση"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Πληκτρολογήστε μια έγκυρη διεύθυνση IP."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Χρήση στατικής διεύθυνσης IP"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Πύλη"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Μάσκα δικτύου"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Φορητό σημείο πρόσβασης Wi-Fi"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Το φορητό σημείο πρόσβασης <xliff:g id="NETWORK_SSID">%1$s</xliff:g> είναι ενεργό"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Σφάλμα φορητού σημείου πρόσβασης Wi-Fi"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Ρυθμίσεις φορητού σημείου πρόσβασης Wi-Fi"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Ρύθμιση και διαχείριση φορητού σημείου πρόσβασης Wi-Fi"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Ρυθμίσεις φορητού σημείου πρόσβασης Wi-Fi"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Διαμόρφωση σημείου πρόσβασης Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> φορητό σημείο πρόσβασης Wi-Fi"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Ήχος"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Προβολή"</string> <string name="sound_settings" msgid="5007659014828162881">"Ρυθμίσεις ήχου"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Ρύθμιση ήχων κλήσης, ειδοποιήσεων, φωτεινότητας οθόνης"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Λειτουργία σίγασης"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Όλοι οι ήχοι εκτός των πολυμέσων & ξυπνητηριών έχουν σιγασθεί"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Σίγαση όλων των ήχων εκτός από τα μέσα και τις ειδοποιήσεις"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Όλοι οι ήχοι εκτός από τους ήχους πολυμέσων έχουν σιγασθεί"</string> <string name="ringtone_title" msgid="5379026328015343686">"Ήχος κλήσης τηλεφώνου"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Ορισμός του προεπιλεγμένου ήχου κλήσης εισερχόμενης κλήσης"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Ένταση ήχου"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Ένταση ειδοποίησης ήχου"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Ορισμός έντασης ήχου για εισερχόμενες κλήσεις και ειδοποιήσεις"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Δόνηση τηλεφώνου"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Δόνηση τηλεφώνου για εισερχόμενες κλήσεις"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Δόνηση στο αθόρυβο"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Να επιτρέπεται η ανάδραση με δόνηση στην αθόρυβη λειτουργία"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Δόνηση"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Ανάδραση με δόνηση για κλήσεις και ειδοποιήσεις"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Ήχος κλήσης ειδοποίησης"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Ορισμός του προεπιλεγμένου ήχου κλήσης ειδοποίησης"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Φωτεινός παλμός ειδοποίησης"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Επαναλαμβανόμενος παλμός φωτεινής ένδειξης του trackball για νέες ειδοποιήσεις"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Ένταση ήχου εισερχόμενης κλήσης"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Ένταση ήχου ειδοποίησης"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ήχος κλήσης"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Ειδοποίηση"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Χρήση έντασης ήχου εισερχόμενης κλήσης για ειδοποιήσεις"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Επιλογή ήχου κλήσης ειδοποίησης"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Ένταση ήχου πολυμέσων"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Μέσα"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Ορισμός έντασης ήχου για μουσική και βίντεο"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Ξυπνητήρι"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Ρυθμίσεις ήχου για τη συνδεδεμένη βάση σύνδεσης αυτοκινήτου"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Ήχοι αγγίγματος οθόνης"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Αναπαραγωγή ήχων κατά τη χρήση του πληκτρολογίου κλήσης"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Ηχητική επιλογή"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Αναπαραγωγή ήχου κατά την πραγματοποίηση επιλογής στην οθόνη"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Αναπαραγωγή ήχου κατά την πραγματοποίηση επιλογής στην οθόνη"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Ήχοι κλειδώματος οθόνης"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Αναπαραγωγή ήχων κατά το κλείδωμα και το ξεκλείδωμα της οθόνης"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Αναπαραγωγή ήχων κατά το κλείδωμα και το ξεκλείδωμα της οθόνης"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Απτικά σχόλια"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Δόνηση κατά το πάτημα μαλακών πλήκτρων και σε συγκεκριμένες αλληλεπιδράσεις της επιφάνειας UI"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Δόνηση κατά το πάτημα μαλακών πλήκτρων και σε συγκεκριμένες αλληλεπιδράσεις της επιφάνειας UI"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Ειδοποιήσεις κάρτας SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Αναπαραγωγή ήχου για τις προειδοποιήσεις κάρτας SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Αναπαραγωγή ήχου για τις προειδοποιήσεις κάρτας SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Εξουδετέρωση θορύβου"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Εξάλειψη θορύβου παρασκηνίου κατά τη διάρκεια ομιλίας ή εγγραφής."</string> <string name="dock_settings" msgid="1820107306693002541">"Βάση σύνδεσης"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Ρυθμίσεις για τη συνδεδεμένη βάσης σύνδεσης"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Η βάση σύνδεσης δεν βρέθηκε"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Το τηλέφωνο πρέπει να βρίσκεται στη βάση σύνδεσής του για τη διαμόρφωση του ήχου βάσης σύνδεσης"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Ήχος εισαγωγής στη βάση σύνδεσης"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Να αναπαράγεται ήχος κατά την εισαγωγή ή εξαγωγή του τηλεφώνου από τη βάση σύνδεσης"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Να μην αναπαράγεται ήχος κατά την εισαγωγή ή εξαγωγή του τηλεφώνου από τη βάση σύνδεσης"</string> <string name="sync_settings" msgid="9186125469300013491">"Λογαριασμοί & συγχρονισμός"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Προσθήκη ή κατάργηση λογαριασμών και αλλαγή ρυθμίσεων λογαριασμού"</string> <string name="search_settings" msgid="1910951467596035063">"Αναζήτηση"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Κίνηση"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Προβολή κινούμενης εικόνας κατά το άνοιγμα & κλείσιμο παραθύρων"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Προβολή κινούμενης εικόνας κατά το άνοιγμα & κλείσιμο παραθύρων"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Προσανατολισμός"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Αυτόματη περιστροφή οθόνης"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Αυτόματη εναλλαγή προσανατολισμού κατά την περιστροφή του τηλεφώνου"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Αυτόματη εναλλαγή προσανατολισμού κατά την περιστροφή του τηλεφώνου"</string> <string name="brightness" msgid="2354961343555249270">"Φωτεινότητα"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Ακύρωση"</string> <string name="device_info_settings" msgid="475872867864762157">"Κατάσταση τηλεφώνου"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Ενημερώσεις συστήματος"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Έλεγχος για ενημερώσεις συστήματος"</string> - <string name="firmware_version" msgid="6284872163051667788">"Έκδοση firmware"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Έκδοση Android"</string> <string name="model_number" msgid="3765737700545384794">"Αριθμός μοντέλου"</string> <string name="baseband_version" msgid="1848990160763524801">"Έκδοση βασικού φάσματος"</string> <string name="kernel_version" msgid="9192574954196167602">"Έκδοση Kernel"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Συνολικός χώρος"</string> <string name="sd_eject" msgid="6915293408836853020">"Αφαίρεση κάρτας SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Αποπροσαρτήστε την κάρτα SD για ασφαλή αφαίρεση"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Εισαγάγετε μια κάρτα SD για τοποθέτηση"</string> + <string name="sd_mount" msgid="5940523765187704135">"Τοποθέτηση κάρτας SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Τοποθέτηση κάρτας SD"</string> <string name="sd_format" msgid="5448738337382712203">"Διαμόρφωση κάρτας SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Διαμόρφωση (διαγραφή) της κάρτας SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Μη διαθέσιμο"</string> <string name="read_only" msgid="6702420168629076340">" (Μόνο για ανάγνωση)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Αφαίρεση κάρτας SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Εάν αφαιρέσετε την κάρτα SD, ορισμένες από τις εφαρμογές που χρησιμοποιείτε θα σταματήσουν και ενδέχεται να μην είναι διαθέσιμες μέχρι να την τοποθετήσετε ξανά."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Η αφαίρεση της κάρτας SD απέτυχε"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Δεν είναι δυνατή η αφαίρεση της κάρτας SD. Προσπαθήστε ξανά αργότερα."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"Η κάρτα SD θα αφαιρεθεί. Ελέγξτε την περιοχή ειδοποιήσεων για πληροφορίες κατάστασης."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Αφαίρεση"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Αφαίρεση σε εξέλιξη"</string> <string name="battery_status_title" msgid="9159414319574976203">"Κατάσταση μπαταρίας"</string> <string name="battery_level_title" msgid="2965679202786873272">"Επίπεδο μπαταρίας"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -524,7 +547,7 @@ <string name="apn_password" msgid="5412301994998250968">"Κωδικός πρόσβασης"</string> <string name="apn_server" msgid="2436185314756372858">"Διακομιστής"</string> <string name="apn_mmsc" msgid="3670124402105585737">"MMSC"</string> - <string name="apn_mms_proxy" msgid="5374082621073999275">"διακομιστής μεσολάβησης MMS"</string> + <string name="apn_mms_proxy" msgid="5374082621073999275">"Διακομιστής μεσολάβησης MMS"</string> <string name="apn_mms_port" msgid="4074188088199243040">"Θύρα MMS"</string> <string name="apn_mcc" msgid="4258628382260674636">"MCC"</string> <string name="apn_mnc" msgid="8629374076888809874">"MNC"</string> @@ -565,6 +588,20 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Πρέπει να σχεδιάσετε το μοτίβο ξεκλειδώματος για επιβεβαίωση διαμόρφωσης μιας κάρτας SD."</string> <string name="call_settings_title" msgid="5188713413939232801">"Ρυθμίσεις κλήσης"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Ορισμ.αυτόμ.τηλεφ., προώθ.κλήσης, αναμ.κλήσης, αναγν.κλήσ."</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Φορητό σημείο πρόσβασης"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering και φορητό σημείο πρόσβασης"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Μοιραστείτε τη σύνδεση δεδομένων του κινητού σας τηλεφώνου μέσω USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Μοιραστείτε τη σύνδεση του κινητού σας τηλεφώνου ως φορητό σημείο πρόσβασης Wi-Fi"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Μοιραστείτε τη σύνδεση δεδομένων του κινητού σας τηλεφώνου μέσω USB ή ως φορητό σημείο πρόσβασης Wi-Fi"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Σύνδεση μέσω κινητής συσκευής με USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"To USB είναι συνδεδεμένο, επιλέξτε για σύνδεση μέσω κινητής συσκευής"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Συνδέθηκε"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Δεν είναι δυνατή η σύνδεση μέσω κινητής συσκευής όταν ο αποθηκευτικός χώρος USB χρησιμοποιείται"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Το USB δεν συνδέθηκε"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Σφάλμα της σύνδεσης μέσω κινητής συσκευής με USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Βοήθεια"</string> <string name="network_settings_title" msgid="7967552516440151852">"Δίκτυα κινητής τηλεφωνίας"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Ορισμός επιλογών για περιαγωγή, δίκτυα, APN"</string> <string name="location_title" msgid="1029961368397484576">"Η τοποθεσία μου"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Χρήση υποβοηθούμενου GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Χρήση διακομιστή για βοήθεια GPS (αποεπιλογή για να μειώσετε τη χρήση του δικτύου)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Χρήση διακομιστή για βοήθεια του GPS (αποεπιλογή για βελτίωση της απόδοσης του GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Χρήση της τοποθεσίας μου"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Χρήση της Τοποθεσίας μου για τα αποτελέσματα αναζήτησης Google και τις υπόλοιπες υπηρεσίες Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Θέλετε να επιτρέψετε στο Google να χρησιμοποιήσει πληροφορίες τοποθεσίας για καλύτερα αποτελέσματα αναζήτησης και άλλες υπηρεσίες;"</string> - <string name="agree" msgid="6288718671527758326">"Συμφωνώ"</string> - <string name="disagree" msgid="6221069272309799230">"Διαφωνώ"</string> <string name="about_settings" msgid="1743378368185371685">"Σχετικά με το τηλέφωνο"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Προβ.νομ.πληροφ., κατάστ.τηλεφ., έκδ.λογισμ."</string> <string name="legal_information" msgid="5769301644270604095">"Νομικές πληροφορίες"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Πληροφορίες ασφάλειας"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Το τηλέφωνό σας δεν είναι συνδεδεμένο σε υπηρεσία δεδομένων. Για να προβάλετε αυτές τις πληροφορίες τώρα, μεταβείτε στο %s από οποιονδήποτε υπολογιστή με σύνδεση στο Διαδίκτυο."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Φόρτωση..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Μοτίβο ξεκλειδώματος οθόνης"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Επιλέξτε τον κωδικό πρόσβασης"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Επιλέξτε τον αριθμό PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Επιβεβαιώστε τον κωδικό πρόσβασης"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Επιβεβαιώστε τον αριθμό PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Οι κωδικοί πρόσβασης δεν ταιριάζουν"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Οι αριθμοί PIN δεν ταιριάζουν"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Ο κωδικός πρόσβασης έχει οριστεί"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Ο αριθμός PIN έχει οριστεί"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Το μοτίβο έχει οριστεί"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Ξεκλείδωμα οθόνης"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Αλλαγή μοτίβου ξεκλειδώματος"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Αλλαγή αριθμού PIN ξεκλειδώματος"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Επιβεβαίωση αποθηκευμένου μοτίβου"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Προσπαθήστε ξανά:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Σχεδίαση μοτίβου ξεκλειδώματος"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Διαχείριση εφαρμογών, ορισμός συντομεύσεων γρήγορης εκκίνησης"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Ρυθμίσεις εφαρμογών"</string> <string name="install_applications" msgid="4872012136210802181">"Άγνωστες πηγές"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Επιτρ.την εγκατ.εφαρμ.που δεν βρίσκ.στο Android Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Επιτρέπει την εγκατάσταση εφαρμογών που δεν βρίσκονται στο Android Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"Το τηλέφωνό σας και τα προσωπικά δεδομένα σας είναι ευάλωτα σε επιθέσεις από εφαρμογές που προέρχονται από άγνωστες πηγές. Συμφωνείτε ότι είστε οι μοναδικοί υπεύθυνοι για κάθε ζημιά στο τηλέφωνο ή για απώλεια δεδομένων που ενδέχεται να προκύψουν από τη χρήση τέτοιων εφαρμογών."</string> <string name="application_info_label" msgid="1150486628158409543">"Πληροφορίες εφαρμογής"</string> <string name="storage_label" msgid="8700867073480107253">"Αποθηκευτικός χώρος"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Όλα"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Η λήψη ολοκληρώθηκε"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Εκτελείται"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Στην κάρτα SD"</string> <string name="loading" msgid="3200408047793887917">"Φόρτωση..."</string> <string name="recompute_size" msgid="7722567982831691718">"Εκ νέου υπολογισμός μεγέθους..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Διαγραφή"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Δεν είναι δυνατός ο υπολογισμός του μεγέθους του πακέτου"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Δεν έχετε εγκαταστήσει εφαρμογές τρίτων μερών."</string> <string name="version_text" msgid="9189073826278676425">"έκδοση <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Μετακίνηση"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Μετακίνηση στο τηλέφωνο"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Μετακίνηση στην κάρτα SD"</string> + <string name="moving" msgid="6431016143218876491">"Μετακίνηση"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Ο διαθέσιμος χώρος αποθήκευσης δεν επαρκεί."</string> + <string name="does_not_exist" msgid="837163572898468245">"Η εφαρμογή δεν υπάρχει."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Η εφαρμογή διαθέτει προστασία αντιγραφής."</string> + <string name="invalid_location" msgid="4934491353200240499">"Η καθορισμένη τοποθεσία εγκατάστασης δεν είναι έγκυρη."</string> + <string name="system_package" msgid="1030561474413022831">"Δεν είναι δυνατή η αποθήκευση των ενημερώσεων συστήματος σε εξωτερικά μέσα."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Αναγκαστική διακοπή"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Θα γίνει αμέσως επανεκκίνηση αυτής της εφαρμογής. Είστε βέβαιοι ότι θέλετε να γίνει διακοπή;"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Μετακίνηση εφαρμογής"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Η μετακίνηση της εφαρμογής απέτυχε. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Προτιμώμενη θέση εγκατάστασης"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Αλλαγή της προτιμώμενης θέσης εγκατάστασης για νέες εφαρμογές."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Υπηρεσίες που εκτελούνται"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Προβολή και έλεγχος των εφαρμογών που εκτελούνται αυτή τη στιγμή"</string> <string name="service_restarting" msgid="2242747937372354306">"Γίνεται επανεκκίνηση"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Ορισμ.τοπ.ρυθμ.(γλώσσα και περιοχή), είσ.κειμ.και επιλ.αυτόμ.διόρθ."</string> <string name="language_category" msgid="3391756582724541530">"Τοπικές ρυθμίσεις"</string> <string name="text_category" msgid="6342540511465136739">"Ρυθμίσεις κειμένου"</string> - <string name="phone_language" msgid="2138384312336494991">"Επιλογή τοπικών ρυθμίσεων"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Επιλογή γλώσσας και περιοχής"</string> + <string name="phone_language" msgid="1165758957501090679">"Επιλογή γλώσσας"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Αυτόματη αντικατάσταση"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Διόρθωση εσφαλμένα πληκτρολογημένων λέξεων"</string> <string name="auto_caps" msgid="581633131114124121">"Αυτόματη χρήση κεφαλαίων"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Η μέθοδος εισόδου ενδέχεται να έχει τη δυνατότητα συλλογής όλων των κειμένων που πληκτρολογείτε, συμπεριλαμβανομένων προσωπικών δεδομένων όπως κωδικοί πρόσβασης και αριθμοί πιστωτικής κάρτας. Προέρχεται από την εφαρμογή <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Να γίνει χρήση αυτής της μεθόδου εισόδου;"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Λεξικό χρήστη"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Λεξικό χρήστη"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Προσθήκη & κατάργηση λέξεων από το λεξικό χρήστη"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Προσθήκη"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Προσθήκη στο λεξικό"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Επεξεργασία λέξης"</string> @@ -738,7 +796,7 @@ <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Συντομεύσεις"</string> <string name="input_methods_settings_title" msgid="6800066636850553887">"Είσοδος κειμένου"</string> <string name="input_methods_settings_summary" msgid="7571173442946675205">"Διαχείριση επιλογών εισόδου κειμένου"</string> - <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> ρυθμίσεις"</string> + <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ρυθμίσεις <xliff:g id="IME_NAME">%1$s</xliff:g>"</string> <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ρυθμίσεις πληκτρολογίου οθόνης"</string> <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Πληκτρολόγιο συσκευής"</string> <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Ενσωματωμένες ρυθμίσεις πληκτρολογίου"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Καμία εγκατεστημένη υπηρεσία προσβασιμότητας."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Αυτή η υπηρεσία προσβασιμότητας ενδέχεται να έχει τη δυνατότητα συλλογής όλων των κειμένων που πληκτρολογείτε, συμπεριλαμβανομένων των προσωπικών δεδομένων και των αριθμών πιστωτικών καρτών εκτός των κωδικών πρόσβασης. Ενδέχεται επίσης να καταγράφει τις δραστηριότητες της επιφάνειας χρήστη. Αυτή η λειτουργία προέρχεται από την εφαρμογή <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Να χρησιμοποιηθεί αυτή η υπηρεσία προσβασιμότητας;"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Να απενεργοποιηθεί η προσβασιμότητα;"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Δεν βρέθηκαν εφαρμογές που σχετίζονται με δυνατότητα πρόσβασης"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Δεν έχετε δυνατότητα πρόσβασης που να σχετίζεται με εγκατεστημένες εφαρμογές."\n\n"Μπορείτε να κάνετε λήψη ενός προγράμματος ανάγνωσης οθόνης για τη συσκευή σας από το Android Market."\n\n"Κάντε κλικ στην επιλογή \"OK\" για να εγκαταστήσετε το πρόγραμμα εγκατάστασης οθόνης."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Κουμπί λειτουργίας"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Το κουμπί λειτουργίας τερματίζει τις κλήσεις"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Κατά τη διάρκεια μιας κλήσης, το πάτημα του κουμπιού λειτουργίας τερματίζει τις κλήσεις αντί να απενεργοποιεί την οθόνη"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Χρήση μπαταρίας"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Τι χρησιμοποιούσε την μπαταρία"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Χρήση μπαταρίας από τη στιγμή της αποσύνδεσης από την τροφοδοσία"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Ανανέωση"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Λειτουργικό σύστημα Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string> - <string name="tts_settings" msgid="3348626948015962987">"Κείμενο σε λόγο"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Ορισμός επιλογών κειμένου σε λόγο"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Φωνητική είσοδος και έξοδος"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Ρυθμίσεις φωνητικής εισόδου και εξόδου"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Αναζήτηση με φωνή"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Πληκτρολόγιο Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Φωνητική είσοδος"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Φωνητική έξοδος"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Αναγνώριση φωνής"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Ρυθμίσεις αναγνώρισης ομιλίας"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Ρυθμίσεις για \"<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\""</string> + <string name="tts_settings" msgid="8186971894801348327">"Ρυθμίσεις μετατροπής κειμένου σε ομιλία"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Ρυθμίσεις κειμένου σε λόγο"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Χρήση των ρυθμίσεών μου πάντα"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Οι παρακάτω προεπιλεγμένες ρυθμίσεις αντιγράφουν τις ρυθμίσεις της εφαρμογής"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Προεπιλεγμένες ρυθμίσεις"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Προεπιλεγμένη μηχανή"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Ρυθμίζει τη μηχανή σύνθεσης ομιλίας προκειμένου να χρησιμοποιείται για κείμενο που εκφέρεται"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Ταχύτητα λόγου"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Ταχύτητα με την οποία εκφωνείται το κείμενο"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Τόνος"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Οι φωνές που απαιτούνται για τη σύνθεση λόγου έχουν ήδη εγκατασταθεί σωστά"</string> <string name="tts_demo" msgid="405357591189935876">"Αυτό είναι ένα παράδειγμα σύνθεσης λόγου."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Οι ρυθμίσεις σας άλλαξαν. Το παρόν είναι ένα παράδειγμα του ήχου τους."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Δεν είναι δυνατή η λειτουργία της μηχανής που επιλέξατε"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Διαμόρφωση"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Επιλέξτε μια άλλη μηχανή"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Αυτή η μηχανή σύνθεσης ομιλίας μπορεί να συγκεντρώσει όλο το κείμενο που θα εκφωνηθεί, συμπεριλαμβανομένων προσωπικών δεδομένων όπως οι κωδικοί πρόσβασης και οι αριθμοί πιστωτικών καρτών. Προέρχεται από τη μηχανή <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Να ενεργοποιηθεί η μηχανή σύνθεσης ομιλίας;"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Μηχανές"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Ρυθμίσεις <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"Η επιλογή <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> είναι ενεργοποιημένη"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"Η επιλογή <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> είναι απενεργοποιημένη"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Γλώσσες και φωνές"</string> + <string name="pico_installed" msgid="2452546687858267414">"Εγκαταστάθηκε"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Δεν έχει εγκατασταθεί"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Γυναίκα"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Άντρας"</string> <string name="gadget_title" msgid="7455548605888590466">"Έλεγχος ισχύος"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Ενημέρωση ρύθμισης Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Ενημέρωση ρύθμισης Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Πρόγραμμα εγκατάστασης διαπιστευτηρίων"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Ρυθμίσεις VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Σύνδεση στο <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Όνομα χρήστη:"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Ορισμός συμπεριφοράς κατά την πραγματοποίηση κλήσης επείγουσας ανάγκης"</string> <string name="privacy_settings" msgid="9206631214140954954">"Απόρρητο"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Ρυθμίσεις απορρήτου"</string> - <string name="location_section_title" msgid="6072558684044939786">"Τοποθεσία"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Ρυθμίσεις"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Προσωπικά δεδομένα"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Δημιουργία αντιγράφων ασφαλείας για τις ρυθμίσεις μου"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Αντίγραφο ασφαλείας ρυθμίσεων"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Είστε βέβαιοι ότι θέλετε να διακόψετε τη δημιουργία αντιγράφων ασφαλείας των ρυθμίσεών σας και να διαγράψετε όλα τα αντίγραφα από τους διακομιστές του Google;"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Αυτόματη επαναφορά"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Αντίγραφο ασφαλείας"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Είστε βέβαιοι ότι θέλετε να διακόψετε τη δημιουργία αντιγράφων ασφαλείας των ρυθμίσεων και των δεδομένων εφαρμογών σας και να διαγράψετε όλα τα αντίγραφα από τους διακομιστές της Google;"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Ρυθμίσεις διαχείρισης συσκευής"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Διαχειριστής συσκευής"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Απενεργοποίηση"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Διαχειριστές συσκευών"</string> + <string name="no_device_admins" msgid="702695100241728775">"Δεν υπάρχουν διαθέσιμοι διαχειριστές συσκευών"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Ενεργοποίηση διαχειριστή συσκευής;"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Ενεργοποίηση"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Διαχειριστής συσκευής"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Η ενεργοποίηση αυτού του διαχειριστή θα επιτρέψει στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να εκτελέσει τις ακόλουθες λειτουργίες:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Αυτός ο διαχειριστής είναι ενεργός και επιτρέπει στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να εκτελέσει τις ακόλουθες λειτουργίες:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Χωρίς τίτλο"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Γενικές"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Εισερχόμενες κλήσεις"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Ειδοποιήσεις"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Σχόλια"</string> </resources> diff --git a/res/values-es-nokeys/strings.xml b/res/values-es-nokeys/strings.xml index 57b1582..308debb 100644 --- a/res/values-es-nokeys/strings.xml +++ b/res/values-es-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Administrar aplicaciones"</string> diff --git a/res/values-es-rUS-nokeys/strings.xml b/res/values-es-rUS-nokeys/strings.xml index 57b1582..308debb 100644 --- a/res/values-es-rUS-nokeys/strings.xml +++ b/res/values-es-rUS-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Administrar aplicaciones"</string> diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml index 61337e5..099f3fc 100644 --- a/res/values-es-rUS/arrays.xml +++ b/res/values-es-rUS/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiano"</item> <item msgid="5811378076054402537">"Español"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automáticamente"</item> - <item msgid="5434666299123318296">"Ninguno"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"Empresa 802.1x"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Ninguno"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"Empresa 802.1x"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automáticamente"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP hexadecimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Explorando..."</item> + <item msgid="8513729475867537913">"Conectando…"</item> + <item msgid="515055375277271756">"Autenticando…"</item> + <item msgid="1943354004029184381">"Obteniendo la dirección IP…"</item> + <item msgid="4221763391123233270">"Conectado"</item> + <item msgid="624838831631122137">"Suspendido"</item> + <item msgid="7979680559596111948">"Desconectando…"</item> + <item msgid="1634960474403853625">"Desconectado"</item> + <item msgid="746097431216080650">"Incorrecto"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Explorando..."</item> + <item msgid="355508996603873860">"Conectando a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="554971459996405634">"Autenticando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"Obteniendo dirección IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="8937994881315223448">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Suspendido"</item> + <item msgid="7698638434317271902">"Desconectando de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Desconectado"</item> + <item msgid="8578370891960825148">"Incorrecto"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Abierta"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Baja calidad"</item> + <item msgid="5615082285463430971">"Aceptable"</item> + <item msgid="3565079809875324621">"Bueno"</item> + <item msgid="5702329417707689835">"Excelente"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Cuando se apaga la pantalla"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP o CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Dispositivo de almacenamiento interno"</item> + <item msgid="3738430123799803530">"Tarjeta SD desmontable"</item> + <item msgid="4498124044785815005">"Dejar que el sistema decida"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Siempre"</item> + <item msgid="6293147072807231256">"Nunca"</item> + <item msgid="1276641209451816572">"Sólo en modo silencioso"</item> + <item msgid="8418930333779132418">"Sólo cuando no esté en modo silencioso."</item> + </string-array> </resources> diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 67fa3d0..99f6569 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Sí"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Desconocido"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Encender la radio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Apagar la radio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Activar el registro SD de QXDM"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Desactivar el registro SD de QXDM"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Ver libreta de direcciones de SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números fijos"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números del servicio técnico"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obtener lista PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Activar la conexión de datos"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Desactivar conexión de datos"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Activar datos durante el reinicio"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Desactivar datos durante el reinicio"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"En servicio"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Fuera de servicio"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Sólo llamadas de emergencia"</string> @@ -73,7 +68,7 @@ <string name="battery_info_screen_on" msgid="376277447175613889">"Hora de Encendido de la pantalla:"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Desconocido"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Cargando"</string> - <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(AC)"</string> + <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(CA)"</string> <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string> <string name="battery_info_status_discharging" msgid="6222697503392774475">"Descargando"</string> <string name="battery_info_status_not_charging" msgid="2820070506621483576">"No se realiza la carga"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Visible"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Visible durante <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> segundos…"</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Hacer que el dispositivo sea visible"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Bloquear marcación por voz"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Impedir el uso de Bluetooth del teléfono cuando la pantalla esté bloqueada."</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Dispositivos de Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Nombre del dispositivo"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"No hay nombre establecido, se utiliza el nombre de cuenta"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando…"</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Vincular con este dispositivo"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Vinculando..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Vinculado pero no conectado"</string> @@ -163,19 +159,19 @@ <string name="radio_info_ppp_sent_label" msgid="5009102250704375687">"PPP enviado:"</string> <string name="radio_info_radio_resets_label" msgid="9211343458143291617">"Restablecimiento de la radio:"</string> <string name="radio_info_message_waiting_label" msgid="6981842420058672207">"Mensaje en espera:"</string> - <string name="radio_info_phone_number_label" msgid="7192944627907412169">"Número de teléfono"</string> + <string name="radio_info_phone_number_label" msgid="7192944627907412169">"Número de teléfono:"</string> <string name="radio_info_band_mode_label" msgid="441469694142042022">"Seleccionar banda de radio"</string> <string name="radio_info_network_type_label" msgid="3706382548257257987">"Tipo de red:"</string> <string name="radio_info_set_perferred_label" msgid="9039200405863503267">"Establecer el tipo de red preferida:"</string> <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Buscar direcciones de Internet de IpAddr:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Buscar direcciones de Internet del nombre del servidor (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Prueba de cliente HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Cambiar el cifrado"</string> <string name="ping_test_label" msgid="7255376471490860631">"Ejecutar la prueba de búsqueda de direcciones de Internet"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Actualizar"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualizar"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Cambiar la verificación de DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Información específica a OEM/Configuración"</string> <string name="band_mode_title" msgid="954174198903776205">"Establecer banda GSM y UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Cargando lista de banda..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Establecer"</string> @@ -206,7 +202,7 @@ <string name="cancel" msgid="6859253417269739139">"Cancelar"</string> <string name="settings_label" msgid="1626402585530130914">"Configuración"</string> <string name="settings_shortcut" msgid="3672145147925639262">"Configurac."</string> - <string name="airplane_mode" msgid="8837269988154128601">"Modo avión"</string> + <string name="airplane_mode" msgid="8837269988154128601">"Modo de avión"</string> <string name="airplane_mode_summary" msgid="3154817401368780988">"Desactivar todas las conexiones inalámbricas"</string> <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Desactivando conexiones inalámbricas…"</string> <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Activando conexiones inalámbricas…"</string> @@ -239,9 +235,46 @@ <string name="security_settings_summary" msgid="967393342537986570">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de la tarjeta SIM, bloqueo de almacenamiento de la credencial"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de almacenamiento de credencial"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Contraseñas"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Seguridad de desbloqueo de la pantalla"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Configurar bloqueo de pantalla"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquea la pantalla con un patrón, PIN o una contraseña."</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Cambiar bloqueo de la pantalla"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Cambia o inhabilita el patrón, PIN o la contraseña de seguridad."</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ninguno"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Inhabilitar seguridad de desbloqueo de la pantalla"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Patrón"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Dibuja el patrón para desbloquear la pantalla."</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Ingresa un PIN numérico para desbloquear la pantalla."</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Contraseña"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Ingresa una contraseña para desbloquear la pantalla."</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Inhabilitado por el administrador remoto del teléfono"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desactivar el bloqueo de pantalla"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Eliminar el gráfico de desbloqueo"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Eliminar el PIN de desbloqueo"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Eliminar la contraseña de desbloqueo"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Cambiar patrón de desbloqueo"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Cambiar PIN de desbloqueo"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Cambiar la contraseña de desbloqueo"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"La contraseña debe tener al menos %d caracteres."</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"El PIN debe tener al menos %d caracteres."</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Presiona Continuar cuando hayas finalizado."</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"El PIN no puede tener más de %d dígitos."</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"El PIN no puede tener más de %d dígitos."</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"El PIN debe contener de 0 a 9 dígitos únicamente."</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"La contraseña tiene un caracter no admitido."</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"La contraseña debe contener al menos una letra."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"La contraseña debe contener al menos un dígito."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"La contraseña debe contener al menos un símbolo."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"Aceptar"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Administración del dispositivo"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Seleccionar los administradores del dispositivo"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Agregar o eliminar los administradores de dispositivo"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Activar Bluetooth"</string> - <string name="bluetooth_settings" msgid="2725796451253089609">"Configuración de Bluetooth"</string> + <string name="bluetooth_settings" msgid="2725796451253089609">"Config. de Bluetooth"</string> <string name="bluetooth_settings_title" msgid="2824020086246268296">"Config. de Bluetooth"</string> <string name="bluetooth_settings_summary" msgid="2091062709530570462">"Administrar conexiones, establecer nombre y detección del dispositivo"</string> <string name="bluetooth_pairing_request" msgid="6385750334766370310">"Solicitud de vinculación de Bluetooth"</string> @@ -266,7 +299,7 @@ <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"Vincular y conectar"</string> <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"Desvincular"</string> <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"Desconectar y desvincular"</string> - <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Opciones..."</string> + <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Opciones…"</string> <string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"Conectar a..."</string> <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Medios"</string> <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Teléfono"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como altavoz"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música y medios"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Recordar la configuración"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Encender Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Configuración Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Configuración Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Configurar y administrar los puntos de acceso de teléfonos inalámbricos"</string> - <string name="forget_network" msgid="4718015029995727138">"Olvidar"</string> - <string name="wifi_status" msgid="4824568012414605414">"Estado"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Velocidad"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Excelente"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Bueno"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Aceptable"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Baja calidad"</string> - <string name="security" msgid="1040691896987225267">"Seguridad"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Abrir"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Empresa(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Desconocido"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"abrir red"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"asegurado con WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"asegurado con WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"asegurado con 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Dirección IP"</string> - <string name="signal" msgid="1947969631626413228">"Potencia de la señal"</string> <string name="wifi_starting" msgid="6710266609710860129">"Encendiendo..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Apagándose..."</string> <string name="wifi_error" msgid="3207971103917128179">"Error"</string> - <string name="error_starting" msgid="4055163089721254078">"No se ha podido iniciar Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"No se ha podido detener Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"No se han podido explorar redes"</string> - <string name="error_connecting" msgid="1981882310590509609">"No se puede conectar a la red"</string> - <string name="error_saving" msgid="8294279443961615302">"No se ha podido guardar la red"</string> - <string name="connect" msgid="3079076576295839400">"Conectar"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Conectar a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Método de EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Autenticación de fase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identidad"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Identidad anónima"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certificado de cliente"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Certificado de CA"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Contraseña de teléfono inalámbrico"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Clave hexadecimal WEP (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar contraseña."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Explorar"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Fuera del alcance"</string> - <string name="summary_remembered" msgid="6079941090549401742">"recordado"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"La conexión no se ha realizado correctamente, toca para volver a intentarlo"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Redes de Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"SSID de red"</string> - <string name="wifi_security" msgid="6603611185592956936">"Seguridad"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Guardar"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(sin cambios)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Agregar red de Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"En modo de avión"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"No se han podido explorar las redes"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Notificación de red"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Notificarme cuando se encuentre disponible una red abierta"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"La contraseña de la red que has escrito no es correcta. Vuelve a intentarlo."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Hay un problema de conexión de red. Vuelve a intentarlo."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Agregar red de Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Redes de Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Explorar"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avanzado"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Configuración de IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Escribe una dirección IP válida."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utilizar IP estática"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Conectar a la red"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Olvidar red"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Modificar la red"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID de red"</string> + <string name="wifi_security" msgid="6603611185592956936">"Seguridad"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Potencia de la señal"</string> + <string name="wifi_status" msgid="4824568012414605414">"Estado"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Velocidad del vínculo"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Dirección IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Acceso"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de red"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Conectar a la red"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Olvidar red"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Cambiar contraseña"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Método de EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Autenticación de fase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certificado de CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certificado del usuario"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identidad"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Identidad anónima"</string> + <string name="wifi_password" msgid="5948219759936151048">"Contraseña"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar contraseña."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(sin cambios)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(sin especificar)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Recordado"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Desactivado"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Fuera del alcance"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Asegurado con <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, asegurado con <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Conectar"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Olvidar"</string> + <string name="wifi_save" msgid="3331121567988522826">"Guardar"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Cancelar"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avanzado"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Dominio regulador"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Establecer la cantidad de canales a utilizar"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar cuándo se debe cambiar de Wi-Fi a datos de celular"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Se ha producido un problema al establecer la política de estado de inactividad."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Dirección de MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Explorando..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Conectando a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Autenticando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Obteniendo dirección IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Desconectando de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Desconectado"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Incorrecto"</string> - <string name="status_scanning" msgid="8402178267165567371">"Explorando..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Conectando…"</string> - <string name="status_authenticating" msgid="3536039799394033822">"Autenticando…"</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Obteniendo dirección..."</string> - <string name="status_connected" msgid="8175694029067954271">"Conectado"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Desconectando…"</string> - <string name="status_disconnected" msgid="7561688569905126046">"Desconectado"</string> - <string name="status_failed" msgid="610462050405904601">"Incorrecto"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Sonido y visualización"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Configuración de sonido y visualización"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Configuración de IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Escribe una dirección IP válida."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utilizar IP estática"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Acceso"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de red"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Zona activa Wi-Fi portátil"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Zona activa portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> conectada"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Error en la zona activa Wi-Fi portátil"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Parámetros de configuración de la zona activa Wi-Fi portátil"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar y administrar la zona activa Wi-Fi portátil"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Parámetros de configuración de la zona activa Wi-Fi portátil"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar zona activa Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">" Zona activa Wi-Fi portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android Hotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Sonido"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Mostrar"</string> <string name="sound_settings" msgid="5007659014828162881">"Configuración de sonido"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Establecer tonos de llamada, notificaciones, brillo de pantalla"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Modo silencioso"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Todos los sonidos excepto los medios y las alarmas están en silencio"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos los sonidos excepto los medios y las alarmas."</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos los sonidos excepto los medios están en silencio"</string> <string name="ringtone_title" msgid="5379026328015343686">"Tono de llamada del tel."</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Establece tu tono predeterminado de llamada entrante"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volumen"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Volumen del timbre"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Establecer el volumen para las llamadas entrantes y notificaciones"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibración del teléfono"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Hacer vibrar el teléfono para las llamadas entrantes"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar en modo silencioso"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir vibración en modo silencioso"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibrar para llamadas y notificaciones"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Tono de llam. de notific."</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Establecer tono predeterminado de llamada de notificación"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Impulsar la luz de notificación"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Impulsar la luz de la bola de control reiteradamente para recibir nuevas notificaciones"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volumen de llamada entrante"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Volumen de notificación"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Tono de llamada"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Notificación"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Utilizar el volumen de las llamadas entrantes para las notificaciones"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Seleccionar tono de llamada de notificación"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Volumen de los medios"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Medios"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Establecer volumen para la música y los videos"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarma"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Configuración de audio para la base adjunta"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Tonos audibles"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Reproducir tonos cuando se utilice el teclado de marcación"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Selección audible"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Reproducir el sonido al realizar la selección de pantalla"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Reproducir el sonido al realizar la selección de pantalla"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Sonidos de bloqueo de pantalla"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Reproducir canciones al bloquear o desbloquear la pantalla"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Reproducir canciones al bloquear o desbloquear la pantalla"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Comentarios hápticos"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrar al presionar teclas programables y ciertas interacciones de interfaz de usuario"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrar al presionar teclas programables y ciertas interacciones de interfaz de usuario"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Notificac. de tarjeta SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Reproducir el sonido para los avisos de la tarjeta SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Reproducir el sonido para los avisos de la tarjeta SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Cancelación por ruido"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Eliminar ruido de fondo cuando se habla o se graba."</string> <string name="dock_settings" msgid="1820107306693002541">"Base"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Configuración para la base adjunta"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"No se encontró la base "</string> <string name="dock_not_found_text" msgid="3035260358985111855">"El teléfono debe estar en la base para configurar el audio de la base."</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Sonido al insertar acoplar"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Reproducir sonido cuando se inserte o elimine un teléfono desde acoplar."</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"No reproducir sonido cuando se inserte o elimine un teléfono desde acoplar."</string> <string name="sync_settings" msgid="9186125469300013491">"Cuentas y sincronización"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Agregar o eliminar cuentas, y cambiar la configuración de la cuenta"</string> <string name="search_settings" msgid="1910951467596035063">"Buscar"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animación"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Mostrar animación al abrir y cerrar ventanas"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Mostrar animación al abrir y cerrar ventanas"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientación"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Rotar automáticamente la pantalla"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Cambiar la orientación automáticamente al girar el teléfono"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Cambiar la orientación automáticamente al girar el teléfono"</string> <string name="brightness" msgid="2354961343555249270">"Brillo"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string> <string name="device_info_settings" msgid="475872867864762157">"Estado del teléfono"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualiz. del sistema"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Verificar si hay actualizaciones de sistema"</string> - <string name="firmware_version" msgid="6284872163051667788">"Versión de prog. inalt."</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Versión Androide"</string> <string name="model_number" msgid="3765737700545384794">"Número de modelo"</string> <string name="baseband_version" msgid="1848990160763524801">"Versión de banda de base"</string> <string name="kernel_version" msgid="9192574954196167602">"Versión núcleo"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Espacio total"</string> <string name="sd_eject" msgid="6915293408836853020">"Desmontar la tarjeta SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Desmontar la tarjeta SD para extraerla de manera segura"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Insertar una tarjeta SD para el montaje"</string> + <string name="sd_mount" msgid="5940523765187704135">"Montar tarjeta SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Montar la tarjeta SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formatear tarjeta SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formato (borrar) la tarjeta SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"No disponible"</string> <string name="read_only" msgid="6702420168629076340">" (Sólo lectura)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desmontar la tarjeta SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Si desmontas la tarjeta SD, algunas aplicaciones que estás usando se detendrán y es posible que no estén disponibles hasta que retires la tarjeta SD."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Error al desmontar la tarjeta SD"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"No se pudo desmontar la tarjeta SD. Vuelve a intentarlo más tarde."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"Se desmontará la tarjeta SD. Verifica el área de notificación para conocer el estado."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Desmontando"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Desmontaje en progreso"</string> <string name="battery_status_title" msgid="9159414319574976203">"Estado de batería"</string> <string name="battery_level_title" msgid="2965679202786873272">"Nivel de la batería"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -544,7 +567,7 @@ <string name="error_mcc_not3" msgid="4560171714156251661">"El campo de MCC debe contener 3 dígitos."</string> <string name="error_mnc_not23" msgid="8418177072458379439">"El campo MNC debe contener 2 ó 3 dígitos."</string> <string name="restore_default_apn" msgid="2724583218635739913">"Restaurando la configuración APN predeterminada"</string> - <string name="menu_restore" msgid="8260067415075573273">"Reestablecer a la forma predeterminada"</string> + <string name="menu_restore" msgid="8260067415075573273">"Restablecer a la forma predeterminada"</string> <string name="restore_default_apn_completed" msgid="3990449939234957281">"Restablecimiento completado de configuración de APN predeterminada"</string> <string name="master_clear_title" msgid="5907939616087039756">"Restabl. datos de fábrica"</string> <string name="master_clear_summary" msgid="4986154238001088492">"Borra todos los datos del teléfono"</string> @@ -563,8 +586,22 @@ <string name="media_format_final_button_text" msgid="4881713344315923175">"Borrar todo"</string> <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Extrae tu patrón de desbloqueo"</string> <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Debes extraer tu patrón de desbloqueo parar confirmar un formato de tarjeta SD."</string> - <string name="call_settings_title" msgid="5188713413939232801">"Configuración de llamada"</string> + <string name="call_settings_title" msgid="5188713413939232801">"Config. de llamada"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Establecer correo de voz, desvío de llamadas, llamada en espera, identificador de llamadas"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Anclaje a red"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Zona activa portátil"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Anclaje a red y zona activa portátil"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Comparte la conexión de datos para celulares de tu teléfono a través de USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Comparte la conexión para celulares de tu teléfono como una zona activa Wi-Fi portátil"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Comparte la conexión de datos para celulares de tu teléfono a través de USB o como zona activa Wi-Fi portátil"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Anclaje a red USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Conectado al USB, verificar el anclaje a redes"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Anclado a red"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"No se puede anclar a red cuando el almacenamiento USB está en uso."</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB no conectado"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Error de anclaje a red USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Ayuda"</string> <string name="network_settings_title" msgid="7967552516440151852">"Redes de celulares"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Establecer opciones para roaming, redes, APN"</string> <string name="location_title" msgid="1029961368397484576">"Mi ubicación"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Utilizar GPS asistido"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar el servidor para asistir el GPS (anular la selección para reducir el uso de la red)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Utilizar el servidor para asistir el GPS (anula la selección para mejorar el rendimiento del GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Utilizar Mi ubicación"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Usar Mi ubicación para los result. de búsq. de Google y otros serv. de Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"¿Deseas permitir que Google utilice la ubicación para los resultados de búsqueda mejorada y otros servicios?"</string> - <string name="agree" msgid="6288718671527758326">"Acepto"</string> - <string name="disagree" msgid="6221069272309799230">"No acepto"</string> <string name="about_settings" msgid="1743378368185371685">"Acerca del teléfono"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Ver información legal, estado del teléfono, versión de software"</string> <string name="legal_information" msgid="5769301644270604095">"Información legal"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Información de seguridad"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Tu teléfono no está conectado al servicio de datos. Para ver esta información ahora, visita %s desde cualquier computadora conectada a Internet."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Cargando…"</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Patrón de desbloqueo de la pantalla"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Elegir la contraseña"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Elige tu PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Confirmar la contraseña"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Confirmar tu PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Las contraseñas no coinciden."</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Los PIN no coinciden."</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Se ha configurado la contraseña."</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Se ha configurado el PIN."</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Se ha configurado el patrón."</string> + <string name="lock_settings_title" msgid="975088518210629938">"Desbloqueo de pantalla"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Cambiar patrón de desbloqueo"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Cambiar PIN de desbloqueo"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Confirmar el patrón guardado"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Lo sentimos, vuelve a intentarlo:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Extraer un patrón de desbloqueo"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Administrar aplicaciones, configurar accesos directos para lanzamientos rápidos"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Configuración de aplicación"</string> <string name="install_applications" msgid="4872012136210802181">"Fuentes desconocidas"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Admite la instalación de aplicaciones que no pertenezcan a Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Permite la instalación de aplicaciones que no pertenezcan a Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"Tu teléfono y datos personales son más vulnerables a sufrir ataques de aplicaciones provenientes de fuentes desconocidas. Aceptas que eres el único responsable de cualquier daño que sufra tu teléfono o de cualquier pérdida de datos que pueda ocasionar el uso de estas aplicaciones."</string> <string name="application_info_label" msgid="1150486628158409543">"Información de aplicación"</string> <string name="storage_label" msgid="8700867073480107253">"Espacio de almacenamiento"</string> @@ -664,9 +706,10 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Todos"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Descargado"</string> <string name="filter_apps_running" msgid="7767071454371350486">"En ejecución"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"En tarjeta SD"</string> <string name="loading" msgid="3200408047793887917">"Cargando…"</string> <string name="recompute_size" msgid="7722567982831691718">"Recalculando el tamaño…"</string> - <string name="clear_data_dlg_title" msgid="4470209520936375508">"Eliminar"</string> + <string name="clear_data_dlg_title" msgid="4470209520936375508">"Suprimir"</string> <string name="clear_data_dlg_text" msgid="8368035073300828451">"Todos los datos de esta aplicación se suprimirán de forma permanente. Esto incluye todos los archivos, las configuraciones, las cuentas, las bases de datos, etc."</string> <string name="dlg_ok" msgid="2402639055725653590">"Aceptar"</string> <string name="dlg_cancel" msgid="1674753358972975911">"Cancelar"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"No se ha podido calcular el tamaño del paquete"</string> <string name="empty_list_msg" msgid="2901049162265094971">"No tienes instalada ninguna aplicación de terceros."</string> <string name="version_text" msgid="9189073826278676425">"versión <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Mover"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Mover al teléfono"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover a la tarjeta SD"</string> + <string name="moving" msgid="6431016143218876491">"Moviendo"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"No queda suficiente espacio de almacenamiento."</string> + <string name="does_not_exist" msgid="837163572898468245">"La aplicación no existe."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"La aplicación está protegida por derecho de autor."</string> + <string name="invalid_location" msgid="4934491353200240499">"La ubicación específica de la instalación no es válida."</string> + <string name="system_package" msgid="1030561474413022831">"Las actualizaciones del sistema no se pueden instalar en medios externos."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Provocar la detención"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Esta aplicación se reiniciará inmediatamente. ¿Estás seguro de que deseas provocar la detención?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicación"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Error al mover la aplicación. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Ubicación de instalación preferida"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Cambiar la ubicación de instalación preferida para nuevas aplicaciones"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Servicios en ejecución"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Ver y controlar servicios actuales en ejecución"</string> <string name="service_restarting" msgid="2242747937372354306">"Volver a comenzar"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Establecer opciones de país (idioma y región), ingreso de texto y corrección automática"</string> <string name="language_category" msgid="3391756582724541530">"Configuración de país"</string> <string name="text_category" msgid="6342540511465136739">"Configuración de texto"</string> - <string name="phone_language" msgid="2138384312336494991">"Seleccionar país"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Seleccionar idioma y región"</string> + <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Reemplazar automát."</string> <string name="auto_replace_summary" msgid="370288728200084466">"Corregir palabras mal escritas"</string> <string name="auto_caps" msgid="581633131114124121">"Uso automát. de mayús."</string> @@ -714,12 +772,12 @@ <string name="ime_security_warning" msgid="812267421486877917">"El método de entrada puede recopilar todo el texto que escribas, incluidos los datos personales como contraseñas y números de tarjetas de crédito. Proviene de la aplicación <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. ¿Deseas utilizar este método de entrada?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Diccionario del usuario"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Diccionario del usuario"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Agregar y eliminar palabras del diccionario del usuario"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Agregar"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Agregar al diccionario"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar trabajo"</string> <string name="user_dict_settings_context_menu_edit_title" msgid="2210564879320004837">"Editar"</string> - <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"Eliminar"</string> + <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"Suprimir"</string> <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"El diccionario del usuario no contiene ninguna palabra. Puedes agregar una palabra a través del menú."</string> <string name="testing" msgid="6584352735303604146">"Probando"</string> <string name="testing_phone_info" msgid="8656693364332840056">"Información del teléfono"</string> @@ -749,7 +807,7 @@ <string name="keep_screen_on" msgid="1146389631208760344">"Permanecer activo"</string> <string name="keep_screen_on_summary" msgid="2173114350754293009">"La pantalla nunca quedará inactiva mientras se realiza la carga"</string> <string name="allow_mock_location" msgid="2787962564578664888">"Permitir ubic. de prueba"</string> - <string name="allow_mock_location_summary" msgid="317615105156345626">"Permitir la creación de ubicaciones de prueba"</string> + <string name="allow_mock_location_summary" msgid="317615105156345626">"Permitir ubic. de prueba"</string> <string name="adb_warning_title" msgid="6234463310896563253">"¿Permite la depuración de USB?"</string> <string name="adb_warning_message" msgid="5352555112049663033">"La depuración de USB está prevista sólo con fines de desarrollo. Se puede utilizar para copiar datos entre tu computadora y tu dispositivo, instalar aplicaciones en tu dispositivo sin aviso y leer los datos de registro."</string> <string name="gadget_picker_title" msgid="98374951396755811">"Elegir gadget"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"No se han instalado servicios de accesibilidad"</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este servicio de accesibilidad podrá recopilar todo el texto que escribas, incluido los números de tarjeta de crédito de tus datos personales, excepto las contraseñas. También podrá registrar las interacciones de tu interfaz de usuario. Proviene de la aplicación <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. ¿Deseas utilizar este servicio de accesibilidad?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"¿Deseas desactivar la accesibilidad?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"No se encontraron aplicaciones relacionadas a la accesibilidad."</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"No es necesario instalar ninguna aplicación relacionada a la accesibilidad."\n\n"Puedes descargar un lector de pantalla para tu dispositivo desde la tienda Android."\n\n"Haz clic en Aceptar para instalar el lector de pantalla."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Botón de encendido"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"El botón de encendido finaliza la llamada."</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Durante una llamada, presionar Power (encender) finaliza la llamada, en lugar de apagar la pantalla."</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Uso de la batería"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Lo que ha utilizado la batería"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Uso de la batería desde que se desconectó"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Actualizar"</string> <string name="process_kernel_label" msgid="3916858646836739323">"SO Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Servidor de medios"</string> - <string name="tts_settings" msgid="3348626948015962987">"Texto a voz"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Establecer opciones de texto a voz"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Entrada y salida por voz"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Entrada por voz y configuración saliente"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Búsqueda por voz"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Teclado de Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Entrada por voz"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Salida de voz"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Reconocedor de voz"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Configuración del reconocedor de voz"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Configuraciones para \'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\'"</string> + <string name="tts_settings" msgid="8186971894801348327">"Configuración de texto de voz"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Configuración de texto a voz"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Usar siempre mi config."</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Config. predet. debajo de la config. superpuesta de la aplicación"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Configuración predeterminada"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Motor predeterminado"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Configura el motor de síntesis de voz para utilizarse en textos hablados."</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Índice de voz"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidad en la que se habla el texto"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Sonido"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Las voces necesarias para la síntesis de voz ya han sido instaladas correctamente"</string> <string name="tts_demo" msgid="405357591189935876">"Éste es un ejemplo de síntesis de voz"</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Tu configuración ha cambiado. Éste es un ejemplo de cómo suenan."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"El motor seleccionado no se puede ejecutar."</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Configurar"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Seleccionar otro motor"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Es posible que este motor de síntesis de voz pueda recopilar todo el texto que se hablará, incluidos los datos personales como las contraseñas y los números de tarjetas de crédito. Proviene del motor <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. ¿Deseas habilitar el uso de este motor de síntesis de voz?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Motores"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Configuración de <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> está habilitado."</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> está inhabilitada."</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Idiomas y voces"</string> + <string name="pico_installed" msgid="2452546687858267414">"Instalada"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"No se ha instalado."</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Femenino"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Masculino"</string> <string name="gadget_title" msgid="7455548605888590466">"Control de energía"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Actualizando configuración de Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Actualización de la configuración de Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Programa de instalación de la credencial"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Configuración de VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Conectar a <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nombre de usuario:"</string> @@ -940,11 +1025,11 @@ <string name="vpn_ipsec_presharedkey_title" msgid="2184060087690539175">"Establecer clave precompartida de IPSec"</string> <string name="vpn_ipsec_presharedkey" msgid="5434316521616673741">"Clave precompartida de IPSec"</string> <string name="vpn_a_ipsec_presharedkey" msgid="1255301923217898418">"una clave precompartida de IPSec"</string> - <string name="vpn_vpn_server_title" msgid="8897005887420358913">"Establecer servidor de VPN"</string> + <string name="vpn_vpn_server_title" msgid="8897005887420358913">"Establ. servidor de VPN"</string> <string name="vpn_vpn_server" msgid="1141754908824209260">"Servidor de VPN"</string> <string name="vpn_a_vpn_server" msgid="5960906152125045853">"un servidor de VPN"</string> <string name="vpn_vpn_server_dialog_title" msgid="7850850940160521918">"Nombre del servidor de VPN"</string> - <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"Dominios de búsqueda de DNS"</string> + <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"Dom. de búsqueda de DNS"</string> <string name="vpn_dns_search_list" msgid="4230034234026605360">"Dominios de búsqueda de DNS"</string> <string name="vpn_field_is_set" msgid="7137320847812992243">"<xliff:g id="VALUE">%s</xliff:g> se ha establecido"</string> <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> no establecido"</string> @@ -958,7 +1043,7 @@ <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(sin cambios)"</string> <string name="vpn_secret_not_set" msgid="1037792636371641845">"(no establecido)"</string> <string name="credentials_category" msgid="8536992056377271234">"Almacenamiento de la credencial"</string> - <string name="credentials_access" msgid="4843187230913860492">"Utilizar credenciales seguras"</string> + <string name="credentials_access" msgid="4843187230913860492">"Usar credenciales seg."</string> <string name="credentials_access_summary" msgid="319662078718574168">"Permitir a las aplic. acceder a certificados seguros y otras cred."</string> <string name="credentials_unlock" msgid="1463040326264133844">"Ingresar contraseña"</string> <string name="credentials_unlock_hint" msgid="594679530407918031">"Ingresar la contraseña de almacenamiento de la credencial"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Establecer el comportamiento cuando se establece una llamada de emergencia"</string> <string name="privacy_settings" msgid="9206631214140954954">"Privacidad"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Configuración de privacidad"</string> - <string name="location_section_title" msgid="6072558684044939786">"Ubicación"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Configuración"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Datos personales"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Copia de seg. de mi conf."</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Copia de seguridad de configuración"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"¿Estás seguro de que deseas dejar de hacer copias de seguridad de tu configuración y borrar todas las copias de los servidores de Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Restaurar automáticamente "</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia de seguridad"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"¿Estás seguro de que deseas dejar de hacer copias de seguridad de tu configuración y aplicaciones, y borrar todas las copias de los servidores de Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Configuración de la administración del dispositivo"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador del dispositivo"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Desactivar"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Administradores del dispositivo."</string> + <string name="no_device_admins" msgid="702695100241728775">"No existen administradores de dispositivos disponibles."</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"¿Deseas activar el administrador del dispositivo?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Activar"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Administrador del dispositivo"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Si se activa este administrador la aplicación podrá <xliff:g id="APP_NAME">%1$s</xliff:g> realizar las siguientes operaciones:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Este administrador se encuentra activo y permite a la aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> realizar las siguientes operaciones:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Sin título"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"General"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Llamadas entrantes"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificaciones"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Comentarios"</string> </resources> diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml index 8065cf9..598474c 100644 --- a/res/values-es/arrays.xml +++ b/res/values-es/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiano"</item> <item msgid="5811378076054402537">"Español"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automática"</item> - <item msgid="5434666299123318296">"Ninguna"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Ninguna"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automáticamente"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP hexadecimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Buscando..."</item> + <item msgid="8513729475867537913">"Estableciendo conexión..."</item> + <item msgid="515055375277271756">"Autenticando..."</item> + <item msgid="1943354004029184381">"Obteniendo dirección IP…"</item> + <item msgid="4221763391123233270">"Conectada"</item> + <item msgid="624838831631122137">"Suspendida"</item> + <item msgid="7979680559596111948">"Desconectando..."</item> + <item msgid="1634960474403853625">"Desconectada"</item> + <item msgid="746097431216080650">"Con error"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Buscando..."</item> + <item msgid="355508996603873860">"Estableciendo conexión con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="554971459996405634">"Autenticando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"Obteniendo dirección IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="8937994881315223448">"Conectada a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Suspendida"</item> + <item msgid="7698638434317271902">"Desconectando de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="197508606402264311">"Desconectada"</item> + <item msgid="8578370891960825148">"Con error"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Abierta"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Mala"</item> + <item msgid="5615082285463430971">"Aceptable"</item> + <item msgid="3565079809875324621">"Buena"</item> + <item msgid="5702329417707689835">"Excelente"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Cuando la pantalla se apague"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP o CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Almacenamiento de dispositivo interno"</item> + <item msgid="3738430123799803530">"Tarjeta SD extraíble"</item> + <item msgid="4498124044785815005">"Selección del sistema"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Siempre"</item> + <item msgid="6293147072807231256">"Nunca"</item> + <item msgid="1276641209451816572">"Solo en modo silencio"</item> + <item msgid="8418930333779132418">"Si no está en modo silencio"</item> + </string-array> </resources> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 105c9f9..1d41e81 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Sí"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Desconocido"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Activar señal móvil"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Desactivar señal móvil"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Habilitar registro QXDM de SD"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Inhabilitar registro QXDM de SD"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Ver libreta de direcciones de tarjeta SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números de marcación fija"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números de marcación de servicio"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obtener lista PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Habilitar conexión de datos"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Inhabilitar conexión de datos"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Habilitar datos al iniciar"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Inhabilitar datos al iniciar"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"En servicio"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Fuera de servicio"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Sólo llamadas de emergencia"</string> @@ -89,10 +84,12 @@ <string name="battery_info_health_dead" msgid="1725917445762829059">"Agotada"</string> <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"Sobretensión"</string> <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"Error desconocido"</string> - <string name="bluetooth" msgid="5549625000628014477">"Bluetooth"</string> + <string name="bluetooth" msgid="5549625000628014477">"Ajustes de Bluetooth"</string> <string name="bluetooth_visibility" msgid="2930835434091839916">"Visible"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Visible durante <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> segundos..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Hacer visible el dispositivo"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Bloquear marcación por voz"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Evitar el uso del marcador a través de Bluetooth cuando la pantalla esté bloqueada"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Dispositivos Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Nombre del dispositivo"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"No se ha establecido ningún nombre; se utiliza el nombre de cuenta."</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectada"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Estableciendo conexión..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Sincronizar con este dispositivo"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Sincronizando..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Sincronizado, pero sin conexión"</string> @@ -118,7 +114,7 @@ <string name="bluetooth_ask_discovery" msgid="669870705606180872">"Una aplicación del teléfono está solicitando permiso para hacer visible el teléfono para otros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos. ¿Quieres realizar esta acción?"</string> <string name="bluetooth_ask_enablement_and_discovery" msgid="7220210326619399542">"Una aplicación del teléfono está solicitando permiso para activar la función Bluetooth y hacer visible el teléfono para otros dispositivos durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos. ¿Quieres realizar esta acción?"</string> <string name="bluetooth_turning_on" msgid="3107102168379705771">"Activando Bluetooth..."</string> - <string name="date_and_time" msgid="4114084177056654663">"Configuración de fecha y hora"</string> + <string name="date_and_time" msgid="4114084177056654663">"Ajustes de fecha y hora"</string> <string name="date_time_12_hour_sample" msgid="3259617262618020574">"1:00 p.m."</string> <string name="date_time_24_hour_sample" msgid="8916857570746212357">"13:00"</string> <string name="date_time_changeTime_text" msgid="7037437020000867740">"Cambiar hora"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Hacer ping a DirIP:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Hacer ping a nombre de host (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Prueba de cliente HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Alternar cifrado"</string> <string name="ping_test_label" msgid="7255376471490860631">"Ejecutar prueba de ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Actualizar"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualizar"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"alternar comprobación de DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Ajustes/información específica de OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Establecer banda GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Cargando lista de bandas..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Establecer"</string> @@ -193,7 +189,7 @@ <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Buscando medios en tarjeta SD..."</string> <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Tarjeta SD activada en modo de solo lectura"</string> <string name="next_label" msgid="4693520878012668114">"Siguiente"</string> - <string name="language_picker_title" msgid="4034157617842965844">"Configuración local"</string> + <string name="language_picker_title" msgid="4034157617842965844">"Configuración regional"</string> <string name="select_your_language" msgid="1146235168951906084">"Selecciona el idioma que prefieras."</string> <string name="activity_picker_label" msgid="4910700713930693329">"Seleccionar actividad"</string> <string name="device_info_label" msgid="6551553813651711205">"Información del dispositivo"</string> @@ -202,16 +198,16 @@ <string name="display_label" msgid="7403874003169865762">"Pantalla"</string> <string name="phone_info_label" msgid="2127552523124277664">"Información sobre el teléfono"</string> <string name="sd_card_settings_label" msgid="5743100901106177102">"Tarjeta SD"</string> - <string name="proxy_settings_label" msgid="3271174136184391743">"Configuración de proxy"</string> + <string name="proxy_settings_label" msgid="3271174136184391743">"Ajustes de proxy"</string> <string name="cancel" msgid="6859253417269739139">"Cancelar"</string> <string name="settings_label" msgid="1626402585530130914">"Ajustes"</string> - <string name="settings_shortcut" msgid="3672145147925639262">"Configuración"</string> + <string name="settings_shortcut" msgid="3672145147925639262">"Ajustes"</string> <string name="airplane_mode" msgid="8837269988154128601">"Modo avión"</string> <string name="airplane_mode_summary" msgid="3154817401368780988">"Inhabilitar todas las conexiones inalámbricas"</string> <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Inhabilitando conexiones inalámbricas..."</string> <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Habilitando conexiones inalámbricas..."</string> <string name="radio_controls_title" msgid="5868688473587168882">"Conexiones inalámbricas y redes"</string> - <string name="wireless_networks_settings_title" msgid="149274247949769551">"Configuración de red e inalámbrica"</string> + <string name="wireless_networks_settings_title" msgid="149274247949769551">"Ajustes de red y de inalámbrica"</string> <string name="radio_controls_summary" msgid="2998818677094465517">"Administrar Wi-Fi, Bluetooth, modo avión, redes móviles y VPN"</string> <string name="roaming" msgid="3596055926335478572">"Itinerancia de datos"</string> <string name="roaming_enable" msgid="3737380951525303961">"Establecer conexión con servicios de datos en itinerancia"</string> @@ -235,13 +231,50 @@ <string name="zone_list_menu_sort_alphabetically" msgid="5683377702671088588">"Ordenar alfabéticamente"</string> <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"Ordenar por zona horaria"</string> <string name="security_settings_title" msgid="5168491784222013179">"Ubicación y seguridad"</string> - <string name="location_security_settings_title" msgid="4624434296446625554">"Configuración de seguridad y de ubicación"</string> + <string name="location_security_settings_title" msgid="4624434296446625554">"Ajustes de seguridad y de ubicación"</string> <string name="security_settings_summary" msgid="967393342537986570">"Establecer Mi ubicación, bloqueo de pantalla, bloqueo de tarjeta SIM y bloqueo de almacenamiento de credenciales"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Establecer ubicación, bloqueo de pantalla y bloqueo de almacenamiento de credenciales"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Contraseñas"</string> - <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Bloqueo de la pantalla"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Bloqueo pantalla"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquear pantalla con patrón, PIN o contraseña"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Cambio bloqueo pantalla"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Cambia o inhabilit seguridad contraseña, PIN o patrón"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ninguno"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Inhabilitar desbloqueo pantalla"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Patrón"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Patrón para desbloqueo de pantalla"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"PIN numérico para desbloquear pantalla"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Contraseña"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Contraseña para desbloq pantalla"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Inhabilitado por administrador remoto"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desactivar bloqueo pantalla"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Eliminar patrón de desbloqueo"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Eliminar PIN de desbloqueo"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Eliminar contraseña de desbloqueo"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Cambiar patrón desbloqueo"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Cambiar PIN de desbloqueo"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Cambiar contraseña de desbloqueo"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"La contraseña debe contener al menos %d caracteres."</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"El PIN debe contener al menos %d caracteres."</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Pulsar \"Continuar\" al terminar"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"El PIN no puede tener más de %d dígitos."</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"El PIN no puede tener más de %d dígitos."</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"El PIN solo debe contener dígitos comprendidos entre el cero y el nueve."</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"La contraseña contiene un carácter no permitido."</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"La contraseña debe contener al menos una letra."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"La contraseña debe contener al menos un dígito."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"La contraseña debe contener al menos un símbolo."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"Aceptar"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Administración de dispositivos"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Seleccionar administradores de dispositivos"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Añadir o eliminar administradores de dispositivos"</string> + <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Ajustes de Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Activar Bluetooth"</string> - <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth"</string> + <string name="bluetooth_settings" msgid="2725796451253089609">"Ajustes de Bluetooth"</string> <string name="bluetooth_settings_title" msgid="2824020086246268296">"Ajustes de Bluetooth"</string> <string name="bluetooth_settings_summary" msgid="2091062709530570462">"Administrar conexiones, establecer el nombre del dispositivo y la visibilidad"</string> <string name="bluetooth_pairing_request" msgid="6385750334766370310">"Solicitud de sincronización de Bluetooth"</string> @@ -285,83 +318,55 @@ <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Utilizar para audio de medio"</string> <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Utilizar para audio del teléfono"</string> <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Uso de la transferencia de archivos"</string> - <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Configuración del conector"</string> + <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Ajustes del conector"</string> <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Uso del conector para audio"</string> <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como altavoz del teléfono"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música y contenido multimedia"</string> - <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Configuración de recordatorio"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> + <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Ajustes de recordatorio"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Activar Wi-Fi"</string> - <string name="wifi_settings" msgid="4746946030627213196">"Configuración de Wi-Fi"</string> - <string name="wifi_settings_category" msgid="2810363951104753710">"Configuración de Wi-Fi"</string> + <string name="wifi_settings" msgid="4746946030627213196">"Ajustes de Wi-Fi"</string> + <string name="wifi_settings_category" msgid="2810363951104753710">"Ajustes de Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Configurar y administrar puntos de acceso inalámbricos"</string> - <string name="forget_network" msgid="4718015029995727138">"Borrar"</string> - <string name="wifi_status" msgid="4824568012414605414">"Estado"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Velocidad"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Excelente"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Buena"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Aceptable"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Baja"</string> - <string name="security" msgid="1040691896987225267">"Seguridad"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Abierta"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Desconocida"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"red abierta"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"protegida con WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"protegida con WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"protegida con 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Dirección IP"</string> - <string name="signal" msgid="1947969631626413228">"Intensidad de la señal"</string> <string name="wifi_starting" msgid="6710266609710860129">"Activando..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Desactivando..."</string> <string name="wifi_error" msgid="3207971103917128179">"Error"</string> - <string name="error_starting" msgid="4055163089721254078">"No se ha podido iniciar la función Wi-Fi."</string> - <string name="error_stopping" msgid="7855531609645531489">"No se ha podido interrumpir la función Wi-Fi."</string> - <string name="error_scanning" msgid="4644050284132264368">"No se han podido buscar redes."</string> - <string name="error_connecting" msgid="1981882310590509609">"No se ha podido establecer conexión con la red."</string> - <string name="error_saving" msgid="8294279443961615302">"No se ha podido guardar la red."</string> - <string name="connect" msgid="3079076576295839400">"Establecer conexión"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Establecer conexión con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Método EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Autenticación de fase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identidad"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Identidad anónima"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certificado de cliente"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Certificado de autenticación"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Contraseña de red inalámbrica"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Clave hex. WEP (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar contraseña"</string> - <string name="scan_wifi" msgid="2459901725350542606">"Buscar"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Fuera de rango"</string> - <string name="summary_remembered" msgid="6079941090549401742">"recordada"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"La conexión no se ha realizado correctamente; toca para volver a intentarlo."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Redes Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"SSID de red"</string> - <string name="wifi_security" msgid="6603611185592956936">"Seguridad"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Guardar"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(sin modificar)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Añadir red Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"Modo avión"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"No se han podido buscar redes."</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Notificación de red"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Informarme cuando haya una red abierta disponible"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"La contraseña de red que has introducido no es correcta. Inténtalo de nuevo."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Se ha producido un problema al intentar establecer conexión con la red. Inténtalo de nuevo."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Añadir red Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Redes Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Buscar"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avanzado"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Configuración de IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Introduce una dirección IP válida."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utilizar IP estática"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Establecer conexión con red"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Borrar red"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Modificar red"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID de red"</string> + <string name="wifi_security" msgid="6603611185592956936">"Seguridad"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Intensidad de la señal"</string> + <string name="wifi_status" msgid="4824568012414605414">"Estado"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Velocidad de enlace"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Dirección IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Puerta de enlace"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de red"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Establecer conexión con red"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Borrar red"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Cambiar contraseña"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Método EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Autenticación de fase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certificado de CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certificado de usuario"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identidad"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Identidad anónima"</string> + <string name="wifi_password" msgid="5948219759936151048">"Contraseña"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar contraseña"</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(sin modificar)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(no especificados)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Recordada"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Inhabilitada"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Fuera de rango"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Protegida con <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, protegida con <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Establecer conexión"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Borrar"</string> + <string name="wifi_save" msgid="3331121567988522826">"Guardar"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Cancelar"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avanzado"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Dominio regulador"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Establecer el número de canales que se van a utilizar"</string> @@ -371,86 +376,94 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar cuándo cambiar de Wi-Fi a datos móviles"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Se ha producido un problema al intentar establecer la política de suspensión."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Dirección MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Buscando..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Conectando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Autenticando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Obteniendo dirección IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Conectada a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Desconectando de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Desconectada"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Con error"</string> - <string name="status_scanning" msgid="8402178267165567371">"Buscando..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Estableciendo conexión..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Autenticando..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Obteniendo dirección..."</string> - <string name="status_connected" msgid="8175694029067954271">"Conectada"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Desconectando..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Desconectada"</string> - <string name="status_failed" msgid="610462050405904601">"Con error"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Sonido y pantalla"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Configuración de sonido y de pantalla"</string> - <string name="sound_settings" msgid="5007659014828162881">"Configuración de sonido"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Establecer tonos, notificaciones, brillo de la pantalla"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ajustes de IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Introduce una dirección IP válida."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utilizar IP estática"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Puerta de enlace"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de red"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Zona Wi-Fi portátil"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> de zona Wi-Fi portátil activa"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Error de zona Wi-Fi portátil"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Configuración de zona Wi-Fi portátil"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar y administrar zona Wi-Fi portátil"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Configuración de zona Wi-Fi portátil"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar zona Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Zona Wi-Fi portátil de <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> de <xliff:g id="NETWORK_SSID">%1$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Sonido"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Pantalla"</string> + <string name="sound_settings" msgid="5007659014828162881">"Ajustes de sonido"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Modo silencio"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Silencio de todos los sonidos (excepto los multimedia y las alarmas)"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos los sonidos, excepto el contenido multimedia y las alarmas "</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos los sonidos excepto los multimedia están silenciados."</string> <string name="ringtone_title" msgid="5379026328015343686">"Tono del teléfono"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Establecer el tono de llamada entrante predeterminado"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volumen"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Volumen del timbre"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Establecer volumen para llamadas entrantes y notificaciones"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Teléfono en vibración"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Teléfono en vibración para llamadas entrantes"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar en modo silencio"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir vibración en modo silencio"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibrar al recibir llamadas o notificaciones"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Tono de notificación"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Establecer el tono de notificación predeterminado"</string> - <string name="notification_pulse_title" msgid="1247988024534030629">"Pulsar luz de notificación"</string> - <string name="notification_pulse_summary" msgid="6899220780534617152">"Pulsar la luz de la bola de seguimiento de forma repetida para obtener nuevas notificaciones"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volumen de llamada entrante"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Volumen de notificaciones"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> + <string name="notification_pulse_title" msgid="1247988024534030629">"Luz de notificación"</string> + <string name="notification_pulse_summary" msgid="6899220780534617152">"Pulsa la bola de seguimiento para obtener nuevas notificaciones"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Tono"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Notificación"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Utilizar volumen de llamada entrante para notificaciones"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Seleccionar tono de notificación"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Volumen multimedia"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Multimedia"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Establecer volumen para música y vídeos"</string> - <string name="dock_settings_summary" msgid="455802113668982481">"Configuración de audio del conector adjunto"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarma"</string> + <string name="dock_settings_summary" msgid="455802113668982481">"Ajustes de audio del conector adjunto"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Tonos táctiles sonoros"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Reproducir tonos al utilizar teclado de marcado"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Reproducir tonos al utilizar teclado de marcado"</string> <string name="sound_effects_enable_title" msgid="3197313718929122833">"Selección sonora"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Reproducir sonido cuando se realiza una selección de pantalla"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Reproducir sonido cuando se realiza una selección de pantalla"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Bloqueo de pantalla"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Reproducir sonidos al bloquear y al desbloquear la pantalla"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Reproducir sonidos al bloquear y al desbloquear la pantalla"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Respuesta táctil"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrar al pulsar teclas programables o durante ciertas interacciones con la interfaz de usuario"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrar al pulsar teclas programables o durante ciertas interacciones con la interfaz de usuario"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Notificaciones tarjeta SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Reproducir sonido para notificaciones de la tarjeta SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Reproducir sonido para notificaciones de la tarjeta SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Supresión de ruido"</string> - <string name="audio_record_proc_summary" msgid="8113628457499616498">"Suprimir ruido de fondo al hablar o al grabar"</string> + <string name="audio_record_proc_summary" msgid="8113628457499616498">"Eliminar ruido de fondo al hablar o al grabar"</string> <string name="dock_settings" msgid="1820107306693002541">"Conector"</string> - <string name="dock_settings_title" msgid="9161438664257429372">"Configuración del conector"</string> + <string name="dock_settings_title" msgid="9161438664257429372">"Ajustes del conector"</string> <string name="dock_audio_settings_title" msgid="3324750259959570305">"Audio"</string> - <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Configuración del conector de equipo de sobremesa adjunto"</string> - <string name="dock_audio_summary_car" msgid="6740897586006248450">"Configuración del conector del coche adjunto"</string> - <string name="dock_audio_summary_none" msgid="289909253741048784">"Teléfono sin conectar"</string> - <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Configuración del conector adjunto"</string> + <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Ajustes del conector de equipo de sobremesa adjunto"</string> + <string name="dock_audio_summary_car" msgid="6740897586006248450">"Ajustes del conector del coche adjunto"</string> + <string name="dock_audio_summary_none" msgid="289909253741048784">"Teléfono no conectado"</string> + <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Ajustes del conector adjunto"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"No se ha encontrado el conector"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"El teléfono debe estar conectado para configurar el audio del conector."</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Reproducir sonido"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Reproducir sonido al insertar o extraer el teléfono del conector"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"No reproducir sonido al insertar o extraer el teléfono del conector"</string> <string name="sync_settings" msgid="9186125469300013491">"Cuentas y sincronización"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Añadir o eliminar cuentas y modificar la configuración de las cuentas"</string> <string name="search_settings" msgid="1910951467596035063">"Búsqueda"</string> <string name="search_settings_summary" msgid="9205656546570654169">"Administrar historial y configuración de búsqueda"</string> - <string name="display_settings" msgid="3912042046350078328">"Configuración de pantalla"</string> + <string name="display_settings" msgid="3912042046350078328">"Ajustes de pantalla"</string> <string name="animations_title" msgid="1062189037402346023">"Animación"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Mostrar animación al abrir y cerrar ventanas"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Mostrar animación al abrir y cerrar ventanas"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientación"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Pantalla giratoria"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Cambiar orientación automáticamente al girar el teléfono"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Cambiar orientación automáticamente al girar el teléfono"</string> <string name="brightness" msgid="2354961343555249270">"Brillo"</string> <string name="brightness_summary" msgid="838917350127550703">"Ajustar el brillo de la pantalla"</string> - <string name="screen_timeout" msgid="4882669461447531301">"Tiempo de espera de la pantalla"</string> + <string name="screen_timeout" msgid="4882669461447531301">"Tiempo espera pantalla"</string> <string name="screen_timeout_summary" msgid="2905757633140605334">"Ajustar el tiempo de retraso antes de que la pantalla se apague automáticamente"</string> <string name="automatic_brightness" msgid="5014143533884135461">"Brillo automático"</string> - <string name="sim_lock_settings" msgid="3392331196873564292">"Configuración de bloqueo de tarjeta SIM"</string> + <string name="sim_lock_settings" msgid="3392331196873564292">"Ajustes de bloqueo de tarjeta SIM"</string> <string name="sim_lock_settings_category" msgid="5136244267576697004">"Bloqueo de tarjeta SIM"</string> <string name="sim_lock_settings_title" msgid="9018585580955414596">"Bloqueo de tarjeta SIM"</string> <string name="sim_pin_toggle" msgid="1742123478029451888">"Bloquear tarjeta SIM"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string> <string name="device_info_settings" msgid="475872867864762157">"Estado del teléfono"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualizaciones del sistema"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Buscar actualizaciones del sistema"</string> - <string name="firmware_version" msgid="6284872163051667788">"Versión del firmware"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Versión de Android"</string> <string name="model_number" msgid="3765737700545384794">"Número de modelo"</string> <string name="baseband_version" msgid="1848990160763524801">"Versión de banda base"</string> <string name="kernel_version" msgid="9192574954196167602">"Versión de kernel"</string> @@ -483,8 +496,8 @@ <string name="device_status_activity_title" msgid="1411201799384697904">"Estado"</string> <string name="device_status" msgid="607405385799807324">"Estado"</string> <string name="device_status_summary" msgid="2599162787451519618">"Número de teléfono, señal, etc."</string> - <string name="storage_settings" msgid="6681164315506788024">"Almacenamiento en teléfono y en tarjeta SD"</string> - <string name="storage_settings_title" msgid="5379463509034022773">"Configuración de almacenamiento en teléfono y en tarjeta SD"</string> + <string name="storage_settings" msgid="6681164315506788024">"Almacenamiento"</string> + <string name="storage_settings_title" msgid="5379463509034022773">"Almacenamiento en teléf y tarjeta SD"</string> <string name="storage_settings_summary" msgid="9176693537325988610">"Desactivar tarjeta SD, ver almacenamiento disponible."</string> <string name="status_number" msgid="5123197324870153205">"Mi número de teléfono"</string> <string name="status_min_number" msgid="3519504522179420597">"MIN"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Espacio total"</string> <string name="sd_eject" msgid="6915293408836853020">"Desactivar tarjeta SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Desactiva la tarjeta SD antes de extraerla para evitar la pérdida de datos."</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Insertar una tarjeta SD para el montaje"</string> + <string name="sd_mount" msgid="5940523765187704135">"Activar tarjeta SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Activar tarjeta SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formatear tarjeta SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formatear (borrar) la tarjeta SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"No disponible"</string> <string name="read_only" msgid="6702420168629076340">" (Sólo lectura)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desactivar tarjeta SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Si desactivas la tarjeta SD, se detendrán algunas aplicaciones que estás utilizando y estas no estarán disponibles hasta que la vuelvas a activar."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"No se ha podido desactivar la tarjeta SD."</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"No se puede desactivar la tarjeta SD. Vuelve a intentarlo más tarde."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"Se va a desmontar la tarjeta SD. Puedes consultar el estado en el área de notificaciones."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Desmontando"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"La tarjeta SD se está desactivando."</string> <string name="battery_status_title" msgid="9159414319574976203">"Estado de la batería"</string> <string name="battery_level_title" msgid="2965679202786873272">"Nivel de batería"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -544,7 +567,7 @@ <string name="error_mcc_not3" msgid="4560171714156251661">"El campo MMC debe contener 3 dígitos."</string> <string name="error_mnc_not23" msgid="8418177072458379439">"El campo MNC debe contener 2 ó 3 dígitos."</string> <string name="restore_default_apn" msgid="2724583218635739913">"Restaurando la configuración de APN predeterminada"</string> - <string name="menu_restore" msgid="8260067415075573273">"Restablecer valores predeterminados"</string> + <string name="menu_restore" msgid="8260067415075573273">"Valores predeterminados"</string> <string name="restore_default_apn_completed" msgid="3990449939234957281">"Restablecimiento de la configuración de APN predeterminada completado"</string> <string name="master_clear_title" msgid="5907939616087039756">"Restablecer datos de fábrica"</string> <string name="master_clear_summary" msgid="4986154238001088492">"Borrar todos los datos del teléfono"</string> @@ -563,8 +586,22 @@ <string name="media_format_final_button_text" msgid="4881713344315923175">"Borrar todo"</string> <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Crea tu patrón de desbloqueo."</string> <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Debes crear un patrón de desbloqueo para confirmar el formato de la tarjeta SD."</string> - <string name="call_settings_title" msgid="5188713413939232801">"Ajustes de llamadas"</string> + <string name="call_settings_title" msgid="5188713413939232801">"Ajustes de llamada"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Configurar buzón, llamada en espera, desvío e identificador"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Anclaje a red"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Zona Wi-Fi portátil"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Anclaje a red y zona Wi-Fi"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Comparte la conexión de datos móvil del teléfono por USB."</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Comparte la conexión móvil del teléfono como zona Wi-Fi portátil."</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Comparte la conexión de datos móvil del teléfono por USB o como zona Wi-Fi portátil."</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Anclaje de USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB conectado, sin anclaje a red"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Anclado a red"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"No se puede realizar el anclaje a red si el almacenamiento USB está en uso."</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB no conectado"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Error de anclaje de USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Ayuda"</string> <string name="network_settings_title" msgid="7967552516440151852">"Redes móviles"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Establecer opciones para itinerancia, redes, APN"</string> <string name="location_title" msgid="1029961368397484576">"Mi ubicación"</string> @@ -572,16 +609,11 @@ <string name="location_networks_disabled" msgid="2708968452901433980">"Para ver una ubicación en aplicaciones (por ejemplo, Google Maps)"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Ubicación determinada por redes móviles o Wi-Fi"</string> <string name="location_gps" msgid="6296125378829097831">"Utilizar satélites GPS"</string> - <string name="location_street_level" msgid="6460740847018275745">"Durante la localización, preciso en el nivel de calle (desactivar para ahorrar batería)"</string> + <string name="location_street_level" msgid="6460740847018275745">"Para detectar ubicación (desactivar para ahorrar batería)"</string> <string name="location_gps_disabled" msgid="6632537158777308128">"Localizar en nivel de calle (requiere más batería además de la vista aérea)"</string> <string name="assisted_gps" msgid="4649317129586736885">"Utilizar GPS asistido"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar el servidor para asistir al GPS (desactivar para reducir el uso de la red)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Utilizar el servidor para asistir al GPS (desactivar para mejorar el rendimiento del GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Utilizar Mi ubicación"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Utilizar Mi ubicación para los resultados de búsqueda de Google y otros servicios de Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"¿Quieres que Google pueda utilizar tu ubicación para mejorar los resultados de búsqueda y otros servicios?"</string> - <string name="agree" msgid="6288718671527758326">"Acepto"</string> - <string name="disagree" msgid="6221069272309799230">"No acepto"</string> <string name="about_settings" msgid="1743378368185371685">"Acerca del teléfono"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Ver información legal, estado del teléfono, versión del software"</string> <string name="legal_information" msgid="5769301644270604095">"Información legal"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Información de seguridad"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"El teléfono no está conectado a un servicio de datos. Para ver esta información, accede a %s desde cualquier equipo conectado a Internet."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Cargando..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Patrón de desbloqueo de pantalla"</string> - <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Cambiar patrón de desbloqueo"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Selecciona tu contraseña"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Selecciona tu PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Confirma tu contraseña"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Confirma el número PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Las contraseñas no coinciden"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Los números PIN no coinciden"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"La contraseña se ha establecido."</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"El PIN se ha establecido."</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"El patrón se ha establecido."</string> + <string name="lock_settings_title" msgid="975088518210629938">"Desbloqueo de pantalla"</string> + <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Cambiar patrón desbloqueo"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Cambiar PIN de desbloqueo"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Confirmar patrón guardado"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Inténtalo de nuevo:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Crear un patrón de desbloqueo"</string> @@ -615,27 +657,27 @@ <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"Seguir"</string> <string name="lockpattern_settings_title" msgid="3207750489460466680">"Patrón de desbloqueo"</string> <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Patrón obligatorio"</string> - <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Se debe crear un patrón para desbloquear la pantalla."</string> + <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Debes crear un patrón para desbloquear la pantalla."</string> <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Utilizar patrón visible"</string> - <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Comentarios al crear patrón"</string> + <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Respuesta táctil"</string> <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Patrón de desbloqueo"</string> - <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Cambiar patrón de desbloqueo"</string> + <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Cambiar patrón desbloqueo"</string> <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"Cómo crear un patrón de desbloqueo"</string> <string name="lockpattern_too_many_failed_confirmation_attempts_header" msgid="819903817323783498">"Se han realizado demasiados intentos incorrectos."</string> <string name="lockpattern_too_many_failed_confirmation_attempts_footer" msgid="6759029360597122873">"Espera <xliff:g id="NUMBER">%d</xliff:g> segundos y vuelve a intentarlo."</string> <string name="skip_button_label" msgid="8680422740354436943">"Cancelar"</string> - <string name="next_button_label" msgid="8890792540116568321">"Seguir"</string> + <string name="next_button_label" msgid="8890792540116568321">"Siguiente"</string> <string name="lock_title" msgid="4059246467204273930">"Protección del teléfono"</string> - <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Protege el teléfono de usos no autorizados mediante la creación de un patrón de desbloqueo de pantalla personal. "\n<font height="17">\n</font><b>"1"</b>" En la siguiente pantalla, puedes observar cómo se crea un patrón de ejemplo. "\n<font height="17">\n</font><b>"2"</b>" Cuando estés preparado, crea tu propio patrón de desbloqueo personal. Puedes experimentar con distintos patrones, pero recuerda que debes conectar al menos cuatro puntos. "\n<font height="17">\n</font><b>"3"</b>" Vuelve a dibujar el patrón para confirmarlo. "\n<font height="17">\n</font><b>"Si estás preparado para comenzar, toca en \"Siguiente\""</b>". "\n<font height="3">\n</font>"Para dejar el teléfono desprotegido, toca en \"Cancelar\"."</font></string> + <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Protege el teléfono de usos no autorizados mediante la creación de un patrón de desbloqueo de pantalla personal. "\n<font height="17">\n</font><b>"1"</b>" En la siguiente pantalla, puedes observar cómo se crea un patrón de ejemplo. "\n<font height="17">\n</font><b>"2"</b>" Cuando estés preparado, crea tu propio patrón de desbloqueo personal. Puedes experimentar con distintos patrones, pero recuerda que debes conectar al menos cuatro puntos. "\n<font height="17">\n</font><b>"3"</b>" Vuelve a dibujar el patrón para confirmarlo. "\n<font height="17">\n</font><b>"Si estás preparado para comenzar, toca en \"Siguiente\""</b>". "\n<font height="3">\n</font>"Si deseas dejar tu teléfono sin protección, toca \"Cancelar\"."</font></string> <string name="lock_example_title" msgid="8052305554017485410">"Patrón de ejemplo"</string> <string name="lock_example_message" msgid="1838650097090632706">"Une al menos cuatro puntos."\n" "\n"Toca en \"Siguiente\" cuando estés preparado para crear tu propio patrón."</string> <string name="manageapplications_settings_title" msgid="5712405848153426706">"Administrar aplicaciones"</string> <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Administrar y eliminar aplicaciones instaladas"</string> <string name="applications_settings" msgid="3736173521008476946">"Aplicaciones"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"Administrar aplicaciones, configurar accesos directos de inicio rápido"</string> - <string name="applications_settings_header" msgid="6018266337275422250">"Configuración de aplicaciones"</string> + <string name="applications_settings_header" msgid="6018266337275422250">"Ajustes de aplicaciones"</string> <string name="install_applications" msgid="4872012136210802181">"Orígenes desconocidos"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Permitir la instalación de aplicaciones distintas de Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Permitir la instalación de aplicaciones distintas de Android Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"El teléfono y los datos personales son más vulnerables a los ataques de aplicaciones de origen desconocido. El usuario acepta ser el único responsable de cualquier daño en el teléfono o pérdida de datos que se pueda derivar del uso de estas aplicaciones."</string> <string name="application_info_label" msgid="1150486628158409543">"Información de la aplicación"</string> <string name="storage_label" msgid="8700867073480107253">"Almacenamiento"</string> @@ -664,9 +706,10 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Todas"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Descargada"</string> <string name="filter_apps_running" msgid="7767071454371350486">"En ejecución"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"En tarjeta SD"</string> <string name="loading" msgid="3200408047793887917">"Cargando..."</string> <string name="recompute_size" msgid="7722567982831691718">"Recalculando tamaño..."</string> - <string name="clear_data_dlg_title" msgid="4470209520936375508">"Suprimir"</string> + <string name="clear_data_dlg_title" msgid="4470209520936375508">"Eliminar"</string> <string name="clear_data_dlg_text" msgid="8368035073300828451">"Todos los datos de la aplicación se eliminarán de forma permanente, incluidos todos los archivos, la configuración, las cuentas, las bases de datos, etc."</string> <string name="dlg_ok" msgid="2402639055725653590">"Aceptar"</string> <string name="dlg_cancel" msgid="1674753358972975911">"Cancelar"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"No se ha podido calcular el tamaño del paquete."</string> <string name="empty_list_msg" msgid="2901049162265094971">"No tienes instalada ninguna aplicación externa."</string> <string name="version_text" msgid="9189073826278676425">"versión <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Mover"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Mover al teléfono"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover a la tarjeta SD"</string> + <string name="moving" msgid="6431016143218876491">"Moviendo"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"No queda suficiente espacio de almacenamiento."</string> + <string name="does_not_exist" msgid="837163572898468245">"La aplicación especificada no existe."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"La aplicación está protegida contra copias."</string> + <string name="invalid_location" msgid="4934491353200240499">"La ubicación de instalación especificada no es válida."</string> + <string name="system_package" msgid="1030561474413022831">"Las actualizaciones del sistema no se pueden instalar en medios externos."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forzar detención"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Esta aplicación se reiniciará de forma inmediata. ¿Estás seguro de que deseas forzar la detención?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicación"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"No se ha podido mover la aplicación. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Ubicación de instalación preferida"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Modificar ubicación de instalación preferida para nuevas aplicaciones"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Servicios en ejecución"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Ver y controlar los servicios en ejecución"</string> <string name="service_restarting" msgid="2242747937372354306">"Reiniciando"</string> @@ -696,30 +754,30 @@ <string name="service_foreground_processes" msgid="4013890350284680796">"Otros: <xliff:g id="MEMORY">%2$s</xliff:g> en <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"Proceso: <xliff:g id="PROCESS">%1$s</xliff:g>"</string> <string name="language_settings" msgid="502219872342167227">"Idioma y teclado"</string> - <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Configuración de teclado y de idioma"</string> - <string name="language_settings_summary" msgid="595647729475399987">"Configuración local, opciones de autocorrección e introducción de texto"</string> - <string name="language_category" msgid="3391756582724541530">"Configuración local"</string> - <string name="text_category" msgid="6342540511465136739">"Configuración de texto"</string> - <string name="phone_language" msgid="2138384312336494991">"Configuración local"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Seleccionar idioma y región"</string> + <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Ajustes de teclado y de idioma"</string> + <string name="language_settings_summary" msgid="595647729475399987">"Configuración regional, opciones de autocorrección e introducción de texto"</string> + <string name="language_category" msgid="3391756582724541530">"Configuración regional"</string> + <string name="text_category" msgid="6342540511465136739">"Ajustes de texto"</string> + <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Corrección automática"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Corregir palabras con errores de escritura"</string> <string name="auto_caps" msgid="581633131114124121">"Mayúsculas automáticas"</string> <string name="auto_caps_summary" msgid="6358102538315261466">"Escribir en mayúsculas la primera letra de las frases"</string> <string name="auto_punctuate" msgid="4595367243950425833">"Puntuación automática"</string> - <string name="hardkeyboard_category" msgid="5957168411305769899">"Configuración del teclado físico"</string> + <string name="hardkeyboard_category" msgid="5957168411305769899">"Ajustes del teclado físico"</string> <string name="auto_punctuate_summary" msgid="4372126865670574837">"Pulsa la barra espaciadora dos veces para insertar el carácter \".\""</string> <string name="show_password" msgid="2198798062604049206">"Contraseñas visibles"</string> <string name="show_password_summary" msgid="3806709974395178121">"Mostrar contraseña mientras se escribe"</string> <string name="ime_security_warning" msgid="812267421486877917">"Este método de introducción de texto puede registrar todo lo que escribas, incluidos datos personales, como las contraseñas y los números de las tarjetas de crédito. Procede de la aplicación <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. ¿Deseas utilizar este método de introducción de texto?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Diccionario del usuario"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Diccionario del usuario"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Añadir y eliminar palabras del diccionario del usuario"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Añadir"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Añadir al diccionario"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar palabra"</string> <string name="user_dict_settings_context_menu_edit_title" msgid="2210564879320004837">"Editar"</string> - <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"Suprimir"</string> + <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"Eliminar"</string> <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"No tienes ninguna palabra en el diccionario del usuario. Puedes añadir una palabra a través del menú."</string> <string name="testing" msgid="6584352735303604146">"Prueba"</string> <string name="testing_phone_info" msgid="8656693364332840056">"Información sobre el teléfono"</string> @@ -738,10 +796,10 @@ <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"Accesos directos"</string> <string name="input_methods_settings_title" msgid="6800066636850553887">"Introducción de texto"</string> <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrar opciones de introducción de texto"</string> - <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Configuración de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string> - <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Configuración de teclado en pantalla"</string> + <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ajustes de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string> + <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ajustes de teclado en pantalla"</string> <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Teclado del dispositivo"</string> - <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Configuración del teclado integrado"</string> + <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Ajustes del teclado integrado"</string> <string name="development_settings_title" msgid="6719732334835420989">"Desarrollo"</string> <string name="development_settings_summary" msgid="2151320488701538355">"Establecer opciones de desarrollo de aplicaciones"</string> <string name="enable_adb" msgid="7982306934419797485">"Depuración USB"</string> @@ -791,13 +849,18 @@ <string name="launch_count_label" msgid="4019444833263957024">"Número"</string> <string name="usage_time_label" msgid="295954901452833058">"Tiempo de uso"</string> <string name="accessibility_settings" msgid="3975902491934816215">"Accesibilidad"</string> - <string name="accessibility_settings_title" msgid="2130492524656204459">"Configuración de accesibilidad"</string> + <string name="accessibility_settings_title" msgid="2130492524656204459">"Ajustes de accesibilidad"</string> <string name="accessibility_settings_summary" msgid="8185181964847149507">"Administrar opciones de accesibilidad"</string> <string name="toggle_accessibility_title" msgid="650839277066574497">"Accesibilidad"</string> <string name="accessibility_services_category" msgid="8127851026323672607">"Servicios de accesibilidad"</string> <string name="no_accessibility_services_summary" msgid="694578333333808159">"No hay instalado ningún servicio de accesibilidad."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este servicio de accesibilidad puede recopilar todo lo que escribas, desde datos personales hasta números de tarjetas de crédito, a excepción de las contraseñas. También puede registrar las interacciones con la interfaz de usuario. Procede de la aplicación <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. ¿Quieres utilizar este servicio de accesibilidad?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"¿Quieres inhabilitar la accesibilidad?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"No se han encontrado aplicaciones relacionadas con la accesibilidad."</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"No tienes ninguna aplicación relacionada con la accesibilidad instalada."\n\n"Puedes descargar un lector de pantalla para tu dispositivo desde Android Market."\n\n"Haz clic en \"Aceptar\" para instalar el lector de pantalla."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Botón de encendido"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Colgar"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"La llamada finalizará al pulsar el botón de encendido."</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Uso de la batería"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Consumo de la batería"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Uso de la batería desde que se cargó"</string> @@ -831,10 +894,10 @@ <string name="usage_type_no_coverage" msgid="3797004252954385053">"Tiempo sin señal"</string> <string name="battery_action_stop" msgid="649958863744041872">"Forzar detención"</string> <string name="battery_action_app_details" msgid="3275013531871113681">"Información de la aplicación"</string> - <string name="battery_action_app_settings" msgid="350562653472577250">"Configuración de aplicaciones"</string> - <string name="battery_action_display" msgid="5302763261448580102">"Configuración de pantalla"</string> - <string name="battery_action_wifi" msgid="5452076674659927993">"Configuración WiFi"</string> - <string name="battery_action_bluetooth" msgid="8374789049507723142">"Configuración de Bluetooth"</string> + <string name="battery_action_app_settings" msgid="350562653472577250">"Ajustes de aplicaciones"</string> + <string name="battery_action_display" msgid="5302763261448580102">"Ajustes de pantalla"</string> + <string name="battery_action_wifi" msgid="5452076674659927993">"Ajustes WiFi"</string> + <string name="battery_action_bluetooth" msgid="8374789049507723142">"Ajustes de Bluetooth"</string> <string name="battery_desc_voice" msgid="8980322055722959211">"Batería utilizada por llamadas de voz"</string> <string name="battery_desc_standby" msgid="3009080001948091424">"Batería utilizada cuando el teléfono está inactivo"</string> <string name="battery_desc_radio" msgid="5479196477223185367">"Batería utilizada por la radio"</string> @@ -850,18 +913,28 @@ <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Detener o desinstalar la aplicación"</string> <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Desactivar GPS cuando no se esté utilizando"</string> <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"La aplicación puede incluir opciones que permitan reducir el uso de la batería."</string> - <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> desde que se cargó"</string> - <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Desde la última vez que se cargó: <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> + <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> desde que se desenchufó"</string> + <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Desde la última vez que se desenchufó para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> <string name="menu_stats_total" msgid="8973377864854807854">"Total de consumo"</string> <string name="menu_stats_refresh" msgid="1676215433344981075">"Actualizar"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Sistema operativo de Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Servidor multimedia"</string> - <string name="tts_settings" msgid="3348626948015962987">"Síntesis de voz"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Establecer opciones de síntesis de voz"</string> - <string name="tts_settings_title" msgid="4182348653053000933">"Configuración de síntesis de voz"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Entrada y salida de voz"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Configuración entrada y salida de voz"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Búsqueda por voz"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Teclado de Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Entrada de voz"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Salida de voz"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Reconocedor de voz"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Reconocimiento de voz"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Configuración de \"<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\""</string> + <string name="tts_settings" msgid="8186971894801348327">"Configuración síntesis voz"</string> + <string name="tts_settings_title" msgid="4182348653053000933">"Ajustes de síntesis de voz"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Utilizar siempre mi configuración"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"La configuración predeterminada anula la de la aplicación."</string> - <string name="tts_default_settings_section" msgid="5787915620218907443">"Configuración predeterminada"</string> + <string name="tts_default_settings_section" msgid="5787915620218907443">"Ajustes predeterminados"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Motor predeterminado"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Establece el motor de síntesis de voz utilizado para el texto hablado."</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Velocidad de voz"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidad a la que se lee el texto"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tono"</string> @@ -875,11 +948,23 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Las voces necesarias para la síntesis de voz ya están instaladas correctamente."</string> <string name="tts_demo" msgid="405357591189935876">"Este es un ejemplo de síntesis de voz."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Tu configuración ha cambiado. Este es un ejemplo de cómo suena."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"El motor que has seleccionado no se puede ejecutar."</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Configurar"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Seleccionar otro motor"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Es posible que este motor de síntesis de voz recopile todo el texto hablado, incluidos datos personales, como contraseñas y números de tarjeta de crédito. Procede del motor <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. ¿Quieres habilitar el uso de este motor de síntesis de voz?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Motores"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Ajustes de <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"Se ha habilitado <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>."</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"Se ha inhabilitado <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>."</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Idiomas y voces"</string> + <string name="pico_installed" msgid="2452546687858267414">"Instalada"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Sin instalar"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Mujer"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Hombre"</string> <string name="gadget_title" msgid="7455548605888590466">"Control de energía"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Actualización de la configuración de la conexión Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Actualización de la configuración de la conexión Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Instalador de credenciales"</string> - <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Configuración de red VPN"</string> + <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Ajustes de red VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Establecer conexión con <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nombre de usuario:"</string> <string name="vpn_password_colon" msgid="5716278710848606626">"Contraseña:"</string> @@ -889,7 +974,7 @@ <string name="vpn_connect_button" msgid="1699007212602470655">"Establecer conexión"</string> <string name="vpn_yes_button" msgid="8034531001149843119">"Sí"</string> <string name="vpn_no_button" msgid="7620339571187119107">"No"</string> - <string name="vpn_back_button" msgid="192036339792734970">"Anterior"</string> + <string name="vpn_back_button" msgid="192036339792734970">"Atrás"</string> <string name="vpn_mistake_button" msgid="1683383660912491270">"No"</string> <string name="vpn_menu_done" msgid="93528279226907926">"Guardar"</string> <string name="vpn_menu_cancel" msgid="7234451214611202868">"Cancelar"</string> @@ -953,12 +1038,12 @@ <string name="vpn_disable_field" msgid="6905658811179634005">"Inhabilitar <xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_is_enabled" msgid="1266304230417098877">"Se ha habilitado <xliff:g id="OPTION">%s</xliff:g>."</string> <string name="vpn_is_disabled" msgid="2013622485867806167">"Se ha inhabilitado <xliff:g id="OPTION">%s</xliff:g>."</string> - <string name="vpn_settings_title" msgid="7327468307909556719">"Configuración de red VPN"</string> + <string name="vpn_settings_title" msgid="7327468307909556719">"Ajustes de red VPN"</string> <string name="vpn_settings_summary" msgid="8849924181594963972">"Configurar y administrar redes privadas virtuales (VPN)"</string> <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(sin modificar)"</string> <string name="vpn_secret_not_set" msgid="1037792636371641845">"(sin definir)"</string> <string name="credentials_category" msgid="8536992056377271234">"Almacenamiento de credenciales"</string> - <string name="credentials_access" msgid="4843187230913860492">"Utilizar credenciales seguras"</string> + <string name="credentials_access" msgid="4843187230913860492">"Credenciales seguras"</string> <string name="credentials_access_summary" msgid="319662078718574168">"Permitir que las aplicaciones accedan a los certificados seguros y a otras credenciales"</string> <string name="credentials_unlock" msgid="1463040326264133844">"Introducir contraseña"</string> <string name="credentials_unlock_hint" msgid="594679530407918031">"Introduce la contraseña de almacenamiento de credenciales."</string> @@ -986,12 +1071,24 @@ <string name="emergency_tone_title" msgid="1055954530111587114">"Tono de emergencia"</string> <string name="emergency_tone_summary" msgid="722259232924572153">"Establecer comportamiento al realizar una llamada de emergencia"</string> <string name="privacy_settings" msgid="9206631214140954954">"Privacidad"</string> - <string name="privacy_settings_title" msgid="1987089301293213705">"Configuración de privacidad"</string> - <string name="location_section_title" msgid="6072558684044939786">"Ubicación"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Configuración"</string> + <string name="privacy_settings_title" msgid="1987089301293213705">"Ajustes de privacidad"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Datos personales"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Realizar copia de seguridad de mi configuración"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Copia de seguridad de la configuración"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"¿Estás seguro de que quieres detener la copia de seguridad de tu configuración y borrar todas las copias de los servidores de Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Restauración automática"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia de seguridad"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"¿Estás seguro de que quieres detener la copia de seguridad de la configuración y de los datos de aplicación y borrar todas las copias de los servidores de Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Ajustes de administración de dispositivos"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador de dispositivos"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Desactivar"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Administradores de dispositivos"</string> + <string name="no_device_admins" msgid="702695100241728775">"No hay ningún administrador de dispositivos disponible."</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"¿Quieres activar el administrador de dispositivos?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Activar"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Administrador de dispositivos"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Al activar este administrador se permitirá que la aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> realice las siguientes operaciones:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Este administrador está activo y permite que la aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> realice las siguientes operaciones:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Sin título"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"General"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Llamadas entrantes"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificaciones"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Respuesta del teléfono"</string> </resources> diff --git a/res/values-fr-nokeys/strings.xml b/res/values-fr-nokeys/strings.xml index a396a12..dd8c651 100644 --- a/res/values-fr-nokeys/strings.xml +++ b/res/values-fr-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Gérer les applications"</string> diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml index e71cc21..5840edf 100644 --- a/res/values-fr/arrays.xml +++ b/res/values-fr/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italien"</item> <item msgid="5811378076054402537">"Espagnol"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automatique"</item> - <item msgid="5434666299123318296">"Aucune"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Aucun"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automatique"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"Clé WEP hexadécimale"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Recherche…"</item> + <item msgid="8513729475867537913">"Connexion…"</item> + <item msgid="515055375277271756">"Authentification..."</item> + <item msgid="1943354004029184381">"Récupération de l\'adresse IP…"</item> + <item msgid="4221763391123233270">"Connecté"</item> + <item msgid="624838831631122137">"Interrompu"</item> + <item msgid="7979680559596111948">"Déconnexion…"</item> + <item msgid="1634960474403853625">"Déconnecté"</item> + <item msgid="746097431216080650">"Échec"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Recherche…"</item> + <item msgid="355508996603873860">"Connexion à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="554971459996405634">"Authentification avec <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"Récupération de l\'adresse IP à partir de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="8937994881315223448">"Connecté à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Interrompu"</item> + <item msgid="7698638434317271902">"Déconnexion de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Déconnecté"</item> + <item msgid="8578370891960825148">"Échec"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Ouvert"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Médiocre"</item> + <item msgid="5615082285463430971">"Satisfaisante"</item> + <item msgid="3565079809875324621">"Bonne"</item> + <item msgid="5702329417707689835">"Excellente"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Lorsque l\'écran s\'éteint"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP ou CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Mémoire interne du mobile"</item> + <item msgid="3738430123799803530">"Carte SD amovible"</item> + <item msgid="4498124044785815005">"Laisser le système décider"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Toujours"</item> + <item msgid="6293147072807231256">"Jamais"</item> + <item msgid="1276641209451816572">"En mode silencieux"</item> + <item msgid="8418930333779132418">"Hors mode silencieux"</item> + </string-array> </resources> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 8faebdc..b9c6522 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Oui"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Inconnu"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Allumer le signal radio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Éteindre le signal radio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Activer le journal SD QXDM"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Désactiver le journal QXMD SD"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Afficher le carnet d\'adresses de la carte SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Afficher les numéros autorisés"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Afficher les numéros de service"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Récupérer la liste PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Activer la connexion des données"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Désactiver la connexion des données"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Activer les données au démarrage"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Désactiver les données lors du démarrage"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"Service en cours"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Hors-service"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Appels d\'urgence uniquement"</string> @@ -49,7 +44,7 @@ <string name="radioInfo_display_dbm" msgid="3621221793699882781">"dBm"</string> <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string> <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string> - <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string> + <string name="radioInfo_cid" msgid="4362599198392643138">"CID ou IDC"</string> <string name="sdcard_unmount" msgid="3364184561355611897">"Retirer la carte SD"</string> <string name="sdcard_format" msgid="362497552060004057">"Formater la carte SD"</string> <string name="small_font" msgid="2295331917424072635">"Petite"</string> @@ -73,7 +68,7 @@ <string name="battery_info_screen_on" msgid="376277447175613889">"Écran activé :"</string> <string name="battery_info_status_unknown" msgid="196130600938058547">"Inconnu"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"Batterie en charge"</string> - <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(AC)"</string> + <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(CA)"</string> <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string> <string name="battery_info_status_discharging" msgid="6222697503392774475">"Baisse du niveau de charge"</string> <string name="battery_info_status_not_charging" msgid="2820070506621483576">"Débranchée"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Identifiable"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Identifiable pendant <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> secondes..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Permettre l\'identification de l\'appareil"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Bloquer les appels par reconnaissance vocale"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Désactiver les appels via le Bluetooth lorsque l\'écran est verrouillé"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Appareils Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Nom de l\'appareil"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Aucun nom n\'a été défini. Utilisation du nom du compte..."</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Déconnecté"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Déconnexion…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connexion…"</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Associer à cet appareil"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Association…"</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Relié, mais pas connecté"</string> @@ -117,10 +113,10 @@ <string name="bluetooth_ask_enablement" msgid="2342558978033892004">"Une application sur votre téléphone demande l\'autorisation d\'activer Bluetooth. Voulez-vous l\'activer ?"</string> <string name="bluetooth_ask_discovery" msgid="669870705606180872">"Une application sur votre téléphone demande l\'autorisation d\'activer la fonction de détection de votre téléphone par d\'autres appareils Bluetooth pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes. Voulez-vous l\'activer ?"</string> <string name="bluetooth_ask_enablement_and_discovery" msgid="7220210326619399542">"Une application sur votre téléphone demande l\'autorisation d\'activer Bluetooth et de permettre à d\'autres appareils de détecter votre téléphone pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes. Voulez-vous l\'activer ?"</string> - <string name="bluetooth_turning_on" msgid="3107102168379705771">"Activation de Bluetooth…"</string> + <string name="bluetooth_turning_on" msgid="3107102168379705771">"Activation du Bluetooth…"</string> <string name="date_and_time" msgid="4114084177056654663">"Paramètres d\'heure et de date"</string> <string name="date_time_12_hour_sample" msgid="3259617262618020574">"13:00 h"</string> - <string name="date_time_24_hour_sample" msgid="8916857570746212357">"13:00"</string> + <string name="date_time_24_hour_sample" msgid="8916857570746212357">"13 h 00"</string> <string name="date_time_changeTime_text" msgid="7037437020000867740">"Changer l\'heure"</string> <string name="date_time_changeDate_text" msgid="5259762626498028057">"Date"</string> <string name="choose_timezone" msgid="7762866468013985022">"Choisir fuseau horaire"</string> @@ -130,16 +126,16 @@ <!-- no translation found for intent_sender_data_label (6332324780477289261) --> <skip /> <string name="intent_sender_sendbroadcast_text" msgid="1415735148895872715">"Envoyer <xliff:g id="BROADCAST">broadcast</xliff:g>"</string> - <string name="intent_sender_action_label" msgid="616458370005452389">"<xliff:g id="ACTION">Action</xliff:g> :"</string> - <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Lancer <xliff:g id="ACTIVITY">activity</xliff:g>"</string> - <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g> :"</string> + <string name="intent_sender_action_label" msgid="616458370005452389">"<xliff:g id="ACTION">Action</xliff:g>:"</string> + <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"Démarrer <xliff:g id="ACTIVITY">activity</xliff:g>"</string> + <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string> <string name="intent_sender_account_label" msgid="465210404475603404">"Compte :"</string> <string name="proxy_clear_text" msgid="5555400754952012657">"Effacer"</string> <string name="proxy_port_label" msgid="2623639656638472491">"Port"</string> <string name="proxy_defaultView_text" msgid="6387985519141433291">"Rétablir les paramètres par défaut"</string> <string name="proxy_action_text" msgid="477348175123635416">"Enregistrer"</string> <string name="proxy_hostname_label" msgid="7531298584350977540">"Nom de l\'hôte"</string> - <string name="proxy_error" msgid="8926675299638611451">"Attention"</string> + <string name="proxy_error" msgid="8926675299638611451">"Avertissement"</string> <string name="proxy_error_dismiss" msgid="4993171795485460060">"OK"</string> <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Le nom d\'hôte saisi n\'est pas valide."</string> <string name="proxy_error_empty_port" msgid="3525734169948795417">"Vous devez renseigner le champ Port."</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Adr. IP ping :"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Nom de l\'hôte du ping (www.google.com) :"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test du client HTTP :"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Activer/désactiver le cryptage"</string> <string name="ping_test_label" msgid="7255376471490860631">"Effectuer un test de ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC :"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Mettre à jour"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualiser"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Activer le contrôle DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Infos/paramètres OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Définir la bande GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Chargement de la liste de bandes..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Définir"</string> @@ -190,7 +186,7 @@ <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Vous pouvez maintenant retirer la carte SD en toute sécurité."</string> <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"La carte SD a été retirée pendant son utilisation !"</string> <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Octets utilisés :"</string> - <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Recherche de fichiers multimédia sur la carte SD…"</string> + <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Recherche de fichiers multimédias sur la carte SD…"</string> <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Carte SD montée en lecture seule"</string> <string name="next_label" msgid="4693520878012668114">"Suivant"</string> <string name="language_picker_title" msgid="4034157617842965844">"Paramètres régionaux"</string> @@ -227,20 +223,57 @@ <string name="date_time_auto" msgid="3086083265745944725">"Automatique"</string> <string name="date_time_auto_summaryOn" msgid="9034585614665299846">"Utiliser les valeurs du réseau"</string> <string name="date_time_auto_summaryOff" msgid="3900356736797266448">"Utiliser les valeurs du réseau"</string> - <string name="date_time_24hour" msgid="1193032284921000063">"Utiliser format sur 24 h"</string> + <string name="date_time_24hour" msgid="1193032284921000063">"Utiliser le format 24 h"</string> <string name="date_time_set_time" msgid="5716856602742530696">"Définir l\'heure"</string> - <string name="date_time_set_timezone" msgid="5045627174274377814">"Définir fuseau horaire"</string> + <string name="date_time_set_timezone" msgid="5045627174274377814">"Définir le fuseau horaire"</string> <string name="date_time_set_date" msgid="7021491668550232105">"Définir la date"</string> - <string name="date_time_date_format" msgid="436706100255870967">"Choisir format de date"</string> + <string name="date_time_date_format" msgid="436706100255870967">"Choisir le format de date"</string> <string name="zone_list_menu_sort_alphabetically" msgid="5683377702671088588">"Trier par ordre alphabétique"</string> <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"Trier par fuseau horaire"</string> - <string name="security_settings_title" msgid="5168491784222013179">"Lieu et sécurité"</string> + <string name="security_settings_title" msgid="5168491784222013179">"Localisation et sécurité"</string> <string name="location_security_settings_title" msgid="4624434296446625554">"Paramètres de sécurité et localisation"</string> <string name="security_settings_summary" msgid="967393342537986570">"Définir les paramètres de l\'option Ma position et de verrouillage"</string> - <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Définir Ma position, le déverrouillage de l\'écran et le blocage des informations d\'identification stockées"</string> + <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Définir les paramètres de la fonction Ma position, de déverrouillage de l\'écran et de verrouillage du stockage des identifiants"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Mots de passe"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Sécurité du verrouillage de l\'écran"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Verrouillage de l\'écran"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Verrouiller l\'écran à l\'aide d\'un schéma, d\'un code PIN ou d\'un mot de passe"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Modifier le verrouillage de l\'écran"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Modifier ou désactiver la sécurité : schéma, code PIN ou mot de passe"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Aucune"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Désactiver la sécurité du verrouillage de l\'écran"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Schéma"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Dessiner un schéma pour déverrouiller l\'écran"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Code PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Entrer un code PIN numérique pour déverrouiller l\'écran"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Mot de passe"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Entrer un mot de passe pour déverrouiller l\'écran"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Désactivé par un administrateur distant"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Désactiver le verrouillage de l\'écran"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Supprimer le schéma de déverrouillage"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Supprimer le code PIN de déverrouillage"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Supprimer le mot de passe de déverrouillage"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Modifier le schéma de déverrouillage"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Modifier le code PIN de déverrouillage"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Modifier le mot de passe de déverrouillage"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Le mot de passe doit comporter au moins %d caractères."</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Le code PIN doit comporter au moins %d caractères."</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Appuyez sur Continuer une fois l\'opération terminée."</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuer"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Le code PIN ne doit pas contenir plus de %d chiffres."</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Le code PIN ne doit pas contenir plus de %d chiffres."</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Le code PIN ne doit contenir que des chiffres compris entre 0 et 9."</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Le mot de passe contient un caractère non autorisé."</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Le mot de passe doit comporter au moins une lettre."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Le mot de passe doit comporter au moins un chiffre."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Le mot de passe doit comporter au moins un symbole."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuler"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Administration du périphérique"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Administrateurs"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Ajouter ou supprimer des administrateurs de périphérique"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> - <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Activer Bluetooth"</string> + <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Activer le Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Paramètres Bluetooth"</string> <string name="bluetooth_settings_title" msgid="2824020086246268296">"Paramètres Bluetooth"</string> <string name="bluetooth_settings_summary" msgid="2091062709530570462">"Gérer les connexions, configurer le nom et l\'identification de l\'appareil"</string> @@ -248,13 +281,13 @@ <string name="bluetooth_device_info" msgid="6644515376523965073">"Informations sur l\'appareil Bluetooth"</string> <string name="bluetooth_enter_pin_msg" msgid="856962526754150334">\n"Saisissez le code PIN pour associer l\'appareil à \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". (Essayez avec 0000 ou 1234.)"</string> <string name="bluetooth_enter_passkey_msg" msgid="8121515818772179228">\n"Saisissez la clé d\'accès pour effectuer l\'association avec \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string> - <string name="bluetooth_confirm_passkey_msg" msgid="1205362283945104263">"Avant de se connecter à <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, vérifier qu\'il affiche la clé d\'accès : <xliff:g id="PASSKEY">%2$s</xliff:g>."</string> + <string name="bluetooth_confirm_passkey_msg" msgid="1205362283945104263">"Pour associer votre appareil à <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, vérifiez qu\'il affiche la clé d\'accès suivante : <xliff:g id="PASSKEY">%2$s</xliff:g>."</string> <string name="bluetooth_incoming_pairing_msg" msgid="1076613564387784476">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"\n"souhaite effectuer l\'association."</string> <string name="bluetooth_display_passkey_msg" msgid="3048496029389441579">"Entrez <xliff:g id="PASSKEY">%2$s</xliff:g> sur \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" pour effectuer l\'association."</string> <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Se connecter"</string> <string name="bluetooth_pairing_decline" msgid="930951069988011471">"Ne pas se connecter"</string> <string name="bluetooth_remote_device" msgid="2406662802908395389">"Périphérique Bluetooth"</string> - <string name="bluetooth_error_title" msgid="538287072376677166">"Attention"</string> + <string name="bluetooth_error_title" msgid="538287072376677166">"Avertissement"</string> <string name="bluetooth_pairing_error_message" msgid="2852744547246910349">"Un problème est survenu lors de l\'association à <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="bluetooth_pairing_pin_error_message" msgid="6065697229258906937">"Un problème est survenu lors de l\'association à <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, car la clé d\'accès ou le code secret saisi est incorrect."</string> <string name="bluetooth_pairing_device_down_error_message" msgid="6688215193824686741">"Impossible d\'établir la communication avec <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> @@ -285,155 +318,135 @@ <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"Utiliser pour les paramètres audio du média"</string> <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"Utiliser pour les paramètres audio du téléphone"</string> <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Utiliser pour le transfert de fichiers"</string> - <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Paramètres de la base"</string> - <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Utiliser la base pour l\'audio"</string> + <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Paramètres de la station d\'accueil"</string> + <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Utiliser station d\'accueil pour l\'audio"</string> <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Comme téléphone à haut-parleur"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Pour la musique et le multimédia"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Mémoriser ces paramètres"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Activer le Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Paramètres Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Paramètres Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Configurer et gérer les points d\'accès sans fil"</string> - <string name="forget_network" msgid="4718015029995727138">"Retirer"</string> - <string name="wifi_status" msgid="4824568012414605414">"État"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Vitesse"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Excellente"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Bonne"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Satisfaisante"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Faible"</string> - <string name="security" msgid="1040691896987225267">"Sécurité"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Ouvrir"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Entreprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Inconnu"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"réseau ouvert"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"sécurisé par clé WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"sécurisé via WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"sécurisé par 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Adresse IP"</string> - <string name="signal" msgid="1947969631626413228">"Intensité du signal"</string> <string name="wifi_starting" msgid="6710266609710860129">"Activation…"</string> <string name="wifi_stopping" msgid="5952909472548218348">"Désactivation…"</string> <string name="wifi_error" msgid="3207971103917128179">"Erreur"</string> - <string name="error_starting" msgid="4055163089721254078">"Impossible de lancer le Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Impossible d\'interrompre la connexion Wi-Fi."</string> - <string name="error_scanning" msgid="4644050284132264368">"Impossible de rechercher des réseaux"</string> - <string name="error_connecting" msgid="1981882310590509609">"Impossible de se connecter au réseau."</string> - <string name="error_saving" msgid="8294279443961615302">"Impossible d\'enregistrer le réseau"</string> - <string name="connect" msgid="3079076576295839400">"Se connecter"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Connexion à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Méthode EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Authentification phase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identité"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Anonyme"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certificat client"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Certificat CA"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Mot de passe sans fil"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Touche hex WEP (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Afficher le mot de passe"</string> - <string name="scan_wifi" msgid="2459901725350542606">"Rechercher"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Hors de portée"</string> - <string name="summary_remembered" msgid="6079941090549401742">"enregistré"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Échec de la connexion. Appuyez dessus pour réessayer."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Réseaux Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"SSID du réseau"</string> - <string name="wifi_security" msgid="6603611185592956936">"Sécurité"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Enregistrer"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(aucune modification)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Ajouter un réseau Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"En mode avion"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Impossible de rechercher des réseaux."</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Notification de réseau"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Me notifier lorsqu\'un réseau ouvert est disponible"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Le mot de passe réseau saisi est incorrect. Veuillez réessayer."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Un problème est survenu lors de la connexion au réseau. Veuillez réessayer."</string> - <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avancés"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Paramètres IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Enregistrer"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuler"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Saisissez une adresse IP valide."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utiliser une IP fixe"</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Ajouter un réseau Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Réseaux Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Rechercher"</string> + <string name="wifi_menu_advanced" msgid="7522252991919573664">"Options avancées"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Se connecter au réseau"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Retirer le réseau"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Modifier le réseau"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID du réseau"</string> + <string name="wifi_security" msgid="6603611185592956936">"Sécurité"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Intensité du signal"</string> + <string name="wifi_status" msgid="4824568012414605414">"État"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Vitesse de connexion"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Adresse IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Passerelle"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Masque de réseau"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Se connecter au réseau"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Retirer le réseau"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Modifier le mot de passe"</string> - <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avancés"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Méthode EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Authentification phase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certificat CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certificat utilisateur"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identité"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonyme"</string> + <string name="wifi_password" msgid="5948219759936151048">"Mot de passe"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Afficher le mot de passe"</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(aucune modification)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(non spécifié)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Réseaux enregistrés"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Désactivé"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Hors de portée"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Sécurisé par <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, sécurisé par <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Se connecter"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Retirer"</string> + <string name="wifi_save" msgid="3331121567988522826">"Enregistrer"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Annuler"</string> + <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Options avancées"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Domaine régulateur"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Définir le nombre de canaux à utiliser"</string> <string name="wifi_setting_num_channels_error" msgid="5765443843427870721">"Un problème est survenu lors du paramétrage du domaine régulateur."</string> - <string name="wifi_setting_num_channels_channel_phrase" msgid="1269381923672908636">"<xliff:g id="NUM_CHANNELS">%1$d</xliff:g> canaux"</string> + <string name="wifi_setting_num_channels_channel_phrase" msgid="1269381923672908636">"<xliff:g id="NUM_CHANNELS">%1$d</xliff:g> Chaînes"</string> <string name="wifi_setting_sleep_policy_title" msgid="1367731352485585528">"Politique de veille Wi-Fi"</string> <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Indiquer quand basculer du Wi-Fi sur le réseau de données mobile"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Un problème est survenu lors du paramétrage de la politique de veille."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adresse MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Recherche…"</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Connexion à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Authentification auprès de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Récupération de l\'adresse IP à partir de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Connecté à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Déconnexion de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Déconnecté"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Échec"</string> - <string name="status_scanning" msgid="8402178267165567371">"Recherche…"</string> - <string name="status_connecting" msgid="1669262263707521505">"Connexion…"</string> - <string name="status_authenticating" msgid="3536039799394033822">"Authentification…"</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Récupération de l\'adresse…"</string> - <string name="status_connected" msgid="8175694029067954271">"Connecté"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Déconnexion…"</string> - <string name="status_disconnected" msgid="7561688569905126046">"Déconnecté"</string> - <string name="status_failed" msgid="610462050405904601">"Échec"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Sons et affichage"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Paramètres des sons et affichages"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Paramètres IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Enregistrer"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuler"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Saisissez une adresse IP valide."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utiliser une IP fixe"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Passerelle"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Masque de réseau"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Point d\'accès Wi-Fi mobile"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Point d\'accès Wi-Fi mobile <xliff:g id="NETWORK_SSID">%1$s</xliff:g> actif"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Erreur liée au point d\'accès Wi-Fi mobile"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Paramètres du point d\'accès Wi-Fi mobile"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurer et gérer le point d\'accès Wi-Fi mobile"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Paramètres du point d\'accès Wi-Fi mobile"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurer le point d\'accès Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Point d\'accès Wi-Fi mobile <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Son"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Affichage"</string> <string name="sound_settings" msgid="5007659014828162881">"Paramètres sonores"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Configurer les sonneries, les notifications et la luminosité"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Mode silencieux"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Aucun son sauf pour le multimédia et le réveil"</string> - <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Toutes les sonneries seront définies sur Silencieux, sauf les fichiers multimédia."</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Aucun son, sauf pour le multimédia et le réveil"</string> + <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Il n\'y aura aucun son, sauf pour les fichiers multimédias."</string> <string name="ringtone_title" msgid="5379026328015343686">"Sonnerie du téléphone"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Configurer la sonnerie par défaut pour les appels entrants"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Volume de la sonnerie"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Régler le volume pour les appels entrants"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibreur"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Activer le vibreur pour les appels entrants"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrer en mode silencieux"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Autoriser la vibration en mode silencieux"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibreur"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibrations pour les appels et les notifications"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Sonnerie de notification"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Définir votre sonnerie de notification par défaut"</string> - <string name="notification_pulse_title" msgid="1247988024534030629">"Faire clignoter le voyant de notification"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> + <string name="notification_pulse_title" msgid="1247988024534030629">"Voyant de notification"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Faire clignoter le voyant de la trackball à chaque notification"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volume des appels entrants"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Volume des notifications"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Sonnerie"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Notification"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Utiliser le volume des appels entrants pour les notifications"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Sélectionner une sonnerie de notification"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Volume"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Multimédia"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Régler le volume pour la musique et les vidéos"</string> - <string name="dock_settings_summary" msgid="455802113668982481">"Paramètres audio de la base associée"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarme"</string> + <string name="dock_settings_summary" msgid="455802113668982481">"Paramètres audio de la station d\'accueil associée"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Tonalité touches audible"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Activer la tonalité des touches du clavier"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Activer la tonalité des touches du clavier"</string> <string name="sound_effects_enable_title" msgid="3197313718929122833">"Sélections audibles"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Jouer un son lors des sélections à l\'écran"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Jouer un son lors des sélections à l\'écran"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Verrouillage de l\'écran"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Émettre un son lorsque l\'écran est verrouillé ou déverrouillé"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Émettre un son lorsque l\'écran est verrouillé ou déverrouillé"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Retour haptique"</string> - <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrer lors de la sélection des touches programmables et lors de certaines interactions avec l\'interface utilisateur"</string> - <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrer à la sélection touches progr./certaines interactions avec interface"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Notifications carte SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Émettre un son pour les notifications de la carte SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Émettre un son pour les notifications de la carte SD"</string> + <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrer à l\'utilisation de touches programmables et d\'autres options"</string> + <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrer à l\'utilisation de touches programmables et d\'autres options"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Suppression du bruit"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Supprimer les bruits de fond lors d\'une discussion ou d\'un enregistrement."</string> - <string name="dock_settings" msgid="1820107306693002541">"Base"</string> - <string name="dock_settings_title" msgid="9161438664257429372">"Paramètres de la base"</string> + <string name="dock_settings" msgid="1820107306693002541">"Station d\'accueil"</string> + <string name="dock_settings_title" msgid="9161438664257429372">"Paramètres station d\'accueil"</string> <string name="dock_audio_settings_title" msgid="3324750259959570305">"Audio"</string> - <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Paramètres de la base de bureau associée"</string> - <string name="dock_audio_summary_car" msgid="6740897586006248450">"Paramètres de la base de voiture associée"</string> + <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Paramètres station d\'accueil bureau associée"</string> + <string name="dock_audio_summary_car" msgid="6740897586006248450">"Paramètres station d\'accueil voiture associée"</string> <string name="dock_audio_summary_none" msgid="289909253741048784">"Le téléphone n\'est pas sur sa base."</string> - <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Paramètres de la base associée"</string> - <string name="dock_not_found_title" msgid="3290961741828952424">"Base introuvable"</string> - <string name="dock_not_found_text" msgid="3035260358985111855">"Pour configurer les paramètres audio de la base, vous devez placer le téléphone sur cette dernière."</string> + <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Paramètres station d\'accueil associée"</string> + <string name="dock_not_found_title" msgid="3290961741828952424">"Station d\'accueil introuvable"</string> + <string name="dock_not_found_text" msgid="3035260358985111855">"Pour configurer les paramètres audio de la station d\'accueil, vous devez placer le téléphone sur cette dernière."</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Insertion dans la station d\'accueil"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Émettre un son lorsque le téléphone est inséré dans la station d\'accueil ou retiré de celle-ci"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"N\'émettre aucun son lorsque le téléphone est inséré dans la station d\'accueil ou retiré de celle-ci"</string> <string name="sync_settings" msgid="9186125469300013491">"Comptes et synchro"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Ajouter ou supprimer des comptes et modifier leurs paramètres"</string> <string name="search_settings" msgid="1910951467596035063">"Recherche"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animation"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Animation lors de l\'ouverture et de la fermeture des fenêtres"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Animation lors de l\'ouverture et de la fermeture des fenêtres"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientation"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Rotation auto écran"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Changer automatiquement d\'orientation lors de la rotation"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Changer automatiquement d\'orientation lors de la rotation"</string> <string name="brightness" msgid="2354961343555249270">"Luminosité"</string> @@ -456,7 +469,7 @@ <string name="sim_pin_toggle" msgid="1742123478029451888">"Bloquer la carte SIM"</string> <string name="sim_lock_on" msgid="2503536505568814324">"Demander le code PIN pour utiliser le téléphone"</string> <string name="sim_lock_off" msgid="258981978215428916">"Demander le code PIN pour utiliser le téléphone"</string> - <string name="sim_pin_change" msgid="6311414184279932368">"Modifier PIN de la carte SIM"</string> + <string name="sim_pin_change" msgid="6311414184279932368">"Modifier PIN carte SIM"</string> <string name="sim_enter_pin" msgid="6608715137008508432">"Code PIN de la carte SIM"</string> <string name="sim_enable_sim_lock" msgid="4517742794997166918">"Bloquer la carte SIM"</string> <string name="sim_disable_sim_lock" msgid="7664729528754784824">"Débloquer la carte SIM"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Annuler"</string> <string name="device_info_settings" msgid="475872867864762157">"État du téléphone"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Mises à jour du système"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Rechercher des mises à jour du système"</string> - <string name="firmware_version" msgid="6284872163051667788">"Version du micrologiciel"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Version d\'Android"</string> <string name="model_number" msgid="3765737700545384794">"Numéro du modèle"</string> <string name="baseband_version" msgid="1848990160763524801">"Version de bande de base"</string> <string name="kernel_version" msgid="9192574954196167602">"Version du noyau"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Espace total"</string> <string name="sd_eject" msgid="6915293408836853020">"Désactiver la carte SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Désactiver la carte SD pour la retirer en toute sécurité"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Insérer la carte SD à monter"</string> + <string name="sd_mount" msgid="5940523765187704135">"Monter la carte SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Monter la carte SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formater la carte SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formater (effacer) la carte SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Non disponible"</string> <string name="read_only" msgid="6702420168629076340">" (Lecture seule)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Désactiver la carte SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Si vous désactivez la carte SD, certaines applications que vous utilisez s\'arrêteront et risquent de ne plus être disponibles tant que vous n\'aurez pas réactivé la carte SD."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Échec de la désactivation de la carte SD"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Impossible de désactiver la carte SD. Réessayez ultérieurement."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"La carte SD sera désactivée. Pour connaître l\'état de la carte, consultez la zone de notification."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Désactivation en cours"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Désactivation en cours"</string> <string name="battery_status_title" msgid="9159414319574976203">"État de la batterie"</string> <string name="battery_level_title" msgid="2965679202786873272">"Niveau de la batterie"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -518,7 +541,7 @@ <string name="apn_not_set" msgid="7422262558097875757">"<Non défini>"</string> <string name="apn_name" msgid="4115580098369824123">"Nom"</string> <string name="apn_apn" msgid="2479425126733513353">"APN"</string> - <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy"</string> + <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy "</string> <string name="apn_http_port" msgid="3763259523984976226">"Port"</string> <string name="apn_user" msgid="455637547356117761">"Nom d\'utilisateur"</string> <string name="apn_password" msgid="5412301994998250968">"Mot de passe"</string> @@ -538,7 +561,7 @@ <string name="menu_new" msgid="3014205883303921729">"Nouvel APN"</string> <string name="menu_save" msgid="8109345640668285399">"Enregistrer"</string> <string name="menu_cancel" msgid="2194502410474697474">"Supprimer"</string> - <string name="error_title" msgid="1319225301794168762">"Attention"</string> + <string name="error_title" msgid="1319225301794168762">"Avertissement"</string> <string name="error_name_empty" msgid="1498238337687930558">"Le champ Nom doit être renseigné."</string> <string name="error_apn_empty" msgid="1513892291812404310">"Le champ Nom de point d\'accès (APN) doit être renseigné."</string> <string name="error_mcc_not3" msgid="4560171714156251661">"Le champ MCC doit contenir 3 chiffres."</string> @@ -565,28 +588,37 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Vous devez créer votre schéma de déverrouillage pour confirmer le format de la carte SD."</string> <string name="call_settings_title" msgid="5188713413939232801">"Paramètres d\'appel"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Configurer mess. vocale, transferts d\'appel, mises en attente, numéro de l\'appelant"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Partage de connexion"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Point d\'accès Wi-Fi mobile"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Partage de connexion et point d\'accès mobile"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Partagez la connexion Internet de votre mobile via un câble USB."</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Transformez votre mobile en point d\'accès Wi-Fi mobile."</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Partagez la connexion Internet de votre mobile via un câble USB ou transformez votre appareil en point d\'accès Wi-Fi mobile."</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Via USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Connexion USB établie, cochez l\'option adéquate pour partager la connexion."</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Partage de connexion en cours"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Impossible de partager la connexion lorsqu\'un stockage USB est utilisé."</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB non connecté"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erreur liée au partage de connexion via USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Aide"</string> <string name="network_settings_title" msgid="7967552516440151852">"Réseaux mobiles"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Définir les options d\'itinérance, réseaux, noms de points d\'accès"</string> <string name="location_title" msgid="1029961368397484576">"Ma position"</string> <string name="location_network_based" msgid="8815705866861993344">"Utiliser réseaux sans fil"</string> - <string name="location_networks_disabled" msgid="2708968452901433980">"Afficher position dans les applications (comme Google Maps)"</string> + <string name="location_networks_disabled" msgid="2708968452901433980">"Afficher ma position dans les applications (comme Google Maps)"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Position géographique déterminée par réseaux Wi-Fi et/ou mobile"</string> <string name="location_gps" msgid="6296125378829097831">"Utiliser les satellites GPS"</string> - <string name="location_street_level" msgid="6460740847018275745">"Localisation précise au niveau de la rue lors du localisation géographique (désélectionner pour économiser la batterie)"</string> + <string name="location_street_level" msgid="6460740847018275745">"Localisation à la rue près (décocher pour économiser la batterie)"</string> <string name="location_gps_disabled" msgid="6632537158777308128">"Localiser au niveau rue (requiert + de batterie et une vue dégagée)"</string> <string name="assisted_gps" msgid="4649317129586736885">"Utiliser le GPS assisté"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utiliser le serveur pour assister le GPS (désactiver pour réduire l\'utilisation du réseau)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Utiliser le serveur pour assister le GPS (désactiver pour améliorer les performances du GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Utiliser ma position"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Utiliser Ma position pour les recherches et autres services Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Souhaitez-vous autoriser Google à utiliser vos informations de localisation pour améliorer l\'efficacité des recherches et des autres services ?"</string> - <string name="agree" msgid="6288718671527758326">"Accepter"</string> - <string name="disagree" msgid="6221069272309799230">"Refuser"</string> <string name="about_settings" msgid="1743378368185371685">"À propos du téléphone"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Informations légales, état du téléphone et version du logiciel"</string> <string name="legal_information" msgid="5769301644270604095">"Informations légales"</string> <string name="contributors_title" msgid="5917703088825286504">"Collaborateurs"</string> - <string name="copyright_title" msgid="865906688917260647">"Copyright"</string> + <string name="copyright_title" msgid="865906688917260647">"Droits d\'auteur"</string> <string name="license_title" msgid="1990487604356037871">"Licence"</string> <string name="terms_title" msgid="7697580845616764642">"Conditions d\'utilisation"</string> <string name="system_tutorial_list_item_title" msgid="9082844446660969729">"Didacticiel système"</string> @@ -598,12 +630,22 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Informations de sécurité"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Votre téléphone n\'est connecté à aucun service de données. Pour consulter ces informations maintenant, accédez à %s depuis un ordinateur connecté à Internet."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Chargement…"</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Schéma de déverrouillage de l\'écran"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Choisir votre mot de passe"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Choisir votre code PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Confirmer le mot de passe"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Confirmer votre code PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Les mots de passe ne correspondent pas."</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Les codes PIN ne correspondent pas."</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Le mot de passe a été défini."</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Le code PIN a été défini."</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Le schéma a été défini."</string> + <string name="lock_settings_title" msgid="975088518210629938">"Déverrouillage de l\'écran"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Modifier le schéma"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Modifier le code PIN de déverrouillage"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Confirmer le schéma enregistré"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Désolé. Merci de réessayer :"</string> - <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Dessiner un schéma de déverrouillage :"</string> - <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Appuyer sur Menu pour obtenir de l\'aide."</string> + <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Dessinez un schéma de déverrouillage :"</string> + <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Appuyez sur Menu pour obtenir de l\'aide."</string> <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"Ôtez le doigt lorsque vous avez terminé."</string> <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"Reliez au moins <xliff:g id="NUMBER">%d</xliff:g> points. Veuillez réessayer :"</string> <string name="lockpattern_pattern_entered_header" msgid="5012716272001299362">"Schéma enregistré !"</string> @@ -615,7 +657,7 @@ <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"Continuer"</string> <string name="lockpattern_settings_title" msgid="3207750489460466680">"Schéma de déverrouillage"</string> <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Schéma obligatoire"</string> - <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Vous devez dessiner le schéma pour déverrouiller l\'écran."</string> + <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Dessiner un schéma pour déverrouiller l\'écran"</string> <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Schéma visible"</string> <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Retour tactile"</string> <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Créer un schéma"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Gérer les applications, configurer des raccourcis de lancement rapide"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Paramètres des applications"</string> <string name="install_applications" msgid="4872012136210802181">"Sources inconnues"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Autoriser l\'installation d\'applications ne provenant pas d\'Android Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Autoriser l\'installation d\'applications ne provenant pas d\'Android Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"Votre téléphone et vos données personnelles sont très vulnérables face à des applications provenant de sources inconnues. Vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string> <string name="application_info_label" msgid="1150486628158409543">"Informations sur l\'application"</string> <string name="storage_label" msgid="8700867073480107253">"Mémoire"</string> @@ -653,7 +695,7 @@ <string name="clear_user_data_text" msgid="5597622864770098388">"Effacer les données"</string> <string name="app_factory_reset" msgid="6635744722502563022">"Désinstaller les mises à jour"</string> <string name="auto_launch_enable_text" msgid="2630656657744196691">"Vous avez choisi de lancer cette application par défaut pour certaines actions."</string> - <string name="auto_launch_disable_text" msgid="7800385822185540166">"Aucun paramètre par défaut défini."</string> + <string name="auto_launch_disable_text" msgid="7800385822185540166">"Aucun paramètre par défaut défini"</string> <string name="clear_activities" msgid="7408923511535174430">"Effacer les actions par défaut"</string> <string name="unknown" msgid="1592123443519355854">"Inconnu"</string> <string name="sort_order_alpha" msgid="8622029358896599842">"Trier"</string> @@ -661,9 +703,10 @@ <string name="manage_space_text" msgid="8852711522447794676">"Gérer l\'espace"</string> <string name="filter" msgid="2018011724373033887">"Filtrer"</string> <string name="filter_dlg_title" msgid="6507663329723966854">"Options du filtre"</string> - <string name="filter_apps_all" msgid="5142129378749391876">"Tous"</string> + <string name="filter_apps_all" msgid="5142129378749391876">"Toutes"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Téléchargées"</string> <string name="filter_apps_running" msgid="7767071454371350486">"En cours d\'exécution"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Sur la carte SD"</string> <string name="loading" msgid="3200408047793887917">"Chargement..."</string> <string name="recompute_size" msgid="7722567982831691718">"Calcul de la taille..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Supprimer"</string> @@ -682,8 +725,23 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Impossible de calculer la taille du paquet."</string> <string name="empty_list_msg" msgid="2901049162265094971">"Aucune application tierce n\'est installée."</string> <string name="version_text" msgid="9189073826278676425">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Déplacer"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Déplacer vers le téléphone"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Déplacer vers la carte SD"</string> + <string name="moving" msgid="6431016143218876491">"Déplacement en cours"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"L\'espace de stockage restant est insuffisant."</string> + <string name="does_not_exist" msgid="837163572898468245">"Cette application n\'existe pas."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"L\'application est protégée contre la copie."</string> + <string name="invalid_location" msgid="4934491353200240499">"L\'emplacement d\'installation indiqué n\'est pas valide."</string> + <string name="system_package" msgid="1030561474413022831">"Les mises à jour du système ne peuvent pas être installées sur des supports externes."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forcer l\'arrêt"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Cette application sera immédiatement redémarrée. Voulez-vous vraiment forcer sa fermeture ?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Déplacer l\'application"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Échec du déplacement de l\'application. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Emplacement d\'installation souhaité"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Modifiez l\'emplacement d\'installation par défaut pour les nouvelles applications."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Services en cours d\'exécution"</string> - <string name="runningservices_settings_summary" msgid="854608995821032748">"Afficher les services en cours d\'exécution"</string> + <string name="runningservices_settings_summary" msgid="854608995821032748">"Afficher et contrôler les services en cours d\'exécution"</string> <string name="service_restarting" msgid="2242747937372354306">"Redémarrage en cours"</string> <string name="no_running_services" msgid="6981216347270280598">"Aucun service en cours d\'exécution"</string> <string name="confirm_stop_service" msgid="5700448757318301681">"Arrêter le service ?"</string> @@ -691,7 +749,7 @@ <string name="confirm_stop_stop" msgid="7382363913280993331">"Arrêter"</string> <string name="confirm_stop_cancel" msgid="206495326622692381">"Annuler"</string> <string name="service_started_by_app" msgid="8432097226392386802">"Démarré par appl. : appuyez pr arrêter"</string> - <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g> : appuyez pour gérer"</string> + <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g> : appuyez dessus pour gérer le service."</string> <string name="service_background_processes" msgid="5158600475629177758">"Disponible : <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> dans <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_foreground_processes" msgid="4013890350284680796">"Autres : <xliff:g id="MEMORY">%2$s</xliff:g> dans <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"Processus : <xliff:g id="PROCESS">%1$s</xliff:g>"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Définir la langue et la région, la saisie de texte et la correction automatique"</string> <string name="language_category" msgid="3391756582724541530">"Paramètres régionaux"</string> <string name="text_category" msgid="6342540511465136739">"Paramètres du texte"</string> - <string name="phone_language" msgid="2138384312336494991">"Langue et région"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Sélectionner la langue et le pays"</string> + <string name="phone_language" msgid="1165758957501090679">"Sélectionner la langue"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Remplacement auto"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Corriger les mots mal saisis"</string> <string name="auto_caps" msgid="581633131114124121">"Majuscules auto"</string> @@ -711,10 +769,10 @@ <string name="auto_punctuate_summary" msgid="4372126865670574837">"Appuyez deux fois sur la touche Espace pour insérer \".\""</string> <string name="show_password" msgid="2198798062604049206">"Mots de passe visibles"</string> <string name="show_password_summary" msgid="3806709974395178121">"Afficher le mot de passe lors de la saisie"</string> - <string name="ime_security_warning" msgid="812267421486877917">"Ce mode de saisie est susceptible de collecter le texte que vous saisissez, y compris vos données personnelles telles que les mots de passe et les numéros de carte de paiement. Il provient de l\'application <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Voulez-vous vraiment activer ce mode de saisie ?"</string> + <string name="ime_security_warning" msgid="812267421486877917">"Ce mode de saisie pourrait collecter le texte que vous saisissez, y compris vos données personnelles telles que les mots de passe et les numéros de carte de crédit. Il provient de l\'application <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Voulez-vous vraiment activer ce mode de saisie ?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dictionnaire personnel"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Dictionnaire personnel"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Ajouter et retirer des mots du dictionnaire personnel"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Ajouter"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Ajouter au dictionnaire"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Modifier le mot"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Aucun service d\'accessibilité installé"</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Ce service d\'accessibilité est susceptible de recueillir tout le texte que vous saisissez, y compris les données personnelles et les numéros de cartes de crédit, mais pas les mots de passe. Il est également possible qu\'il enregistre vos interactions avec l\'interface utilisateur. Il provient de l\'application <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Utiliser ce service d\'accessibilité ?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Désactiver les services d\'accessibilité ?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Aucune application d\'accessibilité n\'a été trouvée."</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Aucune application d\'accessibilité n\'est installée."\n\n"Vous pouvez télécharger un lecteur d\'écran pour votre périphérique depuis Android Market."\n\n"Cliquez sur OK pour installer le lecteur d\'écran."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Bouton d\'alimentation"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Raccrocher pdt un appel"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Lors d\'un appel, utiliser le bouton d\'alimentation pour raccrocher, sans désactiver l\'écran"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilisation de la batterie"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Répartition de l\'utilisation de la batterie"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Utilisation de la batterie depuis le débranchement"</string> @@ -819,7 +882,7 @@ <string name="power_cell" msgid="6596471490976003056">"Veille GSM"</string> <string name="power_phone" msgid="5392641106474567277">"Appels vocaux"</string> <string name="power_idle" msgid="9055659695602194990">"Téléphone inactif"</string> - <string name="usage_type_cpu" msgid="715162150698338714">"Durée d\'utilisation totale de l\'UC"</string> + <string name="usage_type_cpu" msgid="715162150698338714">"UC - Durée totale"</string> <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"UC - Premier plan"</string> <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string> <string name="usage_type_phone" msgid="9108247984998041853">"Téléphone"</string> @@ -837,12 +900,12 @@ <string name="battery_action_bluetooth" msgid="8374789049507723142">"Paramètres Bluetooth"</string> <string name="battery_desc_voice" msgid="8980322055722959211">"Batterie utilisée par les appels vocaux"</string> <string name="battery_desc_standby" msgid="3009080001948091424">"Batterie utilisée lorsque le téléphone est inactif"</string> - <string name="battery_desc_radio" msgid="5479196477223185367">"Batterie utilisée par le signal radio cellulaire"</string> + <string name="battery_desc_radio" msgid="5479196477223185367">"Batterie utilisée par le signal de cellule GSM"</string> <string name="battery_sugg_radio" msgid="8211336978326295047">"Passez en mode Avion pour économiser la batterie dans les zones sans couverture cellulaire."</string> <string name="battery_desc_display" msgid="5432795282958076557">"Batterie utilisée par l\'affichage et le rétro-éclairage"</string> <string name="battery_sugg_display" msgid="3370202402045141760">"Réduire la luminosité et/ou le délai de mise en veille de l\'écran"</string> <string name="battery_desc_wifi" msgid="1702486494565080431">"Batterie utilisée par le Wi-Fi"</string> - <string name="battery_sugg_wifi" msgid="7542345142282261691">"Désactiver la fonctionnalité Wi-Fi lorsque vous ne l\'utilisez pas ou lorsqu\'elle n\'est pas disponible"</string> + <string name="battery_sugg_wifi" msgid="7542345142282261691">"Désactivez le Wi-Fi lorsque vous ne l\'utilisez pas ou lorsqu\'il n\'est pas disponible"</string> <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Batterie utilisée par Bluetooth"</string> <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Désactivez Bluetooth lorsque vous ne l\'utilisez pas."</string> <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Essayez de vous connecter à un autre appareil Bluetooth"</string> @@ -856,18 +919,28 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Actualiser"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Système d\'exploitation Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Serveur multimédia"</string> - <string name="tts_settings" msgid="3348626948015962987">"Synthèse vocale"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Définir les options de synthèse vocale"</string> - <string name="tts_settings_title" msgid="4182348653053000933">"Paramètres de la synthèse vocale"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Saisie et sortie vocales"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Paramètres de saisie et de sortie vocales"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Recherche vocale"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Clavier Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Saisie vocale"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Sortie vocale"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Reconnaissance vocale"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Reconnaissance vocale"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Paramètres de \"<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\""</string> + <string name="tts_settings" msgid="8186971894801348327">"Paramètres de la synthèse vocale"</string> + <string name="tts_settings_title" msgid="4182348653053000933">"Synthèse vocale"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Tjrs utiliser mes param."</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Les param. par défaut ci-dessous remplacent les param. de l\'application"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Paramètres par défaut"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Moteur par défaut"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Définit le moteur de synthèse vocale à utiliser."</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Cadence"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Vitesse à laquelle le texte est énoncé"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Ton"</string> <string name="tts_default_pitch_summary" msgid="1328298665182885277">"Affecte le ton utilisé par la synthèse vocale"</string> <string name="tts_default_lang_title" msgid="8018087612299820556">"Langue"</string> - <string name="tts_default_lang_summary" msgid="5219362163902707785">"Définit la langue utilisée par la synthèse vocale"</string> + <string name="tts_default_lang_summary" msgid="5219362163902707785">"Définir la langue utilisée par la synthèse vocal"</string> <string name="tts_play_example_title" msgid="7094780383253097230">"Écouter un échantillon"</string> <string name="tts_play_example_summary" msgid="8029071615047894486">"Lire une courte démonstration de la synthèse vocale"</string> <string name="tts_install_data_title" msgid="4264378440508149986">"Installer les données vocales"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Les données nécessaires à la synthèse vocale sont déjà correctement installées."</string> <string name="tts_demo" msgid="405357591189935876">"Voici un échantillon de synthèse vocale."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Vos paramètres ont été modifiés. Voici un échantillon illustrant les nouveaux paramètres."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Impossible d\'exécuter le moteur sélectionné."</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Configurer"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Sélectionner un autre moteur"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Ce moteur de synthèse vocale est susceptible de collecter tout ce que vous direz, y compris les données personnelles comme les mots de passe et les numéros de carte de paiement. Il provient du moteur <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Voulez-vous activer son utilisation ?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Moteurs"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Paramètres <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> est activé."</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> est désactivé."</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Langues et voix"</string> + <string name="pico_installed" msgid="2452546687858267414">"Installée"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Non installée"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Femme"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Homme"</string> <string name="gadget_title" msgid="7455548605888590466">"Contrôle de l\'alimentation"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Mise à jour des paramètres Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Mise à jour des paramètres Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Programme d\'installation des identifiants"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Paramètres de VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Connexion à \"<xliff:g id="NAME">%s</xliff:g>\""</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nom d\'utilisateur :"</string> @@ -905,9 +990,9 @@ <string name="vpn_confirm_add_profile_cancellation" msgid="3377869170901609182">"Êtes-vous sûr de ne pas vouloir créer ce profil ?"</string> <string name="vpn_confirm_edit_profile_cancellation" msgid="7496760181072204494">"Voulez-vous vraiment annuler les modifications apportées à ce profil ?"</string> <string name="vpn_confirm_reconnect" msgid="5748535476278674296">"Connexion au réseau impossible. Voulez-vous réessayer ?"</string> - <string name="vpn_reconnect_from_lost" msgid="2442844155623372118">"Connexion perdue. Voulez-vous tenter une nouvelle connexion ?"</string> + <string name="vpn_reconnect_from_lost" msgid="2442844155623372118">"Connexion perdue. Voulez-vous essayer de vous reconnecter ?"</string> <string name="vpn_unknown_server_dialog_msg" msgid="3080742299823671319">"Résolution du nom du serveur impossible. Voulez-vous vérifier le paramètre de nom de serveur ?"</string> - <string name="vpn_challenge_error_dialog_msg" msgid="6174901754230038601">"Erreur de demande d\'accès. Voulez-vous contrôler les paramètres de vos secrets ?"</string> + <string name="vpn_challenge_error_dialog_msg" msgid="6174901754230038601">"Erreur de demande d\'accès. Voulez-vous vérifier le secret défini ?"</string> <string name="vpn_secret_not_set_dialog_msg" msgid="8013052814131532765">"Un ou plusieurs secrets sont manquants dans cette configuration VPN. Voulez-vous contrôler les paramètres de vos secrets ?"</string> <string name="vpn_auth_error_dialog_msg" msgid="5476820106624807614">"Le nom d\'utilisateur ou le mot de passe entré est incorrect. Voulez-vous réessayer ?"</string> <string name="vpn_remote_hung_up_error_dialog_msg" msgid="1566946015052633150">"Le serveur a raccroché. Le nom d\'utilisateur et le mot de passe que vous avez saisis sont peut-être incorrects. Voulez-vous réessayer ?"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Définir le comportement en cas d\'appel d\'urgence"</string> <string name="privacy_settings" msgid="9206631214140954954">"Confidentialité"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Paramètres de confidentialité"</string> - <string name="location_section_title" msgid="6072558684044939786">"Localisation"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Paramètres"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Données personnelles"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Sauvegarder mes param."</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Sauvegarde des paramètres"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Voulez-vous vraiment arrêter de sauvegarder vos paramètres et supprimer toutes les copies des serveurs Google ?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Restaurer automatiquement"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sauvegarder"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Voulez-vous vraiment arrêter de sauvegarder vos paramètres et vos données d\'application, et supprimer toutes les copies des serveurs Google ?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Paramètres d\'administration du périphérique"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrateur du périphérique"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Désactiver"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Administrateurs du périphérique"</string> + <string name="no_device_admins" msgid="702695100241728775">"Aucun administrateur de périphérique disponible"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Activer l\'administrateur du périphérique ?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Activer"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Administrateur du périphérique"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"L\'activation de cet administrateur permettra à l\'application <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Cet administrateur est activé et permet à l\'application <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string> <string name="untitled_apn" msgid="1230060359198685513">"Sans nom"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Généralités"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Appels entrants"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Notifications"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Commentaires"</string> </resources> diff --git a/res/values-it-nokeys/strings.xml b/res/values-it-nokeys/strings.xml index f2e08cb..b7d55f9 100644 --- a/res/values-it-nokeys/strings.xml +++ b/res/values-it-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Gestisci applicazioni"</string> diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml index 47d2c7c..4954dd4 100644 --- a/res/values-it/arrays.xml +++ b/res/values-it/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiano"</item> <item msgid="5811378076054402537">"Spagnolo"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automatico"</item> - <item msgid="5434666299123318296">"Nessuna"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Nessuna"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automatico"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP esadecimale"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Ricerca in corso..."</item> + <item msgid="8513729475867537913">"Connessione in corso..."</item> + <item msgid="515055375277271756">"Autenticazione in corso..."</item> + <item msgid="1943354004029184381">"Acquisizione indirizzo IP in corso..."</item> + <item msgid="4221763391123233270">"Connessa"</item> + <item msgid="624838831631122137">"Sospesa"</item> + <item msgid="7979680559596111948">"Disconnessione in corso..."</item> + <item msgid="1634960474403853625">"Disconnessa"</item> + <item msgid="746097431216080650">"Operazione non riuscita"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Ricerca in corso..."</item> + <item msgid="355508996603873860">"Connessione a <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item> + <item msgid="554971459996405634">"Autenticazione con <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item> + <item msgid="7928343808033020343">"Acquisizione indirizzo IP da <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item> + <item msgid="8937994881315223448">"Connessa a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Sospesa"</item> + <item msgid="7698638434317271902">"Disconnessione da <xliff:g id="NETWORK_NAME">%1$s</xliff:g> in corso..."</item> + <item msgid="197508606402264311">"Disconnessa"</item> + <item msgid="8578370891960825148">"Operazione non riuscita"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Aperta"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Scadente"</item> + <item msgid="5615082285463430971">"Discreta"</item> + <item msgid="3565079809875324621">"Buona"</item> + <item msgid="5702329417707689835">"Eccellente"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Quando lo schermo si disattiva"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP o CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Memorizzazione su dispositivo interno"</item> + <item msgid="3738430123799803530">"Scheda SD rimovibile"</item> + <item msgid="4498124044785815005">"Impostazione di sistema"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Sempre"</item> + <item msgid="6293147072807231256">"Mai"</item> + <item msgid="1276641209451816572">"Solo in mod. silenziosa"</item> + <item msgid="8418930333779132418">"Solo se mod. silenziosa non attiva"</item> + </string-array> </resources> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index c8e2957..b8f37f8 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Sì"</string> @@ -20,21 +21,15 @@ <string name="device_info_default" msgid="7847265875578739287">"Sconosciuto"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Attiva segnale cellulare"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Disattiva segnale cellulare"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Attiva log SD QXDM"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Disattiva log SD QXDM"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Visualizza rubrica SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visualizza numeri selezione fissa"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualizza numeri dell\'elenco dei numeri di servizio"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Ottieni elenco PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Attiva connessione dati"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Disattiva connessione dati"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Attiva dati all\'avvio"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Disattiva dati all\'avvio"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"In servizio"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Fuori servizio"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Solo chiamate di emergenza"</string> <string name="radioInfo_service_off" msgid="1434084741785525415">"Segnale radio disattivato"</string> - <string name="radioInfo_roaming_in" msgid="9045363884600341051">"Roaming"</string> + <string name="radioInfo_roaming_in" msgid="9045363884600341051">"Roaming in corso"</string> <string name="radioInfo_roaming_not" msgid="2851853244069662307">"Non roaming"</string> <string name="radioInfo_phone_idle" msgid="7489244938838742820">"Inattivo"</string> <string name="radioInfo_phone_ringing" msgid="4883724645684297895">"Chiamata in corso"</string> @@ -49,7 +44,7 @@ <string name="radioInfo_display_dbm" msgid="3621221793699882781">"dBm"</string> <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string> <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string> - <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string> + <string name="radioInfo_cid" msgid="4362599198392643138">"Sistema di identificazione contenuti"</string> <string name="sdcard_unmount" msgid="3364184561355611897">"Smonta scheda SD"</string> <string name="sdcard_format" msgid="362497552060004057">"Formatta scheda SD"</string> <string name="small_font" msgid="2295331917424072635">"Piccole"</string> @@ -93,17 +88,18 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Rilevabile"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Rilevabile per <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> secondi..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Rendi rilevabile il dispositivo"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Blocca composizione vocale"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Impedisci l\'uso del compositore Bluetooth quando lo schermo è bloccato"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Dispositivi Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Nome dispositivo"</string> - <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Nessun nome impostato, utilizzando il nome dell\'account"</string> + <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Nessun nome impostato, è in uso il nome dell\'account"</string> <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"Cerca dispositivi"</string> <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> verrà disconnesso."</string> <string name="bluetooth_connected" msgid="6038755206916626419">"Connesso"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Disconnesso"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Disconnessione..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Connessione..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Accoppia con il dispositivo"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Accoppiamento..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Accoppiato ma non collegato"</string> @@ -119,12 +115,12 @@ <string name="bluetooth_ask_enablement_and_discovery" msgid="7220210326619399542">"Un\'applicazione sul tuo telefono chiede l\'autorizzazione per attivare Bluetooth e rendere il tuo telefono rilevabile da altri dispositivi per <xliff:g id="TIMEOUT">%1$d</xliff:g> secondi. Procedere?"</string> <string name="bluetooth_turning_on" msgid="3107102168379705771">"Attivazione Bluetooth in corso…"</string> <string name="date_and_time" msgid="4114084177056654663">"Impostazioni data e ora"</string> - <string name="date_time_12_hour_sample" msgid="3259617262618020574">"1:00 pm"</string> + <string name="date_time_12_hour_sample" msgid="3259617262618020574">"13:00"</string> <string name="date_time_24_hour_sample" msgid="8916857570746212357">"13:00"</string> <string name="date_time_changeTime_text" msgid="7037437020000867740">"Modifica ora"</string> <string name="date_time_changeDate_text" msgid="5259762626498028057">"Data"</string> <string name="choose_timezone" msgid="7762866468013985022">"Seleziona fuso orario"</string> - <string name="normal_date_format" msgid="1982904221918374153">"Normale (<xliff:g id="DATE">%s</xliff:g>)"</string> + <string name="normal_date_format" msgid="1982904221918374153">"Normale (<xliff:g id="DATE">%s</xliff:g>)\n"</string> <string name="display_preview_label" msgid="1127597250917274792">"Anteprima:"</string> <string name="display_font_size_label" msgid="8941851418397475389">"Dimensioni carattere:"</string> <!-- no translation found for intent_sender_data_label (6332324780477289261) --> @@ -149,7 +145,7 @@ <string name="radio_info_neighboring_location_label" msgid="2385625674055934880">"CID adiacente:"</string> <string name="radio_info_data_attempts_label" msgid="1731106244577323381">"Tentativi dati:"</string> <string name="radio_info_gprs_service_label" msgid="2331818110375395364">"Servizio GPRS:"</string> - <string name="radio_info_roaming_label" msgid="6141505430275138647">"Roaming:"</string> + <string name="radio_info_roaming_label" msgid="6141505430275138647">"Roaming in corso:"</string> <string name="radio_info_imei_label" msgid="1220524224732944192">"IMEI:"</string> <string name="radio_info_call_redirect_label" msgid="1654674226961476872">"Reindirizzamento chiamate:"</string> <string name="radio_info_ppp_resets_label" msgid="3241667824729310546">"Numero di PPP reimpostati dall\'avvio:"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Indir. IP ping:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Nome host ping (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test client HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Attiva/disattiva cifratura"</string> <string name="ping_test_label" msgid="7255376471490860631">"Esegui test ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aggiorna"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Aggiorna"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Attiva o disattiva verifica DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Info/impostazioni specifiche OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Imposta banda GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Caricamento lista bande..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Imposta"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Imposta La mia posizione, sblocco schermo, blocco SIM, blocco cred."</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Imposta La mia posizione, sblocco schermo, blocco archivio credenziali"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Password"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Protezione sblocco schermo"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Imposta blocco schermo"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Blocca schermo con sequenza, PIN o password"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Cambia blocco schermo"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Cambia o disattiva protez. tramite sequenza, PIN o password"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Nessuna"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Disattiva protez. sblocco schermo"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Sequenza"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Inserisci sequenza per sbloccare schermo"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Inserisci PIN num. per sbloccare schermo"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Password"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Inserisci password per sbloccare schermo"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Disabilitata da ammin telefono remoto"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Disattiva blocco schermo"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Rimuovi sequenza di sblocco"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Rimuovi PIN di sblocco"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Rimuovi password di sblocco"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Cambia sequenza di sblocco"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Cambia PIN di sblocco"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Cambia password di sblocco"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"La password deve essere lunga almeno %d caratteri"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Il PIN deve essere lungo almeno %d caratteri"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Al termine, premi Continua"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continua"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Il PIN non può superare %d cifre"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Il PIN non può superare %d cifre"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Il PIN deve contenere solo cifre da 0 a 9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"La password contiene un carattere non valido"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"La password deve contenere almeno una lettera"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"La password deve contenere almeno una cifra"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"La password deve contenere almeno un simbolo"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annulla"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Amministrazione dispositivo"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Seleziona gli amministratori dispositivo"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Aggiungi o rimuovi amministratori dispositivo"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Attiva Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Impostazioni Bluetooth"</string> @@ -268,7 +301,7 @@ <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"Disconnetti e disaccoppia"</string> <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Opzioni..."</string> <string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"Connessione a…"</string> - <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Media"</string> + <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"Multimediali"</string> <string name="bluetooth_profile_headset" msgid="1874975688666658946">"Telefono"</string> <string name="bluetooth_profile_opp" msgid="3799470046565284440">"Trasferisci"</string> <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"Collegato ad audio media"</string> @@ -287,153 +320,133 @@ <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"Usa per trasferimento file"</string> <string name="bluetooth_dock_settings" msgid="3218335822716052885">"Impostazioni dock"</string> <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"Usa dock per audio"</string> - <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Come telefono altoparlante"</string> + <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Come vivavoce"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Per musica e audio media"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Ricorda impostazioni"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Attiva Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Impostazioni Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Impostazioni Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Configura e gestisci punti di accesso wireless"</string> - <string name="forget_network" msgid="4718015029995727138">"Elimina"</string> - <string name="wifi_status" msgid="4824568012414605414">"Stato"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Velocità"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Eccellente"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Buona"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Discreta"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Scarsa"</string> - <string name="security" msgid="1040691896987225267">"Protezione"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Apri"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Sconosciuta"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"rete aperta"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"protetta con WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"protetta con WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"protetta con 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Indirizzo IP"</string> - <string name="signal" msgid="1947969631626413228">"Intensità segnale"</string> <string name="wifi_starting" msgid="6710266609710860129">"Attivazione..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Spegnimento..."</string> <string name="wifi_error" msgid="3207971103917128179">"Errore"</string> - <string name="error_starting" msgid="4055163089721254078">"Impossibile avviare Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Impossibile interrompere Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"Impossibile cercare le reti"</string> - <string name="error_connecting" msgid="1981882310590509609">"Impossibile connettersi alla rete"</string> - <string name="error_saving" msgid="8294279443961615302">"Impossibile salvare la rete"</string> - <string name="connect" msgid="3079076576295839400">"Connetti"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Connessione a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Metodo EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Autenticazione fase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identità"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Identità anonima"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certificato client"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Certificato CA"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Password wireless"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Chiave esadecimale WEP (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Mostra password."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Scansione"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Fuori portata"</string> - <string name="summary_remembered" msgid="6079941090549401742">"memorizzata"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Connessione non riuscita. Tocca per riprovare"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Reti Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"SSID rete"</string> - <string name="wifi_security" msgid="6603611185592956936">"Protezione"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Salva"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(invariato)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Aggiungi rete Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"In modalità aereo"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Impossibile cercare le reti"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Notifica rete"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Avvisa quando è disponibile una rete aperta"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"La password di rete digitata è errata. Riprova."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Errore durante la connessione alla rete. Riprova."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Aggiungi rete Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Reti Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Scansione"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avanzate"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Connetti alla rete"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Elimina rete"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Modifica rete"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID rete"</string> + <string name="wifi_security" msgid="6603611185592956936">"Protezione"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Intensità segnale"</string> + <string name="wifi_status" msgid="4824568012414605414">"Stato"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Velocità di collegamento"</string> + <string name="wifi_ip_address" msgid="1440054061044402918">"Indirizzo IP"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Metodo EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Autenticazione fase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certificato CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certificato utente"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identità"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Identità anonima"</string> + <string name="wifi_password" msgid="5948219759936151048">"Password"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Mostra password."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(invariati)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(non specificati)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Memorizzata"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Disattivata"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Fuori portata"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Protetta con <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, protetta con <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Connetti"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Elimina"</string> + <string name="wifi_save" msgid="3331121567988522826">"Salva"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Annulla"</string> + <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avanzate"</string> + <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Dominio regolatore"</string> + <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Imposta il numero di canali da usare"</string> + <string name="wifi_setting_num_channels_error" msgid="5765443843427870721">"Errore durante l\'impostazione del dominio regolatore."</string> + <string name="wifi_setting_num_channels_channel_phrase" msgid="1269381923672908636">"<xliff:g id="NUM_CHANNELS">%1$d</xliff:g> Canali"</string> + <string name="wifi_setting_sleep_policy_title" msgid="1367731352485585528">"Sospensione Wi-Fi"</string> + <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Specifica quando passare da Wi-Fi a dati cellulare"</string> + <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Errore durante l\'impostazione dei criteri di sospensione."</string> + <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Indirizzo MAC"</string> <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Impostazioni IP"</string> <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Salva"</string> <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annulla"</string> <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Digita un indirizzo IP valido."</string> <string name="wifi_use_static_ip" msgid="2133464242165642230">"Usa IP statico"</string> - <string name="wifi_ip_address" msgid="1440054061044402918">"Indirizzo IP"</string> <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> <string name="wifi_netmask" msgid="4520635321425529085">"Maschera di rete"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Connetti a rete"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Elimina rete"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Cambia password"</string> - <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avanzate"</string> - <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Dominio regolatore"</string> - <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Imposta il numero di canali da usare"</string> - <string name="wifi_setting_num_channels_error" msgid="5765443843427870721">"Errore durante l\'impostazione del dominio regolatore."</string> - <string name="wifi_setting_num_channels_channel_phrase" msgid="1269381923672908636">"<xliff:g id="NUM_CHANNELS">%1$d</xliff:g> canali"</string> - <string name="wifi_setting_sleep_policy_title" msgid="1367731352485585528">"Criteri di sospensione Wi-Fi"</string> - <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Specifica quando passare da Wi-Fi a dati cellulare"</string> - <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Errore durante l\'impostazione dei criteri di sospensione."</string> - <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Indirizzo MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Ricerca..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Connessione a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Autenticazione con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Acquisizione indirizzo IP da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Connesso a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Disconnessione da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Disconnesso"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Non riuscita"</string> - <string name="status_scanning" msgid="8402178267165567371">"Ricerca..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Connessione..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Autenticazione..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Acquisizione indirizzo..."</string> - <string name="status_connected" msgid="8175694029067954271">"Connesso"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Disconnessione..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Disconnesso"</string> - <string name="status_failed" msgid="610462050405904601">"Non riuscita"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Audio e display"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Impostazioni audio e display"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portatile"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Hotspot portatile <xliff:g id="NETWORK_SSID">%1$s</xliff:g> attivo"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Errore hotspot Wi-Fi portatile"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Impostazioni hotspot Wi-Fi portatile"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configura e gestisci hotspot Wi-Fi portatile"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Impostazioni hotspot Wi-Fi portatile"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configura hotspot Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Hotspot Wi-Fi <xliff:g id="NETWORK_SSID">%1$s</xliff:g><xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> portatile"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"HotspotAndroid"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Audio"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Display"</string> <string name="sound_settings" msgid="5007659014828162881">"Impostazioni audio"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Imposta suonerie, notifiche e luminosità dello schermo"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Modalità silenziosa"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Tutti i suoni eccetto quelli multimediali verranno disattivati"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Disattiva tutti i suoni eccetto quelli multimediali e gli allarmi"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Tutti i suoni eccetto quelli multimediali verranno disattivati"</string> <string name="ringtone_title" msgid="5379026328015343686">"Suoneria telefono"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Imposta la suoneria predefinita delle chiamate in entrata"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Volume suoneria"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Imposta il volume delle chiamate in entrata e delle notifiche"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibrazione telefono"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Vibrazione per chiamate in entrata"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibra in modalità silenziosa"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Consenti feedback vibrazione in modalità silenziosa"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrazione"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Feedback vibrazione per chiamate e notifiche"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Suoneria notifiche"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Imposta la suoneria di notifica predefinita"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Luce di notifica pulsante"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Luce trackball pulsante ripetuta in caso di nuove notifiche"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volume chiamate in entrata"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Volume notifiche"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Suoneria"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Notifica"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Usa volume chiamate in entrata per le notifiche"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Seleziona suoneria notifica"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Volume app. multimediali"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Applicazioni multimediali"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Imposta il volume di musica e video"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Allarme"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Impostazioni audio per dock collegato"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Toni udibili al tocco"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Riproduci toni durante la composizione"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Riproduci toni durante la composizione"</string> <string name="sound_effects_enable_title" msgid="3197313718929122833">"Selezione sonora"</string> - <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Riproduci toni durante una selezione sullo schermo"</string> - <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Riproduci toni durante una selezione sullo schermo"</string> + <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Riproduci suono durante una selezione sullo schermo"</string> + <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Riproduci suono durante una selezione sullo schermo"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Suoni di blocco schermo"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Riproduci suoni al blocco o allo sblocco dello schermo"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Riproduci suoni al blocco o allo sblocco dello schermo"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Feedback aptico"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrazione alla pressione di un tasto softkey e durante certe interazioni con l\'interfaccia utente"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrazione alla pressione di un tasto softkey e durante certe interazioni con l\'interfaccia utente"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Notifiche scheda SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Riproduci suono per notifiche scheda SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Riproduci suono per notifiche scheda SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Eliminazione rumori"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Elimina il rumore di fondo quando parli o registri."</string> <string name="dock_settings" msgid="1820107306693002541">"Dock"</string> <string name="dock_settings_title" msgid="9161438664257429372">"Impostazioni dock"</string> <string name="dock_audio_settings_title" msgid="3324750259959570305">"Audio"</string> - <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Impostazioni per desktop dock collegato"</string> - <string name="dock_audio_summary_car" msgid="6740897586006248450">"Impostazioni per dock automobile collegato"</string> + <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Impostazioni per dock da tavolo collegato"</string> + <string name="dock_audio_summary_car" msgid="6740897586006248450">"Impostazioni per dock auto collegato"</string> <string name="dock_audio_summary_none" msgid="289909253741048784">"Telefono non inserito nel dock"</string> <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Impostazioni per dock collegato"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Dock non trovato"</string> - <string name="dock_not_found_text" msgid="3035260358985111855">"Il telefono deve essere inserito nel dock per configurare l\'audio del dock"</string> + <string name="dock_not_found_text" msgid="3035260358985111855">"Il telefono deve essere inserito nel dock per configurare l\'audio"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Suono inserimento dock"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Riproduci suono all\'inserimento o alla rimozione del telefono dal dock"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Non riprodurre suono all\'inserimento o alla rimozione del telefono dal dock"</string> <string name="sync_settings" msgid="9186125469300013491">"Account e sincronizzaz."</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Aggiungi o rimuovi account e modifica impostazioni account"</string> <string name="search_settings" msgid="1910951467596035063">"Ricerca"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animazione"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Mostra l\'animazione durante l\'apertura e la chiusura di finestre"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Mostra l\'animazione durante l\'apertura e la chiusura di finestre"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientamento"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Rotazione automatica"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Cambia automaticamente quando il cellulare viene ruotato"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Cambia automatic. l\'orientamento quando il cell. viene ruotato"</string> <string name="brightness" msgid="2354961343555249270">"Luminosità"</string> @@ -468,13 +481,13 @@ <string name="sim_pins_dont_match" msgid="4664611595579163214">"I PIN non corrispondono."</string> <string name="sim_change_failed" msgid="4823538458798362222">"Impossibile cambiare il PIN."\n"Il PIN potrebbe essere errato."</string> <string name="sim_change_succeeded" msgid="8556135413096489627">"PIN della SIM modificato"</string> - <string name="sim_lock_failed" msgid="6676748290838006404">"Impossibile modificare lo stato di blocco della SIM."\n"Il PIN potrebbe essere errato."</string> + <string name="sim_lock_failed" msgid="6676748290838006404">\n"Impossibile modificare lo stato di blocco della SIM."\n"Il PIN potrebbe essere errato."</string> <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string> <string name="sim_enter_cancel" msgid="6240422158517208036">"Annulla"</string> <string name="device_info_settings" msgid="475872867864762157">"Stato telefono"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Aggiornamenti sistema"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Verifica aggiornamenti di sistema"</string> - <string name="firmware_version" msgid="6284872163051667788">"Versione firmware"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Versione di Android"</string> <string name="model_number" msgid="3765737700545384794">"Numero modello"</string> <string name="baseband_version" msgid="1848990160763524801">"Versione banda di base"</string> <string name="kernel_version" msgid="9192574954196167602">"Versione kernel"</string> @@ -494,7 +507,7 @@ <string name="status_data_state" msgid="5503181397066522950">"Stato rete cellulare"</string> <string name="status_service_state" msgid="2323931627519429503">"Stato servizio"</string> <string name="status_signal_strength" msgid="3732655254188304547">"Intensità segnale"</string> - <string name="status_roaming" msgid="2638800467430913403">"Roaming"</string> + <string name="status_roaming" msgid="2638800467430913403">"Roaming in corso"</string> <string name="status_operator" msgid="2274875196954742087">"Rete"</string> <string name="status_wifi_mac_address" msgid="33109409206264790">"Indirizzo MAC Wi-Fi"</string> <string name="status_bt_address" msgid="4195174192087439720">"Indirizzo Bluetooth"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Spazio totale"</string> <string name="sd_eject" msgid="6915293408836853020">"Smonta scheda SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Smonta la scheda SD per una rimozione sicura"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Inserisci una scheda SD da montare"</string> + <string name="sd_mount" msgid="5940523765187704135">"Installa scheda SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Installa la scheda SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formatta scheda SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formatta (cancella) la scheda SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Non disponibile"</string> <string name="read_only" msgid="6702420168629076340">" (Sola lettura)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Smonta scheda SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Se smonti la scheda SD, alcune applicazioni in uso si bloccheranno e potrebbero risultare non disponibili finché non rimonterai la scheda SD."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Smontaggio scheda SD non riuscito"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Impossibile smontare la scheda SD. Riprova più tardi."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"La scheda SD verrà smontata. Verifica lo stato nell\'area di notifica."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Smontaggio in corso"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Smontaggio in corso"</string> <string name="battery_status_title" msgid="9159414319574976203">"Stato batteria"</string> <string name="battery_level_title" msgid="2965679202786873272">"Livello batteria"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -518,7 +541,7 @@ <string name="apn_not_set" msgid="7422262558097875757">"<Non impostato>"</string> <string name="apn_name" msgid="4115580098369824123">"Nome"</string> <string name="apn_apn" msgid="2479425126733513353">"APN"</string> - <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy"</string> + <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy "</string> <string name="apn_http_port" msgid="3763259523984976226">"Porta"</string> <string name="apn_user" msgid="455637547356117761">"Nome utente"</string> <string name="apn_password" msgid="5412301994998250968">"Password"</string> @@ -565,6 +588,20 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Per confermare la formattazione della scheda SD devi inserire la sequenza di sblocco."</string> <string name="call_settings_title" msgid="5188713413939232801">"Impostazioni chiamate"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Imposta segreteria, deviazione chiamate, avviso di chiamata, ID chiamante"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Hotspot portatile"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering e hotspot portatile"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Condividi la connessione dati del cellulare tramite USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Condividi la connessione mobile del cellulare come hotspot Wi-Fi portatile"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Condividi la connessione dati del cellulare tramite USB oppure hotspot Wi-Fi portatile"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Tethering USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB collegata, seleziona per impostare tethering"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Con tethering"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Tethering non possibile quando è in uso la memorizzazione USB"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB non connessa"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Errore tethering USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Guida"</string> <string name="network_settings_title" msgid="7967552516440151852">"Reti mobili"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Imposta le opzioni per roaming, reti e APN"</string> <string name="location_title" msgid="1029961368397484576">"La mia posizione"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Utilizza GPS assistito"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizza il server per assistere il GPS (deseleziona per ridurre l\'utilizzo della rete)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Utilizza il server per assistere il GPS (deseleziona per migliorare le prestazioni GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Utilizza La mia posizione"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Utilizza \"La mia posizione\" per i risultati di ricerca di Google e altri servizi Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Consentire a Google di utilizzare la posizione per migliorare i risultati di ricerca e altri servizi?"</string> - <string name="agree" msgid="6288718671527758326">"Accetto"</string> - <string name="disagree" msgid="6221069272309799230">"Non accetto"</string> <string name="about_settings" msgid="1743378368185371685">"Info sul telefono"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Visualizza informazioni legali, stato del telefono, versione del software"</string> <string name="legal_information" msgid="5769301644270604095">"Informazioni legali"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Informazioni sulla sicurezza"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Il telefono non è collegato a un servizio dati. Per visualizzare ora le informazioni, accedi a %s da qualsiasi computer collegato a Internet."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Caricamento in corso..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Sequenza di sblocco schermo"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Scegli la tua password"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Scegli il tuo PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Conferma la tua password"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Conferma il tuo PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Password non corrispondente"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"I PIN non corrispondono"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Password impostata"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN impostato"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Sequenza impostata"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Sblocco schermo"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Cambia sequenza sblocco"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Cambia PIN di sblocco"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Conferma sequenza salvata"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Riprova:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Inserisci una sequenza di sblocco"</string> @@ -633,10 +675,10 @@ <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Gestisci e rimuovi applicazioni installate"</string> <string name="applications_settings" msgid="3736173521008476946">"Applicazioni"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"Gestisci le applicazioni, imposta le scorciatoie di avvio rapido"</string> - <string name="applications_settings_header" msgid="6018266337275422250">"Impostazioni applicazione"</string> + <string name="applications_settings_header" msgid="6018266337275422250">"Impostazioni applicazioni"</string> <string name="install_applications" msgid="4872012136210802181">"Origini sconosciute"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Consenti l\'installazione di applicazioni non presenti in Market"</string> - <string name="install_all_warning" msgid="1923717607319933741">"Il telefono e i dati personali sono più vulnerabili agli attacchi da parte di applicazioni\n di origini sconosciute. L\'utente accetta di essere il solo responsabile degli eventuali\n danni al telefono o della perdita dei dati che potrebbero derivare dall\'utilizzo di\n queste applicazioni."</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Consenti l\'installazione di applicazioni non presenti in Market"</string> + <string name="install_all_warning" msgid="1923717607319933741">"Il telefono e i dati personali sono più vulnerabili agli attacchi da parte di applicazioni di origini sconosciute. L\'utente accetta di essere il solo responsabile degli eventuali danni al telefono o della perdita dei dati che potrebbero derivare dall\'utilizzo di queste applicazioni."</string> <string name="application_info_label" msgid="1150486628158409543">"Info applicazione"</string> <string name="storage_label" msgid="8700867073480107253">"Archiviazione"</string> <string name="auto_launch_label" msgid="3012617472833815382">"Avvia per impostazione predefinita"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Tutte"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Scaricate"</string> <string name="filter_apps_running" msgid="7767071454371350486">"In esecuzione"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Scheda SD"</string> <string name="loading" msgid="3200408047793887917">"Caricamento..."</string> <string name="recompute_size" msgid="7722567982831691718">"Ricalcolo dimensioni..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Elimina"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Impossibile stabilire le dimensioni del pacchetto"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Nessuna applicazione di terze parti installata."</string> <string name="version_text" msgid="9189073826278676425">"versione <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Sposta"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Sposta sul telefono"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Sposta su scheda SD"</string> + <string name="moving" msgid="6431016143218876491">"Spostamento"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Spazio di archiviazione rimanente insufficiente."</string> + <string name="does_not_exist" msgid="837163572898468245">"Applicazione inesistente."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"L\'applicazione è protetta dalla copia."</string> + <string name="invalid_location" msgid="4934491353200240499">"Il percorso di installazione specificato non è valido."</string> + <string name="system_package" msgid="1030561474413022831">"Impossibile installare aggiornamenti di sistema su supporti esterni."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forza interruzione"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Questa applicazione verrà riavviata immediatamente. Procedere con l\'interruzione forzata?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Sposta applicazione"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Spostamento applicazione non riuscito. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Percorso di installazione"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Cambia il percorso preferito per l\'installazione di nuove applicazioni."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Servizi in esecuzione"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Visualizza e controlla i servizi attualmente in esecuzione"</string> <string name="service_restarting" msgid="2242747937372354306">"In fase di riavvio"</string> @@ -691,7 +749,7 @@ <string name="confirm_stop_stop" msgid="7382363913280993331">"Interrompi"</string> <string name="confirm_stop_cancel" msgid="206495326622692381">"Annulla"</string> <string name="service_started_by_app" msgid="8432097226392386802">"Avviato dall\'applicaz.: tocca per interr."</string> - <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: tocca per gestire"</string> + <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: tocca per la gestione"</string> <string name="service_background_processes" msgid="5158600475629177758">"Disponibile: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_foreground_processes" msgid="4013890350284680796">"Altro: <xliff:g id="MEMORY">%2$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"Processo: <xliff:g id="PROCESS">%1$s</xliff:g>"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Impostazioni internazionali (lingua e regione), di inserimento e correzione automatica del testo"</string> <string name="language_category" msgid="3391756582724541530">"Impostazioni lingua"</string> <string name="text_category" msgid="6342540511465136739">"Impostazioni testo"</string> - <string name="phone_language" msgid="2138384312336494991">"Seleziona lingua"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Seleziona lingua e regione"</string> + <string name="phone_language" msgid="1165758957501090679">"Seleziona lingua"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Sostituzione automatica"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Corregge le parole con errori di ortografia"</string> <string name="auto_caps" msgid="581633131114124121">"Maiuscola automatica"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Questo metodo di inserimento potrebbe riuscire a raccogliere tutto il testo digitato, compresi i dati personali come password e numeri di carte di credito. Deriva dall\'applicazione <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Utilizzare questo metodo di inserimento?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dizionario utente"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Dizionario utente"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Aggiungi e rimuovi parole dal dizionario utente"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Aggiungi"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Aggiungi al dizionario"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Modifica parola"</string> @@ -729,7 +787,7 @@ <string name="quick_launch_summary" msgid="3453825712466417452">"Imposta scorciatoie da tastiera per avviare le applicazioni"</string> <string name="quick_launch_assign_application" msgid="4521368464929956350">"Assegna applicazione"</string> <string name="quick_launch_no_shortcut" msgid="5998005833838278693">"Nessuna scorciatoia"</string> - <string name="quick_launch_shortcut" msgid="5090405067413522300">"Cerca + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string> + <string name="quick_launch_shortcut" msgid="5090405067413522300">"Ricerca + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string> <string name="quick_launch_clear_dialog_title" msgid="5546543501250320220">"Cancella"</string> <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">"La scorciatoia per <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g> (<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>) verrà cancellata."</string> <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"OK"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Nessun servizio di accesso facilitato installato."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Questo servizio di accesso facilitato potrebbe riuscire a raccogliere tutto il testo digitato, compresi i numeri di carte di credito ma eccetto le password. Potrebbe anche registrare le tue interazioni con l\'interfaccia utente. Deriva dall\'applicazione <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Utilizzare questo servizio di accesso facilitato?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Disattivare accesso facilitato?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Nessuna applicazione di accesso facilitato trovata"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Nessuna applicazione di accesso facilitato installata."\n\n"Puoi scaricare uno screen reader per il tuo dispositivo da Android Market."\n\n"Fai clic su OK per installare lo screen reader."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Pulsante di accensione"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Termina chiamata"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Durante una chiamata, la pressione del pulsante di accensione termina la chiamata invece di spegnere lo schermo"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilizzo batteria"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Consumo batteria"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Utilizzo batteria dallo scollegamento"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Aggiorna"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Sistema operativo Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"MediaServer"</string> - <string name="tts_settings" msgid="3348626948015962987">"Sintesi vocale"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Imposta opzioni testo-voce"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Impostazioni vocali"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Impostazioni vocali in entrata e uscita"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Ricerca vocale"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Tastiera Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Impostazioni vocali in entrata"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Impostazioni vocali in uscita"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Riconoscimento vocale"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Riconoscimento vocale"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Impostazioni per \"<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\""</string> + <string name="tts_settings" msgid="8186971894801348327">"Impostazioni di sintesi vocale"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Impostazioni di sintesi vocale"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Usa sempre mie imp."</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Le impostazioni predefinite hanno priorità sul quelle delle applicazioni"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Impostazioni predefinite"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Motore predefinito"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Imposta il motore di sintesi vocale per l\'uso con testo parlato"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Velocità voce"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocità di pronuncia del testo"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tono"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Voci richieste per la sintesi vocale già installate"</string> <string name="tts_demo" msgid="405357591189935876">"Questo è un esempio di sintesi vocale."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Le tue impostazioni sono cambiate. Ecco un esempio di come possono suonare."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Il motore selezionato non può essere eseguito"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Configura"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Seleziona un altro motore"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Questo motore di sintesi vocale potrebbe essere in grado di raccogliere tutto il testo pronunciato, inclusi dati personali come password e numeri di carte di credito. Deriva dal motore <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Abilitare l\'uso di questo motore di sintesi vocale?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Motori"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Impostazioni di <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> è abilitato"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> non è attivo"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Lingue e voci"</string> + <string name="pico_installed" msgid="2452546687858267414">"Installata"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Non installata"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Femminile"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Maschile"</string> <string name="gadget_title" msgid="7455548605888590466">"Controllo risparmio energia"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Aggiornamento impostazione Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Aggiornamento impostazione Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Programma di installazione credenziali"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Impostazioni VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Connessione a <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nome utente:"</string> @@ -908,7 +993,7 @@ <string name="vpn_reconnect_from_lost" msgid="2442844155623372118">"Connessione interrotta. Riprovare?"</string> <string name="vpn_unknown_server_dialog_msg" msgid="3080742299823671319">"Impossibile risolvere il nome del server. Controllare l\'impostazione del nome del server?"</string> <string name="vpn_challenge_error_dialog_msg" msgid="6174901754230038601">"Errore di verifica. Controllare l\'impostazione segreta?"</string> - <string name="vpn_secret_not_set_dialog_msg" msgid="8013052814131532765">"In questa configurazione VPN mancano uno o più segreti. Controllare la relativa impostazione?"</string> + <string name="vpn_secret_not_set_dialog_msg" msgid="8013052814131532765">"In questa configurazione VPN mancano uno o più segreti. Controllare l\'impostazione segreta?"</string> <string name="vpn_auth_error_dialog_msg" msgid="5476820106624807614">"La password o il nome utente inserito non è corretto. Riprovare?"</string> <string name="vpn_remote_hung_up_error_dialog_msg" msgid="1566946015052633150">"Server bloccato. La password o il nome utente inserito potrebbe non essere corretto. Riprovare?"</string> <string name="vpn_remote_ppp_hung_up_error_dialog_msg" msgid="5135958511128503344">"Server bloccato. È possibile che un firewall ti impedisca di collegarti al server. Riprovare?"</string> @@ -983,15 +1068,27 @@ <string name="credentials_erased" msgid="7700309135582200849">"L\'archivio di credenziali è cancellato."</string> <string name="credentials_enabled" msgid="7588607413349978930">"L\'archivio di credenziali è attivo."</string> <string name="credentials_disabled" msgid="7453188089059045380">"L\'archivio di credenziali non è attivo."</string> - <string name="emergency_tone_title" msgid="1055954530111587114">"Tono chiamate di emergenza"</string> + <string name="emergency_tone_title" msgid="1055954530111587114">"Tono chiamate emergenza"</string> <string name="emergency_tone_summary" msgid="722259232924572153">"Imposta il comportamento in caso di chiamata di emergenza"</string> <string name="privacy_settings" msgid="9206631214140954954">"Privacy"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Impostazioni privacy"</string> - <string name="location_section_title" msgid="6072558684044939786">"Posizione"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Impostazioni"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Dati personali"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Backup delle mie impost."</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Backup impostazioni"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Interrompere il backup delle impostazioni e cancellare tutte le copie sui server Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Ripristino automatico"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia di backup"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Interrompere il backup delle impostazioni e dei dati delle applicazioni e cancellare tutte le copie sui server Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Impostazioni di amministrazione dispositivo"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Amministratore dispositivo"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Disattiva"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Amministratori dispositivo"</string> + <string name="no_device_admins" msgid="702695100241728775">"Nessun amministratore dispositivo disponibile"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Attivare amministratore dispositivo?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Attiva"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Amministratore dispositivo"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"L\'attivazione di questo amministratore consentirà all\'applicazione <xliff:g id="APP_NAME">%1$s</xliff:g> di eseguire le seguenti operazioni:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Questo amministratore è attivo e consente all\'applicazione <xliff:g id="APP_NAME">%1$s</xliff:g> di eseguire le seguenti operazioni:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Senza titolo"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Generali"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Chiamate in arrivo"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Notifiche"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Commenti"</string> </resources> diff --git a/res/values-ja-nokeys/strings.xml b/res/values-ja-nokeys/strings.xml index 7f21161..af7ada5 100644 --- a/res/values-ja-nokeys/strings.xml +++ b/res/values-ja-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"アプリケーションを管理"</string> diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml index 02436df..b508452 100644 --- a/res/values-ja/arrays.xml +++ b/res/values-ja/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"イタリア語"</item> <item msgid="5811378076054402537">"スペイン語"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"自動"</item> - <item msgid="5434666299123318296">"なし"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"なし"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"自動"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"16進のWEP"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"スキャン中..."</item> + <item msgid="8513729475867537913">"接続中..."</item> + <item msgid="515055375277271756">"認証中..."</item> + <item msgid="1943354004029184381">"IPアドレスを取得中..."</item> + <item msgid="4221763391123233270">"接続されました"</item> + <item msgid="624838831631122137">"保留中"</item> + <item msgid="7979680559596111948">"切断中..."</item> + <item msgid="1634960474403853625">"切断されました"</item> + <item msgid="746097431216080650">"失敗しました"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"スキャン中..."</item> + <item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>に接続中..."</item> + <item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>による認証中..."</item> + <item msgid="7928343808033020343">"IPアドレスを<xliff:g id="NETWORK_NAME">%1$s</xliff:g>から取得中..."</item> + <item msgid="8937994881315223448">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>に接続されました"</item> + <item msgid="1330262655415760617">"保留中"</item> + <item msgid="7698638434317271902">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>から切断中..."</item> + <item msgid="197508606402264311">"切断されました"</item> + <item msgid="8578370891960825148">"失敗しました"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"なし"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"弱"</item> + <item msgid="5615082285463430971">"中"</item> + <item msgid="3565079809875324621">"強"</item> + <item msgid="5702329417707689835">"非常に強い"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"画面がOFFになったとき"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAPまたはCHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"内部端末ストレージ"</item> + <item msgid="3738430123799803530">"リムーバブルSDカード"</item> + <item msgid="4498124044785815005">"システムで判断する"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"常に使用"</item> + <item msgid="6293147072807231256">"なし"</item> + <item msgid="1276641209451816572">"マナーモードでのみ"</item> + <item msgid="8418930333779132418">"マナーモードのときのみ"</item> + </string-array> </resources> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 7ba69a2..da1cc33 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"はい"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"不明"</string> <string name="turn_on_radio" msgid="8706561489788373676">"無線通信をオン"</string> <string name="turn_off_radio" msgid="1820294552893884115">"無線通信をオフ"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SDログを有効にする"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SDログを無効にする"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIMのアドレス帳を表示"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"発信番号制限を表示"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"サービス電話番号を表示"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDPリストを取得"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"データ接続を有効にする"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"データ接続を無効にする"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"起動時にデータを有効にする"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"起動時にデータを無効にする"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"使用中"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"休止中または使用不可"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"緊急通報のみ"</string> @@ -92,7 +87,9 @@ <string name="bluetooth" msgid="5549625000628014477">"Bluetooth"</string> <string name="bluetooth_visibility" msgid="2930835434091839916">"検出可能"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"<xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g>秒間検出可能..."</string> - <string name="bluetooth_not_discoverable" msgid="128269993123955177">"この端末が検出されることを許可する"</string> + <string name="bluetooth_not_discoverable" msgid="128269993123955177">"この端末の検出を許可する"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"ボイスダイヤルをロック"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"画面がロックされているときはBluetoothボイスダイヤルを使用しない"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth端末"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"端末名"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"名前が設定されていない場合、アカウント名を使用する"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"切断"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"切断中..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"接続中..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"この端末をペアに設定する"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"ペアとして設定中..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"ペア設定、非接続"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IPアドレスのPing:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"ホスト名 (www.google.co.jp) のPing:"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTPクライアントテスト:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"暗号化の切り替え"</string> <string name="ping_test_label" msgid="7255376471490860631">"pingテストの実行"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"更新"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"更新"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNSチェックを切り替え"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM固有の情報/設定"</string> <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTSバンドの設定"</string> <string name="band_mode_loading" msgid="548764766363847336">"バンドリストを読み込み中..."</string> <string name="band_mode_set" msgid="5730560180249458484">"設定"</string> @@ -236,9 +232,46 @@ <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"タイムゾーン順"</string> <string name="security_settings_title" msgid="5168491784222013179">"現在地情報とセキュリティ"</string> <string name="location_security_settings_title" msgid="4624434296446625554">"位置情報とセキュリティの設定"</string> - <string name="security_settings_summary" msgid="967393342537986570">"現在地、画面のロック解除、SIMカードのロック、認証情報ストレージのロックの設定"</string> + <string name="security_settings_summary" msgid="967393342537986570">"現在地、画面ロック、SIMカードロック、認証情報ストレージのロック"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"現在地、画面のロック解除、認証情報ストレージのロックを設定します"</string> <string name="security_passwords_title" msgid="2930627259125138363">"パスワード"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"画面のロック解除セキュリティ"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"画面ロックの設定"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"パターン、PIN、またはパスワードで画面をロック"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"画面ロックの変更"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"パターン、PIN、パスワードセキュリティを変更または無効にする"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"なし"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"画面のロック解除セキュリティを無効にする"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"パターン"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"パターンの入力で画面ロックを解除する"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"数値PINの入力で画面ロックを解除する"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"パスワード"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"パスワードの入力で画面ロックを解除する"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"リモートの電話管理者が無効にしました"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"画面ロックをOFFにする"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"ロック解除パターンを削除"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"ロック解除PINを削除"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"ロック解除パスワードを削除"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"ロック解除パターンの変更"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"ロック解除PINの変更"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"ロック解除パスワードの変更"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"パスワードを%d文字以上で入力してください"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PINを%d文字以上で入力してください"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"終了後[次へ]をタップ"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"次へ"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PINは%d桁以内で指定してください"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PINは%d桁以内で指定してください"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PINに使用できるのは数字0~9のみです"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"パスワードに無効な文字が含まれています"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"パスワードには英字が1文字以上必要です"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"パスワードには数字が1つ以上必要です"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"パスワードには記号が1つ以上必要です"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"キャンセル"</string> + <string name="device_admin_title" msgid="3562216873644263804">"デバイス管理"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"デバイス管理者を選択"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"デバイス管理者を追加または削除する"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"BluetoothをONにする"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth設定"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"スピーカーフォン"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"音楽とメディア"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"設定を保存"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Wi-FiをONにする"</string> <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi設定"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Wi-Fi設定"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"ワイヤレスアクセスポイントの設定"</string> - <string name="forget_network" msgid="4718015029995727138">"切断"</string> - <string name="wifi_status" msgid="4824568012414605414">"接続状況"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"速度"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"非常に強い"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"強"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"中"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"弱"</string> - <string name="security" msgid="1040691896987225267">"セキュリティ"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"オープン"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"不明"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"オープンネットワーク"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"WEPで保護"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"WPA/WPA2 PSKで保護"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"802.1x EAPで保護"</string> - <string name="ip_address" msgid="850672263358989449">"IPアドレス"</string> - <string name="signal" msgid="1947969631626413228">"電波強度"</string> <string name="wifi_starting" msgid="6710266609710860129">"ONにしています..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"OFFにしています..."</string> <string name="wifi_error" msgid="3207971103917128179">"エラー"</string> - <string name="error_starting" msgid="4055163089721254078">"Wi-Fiを使用できません"</string> - <string name="error_stopping" msgid="7855531609645531489">"Wi-Fiを停止できません"</string> - <string name="error_scanning" msgid="4644050284132264368">"ネットワークをスキャンできません"</string> - <string name="error_connecting" msgid="1981882310590509609">"ネットワークに接続できません"</string> - <string name="error_saving" msgid="8294279443961615302">"ネットワークを保存できません"</string> - <string name="connect" msgid="3079076576295839400">"接続"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>に接続"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP方式"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"フェーズ2認証"</string> - <string name="please_type_identity" msgid="7061261155499513089">"ID"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"匿名ID"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"クライアント証明書"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA証明書"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"ワイヤレス接続パスワード"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"WEPの16進キー (0~9、A~F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"パスワードを表示"</string> - <string name="scan_wifi" msgid="2459901725350542606">"スキャン"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"圏外"</string> - <string name="summary_remembered" msgid="6079941090549401742">"接続履歴あり"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"接続できませんでした。タップすると再試行します。"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fiネットワーク"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"ネットワークSSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"セキュリティ"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"保存"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(変更なし)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Wi-Fiネットワークを追加"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"機内モード"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"ネットワークをスキャンできません"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"ネットワークの通知"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"オープンネットワークが利用可能なときに通知する"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"ネットワークキーまたはパスワードが正しくありません。入力し直してください。"</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"ネットワーク接続に問題があります。やり直してください。"</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Wi-Fiネットワークを追加"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fiネットワーク"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"スキャン"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"詳細設定"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP設定"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"保存"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"キャンセル"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"正しいIPアドレスを入力してください。"</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"静的IPを使用する"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"ネットワークに接続"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"ネットワークから切断"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"ネットワークを変更"</string> + <string name="wifi_ssid" msgid="641393708309146745">"ネットワークSSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"セキュリティ"</string> + <string name="wifi_signal" msgid="5514120261628065287">"電波強度"</string> + <string name="wifi_status" msgid="4824568012414605414">"接続状況"</string> + <string name="wifi_speed" msgid="3526198708812322037">"リンク速度"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IPアドレス"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"ゲートウェイ"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"ネットマスク"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"ネットワークに接続"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"ネットワークへの接続を解除"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"パスワードを変更"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP方式"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"フェーズ2認証"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA証明書"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"ユーザー証明書"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"ID"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"匿名ID"</string> + <string name="wifi_password" msgid="5948219759936151048">"パスワード"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"パスワードを表示"</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(変更なし)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(指定なし)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"接続履歴あり"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"無効"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"圏外"</string> + <string name="wifi_secured" msgid="6759903183748011566">"<xliff:g id="WIFI_SECURITY">%1$s</xliff:g>で保護"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>、<xliff:g id="WIFI_SECURITY">%1$s</xliff:g>で保護"</string> + <string name="wifi_connect" msgid="1076622875777072845">"接続"</string> + <string name="wifi_forget" msgid="8168174695608386644">"切断"</string> + <string name="wifi_save" msgid="3331121567988522826">"保存"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"キャンセル"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"詳細設定"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"規制区域"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"使用するチャネル番号を設定する"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Wi-Fiをスリープに切り替えるタイミング"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"スリープポリシーの設定で問題が発生しました。"</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MACアドレス"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"スキャン中..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>に接続中..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>による認証中..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>からIPアドレスを取得中..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>に接続しました"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>から切断中..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"切断"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"失敗"</string> - <string name="status_scanning" msgid="8402178267165567371">"スキャン中..."</string> - <string name="status_connecting" msgid="1669262263707521505">"接続中..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"認証中..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"アドレスを取得中..."</string> - <string name="status_connected" msgid="8175694029067954271">"接続"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"切断中..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"切断"</string> - <string name="status_failed" msgid="610462050405904601">"失敗"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"サウンド & 画面設定"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"音と表示の設定"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP設定"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"保存"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"キャンセル"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"正しいIPアドレスを入力してください。"</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"静的IPを使用する"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"ゲートウェイ"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"ネットマスク"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"ポータブルWi-Fiアクセスポイント"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"ポータブルアクセスポイント<xliff:g id="NETWORK_SSID">%1$s</xliff:g>が有効です"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"ポータブルWi-Fiアクセスポイントエラー"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"ポータブルWi-Fiアクセスポイントの設定"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"ポータブルWi-Fiアクセスポイントのセットアップと管理"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"ポータブルWi-Fiアクセスポイントの設定"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Wi-Fiアクセスポイントを設定"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>ポータブルWi-Fiアクセスポイント"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"音"</string> + <string name="display_settings_title" msgid="1708697328627382561">"表示"</string> <string name="sound_settings" msgid="5007659014828162881">"音の設定"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"着信音、操作音、画面の明るさなど"</string> <string name="silent_mode_title" msgid="3181479108593217704">"マナーモード"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"音楽、動画メディア、アラーム以外は消音"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"音楽、動画メディア、アラーム以外は消音"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"音楽と動画メディア以外は消音"</string> <string name="ringtone_title" msgid="5379026328015343686">"着信音"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"端末の基本着信音を選択"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"音量"</string> <string name="ring_volume_title" msgid="7938706566797464165">"着信音量"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"着信音と通知音の音量"</string> - <string name="vibrate_title" msgid="5408984084125311526">"バイブレーション"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"着信時バイブレーションをONにする"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"マナーモード時のバイブレーション"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"マナーモード中の入力時バイブレーションを許可する"</string> + <string name="vibrate_title" msgid="6045820877942801599">"バイブ"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"着信や通知をバイブレーションで知らせる"</string> <string name="notification_sound_title" msgid="6316316069880531693">"通知音"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"端末の基本通知音を選択"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"光を点滅させて通知"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"新しい通知が届くとカーソルボタンが点滅します"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"着信音量"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"通知音量"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"着信音"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"通知"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"通知音にも着信音量を適用"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"通知音を選択"</string> - <string name="media_volume_title" msgid="7844516127427195383">"メディア再生音量"</string> + <string name="media_volume_title" msgid="3576565767317118106">"メディア"</string> <string name="media_volume_summary" msgid="5363248930648849974">"音楽や動画の再生音量"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"アラーム"</string> <string name="dock_settings_summary" msgid="455802113668982481">"付属のドックの音声設定"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"タッチ操作音"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"ダイヤルパッドの操作音をONにする"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"選択時の操作音"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"メニュー選択時の操作音をONにする"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"メニュー選択時の操作音をONにする"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"画面ロックの音"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"画面のロック/ロック解除時に音を鳴らす"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"画面のロック/ロック解除時に音を鳴らす"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"入力時バイブレーション"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"ソフトキー操作や特定のUI操作でのバイブレーションをONにする"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"ソフトキー操作や特定のUI操作でのバイブレーションをONにする"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"SDカードの通知"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"SDカード通知時に音を鳴らす"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"SDカード通知時に音を鳴らす"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"ノイズキャンセル"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"通話中や録音中に周囲のノイズを抑えます。"</string> <string name="dock_settings" msgid="1820107306693002541">"ドック"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"付属のドックの設定"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"ドックが見つかりません"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"ドックの音声を設定するには携帯電話をドックに固定する必要があります"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"ホルダー装着時の音"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"携帯のホルダー脱着時に音を鳴らす"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"携帯のホルダー脱着時に音を鳴らさない"</string> <string name="sync_settings" msgid="9186125469300013491">"アカウントと同期"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"アカウントの追加や削除、アカウント設定の変更を行います"</string> <string name="search_settings" msgid="1910951467596035063">"検索"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"アニメーション表示"</string> <string name="animations_summary_on" msgid="8843613112130484436">"ウィンドウの開閉をアニメーション表示"</string> <string name="animations_summary_off" msgid="2777026828025551983">"ウィンドウの開閉をアニメーション表示"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"画面の向き"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"画面の自動回転"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"画面の向きに合わせて縦横表示を切り替える"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"画面の向きに合わせて縦横表示を切り替える"</string> <string name="brightness" msgid="2354961343555249270">"画面の明るさ"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"キャンセル"</string> <string name="device_info_settings" msgid="475872867864762157">"端末の状態"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"システムアップデート"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"システムの更新を確認する"</string> - <string name="firmware_version" msgid="6284872163051667788">"ファームウェアバージョン"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Androidバージョン"</string> <string name="model_number" msgid="3765737700545384794">"モデル番号"</string> <string name="baseband_version" msgid="1848990160763524801">"ベースバンドバージョン"</string> <string name="kernel_version" msgid="9192574954196167602">"カーネルバージョン"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"合計容量"</string> <string name="sd_eject" msgid="6915293408836853020">"SDカードのマウント解除"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"SDカードを安全に取り外すためマウントを解除する"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"マウントするSDカードを挿入"</string> + <string name="sd_mount" msgid="5940523765187704135">"SDカードをマウント"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"SDカードをマウント"</string> <string name="sd_format" msgid="5448738337382712203">"SDカードをフォーマット"</string> <string name="sd_format_summary" msgid="6616491027883134004">"SDカードをフォーマット(消去)する"</string> <string name="sd_unavailable" msgid="8580107589533213904">"使用不可"</string> <string name="read_only" msgid="6702420168629076340">" (読み取り専用)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SDカードのマウント解除"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"SDカードのマウントを解除すると、使用中のアプリケーションの一部が停止し、SDカードを再マウントするまで使用できなくなる場合があります。"</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"SDカードのマウントを解除できません"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SDカードのマウントを解除できません。しばらくしてからもう一度お試しください。"</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SDカードのマウントを解除します。ステータスは通知エリアで確認してください。"</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"マウント解除中"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"マウントを解除中"</string> <string name="battery_status_title" msgid="9159414319574976203">"電池の状態:"</string> <string name="battery_level_title" msgid="2965679202786873272">"電池残量"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -565,10 +588,24 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"ロック解除パターンを入力してSDカードのフォーマット実行を確認する必要があります。"</string> <string name="call_settings_title" msgid="5188713413939232801">"通話設定"</string> <string name="call_settings_summary" msgid="7291195704801002886">"ボイスメール、着信転送、発信者番号など"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"テザリング"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"ポータブルアクセスポイント"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"テザリングとポータブルアクセスポイント"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"携帯のデータ通信をUSB経由で共有する"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"携帯のデータ通信をポータブルWi-Fiアクセスポイントとして共有する"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"携帯のデータ通信をUSB経由で、またはポータブルWi-Fiアクセスポイントとして共有する"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USBテザリング"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB接続済み、テザリングするには選択"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"テザリングしました"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"USBストレージの使用中はテザリングできません"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USBが接続されていません"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USBテザリングエラー"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"ヘルプ"</string> <string name="network_settings_title" msgid="7967552516440151852">"モバイルネットワーク"</string> <string name="network_settings_summary" msgid="5149750850846813553">"ローミング、ネットワーク、APN設定"</string> <string name="location_title" msgid="1029961368397484576">"現在地"</string> - <string name="location_network_based" msgid="8815705866861993344">"ワイヤレスネットワークを使用"</string> + <string name="location_network_based" msgid="8815705866861993344">"無線ネットワークを使用"</string> <string name="location_networks_disabled" msgid="2708968452901433980">"無線ネットワーク使用のアプリケーション(地図など)で位置を表示する"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Wi-Fi/モバイルネットワークで位置を検出する"</string> <string name="location_gps" msgid="6296125378829097831">"GPS機能を使用"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"A-GPSを使用"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"サーバーでGPSを補助します(OFFにするとネットワーク使用率が減少します)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"サーバーでGPSを補助します(OFFにするとGPS性能が向上します)"</string> - <string name="use_location_title" msgid="5447030582538504247">"現在地情報を使用"</string> - <string name="use_location_summary" msgid="1816849484040070431">"現在地情報をGoogleの検索結果やサービスで利用する"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"検索結果やサービスの品質向上にGoogleが位置情報を使用することを許可しますか?"</string> - <string name="agree" msgid="6288718671527758326">"同意する"</string> - <string name="disagree" msgid="6221069272309799230">"同意しない"</string> <string name="about_settings" msgid="1743378368185371685">"端末情報"</string> <string name="about_settings_summary" msgid="3302263393543848667">"端末情報、規約、バージョン情報"</string> <string name="legal_information" msgid="5769301644270604095">"法的情報"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"安全に関する情報"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"この電話はデータサービスに接続されていません。この情報を表示するにはインターネットに接続されたコンピュータから%sにアクセスしてください。"</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"読み込み中..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"画面ロックの解除パターン"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"パスワードを選択"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"PINを選択"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"パスワードを確認"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"PINの確認"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"パスワードが一致しません"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PINが一致しません"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"パスワードが設定されました"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PINが設定されました"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"パターンが設定されました"</string> + <string name="lock_settings_title" msgid="975088518210629938">"画面のロック解除"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"パターンの変更"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"ロック解除PINを変更"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"現在のパターンを入力"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"やり直してください"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"ロック解除パターンを入力"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"アプリケーションの管理やクイック起動ショートカットの設定"</string> <string name="applications_settings_header" msgid="6018266337275422250">"アプリケーション設定"</string> <string name="install_applications" msgid="4872012136210802181">"提供元不明のアプリ"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"サードパーティアプリケーションのインストールを許可する"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"サードパーティアプリケーションのインストールを許可する"</string> <string name="install_all_warning" msgid="1923717607319933741">"提供元不明のアプリケーションから携帯電話や個人情報データが攻撃を受ける可能性が高くなります。このようなアプリケーションの使用により生じうる携帯電話への損害やデータの損失について、お客様がすべての責任を負うことに同意するものとします。"</string> <string name="application_info_label" msgid="1150486628158409543">"アプリケーション情報"</string> <string name="storage_label" msgid="8700867073480107253">"メモリ"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"すべて"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"ダウンロード済み"</string> <string name="filter_apps_running" msgid="7767071454371350486">"実行中"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SDカード上"</string> <string name="loading" msgid="3200408047793887917">"読み込み中..."</string> <string name="recompute_size" msgid="7722567982831691718">"サイズを再計算中..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"削除"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"パッケージのサイズを計算できません"</string> <string name="empty_list_msg" msgid="2901049162265094971">"サードパーティ製アプリケーションはインストールされていません。"</string> <string name="version_text" msgid="9189073826278676425">"バージョン<xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"移動"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"携帯端末に移動"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"SDカードに移動"</string> + <string name="moving" msgid="6431016143218876491">"移動中"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"ストレージの容量が不足しています。"</string> + <string name="does_not_exist" msgid="837163572898468245">"そのアプリケーションは存在しません."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"このアプリケーションはコピー防止機能付きです。"</string> + <string name="invalid_location" msgid="4934491353200240499">"指定したインストール先が無効です。"</string> + <string name="system_package" msgid="1030561474413022831">"システムアップデートは外部メディアにはインストールできません。"</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"強制停止"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"このアプリケーションはすぐに再起動されます。強制停止してもよろしいですか?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"アプリケーションを移動"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"アプリケーションを移動できません。<xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"優先インストール先"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"新しいアプリケーションの優先インストール先を変更する"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"実行中のサービス"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"現在実行中のサービスを表示して制御する"</string> <string name="service_restarting" msgid="2242747937372354306">"再起動中"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"言語と地域、文字入力の設定"</string> <string name="language_category" msgid="3391756582724541530">"地域/言語設定"</string> <string name="text_category" msgid="6342540511465136739">"文字入力設定"</string> - <string name="phone_language" msgid="2138384312336494991">"地域/言語を選択"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"言語と地域の選択"</string> + <string name="phone_language" msgid="1165758957501090679">"言語を選択"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"自動修正"</string> <string name="auto_replace_summary" msgid="370288728200084466">"入力間違いを自動修正する"</string> <string name="auto_caps" msgid="581633131114124121">"自動大文字変換"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"この入力方法を選択すると、入力する全文字列の収集をアプリケーション(<xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>)に許可することになります。これにはパスワードやクレジットカード番号などの個人情報も含まれます。この入力方法を使用しますか?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"ユーザー辞書"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"ユーザー辞書"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"ユーザー辞書に単語を登録/削除する"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"追加"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"辞書に追加"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"語句の編集"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"ユーザー補助サービスがインストールされていません。"</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"このユーザー補助サービスを選択すると、入力する全テキストの収集をアプリケーション(<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>)に許可することになります。これにはクレジットカード番号などの個人情報(パスワードを除く)も含まれます。また、ユーザーインターフェースでのやり取りも記録されます。このユーザー補助サービスを使用しますか?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"ユーザー補助サービスを無効にしますか?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"ユーザー補助アプリケーションが見つかりません"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"ユーザー補助アプリケーションをインストールしていません。"\n\n"携帯電話用のスクリーンリーダーをAndroidマーケットからダウンロードできます。"\n\n"スクリーンリーダーをインストールするには[OK]をタップします。"</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"電源ボタン"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"電源ボタンで通話を終了する"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"画面をOFFにするのではなく電源ボタンを押して通話を終了する"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"電池使用量"</string> <string name="power_usage_summary" msgid="7237084831082848168">"電池を使用している操作"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"電池使用時間"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"更新"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"メディアサーバー"</string> - <string name="tts_settings" msgid="3348626948015962987">"テキスト読み上げ"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"テキストから音声への変換オプションの設定"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"音声入出力"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"音声入出力の設定"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"音声検索"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Androidキーボード"</string> + <string name="voice_input_category" msgid="1589318440824204736">"音声入力"</string> + <string name="voice_output_category" msgid="2624538587784986229">"音声出力"</string> + <string name="recognizer_title" msgid="3231385184559054457">"音声認識装置"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"音声認識装置の設定"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"「<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>」の設定"</string> + <string name="tts_settings" msgid="8186971894801348327">"テキスト読み上げの設定"</string> <string name="tts_settings_title" msgid="4182348653053000933">"テキスト読み上げの設定"</string> - <string name="use_default_tts_settings_title" msgid="1577063839539732930">"常に自分の設定を使用する"</string> + <string name="use_default_tts_settings_title" msgid="1577063839539732930">"常に自分の設定を使用"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"アプリケーション設定を下のデフォルト設定で上書きする"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"デフォルト設定"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"既定のエンジン"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"テキスト読み上げに使用する音声合成エンジンを設定する"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"音声の速度"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"テキストの読み上げ速度"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"音の高さ"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"音声合成に必要な音声は正常にインストールされています"</string> <string name="tts_demo" msgid="405357591189935876">"これは音声合成のサンプルです。"</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"設定が変更されました。これがサンプル音です。"</string> + <string name="tts_engine_error" msgid="5513288178403066867">"選択したエンジンは実行できません"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"設定"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"別のエンジンを選択"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"この音声合成エンジンを使用すると、読み上げるすべてのテキストの収集をエンジン(<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>)に許可することになります。これにはパスワードやクレジットカード番号などの個人情報も含まれます。この音声合成エンジンを有効にしますか?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"エンジン"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>の設定"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>は有効です"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>は無効です"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"言語と音声"</string> + <string name="pico_installed" msgid="2452546687858267414">"インストール済み"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"未インストール"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"女性"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"男性"</string> <string name="gadget_title" msgid="7455548605888590466">"電源管理"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Wi-Fi設定の更新"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Bluetooth設定の更新"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"認証情報インストーラ"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN設定"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"<xliff:g id="NAME">%s</xliff:g>に接続"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"ユーザー名:"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"緊急通報時の動作を設定します"</string> <string name="privacy_settings" msgid="9206631214140954954">"プライバシー"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"プライバシーの設定"</string> - <string name="location_section_title" msgid="6072558684044939786">"位置情報"</string> - <string name="settings_section_title" msgid="7413252428447723032">"設定"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"個人データ"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"設定のバックアップ"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"バックアップの設定"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"設定のバックアップを停止し、Googleサーバー上のすべてのコピーを消去してもよろしいですか?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"自動復元"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"バックアップ"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"設定とアプリケーションデータのバックアップを停止し、Googleサーバー上のすべてのコピーを消去してもよろしいですか?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"デバイス管理の設定"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"デバイス管理者"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"無効にする"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"デバイス管理者"</string> + <string name="no_device_admins" msgid="702695100241728775">"有効なデバイス管理者がいません"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"デバイス管理者を有効にしますか?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"有効にする"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"デバイス管理者"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"この管理者を有効にすると、アプリケーション<xliff:g id="APP_NAME">%1$s</xliff:g>で次の操作が可能になります:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"この管理者は有効であり、アプリケーション<xliff:g id="APP_NAME">%1$s</xliff:g>に次の操作を許可できます:"</string> <string name="untitled_apn" msgid="1230060359198685513">"無題"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"全般"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"着信"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"通知"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"フィードバック"</string> </resources> diff --git a/res/values-ko-nokeys/strings.xml b/res/values-ko-nokeys/strings.xml index 209671b..9201842 100644 --- a/res/values-ko-nokeys/strings.xml +++ b/res/values-ko-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"응용프로그램 관리"</string> diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml index f2a4f2d..99d4a31 100644 --- a/res/values-ko/arrays.xml +++ b/res/values-ko/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -20,7 +25,7 @@ <item msgid="3005562397632768392">"유럽"</item> <item msgid="5696915123093701218">"아프리카"</item> <item msgid="4439789052790868249">"아시아"</item> - <item msgid="956915953069815961">"오스트레일리아"</item> + <item msgid="956915953069815961">"호주"</item> <item msgid="5345178126174698955">"태평양"</item> <item msgid="8392017019801393511">"모두"</item> </string-array> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"이탈리아어"</item> <item msgid="5811378076054402537">"스페인어"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"자동"</item> - <item msgid="5434666299123318296">"없음"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x 엔터프라이즈"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"없음"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x 엔터프라이즈"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"자동"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP 16진수"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"검색 중..."</item> + <item msgid="8513729475867537913">"연결 중…"</item> + <item msgid="515055375277271756">"인증하는 중..."</item> + <item msgid="1943354004029184381">"IP 주소를 가져오는 중..."</item> + <item msgid="4221763391123233270">"연결됨"</item> + <item msgid="624838831631122137">"일시 정지됨"</item> + <item msgid="7979680559596111948">"연결을 끊는 중…"</item> + <item msgid="1634960474403853625">"연결 끊김"</item> + <item msgid="746097431216080650">"실패"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"검색 중..."</item> + <item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결 중..."</item> + <item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 인증하는 중..."</item> + <item msgid="7928343808033020343">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 IP 주소를 가져오는 중..."</item> + <item msgid="8937994881315223448">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결됨"</item> + <item msgid="1330262655415760617">"일시 정지됨"</item> + <item msgid="7698638434317271902">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 연결을 끊는 중..."</item> + <item msgid="197508606402264311">"연결 끊김"</item> + <item msgid="8578370891960825148">"실패"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"개방형"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"나쁨"</item> + <item msgid="5615082285463430971">"양호함"</item> + <item msgid="3565079809875324621">"좋음"</item> + <item msgid="5702329417707689835">"우수함"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"화면이 꺼질 때"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP 또는 CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"내부 기기 저장용량"</item> + <item msgid="3738430123799803530">"이동식 SD 카드"</item> + <item msgid="4498124044785815005">"시스템에서 결정"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"항상"</item> + <item msgid="6293147072807231256">"선택 안함"</item> + <item msgid="1276641209451816572">"무음 모드일 때만"</item> + <item msgid="8418930333779132418">"무음 모드가 아닐 때만"</item> + </string-array> </resources> diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 1fd6ce0..6dc949b 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"예"</string> @@ -20,19 +21,13 @@ <string name="device_info_default" msgid="7847265875578739287">"알 수 없음"</string> <string name="turn_on_radio" msgid="8706561489788373676">"무선 켜기"</string> <string name="turn_off_radio" msgid="1820294552893884115">"무선 끄기"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SD 로그 사용"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SD 로그 사용 안함"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM 주소록 보기"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"발신 허용 번호 보기"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"SDN(Service Dialing Numbers) 보기"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP 목록 가져오기"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"데이터 연결 사용"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"데이터 연결 사용 안함"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"부팅할 때 데이터 사용"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"부팅할 때 데이터 사용 중지"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"서비스 상태"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"서비스 지역 벗어남"</string> - <string name="radioInfo_service_emergency" msgid="2485604591272668370">"비상 전화만"</string> + <string name="radioInfo_service_emergency" msgid="2485604591272668370">"긴급 통화만"</string> <string name="radioInfo_service_off" msgid="1434084741785525415">"무선 연결 끊김"</string> <string name="radioInfo_roaming_in" msgid="9045363884600341051">"로밍"</string> <string name="radioInfo_roaming_not" msgid="2851853244069662307">"로밍 안함"</string> @@ -51,7 +46,7 @@ <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string> <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string> <string name="sdcard_unmount" msgid="3364184561355611897">"SD 카드 마운트 해제"</string> - <string name="sdcard_format" msgid="362497552060004057">"SD 카드가 포맷"</string> + <string name="sdcard_format" msgid="362497552060004057">"SD 카드 포맷"</string> <string name="small_font" msgid="2295331917424072635">"작게"</string> <string name="medium_font" msgid="2068475425515133701">"보통"</string> <string name="large_font" msgid="599055175160971446">"크게"</string> @@ -90,20 +85,21 @@ <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"과전압"</string> <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"알 수 없는 오류"</string> <string name="bluetooth" msgid="5549625000628014477">"Bluetooth"</string> - <string name="bluetooth_visibility" msgid="2930835434091839916">"검색가능"</string> - <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"<xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g>초 동안 검색가능..."</string> - <string name="bluetooth_not_discoverable" msgid="128269993123955177">"장치를 검색가능하게 설정"</string> + <string name="bluetooth_visibility" msgid="2930835434091839916">"검색 가능"</string> + <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"<xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g>초 동안 검색 가능..."</string> + <string name="bluetooth_not_discoverable" msgid="128269993123955177">"장치를 검색 가능하게 설정"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"잠금 시 음성 다이얼링"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"화면 잠금 시 블루투스 다이얼러 사용 방지"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth 장치"</string> - <string name="bluetooth_device_name" msgid="8415828355207423800">"장치이름"</string> + <string name="bluetooth_device_name" msgid="8415828355207423800">"장치 이름"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"이름을 설정하지 않아 계정 이름 사용"</string> <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"장치 검색"</string> <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> 연결이 끊어집니다."</string> <string name="bluetooth_connected" msgid="6038755206916626419">"연결됨"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"연결 끊김"</string> - <string name="bluetooth_disconnecting" msgid="8913264760027764974">"연결을 끊는 중..."</string> - <string name="bluetooth_connecting" msgid="8555009514614320497">"연결 중..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_disconnecting" msgid="8913264760027764974">"연결을 끊는 중…"</string> + <string name="bluetooth_connecting" msgid="8555009514614320497">"연결 중…"</string> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"장치와 페어링"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"페어링 중..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"페어링된 상태이지만 연결되지 않음"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IP 주소 Ping:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"호스트이름(www.google.com) Ping:"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP 클라이언트 테스트:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"암호화 선택"</string> <string name="ping_test_label" msgid="7255376471490860631">"Ping 테스트 실행"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"업데이트"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"새로고침"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS 확인 선택"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM별 정보/설정"</string> <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTS 대역 설정"</string> <string name="band_mode_loading" msgid="548764766363847336">"대역 목록 로드 중..."</string> <string name="band_mode_set" msgid="5730560180249458484">"설정"</string> @@ -183,9 +179,9 @@ <string name="band_mode_succeeded" msgid="2701016190055887575">"성공"</string> <string name="sdcard_changes_instructions" msgid="1364712901180556244">"변경사항을 적용하려면 USB 케이블을 다시 연결해야 합니다."</string> <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"USB 대용량 저장소 사용"</string> - <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"총 바이트 수:"</string> + <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"총 바이트 수: "</string> <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"SD 카드 없음"</string> - <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"사용가능한 바이트:"</string> + <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"사용 가능한 바이트:"</string> <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD 카드를 대용량 저장장치로 사용 중"</string> <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"이제 SD 카드를 안전하게 제거할 수 있습니다."</string> <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD 카드를 사용하는 중에 분리되었습니다."</string> @@ -206,13 +202,13 @@ <string name="cancel" msgid="6859253417269739139">"취소"</string> <string name="settings_label" msgid="1626402585530130914">"설정"</string> <string name="settings_shortcut" msgid="3672145147925639262">"설정"</string> - <string name="airplane_mode" msgid="8837269988154128601">"비행 모드"</string> + <string name="airplane_mode" msgid="8837269988154128601">"비행기 모드"</string> <string name="airplane_mode_summary" msgid="3154817401368780988">"모든 무선 연결 사용 안함"</string> <string name="airplane_mode_turning_on" msgid="8871739222526957255">"무선 연결을 끊는 중..."</string> <string name="airplane_mode_turning_off" msgid="3393168549611505996">"무선 연결 사용 중..."</string> <string name="radio_controls_title" msgid="5868688473587168882">"무선 및 네트워크"</string> <string name="wireless_networks_settings_title" msgid="149274247949769551">"무선 및 네트워크 설정"</string> - <string name="radio_controls_summary" msgid="2998818677094465517">"Wi-Fi, 블루투스, 비행 모드, 모바일 네트워크 및 VPN 관리"</string> + <string name="radio_controls_summary" msgid="2998818677094465517">"Wi-Fi, 블루투스, 비행기 모드, 모바일 네트워크 및 VPN 관리"</string> <string name="roaming" msgid="3596055926335478572">"데이터 로밍"</string> <string name="roaming_enable" msgid="3737380951525303961">"로밍 시 데이터 서비스에 연결"</string> <string name="roaming_disable" msgid="1295279574370898378">"로밍 시 데이터 서비스에 연결"</string> @@ -239,11 +235,48 @@ <string name="security_settings_summary" msgid="967393342537986570">"내 위치, 화면 잠금해제, SIM 카드 잠금, 자격증명 저장소 잠금 설정"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"내 위치, 화면 잠금해제, 자격증명 저장소 잠금 설정"</string> <string name="security_passwords_title" msgid="2930627259125138363">"비밀번호"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"화면 잠금해제 보안"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"화면 잠금 설정"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"패턴, PIN 또는 비밀번호로 화면 잠금"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"화면 잠금 변경"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"패턴, PIN 또는 비밀번호 보안을 변경하거나 사용 중지"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"선택 안함"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"화면 잠금해제 보안 사용 중지"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"패턴"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"패턴을 그려 화면 잠금 해제"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"숫자 PIN을 입력하여 화면 잠금 해제"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"비밀번호"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"비밀번호 입력하여 화면 잠금 해제"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"원격 휴대전화 관리자가 사용 중지함"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"화면 잠금 사용 안함"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"잠금해제 패턴 삭제"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"잠금해제 PIN 삭제"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"잠금해제 비밀번호 삭제"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"잠금해제 패턴 변경"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"잠금해제 PIN 변경"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"잠금해제 비밀번호 변경"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"비밀번호는 %d자 이상이어야 합니다."</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN은 %d자 이상이어야 합니다."</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"완료되면 계속을 누르세요."</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"계속"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN은 %d자리 이하여야 합니다."</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN은 %d자리 이하여야 합니다."</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN에는 숫자 0-9만 사용할 수 있습니다."</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"비밀번호에 잘못된 글자가 들어 있습니다."</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"비밀번호에는 적어도 하나의 문자가 포함되어야 합니다."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"비밀번호에는 적어도 하나의 숫자가 포함되어야 합니다."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"비밀번호에는 적어도 하나의 기호가 포함되어야 합니다."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"확인"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"취소"</string> + <string name="device_admin_title" msgid="3562216873644263804">"기기 관리"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"기기 관리자 선택"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"기기 관리자 추가 또는 삭제"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Bluetooth 켜기"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth 설정"</string> <string name="bluetooth_settings_title" msgid="2824020086246268296">"Bluetooth 설정"</string> - <string name="bluetooth_settings_summary" msgid="2091062709530570462">"연결 관리, 장치이름 및 검색가능 여부 설정"</string> + <string name="bluetooth_settings_summary" msgid="2091062709530570462">"연결 관리, 장치 이름 및 검색 가능 여부 설정"</string> <string name="bluetooth_pairing_request" msgid="6385750334766370310">"Bluetooth 페어링 요청"</string> <string name="bluetooth_device_info" msgid="6644515376523965073">"Bluetooth 장치 정보"</string> <string name="bluetooth_enter_pin_msg" msgid="856962526754150334">\n"\'<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\'와(과) 페어링하기 위해 PIN을 입력(0000 또는 1234)하세요."</string> @@ -262,7 +295,7 @@ <string name="bluetooth_connecting_error_message" msgid="1779660510084746802">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>에 연결하는 동안 문제가 발생했습니다."</string> <string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"장치 검색"</string> <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"연결"</string> - <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"연결끊기"</string> + <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"연결 끊기"</string> <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"페어링 및 연결"</string> <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"페어링 해제"</string> <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"연결끊기 및 페어링 끊기"</string> @@ -285,83 +318,55 @@ <string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"미디어 오디오에 사용"</string> <string name="bluetooth_headset_profile_summary_use_for" msgid="8705753622443862627">"휴대전화 오디오에 사용"</string> <string name="bluetooth_opp_profile_summary_use_for" msgid="1255674547144769756">"파일 전송에 사용"</string> - <string name="bluetooth_dock_settings" msgid="3218335822716052885">"독 설정"</string> - <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"오디오에 독 사용"</string> + <string name="bluetooth_dock_settings" msgid="3218335822716052885">"도크 설정"</string> + <string name="bluetooth_dock_settings_title" msgid="5543069893044375188">"오디오에 도크 사용"</string> <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"스피커폰으로 사용"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"음악 및 미디어"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"설정 기억"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Wi-Fi 켜기"</string> <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi 설정"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Wi-Fi 설정"</string> - <string name="wifi_settings_summary" msgid="668767638556052820">"무선 액세스포인트 설정 및 관리"</string> - <string name="forget_network" msgid="4718015029995727138">"저장 안함"</string> - <string name="wifi_status" msgid="4824568012414605414">"상태"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"속도"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"우수"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"좋음"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"양호"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"나쁨"</string> - <string name="security" msgid="1040691896987225267">"보안"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"열기"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"엔터프라이즈(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"알 수 없음"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"개방형 네트워크"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"WEP로 보안"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"WPA/WPA2 PSK로 보안됨"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"802.1x EAP로 보안"</string> - <string name="ip_address" msgid="850672263358989449">"IP 주소"</string> - <string name="signal" msgid="1947969631626413228">"신호 강도"</string> + <string name="wifi_settings_summary" msgid="668767638556052820">"무선 액세스포인트(AP) 설정 및 관리"</string> <string name="wifi_starting" msgid="6710266609710860129">"켜는 중..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"끄는 중..."</string> <string name="wifi_error" msgid="3207971103917128179">"오류"</string> - <string name="error_starting" msgid="4055163089721254078">"Wi-Fi를 시작할 수 없음"</string> - <string name="error_stopping" msgid="7855531609645531489">"Wi-Fi를 중지할 수 없음"</string> - <string name="error_scanning" msgid="4644050284132264368">"네트워크를 검색할 수 없음"</string> - <string name="error_connecting" msgid="1981882310590509609">"네트워크에 연결할 수 없음"</string> - <string name="error_saving" msgid="8294279443961615302">"네트워크를 저장할 수 없음"</string> - <string name="connect" msgid="3079076576295839400">"연결"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP 방식"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"단계 2 인증"</string> - <string name="please_type_identity" msgid="7061261155499513089">"ID"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"익명 ID"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"클라이언트 인증서"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA 인증서"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"무선 비밀번호"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"WEP 16진수 키(0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"비밀번호를 표시합니다."</string> - <string name="scan_wifi" msgid="2459901725350542606">"검색"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"범위 내에 없음"</string> - <string name="summary_remembered" msgid="6079941090549401742">"저장됨"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"연결하지 못했습니다. 다시 시도하려면 터치하세요."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi 네트워크"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"네트워크 SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"보안"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"저장"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(변경 안함)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Wi-Fi 네트워크 추가"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"비행기 모드"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"네트워크를 검색할 수 없습니다."</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"네트워크 알림"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"개방형 네트워크를 사용할 수 있을 때 알림"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"입력한 네트워크 비밀번호가 올바르지 않습니다. 다시 입력하세요."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"네트워크에 연결하는 동안 문제가 발생했습니다. 다시 시도하세요."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Wi-Fi 네트워크 추가"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi 네트워크"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"검색"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"고급"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 설정"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"저장"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"취소"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"올바른 IP 주소를 입력하세요."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"고정 IP 사용"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"네트워크 연결"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"네트워크 저장 안함"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"네트워크 수정"</string> + <string name="wifi_ssid" msgid="641393708309146745">"네트워크 SSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"보안"</string> + <string name="wifi_signal" msgid="5514120261628065287">"신호 강도"</string> + <string name="wifi_status" msgid="4824568012414605414">"상태"</string> + <string name="wifi_speed" msgid="3526198708812322037">"링크 속도"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP 주소"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"게이트웨이"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"넷마스크"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"네트워크 연결"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"네트워크 저장 안함"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"비밀번호 변경"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP 방식"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"단계 2 인증"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA 인증서"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"사용자 인증서"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"ID"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"익명 ID"</string> + <string name="wifi_password" msgid="5948219759936151048">"비밀번호"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"비밀번호를 표시합니다."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(변경 안함)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(지정되지 않음)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"저장됨"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"사용 안함"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"범위 내에 없음"</string> + <string name="wifi_secured" msgid="6759903183748011566">"<xliff:g id="WIFI_SECURITY">%1$s</xliff:g>(으)로 보안"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>(으)로 보안"</string> + <string name="wifi_connect" msgid="1076622875777072845">"연결"</string> + <string name="wifi_forget" msgid="8168174695608386644">"저장 안함"</string> + <string name="wifi_save" msgid="3331121567988522826">"저장"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"취소"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"고급"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"규정 도메인"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"사용할 채널 수 설정"</string> @@ -371,62 +376,67 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Wi-Fi에서 모바일 데이터로 전환될 때 표시"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"절전 정책을 설정하는 동안 문제가 발행했습니다."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 주소"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"검색 중..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결 중..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 인증하는 중..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 IP 주소를 가져오는 중..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결됨"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에서 연결을 끊는 중..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"연결 끊김"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"실패"</string> - <string name="status_scanning" msgid="8402178267165567371">"검색 중..."</string> - <string name="status_connecting" msgid="1669262263707521505">"연결 중..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"인증하는 중..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"주소를 가져오는 중..."</string> - <string name="status_connected" msgid="8175694029067954271">"연결됨"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"연결을 끊는 중..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"연결 끊김"</string> - <string name="status_failed" msgid="610462050405904601">"실패"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"소리 및 디스플레이"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"소리 및 디스플레이 설정"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 설정"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"저장"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"취소"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"올바른 IP 주소를 입력하세요."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"고정 IP 사용"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"게이트웨이"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"넷마스크"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"휴대용 Wi-Fi 핫스팟"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"휴대용 핫스팟 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 사용"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"휴대용 Wi-Fi 핫스팟 오류"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"휴대용 Wi-Fi 핫스팟 설정"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"휴대용 Wi-Fi 핫스팟 설정 및 관리"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"휴대용 Wi-Fi 핫스팟 설정"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Wi-Fi 핫스팟 구성"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 휴대용 Wi-Fi 핫스팟"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"소리"</string> + <string name="display_settings_title" msgid="1708697328627382561">"디스플레이"</string> <string name="sound_settings" msgid="5007659014828162881">"소리 설정"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"벨소리, 알림, 화면 밝기 설정"</string> <string name="silent_mode_title" msgid="3181479108593217704">"무음 모드"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"미디어 및 알람을 제외하고 모두 무음 모드로 전환"</string> - <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"미디어를 제외하고 모두 무음 모드로 전환됩니다."</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"미디어 & 알람을 제외한 모든 소리를 무음 모드로 전환"</string> + <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"미디어를 제외하고 모두 무음 모드로 전환"</string> <string name="ringtone_title" msgid="5379026328015343686">"전화 벨소리"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"수신전화 기본 벨소리 설정"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"볼륨"</string> <string name="ring_volume_title" msgid="7938706566797464165">"벨소리 볼륨"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"수신전화 및 알림에 대한 볼륨 설정"</string> - <string name="vibrate_title" msgid="5408984084125311526">"전화올 때 진동"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"전화 올 때 진동"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"무음 시 진동"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"무음 모드에서 진동 피드백 허용"</string> + <string name="vibrate_title" msgid="6045820877942801599">"진동"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"전화 및 알림 시 진동"</string> <string name="notification_sound_title" msgid="6316316069880531693">"알림 벨소리"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"기본 알림 벨소리 설정"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"알림등 반복 표시"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"새로운 알림이 있을 경우 트랙볼 빛을 반복 표시"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"수신전화 볼륨"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"알림 볼륨"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"벨소리"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"알림"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"알림을 위해 수신전화 볼륨 사용"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"알림 벨소리 선택"</string> - <string name="media_volume_title" msgid="7844516127427195383">"미디어 볼륨"</string> + <string name="media_volume_title" msgid="3576565767317118106">"미디어"</string> <string name="media_volume_summary" msgid="5363248930648849974">"음악 및 동영상에 대한 볼륨 설정"</string> - <string name="dock_settings_summary" msgid="455802113668982481">"연결된 독에 대한 오디오 설정"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"알람"</string> + <string name="dock_settings_summary" msgid="455802113668982481">"연결된 도크에 대한 오디오 설정"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"터치음 듣기"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"다이얼패드를 사용할 때 신호음 재생"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"다이얼패드를 사용할 때 신호음 재생"</string> <string name="sound_effects_enable_title" msgid="3197313718929122833">"선택항목 듣기"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"화면 선택 시 소리 재생"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"화면 선택 시 소리 재생"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"화면 잠금 소리"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"화면 잠금 및 잠금 해제 시 소리 재생"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"화면 잠금 및 잠금 해제 시 소리 재생"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"햅틱 반응"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"소프트키를 누르거나 특정 UI 사용 시 진동"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"소프트키를 누르거나 특정 UI 사용 시 진동"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"SD 카드 알림"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"SD 카드 알림 시 사운드 재생"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"SD 카드 알림 시 사운드 재생"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"소음 제거"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"말하거나 녹음할 때 배경 소음을 억제합니다."</string> <string name="dock_settings" msgid="1820107306693002541">"도킹"</string> - <string name="dock_settings_title" msgid="9161438664257429372">"도킹 설정"</string> + <string name="dock_settings_title" msgid="9161438664257429372">"도크 설정"</string> <string name="dock_audio_settings_title" msgid="3324750259959570305">"오디오"</string> <string name="dock_audio_summary_desk" msgid="6487784412371139335">"연결된 데스크톱 도크 설정"</string> <string name="dock_audio_summary_car" msgid="6740897586006248450">"연결된 카폰 도크 설정"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"연결된 도크 설정"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"도크를 찾을 수 없음"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"휴대전화를 도킹해야 오디오 도크를 구성할 수 있습니다."</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"도크 삽입음"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"도크에 휴대전화를 끼우거나 제거할 때 소리 재생"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"도크에 휴대전화를 끼우거나 제거할 때 소리 재생 안함"</string> <string name="sync_settings" msgid="9186125469300013491">"계정 및 동기화"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"계정 추가 또는 삭제 및 계정 설정 변경"</string> <string name="search_settings" msgid="1910951467596035063">"검색"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"애니메이션"</string> <string name="animations_summary_on" msgid="8843613112130484436">"창을 열고 닫을 때 애니메이션 표시"</string> <string name="animations_summary_off" msgid="2777026828025551983">"창을 열고 닫을 때 애니메이션 표시"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"방향"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"자동 화면 회전"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"휴대전화 회전 시 자동으로 방향 바꾸기"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"휴대전화 회전 시 자동으로 방향 바꾸기"</string> <string name="brightness" msgid="2354961343555249270">"밝기"</string> @@ -465,7 +478,7 @@ <string name="sim_reenter_new" msgid="3178510434642201544">"새 PIN 다시 입력"</string> <string name="sim_change_pin" msgid="7328607264898359112">"SIM PIN"</string> <string name="sim_bad_pin" msgid="2746201276896134075">"PIN이 잘못되었습니다."</string> - <string name="sim_pins_dont_match" msgid="4664611595579163214">"PIN이 일치하지 않습니다."</string> + <string name="sim_pins_dont_match" msgid="4664611595579163214">"PIN이 일치하지 않음!"</string> <string name="sim_change_failed" msgid="4823538458798362222">"PIN을 변경할 수 없습니다."\n"PIN이 잘못된 것 같습니다."</string> <string name="sim_change_succeeded" msgid="8556135413096489627">"SIM PIN이 변경되었습니다."</string> <string name="sim_lock_failed" msgid="6676748290838006404">"SIM 카드 잠금 상태를 변경할 수 없습니다."\n"PIN이 잘못된 것 같습니다."</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"취소"</string> <string name="device_info_settings" msgid="475872867864762157">"휴대전화 상태"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"시스템 업데이트"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"시스템 업데이트 확인"</string> - <string name="firmware_version" msgid="6284872163051667788">"펌웨어 버전"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android 버전"</string> <string name="model_number" msgid="3765737700545384794">"모델 번호"</string> <string name="baseband_version" msgid="1848990160763524801">"기저대역 버전"</string> <string name="kernel_version" msgid="9192574954196167602">"커널 버전"</string> @@ -485,7 +498,7 @@ <string name="device_status_summary" msgid="2599162787451519618">"전화번호, 신호 등"</string> <string name="storage_settings" msgid="6681164315506788024">"저장공간"</string> <string name="storage_settings_title" msgid="5379463509034022773">"SD 카드 및 휴대전화 저장공간 설정"</string> - <string name="storage_settings_summary" msgid="9176693537325988610">"SD 카드 마운트 해제, 사용가능한 저장공간 보기"</string> + <string name="storage_settings_summary" msgid="9176693537325988610">"SD 카드 마운트 해제, 사용 가능한 저장공간 보기"</string> <string name="status_number" msgid="5123197324870153205">"내 휴대전화 번호"</string> <string name="status_min_number" msgid="3519504522179420597">"MIN"</string> <string name="status_prl_version" msgid="8499039751817386529">"PRL 버전"</string> @@ -503,18 +516,28 @@ <string name="status_awake_time" msgid="2393949909051183652">"무중단 가동 시간"</string> <string name="internal_memory" msgid="1130932766236387454">"휴대전화 내부 저장공간"</string> <string name="sd_memory" msgid="151871913888051515">"SD 카드"</string> - <string name="memory_available" msgid="418542433817289474">"사용가능한 저장공간"</string> + <string name="memory_available" msgid="418542433817289474">"사용 가능한 저장공간"</string> <string name="memory_size" msgid="6629067715017232195">"총 공간"</string> <string name="sd_eject" msgid="6915293408836853020">"SD 카드 마운트 해제"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"안전 제거를 위해 SD 카드 마운트 해제"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"마운트할 SD 카드 삽입"</string> + <string name="sd_mount" msgid="5940523765187704135">"SD 카드 마운트"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"SD 카드 마운트"</string> <string name="sd_format" msgid="5448738337382712203">"SD 카드 포맷"</string> <string name="sd_format_summary" msgid="6616491027883134004">"SD 카드 포맷(지우기)"</string> <string name="sd_unavailable" msgid="8580107589533213904">"사용할 수 없음"</string> <string name="read_only" msgid="6702420168629076340">" (읽기전용)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD 카드 마운트 해제"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"SD 카드를 마운트 해제하면 사용 중인 일부 응용프로그램이 중지되고 SD 카드를 다시 마운트할 때까지 사용할 수 없게 됩니다."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"SD 카드 마운트 해제 실패\n"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD 카드를 마운트 해제할 수 없습니다. 나중에 다시 시도하세요."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD 카드가 마운트 해제됩니다. 알림 영역에서 상태를 확인하세요."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"마운트 해제 중"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"마운트 해제 중"</string> <string name="battery_status_title" msgid="9159414319574976203">"배터리 상태"</string> <string name="battery_level_title" msgid="2965679202786873272">"배터리 수준"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> - <string name="apn_edit" msgid="1354715499708424718">"액세스포인트 편집"</string> + <string name="apn_edit" msgid="1354715499708424718">"액세스포인트(APN) 편집"</string> <string name="apn_not_set" msgid="7422262558097875757">"<설정 안함>"</string> <string name="apn_name" msgid="4115580098369824123">"이름"</string> <string name="apn_apn" msgid="2479425126733513353">"APN"</string> @@ -537,7 +560,7 @@ <string name="menu_delete" msgid="6981294422841124659">"APN 삭제"</string> <string name="menu_new" msgid="3014205883303921729">"새 APN"</string> <string name="menu_save" msgid="8109345640668285399">"저장"</string> - <string name="menu_cancel" msgid="2194502410474697474">"무시"</string> + <string name="menu_cancel" msgid="2194502410474697474">"취소"</string> <string name="error_title" msgid="1319225301794168762">"주의"</string> <string name="error_name_empty" msgid="1498238337687930558">"이름 필드는 비워둘 수 없습니다."</string> <string name="error_apn_empty" msgid="1513892291812404310">"APN을 비워둘 수 없습니다."</string> @@ -555,7 +578,7 @@ <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"잠금해제 패턴을 그리세요."</string> <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"휴대전화 재설정을 확인하려면 잠금해제 패턴을 그려야 합니다."</string> <string name="master_clear_failed" msgid="8655202125010189406">"시스템 지우기 서비스를 사용할 수 없어 재설정을 수행하지 못했습니다."</string> - <string name="media_format_title" msgid="4671276096695789895">"SD 카드를 포맷합니다."</string> + <string name="media_format_title" msgid="4671276096695789895">"SD 카드 포맷."</string> <string name="media_format_summary" msgid="3805714639375830120">"SD 카드의 모든 데이터 지우기"</string> <string name="media_format_desc" msgid="1142563222357820834">"이 작업을 수행하면 휴대전화의 SD 카드에 저장된 모든 데이터를 잃게 됩니다."</string> <string name="media_format_button_text" msgid="370856400090190151">"SD 카드 포맷"</string> @@ -565,9 +588,23 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"SD 카드 포맷을 확인하려면 잠금해제 패턴을 그려야 합니다."</string> <string name="call_settings_title" msgid="5188713413939232801">"통화 설정"</string> <string name="call_settings_summary" msgid="7291195704801002886">"음성메일, 착신전환, 통화중 대기, 발신자 번호 설정"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"테더링"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"휴대용 핫스팟"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"테더링 및 휴대용 핫스팟"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"USB를 사용하여 휴대전화의 모바일 데이터 연결을 공유해 보세요."</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"휴대용 Wi-Fi 핫스팟을 사용하여 휴대전화의 모바일 연결을 공유해 보세요."</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"USB나 휴대용 Wi-Fi 핫스팟을 사용하여 휴대전화의 모바일 데이터 연결을 공유해 보세요."</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB 테더링"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB 연결됨, 테더링하려면 선택"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"테더링됨"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"USB 저장소가 사용 중인 경우 테더링할 수 없습니다."</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB가 연결되어 있지 않음"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB 테더링 오류"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"도움말"</string> <string name="network_settings_title" msgid="7967552516440151852">"모바일 네트워크"</string> <string name="network_settings_summary" msgid="5149750850846813553">"로밍, 네트워크, APN에 대한 옵션 설정"</string> - <string name="location_title" msgid="1029961368397484576">"내 위치"</string> + <string name="location_title" msgid="1029961368397484576">"사용자 위치"</string> <string name="location_network_based" msgid="8815705866861993344">"무선 네트워크 사용"</string> <string name="location_networks_disabled" msgid="2708968452901433980">"무선 네트워크를 사용하는 응용프로그램(예: 지도)에서 위치 보기"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Wi-Fi 및/또는 모바일 네트워크에서 측정된 위치"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"GPS 도우미 사용"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"서버를 사용하여 GPS 보조(네트워크 사용량을 줄이려면 선택 취소)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"서버를 사용하여 GPS 보조(GPS 성능을 개선하려면 선택 취소)"</string> - <string name="use_location_title" msgid="5447030582538504247">"내 위치 사용"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Google 검색결과 및 다른 Google 서비스에 내 위치 사용"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"검색결과 및 기타 서비스 향상을 위해 Google에 위치 정보를 제공하시겠습니까?"</string> - <string name="agree" msgid="6288718671527758326">"동의함"</string> - <string name="disagree" msgid="6221069272309799230">"동의 안함"</string> <string name="about_settings" msgid="1743378368185371685">"휴대전화 정보"</string> <string name="about_settings_summary" msgid="3302263393543848667">"법률 정보, 휴대전화 상태, 소프트웨어 버전 보기"</string> <string name="legal_information" msgid="5769301644270604095">"법률정보"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"안전 정보"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"휴대전화가 데이터 서비스에 연결되어 있지 않습니다. 지금 정보를 보려면 인터넷에 연결된 컴퓨터에서 %s(으)로 이동하세요."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"로드 중..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"화면 잠금해제 패턴"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"비밀번호 선택"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"PIN 선택"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"비밀번호 확인"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"PIN 확인"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"비밀번호가 일치하지 않음"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN이 일치하지 않음"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"비밀번호가 설정되었습니다."</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN이 설정되었습니다."</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"패턴이 설정되었습니다."</string> + <string name="lock_settings_title" msgid="975088518210629938">"화면 잠금 해제"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"잠금해제 패턴 변경"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"잠금해제 PIN 변경"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"저장된 패턴 확인"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"죄송합니다. 다시 시도하세요."</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"잠금해제 패턴 그리기"</string> @@ -607,7 +649,7 @@ <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"완료되면 손가락을 뗍니다."</string> <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"<xliff:g id="NUMBER">%d</xliff:g>개 이상의 점을 연결합니다. 다시 시도하세요."</string> <string name="lockpattern_pattern_entered_header" msgid="5012716272001299362">"패턴이 기록되었습니다."</string> - <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"확인을 위해 패턴 다시 그리기:"</string> + <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"확인을 위해 패턴 다시 그리기"</string> <string name="lockpattern_pattern_confirmed_header" msgid="2223856038485537716">"새 잠금해제 패턴:"</string> <string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"확인"</string> <string name="lockpattern_restart_button_text" msgid="3337574403350953926">"다시 그리기"</string> @@ -615,7 +657,7 @@ <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"계속"</string> <string name="lockpattern_settings_title" msgid="3207750489460466680">"잠금해제 패턴"</string> <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"패턴 설정"</string> - <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"화면 잠금을 해제하려면 패턴을 그려야 함"</string> + <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"화면 잠금을 해제하려면 패턴을 그려야 합니다."</string> <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"패턴 표시"</string> <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"촉감 반응 설정"</string> <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"잠금해제 패턴 설정"</string> @@ -635,18 +677,18 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"응용프로그램 관리, 빠른실행 바로가기 설정"</string> <string name="applications_settings_header" msgid="6018266337275422250">"응용프로그램 설정"</string> <string name="install_applications" msgid="4872012136210802181">"알 수 없는 소스"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"시판되지 않은 응용프로그램 설치 허용"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"시판되지 않은 응용프로그램 설치 허용"</string> <string name="install_all_warning" msgid="1923717607319933741">"휴대전화 및 개인 정보는 출처를 알 수 없는 응용프로그램의 공격에 더욱 취약합니다. 사용자는 이러한 응용프로그램을 사용하여 발생할 수 있는 휴대전화 손상이나 데이터 손실에 대해 사용자가 단독으로 책임이 있음을 동의합니다."</string> <string name="application_info_label" msgid="1150486628158409543">"응용프로그램 정보"</string> - <string name="storage_label" msgid="8700867073480107253">"저장공간"</string> - <string name="auto_launch_label" msgid="3012617472833815382">"기본적으로 시작"</string> + <string name="storage_label" msgid="8700867073480107253">"저장"</string> + <string name="auto_launch_label" msgid="3012617472833815382">"기본값으로 시작"</string> <string name="permissions_label" msgid="2605296874922726203">"권한"</string> <string name="cache_header_label" msgid="1877197634162461830">"캐시"</string> <string name="clear_cache_btn_text" msgid="5756314834291116325">"캐시 지우기"</string> <string name="cache_size_label" msgid="7505481393108282913">"캐시"</string> <string name="controls_label" msgid="7611113077086853799">"제어"</string> <string name="force_stop" msgid="7435006169872876756">"강제 종료"</string> - <string name="total_size_label" msgid="1048676419552557254">"총 시간"</string> + <string name="total_size_label" msgid="1048676419552557254">"전체"</string> <string name="application_size_label" msgid="5055196275624686382">"응용프로그램"</string> <string name="data_size_label" msgid="8679376373625710107">"데이터"</string> <string name="uninstall_text" msgid="3644892466144802466">"제거"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"모두"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"다운로드됨"</string> <string name="filter_apps_running" msgid="7767071454371350486">"실행 중"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SD 카드"</string> <string name="loading" msgid="3200408047793887917">"로드 중..."</string> <string name="recompute_size" msgid="7722567982831691718">"크기 다시 계산 중..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"삭제"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"패키지 크기를 계산할 수 없습니다."</string> <string name="empty_list_msg" msgid="2901049162265094971">"타사 응용프로그램을 설치하지 않았습니다."</string> <string name="version_text" msgid="9189073826278676425">"버전 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"이동"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"휴대전화로 이동"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"SD 카드로 이동"</string> + <string name="moving" msgid="6431016143218876491">"이동하는 중"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"남은 저장공간이 부족합니다."</string> + <string name="does_not_exist" msgid="837163572898468245">"응용프로그램이 없습니다."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"복제 방지된 응용프로그램입니다."</string> + <string name="invalid_location" msgid="4934491353200240499">"지정된 설치 위치가 잘못되었습니다."</string> + <string name="system_package" msgid="1030561474413022831">"외부 미디어에 시스템 업데이트를 설치할 수 없습니다. "</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"강제 종료"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"응용프로그램은 바로 다시 시작됩니다. 강제로 종료하시겠습니까?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"응용프로그램 이동"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"응용프로그램을 이동하지 못했습니다. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"기본 설치 위치"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"새 응용프로그램에 대한 기본 설치 위치를 변경합니다."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"실행 중인 서비스"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"현재 실행 중인 서비스 보기 및 제어"</string> <string name="service_restarting" msgid="2242747937372354306">"다시 시작하는 중"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"로케일(언어 및 지역), 텍스트 입력 및 자동 수정 옵션 설정"</string> <string name="language_category" msgid="3391756582724541530">"로케일 설정"</string> <string name="text_category" msgid="6342540511465136739">"텍스트 설정"</string> - <string name="phone_language" msgid="2138384312336494991">"언어 선택"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"언어 및 지역 선택"</string> + <string name="phone_language" msgid="1165758957501090679">"언어 선택"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"자동 바꾸기"</string> <string name="auto_replace_summary" msgid="370288728200084466">"오타 교정"</string> <string name="auto_caps" msgid="581633131114124121">"자동 대문자 변환"</string> @@ -714,11 +772,11 @@ <string name="ime_security_warning" msgid="812267421486877917">"<xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> 응용프로그램에서 지원하는 이 입력 방법을 사용하면 비밀번호 및 신용카드 번호와 같은 개인 정보를 비롯하여 입력한 모든 텍스트가 수집될 수 있습니다. 사용하시겠습니까?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"사용자 사전"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"사용자 사전"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"사용자 사전에서 단어 추가 및 삭제"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"추가"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"사전에 추가"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"단어 수정"</string> - <string name="user_dict_settings_context_menu_edit_title" msgid="2210564879320004837">"편집"</string> + <string name="user_dict_settings_context_menu_edit_title" msgid="2210564879320004837">"수정"</string> <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"삭제"</string> <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"사용자 사전에 단어가 없습니다. 메뉴를 통해 단어를 추가할 수 있습니다."</string> <string name="testing" msgid="6584352735303604146">"테스트 중"</string> @@ -731,7 +789,7 @@ <string name="quick_launch_no_shortcut" msgid="5998005833838278693">"바로가기 없음"</string> <string name="quick_launch_shortcut" msgid="5090405067413522300">"검색 + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string> <string name="quick_launch_clear_dialog_title" msgid="5546543501250320220">"지우기"</string> - <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">"<xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>(<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>)에 대한 바로가기가 지워집니다."</string> + <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">" <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>(<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>)에 대한 바로가기가 지워집니다."</string> <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"확인"</string> <string name="quick_launch_clear_cancel_button" msgid="1892854652197747064">"취소"</string> <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"응용프로그램"</string> @@ -782,7 +840,7 @@ <string name="battery_history_awake" msgid="4350886665719031057">"절전 모드로 전환되지 않고 사용한 시간:"</string> <string name="battery_history_screen_on" msgid="1377240025275657277">"화면을 켠 상태에서 소비한 시간:"</string> <string name="battery_history_phone_on" msgid="4891504401623839532">"휴대전화가 켜진 상태로 사용한 시간:"</string> - <string name="battery_history_screen_on_battery" msgid="536058210445081888">"배터리 켜짐 시간:"</string> + <string name="battery_history_screen_on_battery" msgid="536058210445081888">"배터리 켜짐 시간: "</string> <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"연결됨:"</string> <string name="usage_stats_label" msgid="5890846333487083609">"사용 통계"</string> <string name="testing_usage_stats" msgid="7823048598893937339">"사용 통계"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"설치한 접근성 서비스가 없습니다."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"접근성 서비스는 비밀번호를 제외한 개인 데이터 신용카드 번호 등과 같이 사용자가 입력한 모든 텍스트를 수집할 수 있습니다. 또한 사용자 인터페이스 상호 작용을 기록할 수도 있습니다. 이 서비스는 <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> 응용프로그램에서 제공합니다. 접근성 서비스를 사용하시겠습니까?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"접근성 서비스를 사용 중지하시겠습니까?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"응용프로그램에 대한 접근성 없음"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"설치된 응용프로그램에 대한 접근성이 없습니다."\n\n"Android 마켓에서 기기에 대한 스크린 리더를 다운로드할 수 있습니다."\n\n"스크린 리더를 설치하려면 확인을 클릭하세요."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"전원 버튼"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"전원 버튼으로 통화 종료"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"전화를 거는 동안 전원 버튼을 누르면 화면이 꺼지지 않고 통화가 종료"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"배터리 사용"</string> <string name="power_usage_summary" msgid="7237084831082848168">"배터리를 사용한 항목"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"플러그를 뽑은 이후 배터리 전원 사용"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"새로고침"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"미디어 서버"</string> - <string name="tts_settings" msgid="3348626948015962987">"TTS(text-to-speech)"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"TTS(text-to-speech) 옵션 설정"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"음성 입력 & 출력"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"음성 입력 & 출력 설정"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"음성 검색"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android 키보드"</string> + <string name="voice_input_category" msgid="1589318440824204736">"음성 입력"</string> + <string name="voice_output_category" msgid="2624538587784986229">"음성 출력"</string> + <string name="recognizer_title" msgid="3231385184559054457">"음성 인식기"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"음성 인식기 설정"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"\'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\' 설정"</string> + <string name="tts_settings" msgid="8186971894801348327">"TTS(text-to-speech) 설정"</string> <string name="tts_settings_title" msgid="4182348653053000933">"TTS(text-to-speech) 설정"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"항상 내 설정 사용"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"아래 기본 설정으로 응용프로그램 설정 덮어쓰기"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"기본 설정"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"기본 엔진"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"음성 텍스트에 대해 음성 합성 엔진을 사용하도록 설정"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"말하는 속도"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"텍스트를 발음하는 속도"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"피치"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"음성 합성에 필요한 음성이 이미 설치되어 있습니다."</string> <string name="tts_demo" msgid="405357591189935876">"음성 합성의 예입니다."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"설정이 변경되었습니다. 다음은 소리나는 방식에 대한 예입니다."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"선택한 엔진을 실행할 수 없습니다."</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"구성"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"다른 엔진 선택"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"이 음성 합성 엔진은 비밀번호와 신용카드 번호 등의 개인 데이터를 비롯한 모든 음성 데이터를 수집할 수 있습니다. 이것은 <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> 엔진의 기능입니다. 음성 합성 엔진을 사용하도록 설정하시겠습니까?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"엔진"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> 설정"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> 사용"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> 사용 안함"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"언어 및 음성"</string> + <string name="pico_installed" msgid="2452546687858267414">"설치됨"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"설치되지 않음"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"여성"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"남성"</string> <string name="gadget_title" msgid="7455548605888590466">"전원 컨트롤"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Wi-Fi 설정 업데이트"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"블루투스 설정 업데이트"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"자격증명 설치 프로그램"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN 설정"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"<xliff:g id="NAME">%s</xliff:g>에 연결"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"사용자 이름:"</string> @@ -924,7 +1009,7 @@ <string name="vpn_connect_hint" msgid="7442898962925875181">"네트워크 연결"</string> <string name="vpn_name" msgid="1550918148476193076">"VPN 이름"</string> <string name="vpn_a_name" msgid="8445736942405283509">"VPN 이름"</string> - <string name="vpn_profile_added" msgid="9061017910337129840">"\'<xliff:g id="NAME">%s</xliff:g>\'님이 추가되었습니다."</string> + <string name="vpn_profile_added" msgid="9061017910337129840">"\'<xliff:g id="NAME">%s</xliff:g>\'(이)가 추가되었습니다."</string> <string name="vpn_profile_replaced" msgid="587435576816273815">"\'<xliff:g id="NAME">%s</xliff:g>\'을(를) 변경했습니다."</string> <string name="vpn_user_certificate_title" msgid="6812545893924071742">"사용자 인증서 설정"</string> <string name="vpn_user_certificate" msgid="949322691686938888">"사용자 인증서"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"긴급 통화 중 동작 설정"</string> <string name="privacy_settings" msgid="9206631214140954954">"개인정보 보호"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"개인정보 설정"</string> - <string name="location_section_title" msgid="6072558684044939786">"위치"</string> - <string name="settings_section_title" msgid="7413252428447723032">"설정"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"개인 데이터"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"내 설정 백업"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"설정 백업"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"설정 백업을 중지하고 Google 서버에 있는 사본을 모두 삭제하시겠습니까?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"자동 복원"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"백업"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"설정 및 응용프로그램 데이터 백업을 중지하고 Google 서버에 있는 모든 사본을 삭제하시겠습니까?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"기기 관리 설정"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"기기 관리자"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"비활성화"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"기기 관리자"</string> + <string name="no_device_admins" msgid="702695100241728775">"사용할 수 있는 기기 관리자가 없습니다."</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"기기 관리자를 활성화하시겠습니까?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"활성화"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"기기 관리자"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"관리자를 활성화하면 <xliff:g id="APP_NAME">%1$s</xliff:g> 응용프로그램에서 다음 작업을 수행할 수 있습니다:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"관리자가 활성 상태이며 <xliff:g id="APP_NAME">%1$s</xliff:g> 응용프로그램에서 다음 작업을 수행할 수 있도록 허용합니다:"</string> <string name="untitled_apn" msgid="1230060359198685513">"제목 없음"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"일반"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"수신전화"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"알림"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"반응"</string> </resources> diff --git a/res/values-nb-nokeys/strings.xml b/res/values-nb-nokeys/strings.xml index a6c84e0..2b21240 100644 --- a/res/values-nb-nokeys/strings.xml +++ b/res/values-nb-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Installerte applikasjoner, hurtigtaster"</string> diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml index e759d4b..7697b16 100644 --- a/res/values-nb/arrays.xml +++ b/res/values-nb/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -47,7 +52,7 @@ <item msgid="2361722960903353554">"Langsom"</item> <item msgid="1145554631248513562">"Vanlig"</item> <item msgid="7553665153391107454">"Rask"</item> - <item msgid="2538100882620724753">"Svært raskt"</item> + <item msgid="2538100882620724753">"Svært rask"</item> </string-array> <string-array name="tts_pitch_entries"> <item msgid="7526050907652687351">"Svært lav"</item> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiensk"</item> <item msgid="5811378076054402537">"Spansk"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automatisk"</item> - <item msgid="5434666299123318296">"Ingen"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Ingen"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automatisk"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP heksadesimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Skanner ..."</item> + <item msgid="8513729475867537913">"Kobler til …"</item> + <item msgid="515055375277271756">"Autentiserer ..."</item> + <item msgid="1943354004029184381">"Henter IP-adresse …"</item> + <item msgid="4221763391123233270">"Tilkoblet"</item> + <item msgid="624838831631122137">"Avsluttet"</item> + <item msgid="7979680559596111948">"Kobler fra ..."</item> + <item msgid="1634960474403853625">"Frakoblet"</item> + <item msgid="746097431216080650">"Mislyktes"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Skanner ..."</item> + <item msgid="355508996603873860">"Kobler til <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item> + <item msgid="554971459996405634">"Autentiserer med <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item> + <item msgid="7928343808033020343">"Henter IP-adresse fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item> + <item msgid="8937994881315223448">"Koblet til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Avsluttet"</item> + <item msgid="7698638434317271902">"Kobler fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g> …"</item> + <item msgid="197508606402264311">"Frakoblet"</item> + <item msgid="8578370891960825148">"Mislyktes"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Åpne"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Dårlig"</item> + <item msgid="5615082285463430971">"Akseptabel"</item> + <item msgid="3565079809875324621">"Bra"</item> + <item msgid="5702329417707689835">"Utmerket"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Når skjermen slås av"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP eller CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Intern lagringsenhet"</item> + <item msgid="3738430123799803530">"Flyttbart SD-kort"</item> + <item msgid="4498124044785815005">"La systemet bestemme"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Alltid"</item> + <item msgid="6293147072807231256">"Aldri"</item> + <item msgid="1276641209451816572">"Kun i Stille modus"</item> + <item msgid="8418930333779132418">"Kun når det er valgt andre moduser enn Stille"</item> + </string-array> </resources> diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index ab9f5b4..8bfde75 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Ja"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Ukjent"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Slå på radio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Slå av radio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Slå på QXDM-minnekortlogg"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Slå av QXDM-minnekortlogg"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Se SIM-adressebok"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vis faste nummer"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Vis tjenestenummer"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Hent PDP-liste"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Slå på datatilkobling"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Slå av datatilkobling"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Slå på data ved oppstart"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Slå av data ved oppstart"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"I serviceperiode"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Ute av serviceperiode"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Kun nødsamtaler"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Synlig"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Synlig i <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> sekunder…"</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Gjør enheten synlig"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Lås taleanrop"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Forhindrer bruk av Bluetooth-telefon når skjermen er låst"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth-enheter"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Enhetsnavn"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Ikke noe navn er valgt, bruker kontonavn"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Frakoblet"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kobler fra…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Kobler til…"</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Par med denne enheten"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Parer…"</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Paret"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IP-adresse:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping vertsnavn(www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP-klienttest:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Sål av/på kryptering"</string> <string name="ping_test_label" msgid="7255376471490860631">"Kjør ping-test"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Oppdater"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Last på nytt"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Slå av/på DNS-sjekk"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Produsentspesfikk informasjon og innstillinger"</string> <string name="band_mode_title" msgid="954174198903776205">"Velg GSM/UMTS-bånd"</string> <string name="band_mode_loading" msgid="548764766363847336">"Henter båndliste…"</string> <string name="band_mode_set" msgid="5730560180249458484">"Velg"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Plassering, skjermlås, SIM-kort-lås"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Angi Min posisjon, lås opp skjerm, lås påloggingsopplysninger"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Passord"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Opplåsing av skjerm"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Konfigurer skjermlås"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Lås skjermen med et mønster, en personlig kode eller et passord"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Endring av skjermlås"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Endre eller deaktiver mønster, personlig kode eller passordsikkerhet"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ingen"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Deaktiver opplåsing av skjerm"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Mønster"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Tegn mønsteret som skal brukes for å låse opp skjermen"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Personlig kode"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Skriv inn den numeriske koden som skal brukes for å låse opp skjermen"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Passord"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Skriv inn passordet som skal brukes for å låse opp skjermen"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Deaktivert av ekstern telefonadministrator"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Slå av skjermlås"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Fjern opplåsingsmønster"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Fjern PIN-koden for opplåsing"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Fjern opplåsingspassord"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Endre opplåsingsmønster"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Endre PIN-koden for opplåsning"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Endre passord for opplåsning"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Passord må bestå av minst %d tegn"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN-koden må bestå av minst %d tegn"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Trykk på Fortsett når du er ferdig"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Fortsett"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN-koden kan ikke inneholde mer enn %d tegn"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-koden kan ikke inneholde mer enn %d tegn"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN-koden kan kun inneholde tall fra 0 til 9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Passordet inneholder ugydige tegn"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Passordet må inneholde minst én bokstav"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Passordet må inneholde minst ett siffer"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Passordet må inneholde minst ett symbol"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Avbryt"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Enhetsadministrasjon"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Velg enhetsadministratorer"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Legg til eller fjern enhetsadministratorer"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Slå på Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth-innstillinger"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som høyttalertelefon"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"For musikk og medier"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Husk innstillinger"</string> - <string name="wifi" msgid="1081550856200013637">"Trådløst nett"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Trådløst nett"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Slå på trådløst nett"</string> <string name="wifi_settings" msgid="4746946030627213196">"Trådløsinnstillinger"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Innstillinger for trådløst nett"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Sett opp og styr trådløse aksesspunkt"</string> - <string name="forget_network" msgid="4718015029995727138">"Glem"</string> - <string name="wifi_status" msgid="4824568012414605414">"Status"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Hastighet"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Utmerket"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"God"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"OK"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Dårlig"</string> - <string name="security" msgid="1040691896987225267">"Sikkerhet"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Åpen"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Ukjent"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"åpent nett"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"sikret med WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"sikret med WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"sikret med 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"IP-adresse"</string> - <string name="signal" msgid="1947969631626413228">"Signalstyrke"</string> <string name="wifi_starting" msgid="6710266609710860129">"Slår på…"</string> <string name="wifi_stopping" msgid="5952909472548218348">"Slår av…"</string> <string name="wifi_error" msgid="3207971103917128179">"Feil"</string> - <string name="error_starting" msgid="4055163089721254078">"Kunne ikke starte trådløsnett"</string> - <string name="error_stopping" msgid="7855531609645531489">"Kunne ikke slå av trådløsnett"</string> - <string name="error_scanning" msgid="4644050284132264368">"Kunne ikke søke etter trådløse nettverk"</string> - <string name="error_connecting" msgid="1981882310590509609">"Kunne ikke koble til nettverket"</string> - <string name="error_saving" msgid="8294279443961615302">"Kunne ikke lagre nettverket"</string> - <string name="connect" msgid="3079076576295839400">"Koble til"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Koble til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP-metode"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Fase 2-autentisering"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identitet"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Anonym identitet"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Klientsertifikat"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA-sertifikat"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Passord for trådløst nettverk"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"WEP-nøkkel i hex (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Vis passord."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Søk"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Utenfor rekkevidde"</string> - <string name="summary_remembered" msgid="6079941090549401742">"husket"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Tilkoblingen mislyktes, velg for å prøve på nytt"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Trådløse nettverk"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Nettverks-SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"Sikkerhet"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Lagre"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(uendret)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Legg til trådløst nettverk"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"I flymodus"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Kan ikke søke etter nettverk"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Varsling om nettverk"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Varsle når et åpent nettverk er tilgjengelig"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Nettverkspassordet er ikke riktig. Prøv igjen."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Kunne ikke koble til nettverket. Prøv igjen."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Legg til Wi-Fi-nettverk"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Trådløse nettverk"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Skann"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avansert"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-innstillinger"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Lagre"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Avbryt"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Skriv inn en gyldig IP-adresse."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Bruk statisk IP-adresse"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Koble til nettverket"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Slett nettverk"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Endre nettverk"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID for nettverket"</string> + <string name="wifi_security" msgid="6603611185592956936">"Sikkerhet"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Signalstyrke"</string> + <string name="wifi_status" msgid="4824568012414605414">"Status"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Koblingshastighet"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP-adresse"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Standardruter"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Nettmaske"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Koble til nettverk"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Glem nettverk"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Endre passord"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP-metode"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Fase 2-autentisering"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA-sertifikat"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Klientsertifikat"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identitet"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonym identitet"</string> + <string name="wifi_password" msgid="5948219759936151048">"Passord"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Vis passord."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(uendret)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(ikke spesifisert)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Husket"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Deaktivert"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Utenfor område"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Sikret med <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, sikret med <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Koble til"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Slett"</string> + <string name="wifi_save" msgid="3331121567988522826">"Lagre"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Avbryt"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avansert"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Juridisk område"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Velg antall kanaler som skal brukes"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Spesifiser når telefonen skal bytte fra trådløsnett til mobiltelefonidata"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Det oppsto et problem under setting av soveinnstilling."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-adresse"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Søker…"</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Kobler til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Autentiserer mot <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Henter IP-adresse fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Koblet til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Kobler fra <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Frakoblet"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Mislykket"</string> - <string name="status_scanning" msgid="8402178267165567371">"Søker…"</string> - <string name="status_connecting" msgid="1669262263707521505">"Kobler til…"</string> - <string name="status_authenticating" msgid="3536039799394033822">"Autentiserer…"</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Henter adresse…"</string> - <string name="status_connected" msgid="8175694029067954271">"Tilkoblet"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Kobler fra…"</string> - <string name="status_disconnected" msgid="7561688569905126046">"Frakoblet"</string> - <string name="status_failed" msgid="610462050405904601">"Mislykket"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Lyd og skjerm"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Lyd og bilde"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-innstillinger"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Lagre"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Avbryt"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Skriv inn en gyldig IP-adresse."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Bruk statisk IP-adresse"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Standardruter"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Nettmaske"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Flyttbar trådløs sone"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Flyttbar trådløs sone <xliff:g id="NETWORK_SSID">%1$s</xliff:g> er aktiv"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Flyttbar trådløs sone – feil"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Innstillinger for flyttbar trådløs sone"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Still inn og administrer flyttbar trådløs sone"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Innstillinger for flyttbar trådløs sone"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurer trådløs sone"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g><xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> flyttbar trådløs sone"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Lyd"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Skjerm"</string> <string name="sound_settings" msgid="5007659014828162881">"Lydinnstillinger"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Ringetoner, varsling, lysstyrke"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Stillemodus"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Slå av alle lyder unntatt media og alarmer"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Kutt all lyd utenom medieprogrammer og alarmer"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alle lyder unntatt media og alarmer er slått av"</string> <string name="ringtone_title" msgid="5379026328015343686">"Ringetone"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Standard ringetone for innkommende anrop"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volum"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Ringevolum"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Volum for innkommende anrop og varslinger"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibrering"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Vibrer ved innkommende anrop"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrer ved stille modus"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Tillat vibreringstilbakemelding ved stille modus"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrering"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Tilbakemelding med vibrasjon for anrop og varsler"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Ringetone for varsling"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Standard ringetone for varsling"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"La varsellampen pulsere"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"La styrekulens lampe pulsere gjentatte ganger ved nye varsler"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volum for innkommende anrop"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Varslingsvolum"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringetone"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Varsling"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Bruk volum for innkommende anrop også for varslinger"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Velg ringetone for varsling"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Medievolum"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Medier"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Volum for musikk og video"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarm"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Lydinnstillinger for festet forankring"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Hørbare tastetoner"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Spill toner når talltastaturet benyttes"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Hørbart valg"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Lag lyd under skjermvalg"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Lag lyd under skjermvalg"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Skjermlåslyder"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Spill av lyder ved låsing og opplåsning av skjermen"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Spill av lyder ved låsing og opplåsning av skjermen"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Vibrasjonsfeedback"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrer ved bruk av skjermtaster og enkelte UI-interaksjoner"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrer ved bruk av skjermtaster og enkelte UI-interaksjoner"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Varsling for minnekort"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Spill lyd for minnekortvarsler"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Spill lyd for minnekortvarsler"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Støyreduksjon"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Demp bakgrunnsstøy når du snakker eller tar opp."</string> <string name="dock_settings" msgid="1820107306693002541">"Forankringstasjon"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Innstillinger for festet forankring"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Finner ikke forankringsstasjon"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Telefonen må være plassert i forankringsstasjonen for å konfigurere forankringslyden"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Lyd ved innsetting i forankringsstasjon"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Spill av lyd når telefonen settes inn eller tas ut av forankringsstasjonen"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Ikke spill av lyd når telefonen settes inn eller tas ut av forankringsstasjonen"</string> <string name="sync_settings" msgid="9186125469300013491">"Kontoer/synkronisering"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Legge til eller fjerne kontoer og endre kontoinnstillinger"</string> <string name="search_settings" msgid="1910951467596035063">"Søk"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animasjon"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Vis animasjoner når vinduer åpnes og lukkes"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Vis animasjoner når vinduer åpnes og lukkes"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientering"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Roter skjerm automatisk"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Bytt orientering automatisk når telefonen blir snudd"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Bytt orientering automatisk når telefonen blir snudd"</string> <string name="brightness" msgid="2354961343555249270">"Lysstyrke"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Avbryt"</string> <string name="device_info_settings" msgid="475872867864762157">"Telefonstatus"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemoppdateringer"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Se etter systemoppdateringer"</string> - <string name="firmware_version" msgid="6284872163051667788">"Firmware-versjon"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android-versjon"</string> <string name="model_number" msgid="3765737700545384794">"Modellnummer"</string> <string name="baseband_version" msgid="1848990160763524801">"Radioprogramvare"</string> <string name="kernel_version" msgid="9192574954196167602">"Kjerneversjon"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Total plass"</string> <string name="sd_eject" msgid="6915293408836853020">"Avmonter/løs ut minnekort"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Løs ut minnekortet for trygg fjerning"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Sett inn et SD-kort for å koble til"</string> + <string name="sd_mount" msgid="5940523765187704135">"Koble til SD-kort"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Koble til SD-kortet"</string> <string name="sd_format" msgid="5448738337382712203">"Formater minnekort"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formater (fjern alt fra) minnekortet"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Ikke tilgjengelig"</string> <string name="read_only" msgid="6702420168629076340">" (skrivebeskyttet)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Koble fra SD-kort"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Hvis du kobler fra SD-kortet, virker ikke lenger enkelte av programmene du bruker, og de kan være utilgjengelige inntil du kobler til SD-kortet på nytt."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Fikk ikke koblet fra SD-kort"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Får ikke koblet fra SD-kort. Prøv på nytt senere."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD-kortet kobles fra. Kontroller status i varslingsfeltet."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Kobler fra SD-kort"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Frakobling pågår"</string> <string name="battery_status_title" msgid="9159414319574976203">"Batteristatus"</string> <string name="battery_level_title" msgid="2965679202786873272">"Batterinivå"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -565,6 +588,20 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du må tegne opplåsingsmønsteret for å bekrefte formatering av minnekortet."</string> <string name="call_settings_title" msgid="5188713413939232801">"Samtaleinnstillinger"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Telefonsvarer, viderekobling, samtale venter, nummervisning"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tilknytning"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Flyttbar trådløs sone"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Tilknytning og flyttbar trådløs sone"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Del mobilens datatilkobling via USB-tilknytning"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Del telefonens datatilkobling via en flyttbar trådløs sone"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Del telefonens datatilkobling via USB eller en flyttbar trådløs sone"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-tilknytning"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-tilkoblet, velg for å knytte til"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Tilknyttet"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Kan ikke knytte til når USB-lagring er i bruk"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB er ikke tilkoblet"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Feil ved USB-tilknytning"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Hjelp"</string> <string name="network_settings_title" msgid="7967552516440151852">"Mobile nettverk"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Innstillinger for roaming, nettverk, APN"</string> <string name="location_title" msgid="1029961368397484576">"Min plassering"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Aktiver GPS med hjelp"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Bruk tjener til å hjelpe GPS (opphev for å redusere nettverksbruken)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Bruk tjeneren til å hjelpe GPS (velg for å forbedre GPS-ytelsen)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Del med Google"</string> - <string name="use_location_summary" msgid="1816849484040070431">"La Google bruke plasseringen til bedre søk og andre tjenester"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Vil du tillate Google å bruke din posisjon til å forbedre søkeresultatene og andre tjenester?"</string> - <string name="agree" msgid="6288718671527758326">"Godta"</string> - <string name="disagree" msgid="6221069272309799230">"Avslå"</string> <string name="about_settings" msgid="1743378368185371685">"Om telefonen"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Vis juridisk informasjon, telefonstatus, programvareversjon"</string> <string name="legal_information" msgid="5769301644270604095">"Juridisk informasjon"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Sikkerhetsinformasjon"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Telefonen er ikke koblet til en datatjeneste. For å se informasjonen nå, gå til %s fra en datamaskin koblet til internett."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Henter…"</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Opplåsingsmønster for skjerm"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Velg passord"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Velg PIN-kode"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Bekreft passordet"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Bekreft PIN-koden"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Passordene samsvarer ikke"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN-kodene samsvarer ikke"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Passordet er angitt"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN-kode er angitt"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Mønster er angitt"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Opplåsing av skjerm"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Opplåsingsmønster"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Endre PIN-kode for opplåsning"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Bekreft lagret mønster"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Beklager, prøv igjen:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Tegn et opplåsingsmønster"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Installerte applikasjoner, hurtigtaster"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Innstillinger for applikasjoner"</string> <string name="install_applications" msgid="4872012136210802181">"Ukjente kilder"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Tillat installasjon av applikasjoner som ikke kommer fra markedet"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Tillat installasjon av programmer som ikke finnes på Android-markedet"</string> <string name="install_all_warning" msgid="1923717607319933741">"Telefonen og dine personlige data er mer sårbare mot angrep fra applikasjoner som kommer fra ukjente kilder. Du godtar at du selv er ansvarlig for enhver skade på telefonen eller tap av data som måtte oppstå fra bruk av slike applikasjoner."</string> <string name="application_info_label" msgid="1150486628158409543">"Applikasjonsinformasjon"</string> <string name="storage_label" msgid="8700867073480107253">"Lagring"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Alle"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Tredjeparts"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Kjører"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"På SD-kort"</string> <string name="loading" msgid="3200408047793887917">"Laster…"</string> <string name="recompute_size" msgid="7722567982831691718">"Beregner størrelse på nytt…"</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Slett"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Kunne ikke beregne pakkestørrelse"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Du har ingen tredjepartsprogrammer installert."</string> <string name="version_text" msgid="9189073826278676425">"versjon <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Flytt"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Flytt til telefonen"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Flytt til SD-kort"</string> + <string name="moving" msgid="6431016143218876491">"Flytter"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Det er ikke nok lagringsminne."</string> + <string name="does_not_exist" msgid="837163572898468245">"Programmet fins ikke."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Programmet er kopibeskyttet."</string> + <string name="invalid_location" msgid="4934491353200240499">"Den angitte installasjonsplasseringen er ikke gyldig."</string> + <string name="system_package" msgid="1030561474413022831">"Systemoppdateringer kan ikke installeres på eksterne medier."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Tving avslutning"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Programmet startes på nytt med en gang. Er du sikker på at du vil avslutte?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Flytt program"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Fikk ikke flyttet programmet. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Foretrukket installeringssted"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Endre foretrukket plassering for installasjon av nye programmer."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Kjørende tjenester"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Vis og kontroller tjenester som kjører for øyeblikket"</string> <string name="service_restarting" msgid="2242747937372354306">"Starter på nytt"</string> @@ -690,8 +748,8 @@ <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Tjenesten kjører ikke før den startes på nytt. Dette kan føre til uønskede konsekvenser for <xliff:g id="APPLICATION">%1$s</xliff:g>."</string> <string name="confirm_stop_stop" msgid="7382363913280993331">"Stopp"</string> <string name="confirm_stop_cancel" msgid="206495326622692381">"Avbryt"</string> - <string name="service_started_by_app" msgid="8432097226392386802">"Startet av applikasjon: trykk for å avslutte"</string> - <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: Velg for å administrere"</string> + <string name="service_started_by_app" msgid="8432097226392386802">"Startet av applikasjon: trykk for å stoppe"</string> + <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: trykk for å endre"</string> <string name="service_background_processes" msgid="5158600475629177758">"Tilgj.:<xliff:g id="FREE">%2$s</xliff:g> + <xliff:g id="MEMORY">%3$s</xliff:g> i <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_foreground_processes" msgid="4013890350284680796">"Andre: <xliff:g id="MEMORY">%2$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g> pros.)"</string> <string name="service_process_name" msgid="8630408984456958400">"Prosess: <xliff:g id="PROCESS">%1$s</xliff:g>"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Innstillinger for språk, region, skriving av tekst og feilretting"</string> <string name="language_category" msgid="3391756582724541530">"Innstillinger for språk"</string> <string name="text_category" msgid="6342540511465136739">"Tekstinnstillinger"</string> - <string name="phone_language" msgid="2138384312336494991">"Språk"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Velg språk og region"</string> + <string name="phone_language" msgid="1165758957501090679">"Velg språk"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Automatisk erstatting"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Rett opp stavefeil"</string> <string name="auto_caps" msgid="581633131114124121">"Stor forbokstav"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Inndatametoden har mulighet til å samle inn all tekst du skriver, inkludert personlige data som passord og kredittkortnummer. Den kommer fra applikasjonen <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Aktiver inndatametoden?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Ordliste"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Ordliste"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Legg til og fjern ord fra ordlisten"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Legg til"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Legg til ordliste"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Rediger ord"</string> @@ -796,8 +854,13 @@ <string name="toggle_accessibility_title" msgid="650839277066574497">"Tilgjengelighet"</string> <string name="accessibility_services_category" msgid="8127851026323672607">"Tjenester for tilgjengelighet"</string> <string name="no_accessibility_services_summary" msgid="694578333333808159">"Ingen tilgjengelighetstjenester er installert."</string> - <string name="accessibility_service_security_warning" msgid="4066258132331302670">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>Denne tilgjengelighetstjenesten har tilgang til all tekst du skriver, inkludert personlig data som passord og kredittkortnummer. Den kan også loggføre alt som skjer i brukergrensesnittet. Det kommer fra programmet. Aktivere tilgjengelighetstjenesten?"</string> + <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Denne tilgjengelighetstjenesten har tilgang til all tekst du skriver, inkludert personlig data som passord og kredittkortnummer. Den kan også loggføre alt som skjer i brukergrensesnittet. Det kommer fra programmet <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Vil du aktivere denne tjenesten?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Slå av tilgjengelighetsstøtten?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Finner ingen tilgjengelighetsprogrammer"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Du har ikke installert et tilgjengelighetsprogram."\n\n"Du kan laste ned en skjermleser for enheten på Android-markedet."\n\n"Klikk på OK for å installere skjermleseren."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"På/av-knapp"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Avslutt samtale med på/av-knappen"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Ved å trykke på av-knappen under en samtale, avsluttes samtalen i stedet for at skjermen slås av"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Batteribruk"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Hva som har brukt batteri"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Batteribruk siden strømmen ble trukket ut"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Oppdater"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android-operativsystem"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Medietjener"</string> - <string name="tts_settings" msgid="3348626948015962987">"Tekst til tale"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Endre valg for talesyntese"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Talekommando og -styring"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Innstillinger for talekommando og -styring"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Talesøk"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android-tastatur"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Talekommando"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Talestyring"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Talegjenkjenning"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Innstillinger for talegjenkjenning"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Innstillinger for «<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>»"</string> + <string name="tts_settings" msgid="8186971894801348327">"Talesyntese-kontroller"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Talesyntese-kontroller"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Overstyr innstillinger"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Standardvalgene under overstyrer applikasjonsinnstillinger"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardvalg"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Standardmotor"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Angir hvilken talesyntesemotor som skal brukes for uttalt tekst"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Talehastighet"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Hvor raskt teksten leses"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Stemmeleie"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Datafilene som behøves for talesynese er allerede korrekt installert"</string> <string name="tts_demo" msgid="405357591189935876">"Dette er et eksempel på stemmesyntese."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Du har endret innstillingene dine. Dette er et eksempel på hvordan de høres ut."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Motoren du valgte, kan ikke kjøres"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Konfigurer"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Velg en annen motor"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Denne talesyntesemotoren kan samle inn all uttalt tekst, herunder personlige opplysninger som for eksempel passord og kredittkortnumre. Den er basert på motoren <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Vil du aktivere bruk av denne talesyntesemotoren?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Motorer"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Innstillinger for <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> er aktivert"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> er deaktivert"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Språk og stemmer"</string> + <string name="pico_installed" msgid="2452546687858267414">"Installert"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Ikke installert"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kvinne"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Mann"</string> <string name="gadget_title" msgid="7455548605888590466">"Strømkontroll"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Oppdaterer innstilling for Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Oppdatere Bluetooth-innstilling"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Akkreditivinstallasjon"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-innstillinger"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Koble til <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Brukernavn:"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Velg oppførsel når en nødsamtale opprettes"</string> <string name="privacy_settings" msgid="9206631214140954954">"Personvern"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Personverninnstillinger"</string> - <string name="location_section_title" msgid="6072558684044939786">"Plassering"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Innstillinger"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Personlige data"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Innstillingsbackup"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Backup av innstillinger"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Er du sikker på at du ønsker å slutte med backup av innstillingene og fjerne alle kopier på Googles tjenere?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Auto-gjenoppretting"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sikkerhetskopi"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Er du sikker på at du ønsker å slutte med backup av innstillinger og programdata og fjerne alle kopier på Googles tjenere?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Innstillinger for enhetsadministrasjon"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Enhetsadministrator"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Deaktiver"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Enhetsadministratorer"</string> + <string name="no_device_admins" msgid="702695100241728775">"Ingen tilgjengelige enhetsadministratorer"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Aktiver enhetsadministrator?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Aktiver"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Enhetsadministrator"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Aktivering av denne administratoren tillater programmet <xliff:g id="APP_NAME">%1$s</xliff:g> å utføre følgende handlinger:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Administratoren er aktiv og tillater at programmet <xliff:g id="APP_NAME">%1$s</xliff:g> utfører følgende handlinger:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Uten tittel"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Generelt"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Innkommende anrop"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Varsler"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Tilbakemelding"</string> </resources> diff --git a/res/values-nl-nokeys/strings.xml b/res/values-nl-nokeys/strings.xml index 2ebe1fe..b2fafdf 100644 --- a/res/values-nl-nokeys/strings.xml +++ b/res/values-nl-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Toepassingen beheren"</string> diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml index 3774d1c..de010e5 100644 --- a/res/values-nl/arrays.xml +++ b/res/values-nl/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiaans"</item> <item msgid="5811378076054402537">"Spaans"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automatisch"</item> - <item msgid="5434666299123318296">"Geen"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Geen"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automatisch"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP hexadecimaal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Scannen..."</item> + <item msgid="8513729475867537913">"Verbinding maken..."</item> + <item msgid="515055375277271756">"Verifiëren..."</item> + <item msgid="1943354004029184381">"IP-adres ophalen…"</item> + <item msgid="4221763391123233270">"Verbonden"</item> + <item msgid="624838831631122137">"Opgeschort"</item> + <item msgid="7979680559596111948">"Verbinding verbreken..."</item> + <item msgid="1634960474403853625">"Verbinding verbroken"</item> + <item msgid="746097431216080650">"Mislukt"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Scannen..."</item> + <item msgid="355508996603873860">"Verbinding maken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="554971459996405634">"Verifiëren met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"IP-adres ophalen van <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="8937994881315223448">"Verbonden met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Opgeschort"</item> + <item msgid="7698638434317271902">"Verbinding verbreken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Verbinding verbroken"</item> + <item msgid="8578370891960825148">"Mislukt"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Open"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Slecht"</item> + <item msgid="5615082285463430971">"Redelijk"</item> + <item msgid="3565079809875324621">"Goed"</item> + <item msgid="5702329417707689835">"Uitstekend"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Wanneer scherm wordt uitgeschakeld"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP of CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Interne apparaatopslag"</item> + <item msgid="3738430123799803530">"Verwisselbare SD-kaart"</item> + <item msgid="4498124044785815005">"Het systeem laten bepalen"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Altijd"</item> + <item msgid="6293147072807231256">"Nooit"</item> + <item msgid="1276641209451816572">"Alleen in de stille modus"</item> + <item msgid="8418930333779132418">"Alleen buiten de stille modus"</item> + </string-array> </resources> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 04bd5d0..630d507 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Ja"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Onbekend"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Radio inschakelen"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Radio uitschakelen"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SD-logboek inschakelen"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SD-logboek uitschakelen"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM-adresboek weergeven"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vaste nummers weergeven"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Servicenummers weergeven"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP-lijst ophalen"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Gegevensverbinding inschakelen"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Gegevensverbinding uitschakelen"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Gegevens inschakelen bij opstarten"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Gegevens uitschakelen bij opstarten"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"In gebruik"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Niet in gebruik"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Alleen noodoproepen"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Kan worden gevonden"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Kan gedurende <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> seconden worden gevonden…"</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Zorgen dat het apparaat kan worden gevonden"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Spraakkeuze vergrendelen"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Gebruik van de Bluetooth-dialer voorkomen wanneer het scherm is vergrendeld"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth-apparaten"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Apparaatnaam"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Geen naam ingesteld, accountnaam wordt gebruikt"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Verbinding verbroken"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Verbinding verbreken..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Verbinding maken..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Koppelen met dit apparaat"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Koppelen..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Gekoppeld maar niet verbonden"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IP-adres pingen:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Hostnaam pingen (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP-client testen:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Codering in-/uitschakelen"</string> <string name="ping_test_label" msgid="7255376471490860631">"Pingtest uitvoeren"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Bijwerken"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Vernieuwen"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS-controle in-/uitschakelen"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM-specifieke gegevens/instellingen"</string> <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTS-band instellen"</string> <string name="band_mode_loading" msgid="548764766363847336">"Bandlijst laden..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Instellen"</string> @@ -221,13 +217,13 @@ <string name="roaming_warning" msgid="1269870211689178511">"Gegevensroaming toestaan? Er kunnen hoge roamingkosten in rekening worden gebracht."</string> <string name="roaming_reenable_title" msgid="7626425894611573131">"Let op"</string> <string name="networks" msgid="6333316876545927039">"Operator selecteren"</string> - <string name="sum_carrier_select" msgid="6648929373316748020">"Een netwerkoperator selecteren"</string> + <string name="sum_carrier_select" msgid="6648929373316748020">"Een mobiele provider selecteren"</string> <string name="date_and_time_settings_title" msgid="3350640463596716780">"Datum en tijd"</string> <string name="date_and_time_settings_summary" msgid="2435705040205950381">"Datum, tijd, tijdzone en notaties instellen"</string> <string name="date_time_auto" msgid="3086083265745944725">"Automatisch"</string> <string name="date_time_auto_summaryOn" msgid="9034585614665299846">"Gebruik door netwerk aangegeven waarden"</string> <string name="date_time_auto_summaryOff" msgid="3900356736797266448">"Gebruik door netwerk aangegeven waarden"</string> - <string name="date_time_24hour" msgid="1193032284921000063">"24-uurs notatie gebruiken"</string> + <string name="date_time_24hour" msgid="1193032284921000063">"24-uurs klok gebruiken"</string> <string name="date_time_set_time" msgid="5716856602742530696">"Tijd instellen"</string> <string name="date_time_set_timezone" msgid="5045627174274377814">"Tijdzone selecteren"</string> <string name="date_time_set_date" msgid="7021491668550232105">"Datum instellen"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Mijn locatie\', schermontgrendeling, SIM- en referentieopslagvergrendeling instellen"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"\'Mijn locatie\' instellen, scherm ontgrendelen, opslag van referenties vergrendelen"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Wachtwoorden"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Beveiliging voor schermontgrendeling"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Schermvergrendeling instellen"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Scherm vergrendelen met een patroon, PIN of wachtwoord"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Schermvergrendeling wijzigen"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Beveiliging via patroon, PIN of wachtwoord wijzigen of uitschakelen"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Geen"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Beveiliging van schermontgrendeling uitschakelen"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Patroon"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Patroon tekenen om het scherm te ontgrendelen"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Numerieke PIN-code opgeven om het scherm te ontgrendelen"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Wachtwoord"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Wachtwoord opgeven om het scherm te ontgrendelen"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Uitgeschakeld door externe telefoonbeheerder"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Schermvergrendeling uitschakelen"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Ontgrendelingspatroon verwijderen"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"PIN-code voor ontgrendelen verwijderen"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Ontgrendelingswachtwoord verwijderen"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Ontgrendelingspatroon wijzigen"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"PIN-code voor ontgrendelen wijzigen"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Ontgrendelingswachtwoord wijzigen"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Wachtwoord moet ten minste %d tekens lang zijn"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN-code moet ten minste %d tekens lang zijn"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Druk op \'Doorgaan\' als u klaar bent"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Doorgaan"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN-code mag niet langer zijn dan %d cijfers"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-code mag niet langer zijn dan %d cijfers"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN-code mag alleen de cijfers 0-9 bevatten"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Wachtwoord bevat een ongeldig teken"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Wachtwoord moet ten minste één letter bevatten"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Wachtwoord moet ten minste één cijfer bevatten"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Wachtwoord moet ten minste één symbool bevatten"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuleren"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Apparaatbeheer"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Apparaatbeheerders kiezen"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Apparaatbeheerders toevoegen of verwijderen"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Bluetooth inschakelen"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth-instellingen"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Als luidsprekertelefoon"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Voor muziek en media"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Instellingen onthouden"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Wi-Fi inschakelen"</string> <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi-instellingen"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Wi-Fi-instellingen"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Draadloze toegangspunten instellen en beheren"</string> - <string name="forget_network" msgid="4718015029995727138">"Vergeten"</string> - <string name="wifi_status" msgid="4824568012414605414">"Status"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Snelheid"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Uitstekend"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Goed"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Redelijk"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Slecht"</string> - <string name="security" msgid="1040691896987225267">"Beveiliging"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Open"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Onbekend"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"open netwerk"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"beveiligd met WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"beveiligd met WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"beveiligd met 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"IP-adres"</string> - <string name="signal" msgid="1947969631626413228">"Signaalsterkte"</string> <string name="wifi_starting" msgid="6710266609710860129">"Inschakelen..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Uitschakelen..."</string> <string name="wifi_error" msgid="3207971103917128179">"Fout"</string> - <string name="error_starting" msgid="4055163089721254078">"Kan Wi-Fi niet starten"</string> - <string name="error_stopping" msgid="7855531609645531489">"Kan Wi-Fi niet stoppen"</string> - <string name="error_scanning" msgid="4644050284132264368">"Kan niet scannen naar netwerken"</string> - <string name="error_connecting" msgid="1981882310590509609">"Kan geen verbinding met het netwerk maken"</string> - <string name="error_saving" msgid="8294279443961615302">"Kan het netwerk niet opslaan"</string> - <string name="connect" msgid="3079076576295839400">"Verbinden"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Verbinding maken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP-methode"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Phase 2-verificatie"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identiteit"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Anonieme identiteit"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Klantcertificaat"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA-certificaat"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Draadloos wachtwoord"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Hexadecimale WEP-sleutel (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Wachtwoord weergeven."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Scannen"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Niet binnen bereik"</string> - <string name="summary_remembered" msgid="6079941090549401742">"onthouden"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Verbinding mislukt. Raak aan om opnieuw te proberen"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi-netwerken"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"SSID van netwerk"</string> - <string name="wifi_security" msgid="6603611185592956936">"Beveiliging"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Opslaan"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(ongewijzigd)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Wi-Fi-netwerk toevoegen"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"In vliegmodus"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Kan niet scannen naar netwerken"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Netwerkmelding"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Melden wanneer een open netwerk beschikbaar is"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Het netwerkwachtwoord dat u heeft ingevoerd, is onjuist. Probeer het opnieuw."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Er kan geen verbinding worden gemaakt met het netwerk. Probeer het opnieuw."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Wi-Fi-netwerk toevoegen"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi-netwerken"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Scannen"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Geavanceerd"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-instellingen"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Opslaan"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuleren"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Voer een geldig IP-adres in."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statisch IP-adres gebruiken"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Verbinding maken met netwerk"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Netwerk vergeten"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Netwerk aanpassen"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID van netwerk"</string> + <string name="wifi_security" msgid="6603611185592956936">"Beveiliging"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Signaalsterkte"</string> + <string name="wifi_status" msgid="4824568012414605414">"Status"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Linksnelheid"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP-adres"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Netmasker"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Verbinding maken met netwerk"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Netwerk niet gebruiken"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Wachtwoord wijzigen"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP-methode"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Phase 2-verificatie"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA-certificaat"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Gebruikerscertificaat"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identiteit"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonieme identiteit"</string> + <string name="wifi_password" msgid="5948219759936151048">"Wachtwoord"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Wachtwoord weergeven."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(ongewijzigd)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(niet opgegeven)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Onthouden"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Uitgeschakeld"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Niet binnen bereik"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Beveiligd met <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, beveiligd met <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Verbinden"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Vergeten"</string> + <string name="wifi_save" msgid="3331121567988522826">"Opslaan"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Annuleren"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Geavanceerd"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Regulerend domein"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Het aantal te gebruiken kanalen instellen"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Overschakelen opgeven van Wi-Fi naar mobiele gegevens"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Er is een probleem opgetreden bij het instellen van het slaapbeleid."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-adres"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Scannen..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Verbinding maken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Verifiëren met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"IP-adres ophalen van <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Verbonden met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Verbinding verbreken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Verbinding verbroken"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Mislukt"</string> - <string name="status_scanning" msgid="8402178267165567371">"Scannen..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Verbinding maken..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Verifiëren..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Adres ophalen..."</string> - <string name="status_connected" msgid="8175694029067954271">"Verbonden"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Verbinding verbreken..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Verbinding verbroken"</string> - <string name="status_failed" msgid="610462050405904601">"Mislukt"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Geluid en weergave"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Geluid- en weergaveinstellingen"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-instellingen"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Opslaan"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuleren"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Voer een geldig IP-adres in."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statisch IP-adres gebruiken"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Netmasker"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Draagbare Wi-Fi-hotspot"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Draagbare hotspot <xliff:g id="NETWORK_SSID">%1$s</xliff:g> actief"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fout met draagbare Wi-Fi-hotspot"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Instellingen voor draagbare Wi-Fi-hotspot"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Draagbare Wi-Fi-hotspot instellen en beheren"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Instellingen voor draagbare Wi-Fi-hotspot"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Wi-Fi-hotspot configureren"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> draagbare Wi-Fi-hotspot"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Geluid"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Weergave"</string> <string name="sound_settings" msgid="5007659014828162881">"Geluidsinstellingen"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Beltonen, meldingen, schermhelderheid instellen"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Stille modus"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Alle geluiden worden uitgeschakeld, behalve media- en alarmtonen"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Alle geluiden dempen, behalve media en alarmen"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alle geluiden, behalve media, worden uitgeschakeld"</string> <string name="ringtone_title" msgid="5379026328015343686">"Beltoon telefoon"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Standaardbeltoon voor inkomende oproepen instellen"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Belvolume"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Volume voor inkomende oproepen en meldingen instellen"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Trilstand telefoon"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Laat telefoon trillen bij inkomende oproepen"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Trillen indien stil"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Trillen toestaan in stille modus"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Trillen"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Trillen bij oproepen en meldingen"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Beltoon voor meldingen"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Standaardbeltoon voor meldingen instellen"</string> - <string name="notification_pulse_title" msgid="1247988024534030629">"Knipperinterval van meldingslampje"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> + <string name="notification_pulse_title" msgid="1247988024534030629">"Knipperen trackball"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Lampje van trackball herhaaldelijk laten knipperen bij nieuwe meldingen"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volume van inkomende oproepen"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Meldingsvolume"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Beltoon"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Melding"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Volume van inkomende oproepen gebruiken voor meldingen"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Beltoon voor meldingen selecteren"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Mediavolume"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Media"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Volume voor muziek en video\'s instellen"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarm"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Audio-instellingen voor het gekoppelde dockstation"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Aanraaktonen"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Tonen afspelen bij gebruik van toetsenblok"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Hoorbare selectie"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Geluid afspelen bij schermselectie"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Geluid afspelen bij schermselectie"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Geluid vergrendeling"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Geluiden afspelen wanneer het scherm wordt vergrendeld en ontgrendeld"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Geluiden afspelen wanneer het scherm wordt vergrendeld en ontgrendeld"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Haptische feedback"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Trillen bij indrukken van functietoetsen en bij bepaalde UI-interactie"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Trillen bij indrukken van functietoetsen en bij bepaalde UI-interactie"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"SD-kaartmeldingen"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Geluid afspelen voor SD-kaartmeldingen"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Geluid afspelen voor SD-kaartmeldingen"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Geluidsdemping"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Demp achtergrondgeluid tijdens spraakinvoer of opname."</string> <string name="dock_settings" msgid="1820107306693002541">"Docken"</string> @@ -434,7 +444,10 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Instellingen voor het gekoppelde dockstation"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Dockstation niet gevonden"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"De telefoon moet zijn gedockt om audio-instellingen voor het dockstation in te stellen"</string> - <string name="sync_settings" msgid="9186125469300013491">"Accounts en synchronisatie"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Geluid bij docken"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Geluid afspelen wanneer de telefoon in het dock wordt geplaatst of uit het dock wordt verwijderd"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Geen geluid afspelen wanneer de telefoon in het dock wordt geplaatst of uit het dock wordt verwijderd"</string> + <string name="sync_settings" msgid="9186125469300013491">"Accounts & synchronisatie"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Accounts toevoegen of verwijderen en accountinstellingen wijzigen"</string> <string name="search_settings" msgid="1910951467596035063">"Zoeken"</string> <string name="search_settings_summary" msgid="9205656546570654169">"Instellingen voor zoeken en zoekgeschiedenis beheren"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animatie"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Animatie weergeven bij het openen en sluiten van vensters"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Animatie weergeven bij het openen en sluiten van vensters"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Stand"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Scherm autom. draaien"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Stand automatisch wijzigen als telefoon wordt gedraaid"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Stand automatisch wijzigen als telefoon wordt gedraaid"</string> <string name="brightness" msgid="2354961343555249270">"Helderheid"</string> @@ -451,7 +464,7 @@ <string name="screen_timeout_summary" msgid="2905757633140605334">"De vertraging voor het automatisch uitschakelen van het scherm aanpassen"</string> <string name="automatic_brightness" msgid="5014143533884135461">"Automatische helderheid"</string> <string name="sim_lock_settings" msgid="3392331196873564292">"Instellingen SIM-kaartvergrendeling"</string> - <string name="sim_lock_settings_category" msgid="5136244267576697004">"SIM-kaartvergrendeling instellen"</string> + <string name="sim_lock_settings_category" msgid="5136244267576697004">"SIM-vergrendeling instellen"</string> <string name="sim_lock_settings_title" msgid="9018585580955414596">"SIM-kaartvergrendeling"</string> <string name="sim_pin_toggle" msgid="1742123478029451888">"SIM-kaart vergrendelen"</string> <string name="sim_lock_on" msgid="2503536505568814324">"PIN-code vereist voor gebruik van telefoon"</string> @@ -468,13 +481,13 @@ <string name="sim_pins_dont_match" msgid="4664611595579163214">"PIN-codes komen niet overeen!"</string> <string name="sim_change_failed" msgid="4823538458798362222">"Kan PIN-code niet wijzigen."\n"PIN-code mogelijk onjuist."</string> <string name="sim_change_succeeded" msgid="8556135413096489627">"SIM PIN-code gewijzigd"</string> - <string name="sim_lock_failed" msgid="6676748290838006404">"Kan status van SIM-kaartvergrendeling niet wijzigen."\n"PIN-code mogelijk onjuist."</string> + <string name="sim_lock_failed" msgid="6676748290838006404">"Kan status van SIM-kaartblokkering niet wijzigen."\n"PIN-code mogelijk onjuist."</string> <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string> <string name="sim_enter_cancel" msgid="6240422158517208036">"Annuleren"</string> <string name="device_info_settings" msgid="475872867864762157">"Telefoonstatus"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systeemupdates"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Controleren op systeemupdates"</string> - <string name="firmware_version" msgid="6284872163051667788">"Firmwareversie"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android-versie"</string> <string name="model_number" msgid="3765737700545384794">"Modelnummer"</string> <string name="baseband_version" msgid="1848990160763524801">"Smalbandversie"</string> <string name="kernel_version" msgid="9192574954196167602">"Kernel-versie"</string> @@ -483,8 +496,8 @@ <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string> <string name="device_status" msgid="607405385799807324">"Status"</string> <string name="device_status_summary" msgid="2599162787451519618">"Telefoonnummer, signaal, enzovoort"</string> - <string name="storage_settings" msgid="6681164315506788024">"SD-kaart en telefoongeheugen"</string> - <string name="storage_settings_title" msgid="5379463509034022773">"Instellingen voor SD-kaart en telefoongeheugen"</string> + <string name="storage_settings" msgid="6681164315506788024">"SD-kaart en geheugen"</string> + <string name="storage_settings_title" msgid="5379463509034022773">"Instellingen SD-kaart en telefoongeheugen"</string> <string name="storage_settings_summary" msgid="9176693537325988610">"SD-kaart ontkoppelen, beschikbare opslagruimte weergeven"</string> <string name="status_number" msgid="5123197324870153205">"Mijn telefoonnummer"</string> <string name="status_min_number" msgid="3519504522179420597">"MIN"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Totale ruimte"</string> <string name="sd_eject" msgid="6915293408836853020">"SD-kaart ontkoppelen"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"De SD-kaart ontkoppelen zodat u deze veilig kunt verwijderen"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Plaats een SD-kaart om deze te koppelen"</string> + <string name="sd_mount" msgid="5940523765187704135">"SD-kaart koppelen"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"De SD-kaart koppelen"</string> <string name="sd_format" msgid="5448738337382712203">"SD-kaart formatteren"</string> <string name="sd_format_summary" msgid="6616491027883134004">"De SD-kaart formatteren (wissen)"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Niet beschikbaar"</string> <string name="read_only" msgid="6702420168629076340">" (Alleen-lezen)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD-kaart ontkoppelen"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Als u de SD-kaart ontkoppelt, worden bepaalde toepassingen die u gebruikt, gestopt en worden deze mogelijk pas weer beschikbaar wanneer u de SD-kaart opnieuw koppelt."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Ontkoppelen van SD-kaart is mislukt"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Kan SD-kaart niet ontkoppelen. Probeer het later opnieuw."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD-kaart wordt ontkoppeld. Controleer het gedeelte met meldingen voor de status."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Ontkoppelen"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Ontkoppelen wordt uitgevoerd"</string> <string name="battery_status_title" msgid="9159414319574976203">"Accustatus"</string> <string name="battery_level_title" msgid="2965679202786873272">"Accuniveau"</string> <string name="apn_settings" msgid="3743170484827528406">"APN\'s"</string> @@ -546,9 +569,9 @@ <string name="restore_default_apn" msgid="2724583218635739913">"Standaard-APN-instellingen herstellen"</string> <string name="menu_restore" msgid="8260067415075573273">"Standaardinstellingen herstellen"</string> <string name="restore_default_apn_completed" msgid="3990449939234957281">"Herstellen van standaard-APN-instellingen voltooid"</string> - <string name="master_clear_title" msgid="5907939616087039756">"Terugzetten op fabrieksinstellingen"</string> + <string name="master_clear_title" msgid="5907939616087039756">"Fabrieksinstellingen terug"</string> <string name="master_clear_summary" msgid="4986154238001088492">"Alle gegevens op de telefoon wissen"</string> - <string name="master_clear_desc" msgid="7823268823499739178">"Deze functie wist alle gegevens van uw telefoon, waaronder:"\n"Uw Google-account"<li></li>\n<li>"Systeem- en toepassingsgegevens en -instellingen"</li>\n<li>"Gedownloade toepassingen"</li>\n"De volgende gegevens worden niet gewist:"\n<li>"Huidige systeemsoftware en gebundelde toepassingen"</li>\n<li>"Bestanden op de SD-kaart, zoals muziek en foto\'s"</li></string> + <string name="master_clear_desc" msgid="7823268823499739178">"Deze functie wist alle gegevens van uw telefoon, waaronder:"\n<li>"Uw Google-account"</li>\n<li>"Systeem- en toepassingsgegevens en -instellingen"</li>\n<li>"Gedownloade toepassingen"</li>"De volgende gegevens worden niet gewist:"\n\n<li>"Huidige systeemsoftware en gebundelde toepassingen"</li>\n<li>"Bestanden op de SD-kaart, zoals muziek en foto\'s"</li></string> <string name="master_clear_button_text" msgid="7550632653343157971">"Telefoon opnieuw instellen"</string> <string name="master_clear_final_desc" msgid="6917971132484622696">"Alle persoonlijke gegevens en gedownloade toepassingen wissen? U kunt deze actie niet ongedaan maken."</string> <string name="master_clear_final_button_text" msgid="5390908019019242910">"Alles wissen"</string> @@ -565,23 +588,32 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"U moet uw ontgrendelingspatroon tekenen om het formatteren van een SD-kaart te bevestigen."</string> <string name="call_settings_title" msgid="5188713413939232801">"Oproepinstellingen"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Voicemail, oproepen doorschakelen, wisselgesprek, beller-id instellen"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Draagbare hotspot"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Tethering en draagbare hotspot"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Deel de mobiele gegevensverbinding van uw telefoon via USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Deel de mobiele verbinding van uw telefoon als draagbare Wi-Fi-hotspot"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Deel de mobiele gegevensverbinding van uw telefoon via USB of als draagbare Wi-Fi-hotspot"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-tethering"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-verbinding, aanvinken om te tetheren"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Getetherd"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Kan niet tetheren wanneer USB-opslag wordt gebruikt"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB niet verbonden"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Fout met USB-tethering"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Help"</string> <string name="network_settings_title" msgid="7967552516440151852">"Mobiele netwerken"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Opties voor roaming, netwerken, APN\'s instellen"</string> <string name="location_title" msgid="1029961368397484576">"Mijn locatie"</string> - <string name="location_network_based" msgid="8815705866861993344">"Draadloze netwerken gebruiken"</string> + <string name="location_network_based" msgid="8815705866861993344">"Draadloze netwerken"</string> <string name="location_networks_disabled" msgid="2708968452901433980">"Locatie in toepassingen (zoals Maps) bekijken via draadloze netwerken"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Locatie bepaald door Wi-Fi en/of mobiele netwerken"</string> - <string name="location_gps" msgid="6296125378829097831">"GPS-satellieten gebruiken"</string> + <string name="location_gps" msgid="6296125378829097831">"GPS-satellieten"</string> <string name="location_street_level" msgid="6460740847018275745">"Locatie tot op straatniveau (uitschakelen om acculading te sparen)"</string> <string name="location_gps_disabled" msgid="6632537158777308128">"Locatie bepalen tot op straatniveau (meer stroom nodig en luchtweergave)"</string> <string name="assisted_gps" msgid="4649317129586736885">"Ondersteunde GPS gebruiken"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Server gebruiken ter ondersteuning van GPS (uitschakelen om het netwerkgebruik te beperken)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Server gebruiken ter ondersteuning van GPS (uitschakelen om GPS-prestaties te verbeteren)"</string> - <string name="use_location_title" msgid="5447030582538504247">"\'Mijn locatie\' gebruiken"</string> - <string name="use_location_summary" msgid="1816849484040070431">"\'Mijn locatie\' gebruiken voor zoekresultaten en andere services van Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Wilt u Google toestaan uw locatie te gebruiken voor verbeterde zoekresultaten en andere services?"</string> - <string name="agree" msgid="6288718671527758326">"Akkoord"</string> - <string name="disagree" msgid="6221069272309799230">"Niet akkoord"</string> <string name="about_settings" msgid="1743378368185371685">"Over de telefoon"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Juridische info, telefoonstatus, softwareversie weergeven"</string> <string name="legal_information" msgid="5769301644270604095">"Juridische informatie"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Veiligheidsinformatie"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Uw telefoon heeft geen verbinding met een gegevensservice. Als u deze informatie nu wilt weergeven, gaat u op een computer met internetverbinding naar %s."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Laden..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Ontgrendelingspatroon scherm"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Uw wachtwoord kiezen"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Uw PIN-code kiezen"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Uw wachtwoord bevestigen"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Uw PIN-code bevestigen"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Wachtwoorden komen niet overeen"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN-codes komen niet overeen"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Wachtwoord is ingesteld"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN-code is ingesteld"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Patroon is ingesteld"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Scherm ontgrendelen"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Ontgrendelingspatroon wijzigen"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"PIN-code voor ontgrendelen wijzigen"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Opgeslagen patroon bevestigen"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Probeer het opnieuw:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Teken een ontgrendelingspatroon"</string> @@ -616,8 +658,8 @@ <string name="lockpattern_settings_title" msgid="3207750489460466680">"Ontgrendelingspatroon"</string> <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Patroon vereist"</string> <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"U moet een patroon tekenen om het scherm te ontgrendelen"</string> - <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Zichtbaar patroon gebruiken"</string> - <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Tastbare feedback gebruiken"</string> + <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Zichtbaar patroon aan"</string> + <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Tastbare feedback aan"</string> <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Ontgrendelingspatroon instellen"</string> <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Ontgrendelingspatroon wijzigen"</string> <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"U tekent als volgt een ontgrendelingspatroon"</string> @@ -626,7 +668,7 @@ <string name="skip_button_label" msgid="8680422740354436943">"Annuleren"</string> <string name="next_button_label" msgid="8890792540116568321">"Volgende"</string> <string name="lock_title" msgid="4059246467204273930">"Uw telefoon beveiligen"</string> - <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Beveilig uw telefoon tegen ongeoorloofd gebruik door het instellen van een persoonlijk ontgrendelingspatroon. "\n<font height="17">\n</font><b>"1"</b>" Op het volgende scherm ziet u hoe een voorbeeldpatroon wordt getekend. "\n<font height="17">\n</font><b>"2"</b>" Teken uw eigen persoonlijke ontgrendelingspatroon als het voorbeeld is voltooid. U kunt verschillende patronen uitproberen, maar u moet minimaal vier punten met elkaar verbinden. "\n<font height="17">\n</font><b>"3"</b>" Teken uw patroon nogmaals ter bevestiging. "\n<font height="17">\n</font><b>"Bent u er klaar voor? Selecteer \'Volgende\'"</b>". "\n<font height="3">\n</font>"Als u uw telefoon niet wilt beveiligen, selecteert u \'Annuleren\'."</font></string> + <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Beveilig uw telefoon tegen ongeoorloofd gebruik door het instellen van een persoonlijk schermdeblokkeringspatroon. "\n<font height="17">\n</font><b>"1"</b>" Op het volgende scherm ziet u hoe een voorbeeldpatroon wordt getekend. "\n<font height="17">\n</font><b>"2"</b>" Teken uw eigen persoonlijke deblokkeringspatroon als het voorbeeld is voltooid. U kunt verschillende patronen uitproberen, maar u moet minimaal vier punten met elkaar verbinden. "\n<font height="17">\n</font><b>"3"</b>" Teken uw patroon nogmaals ter bevestiging. "\n<font height="17">\n</font><b>"Bent u er klaar voor? Selecteer \'Volgende\'"</b>". "\n<font height="3">\n</font>"Als u uw telefoon niet wilt beveiligen, selecteert u \'Annuleren\'."</font></string> <string name="lock_example_title" msgid="8052305554017485410">"Voorbeeldpatroon"</string> <string name="lock_example_message" msgid="1838650097090632706">"Verbind minimaal vier punten. "\n" "\n"Selecteer \'Volgende\' als u klaar bent om uw eigen patroon te tekenen."</string> <string name="manageapplications_settings_title" msgid="5712405848153426706">"Toepassingen beheren"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Toepassingen beheren, sneltoetsen voor snelstarten instellen"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Toepassingsinstellingen"</string> <string name="install_applications" msgid="4872012136210802181">"Onbekende bronnen"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Installatie van andere toepassingen dan Market-toepassingen toestaan"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Installatie van andere toepassingen dan Market-toepassingen toestaan"</string> <string name="install_all_warning" msgid="1923717607319933741">"Uw telefoon en persoonlijke gegevens zijn gevoeliger voor aanvallen door toepassingen van onbekende bronnen. U gaat ermee akkoord dat u alleen verantwoordelijk bent voor enige schade aan uw telefoon of verlies van gegevens die voortkomen uit het gebruik van deze toepassingen."</string> <string name="application_info_label" msgid="1150486628158409543">"Toepassingsinfo"</string> <string name="storage_label" msgid="8700867073480107253">"Opslagruimte"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Alles"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Gedownload"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Wordt uitgevoerd"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Op SD-kaart"</string> <string name="loading" msgid="3200408047793887917">"Laden..."</string> <string name="recompute_size" msgid="7722567982831691718">"Grootte opnieuw berekenen..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Verwijderen"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Kan grootte van pakket niet berekenen"</string> <string name="empty_list_msg" msgid="2901049162265094971">"U heeft geen toepassingen van derden geïnstalleerd."</string> <string name="version_text" msgid="9189073826278676425">"versie <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Verplaatsen"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Verplaatsen naar telefoon"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Verplaatsen naar SD-kaart"</string> + <string name="moving" msgid="6431016143218876491">"Verplaatsen"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Er is niet voldoende opslag beschikbaar."</string> + <string name="does_not_exist" msgid="837163572898468245">"De toepassing bestaat niet."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"De toepassing is beveiligd tegen kopiëren."</string> + <string name="invalid_location" msgid="4934491353200240499">"De opgegeven installatielocatie is niet geldig."</string> + <string name="system_package" msgid="1030561474413022831">"Systeemupdates kunnen niet worden geïnstalleerd op externe media."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Gedwongen stoppen"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Deze toepassing wordt onmiddellijk opnieuw gestart. Weet u zeker dat u gedwongen wilt stoppen?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Toepassing verplaatsen"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Verplaatsen van toepassing is mislukt. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Voorkeursinstallatielocatie"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"De voorkeursinstallatielocatie voor nieuwe toepassingen wijzigen."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Actieve services"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Services die momenteel actief zijn, weergeven en beheren"</string> <string name="service_restarting" msgid="2242747937372354306">"Opnieuw starten"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Instellingen voor taal en regio, tekstinvoer en autocorrectieopties opgeven"</string> <string name="language_category" msgid="3391756582724541530">"Landinstelling"</string> <string name="text_category" msgid="6342540511465136739">"Tekstinstellingen"</string> - <string name="phone_language" msgid="2138384312336494991">"Landinstelling selecteren"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Taal en regio selecteren"</string> + <string name="phone_language" msgid="1165758957501090679">"Taal selecteren"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Automatisch vervangen"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Corrigeer verkeerd getypte woorden"</string> <string name="auto_caps" msgid="581633131114124121">"Automatische hoofdletters"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Deze invoermethode verzamelt mogelijk alle tekst die u typt, inclusief persoonlijke gegevens zoals wachtwoorden en creditcardnummers. De methode is afkomstig uit de toepassing <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Deze invoermethode inschakelen?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Gebruikerswoordenboek"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Gebruikerswoordenboek"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Woorden toevoegen en verwijderen"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Toevoegen"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Toevoegen aan woordenboek"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Woord bewerken"</string> @@ -759,7 +817,7 @@ <string name="battery_history_network_usage" msgid="8010852371665217020">"Netwerkgebruiksdetails voor <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string> <string name="battery_history_bytes_received" msgid="980307569180518302">"Bytes ontvangen: <xliff:g id="BYTES">%1$d</xliff:g>"</string> <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Bytes verzonden: <xliff:g id="BYTES">%1$d</xliff:g>"</string> - <string name="battery_history_bytes_total" msgid="4444807574361642753">"Totaal aantal bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string> + <string name="battery_history_bytes_total" msgid="4444807574361642753">"Totaal aantal bytes: <xliff:g id="BYTES">%1$d</xliff:g>\n"</string> <string name="battery_history_cpu_usage" msgid="2597353713014790877">"CPU-gebruiksdetails voor <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string> <string name="battery_history_user_time" msgid="6227507614894791359">"Gebruikerstijd:"</string> <string name="battery_history_system_time" msgid="2015862072724507547">"Systeemtijd:"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Geen geïnstalleerde toegankelijkheidsservices."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Deze toegankelijkheidsservice verzamelt mogelijk alle tekst die u typt, inclusief persoonlijke gegevens en creditcardnummers, maar geen wachtwoorden. De service kan ook uw interacties met de gebruikersinterface vastleggen. De service is afkomstig uit de toepassing <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Deze toegankelijkheidsservice inschakelen?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Toegankelijkheid uitschakelen?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Geen toepassingen voor toegankelijkheid gevonden"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Er zijn geen toepassingen voor toegankelijkheid geïnstalleerd."\n\n"U kunt een schermlezer voor uw apparaat downloaden van Android Market."\n\n"Klik op \'OK\' om de schermlezer te installeren."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Aan/uit-knop"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Knop beëindigt oproep"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Als u tijdens een oproep op de aan/uit-knop drukt, wordt de oproep beëindigd in plaats van dat het scherm wordt uitgeschakeld"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Accugebruik"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Waarvoor de accu is gebruikt"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Accugebruik sinds losgekoppeld"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Vernieuwen"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android-besturingssysteem"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string> - <string name="tts_settings" msgid="3348626948015962987">"Tekst-naar-spraak"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Opties voor tekst-naar-spraak instellen"</string> - <string name="tts_settings_title" msgid="4182348653053000933">"Instellingen voor tekst-naar-spraak"</string> - <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Altijd mijn instellingen gebruiken"</string> - <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Onderstaande standaardinstellingen overschrijven toepassingsinstellingen"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Spraakinvoer en -uitvoer"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Instellingen voor spraakinvoer en -uitvoer"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Voice Search"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android-toetsenbord"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Spraakinvoer"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Spraakuitvoer"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Spraakherkenning"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Instellingen spraakherk."</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Instellingen voor \'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\'"</string> + <string name="tts_settings" msgid="8186971894801348327">"Instellingen tekst-naar-spraak"</string> + <string name="tts_settings_title" msgid="4182348653053000933">"Instellingen tekst-naar-spraak"</string> + <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Mijn instellingen gebruiken"</string> + <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Onderstaande standaardinstellingen overschrijven instellingen van toepassing"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Standaardinstellingen"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Standaardengine"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"De engine voor spraaksynthese instellen die moet worden gebruikt voor gesproken tekst"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Spraaksnelheid"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Snelheid waarmee de tekst wordt gesproken"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Hoogte"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Stemmen die zijn vereist voor spraaksynthese, zijn al correct geïnstalleerd"</string> <string name="tts_demo" msgid="405357591189935876">"Dit is een voorbeeld van spraaksynthese."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Uw instellingen zijn gewijzigd. Dit is een voorbeeld van hoe ze klinken."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"De engine die u heeft geselecteerd, kan niet worden uitgevoerd"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Configureren"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Een andere engine selecteren"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Deze engine voor spraaksynthese kan mogelijk alle tekst verzamelen die wordt gesproken, waaronder persoonlijke gegevens zoals wachtwoorden en creditcardnummers. Deze engine is afkomstig van de <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>-engine. Het gebruik van deze engine voor spraaksynthese inschakelen?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Engines"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Instellingen voor <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> is ingeschakeld"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> is uitgeschakeld"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Talen en stemmen"</string> + <string name="pico_installed" msgid="2452546687858267414">"Geïnstalleerd"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Niet geïnstalleerd"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Vrouw"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Man"</string> <string name="gadget_title" msgid="7455548605888590466">"Energiebeheer"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Wi-Fi-instelling bijwerken"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Bluetooth-instelling bijwerken"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Installatieprogramma voor referenties"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-instellingen"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Verbinding maken met <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Gebruikersnaam:"</string> @@ -958,7 +1043,7 @@ <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(ongewijzigd)"</string> <string name="vpn_secret_not_set" msgid="1037792636371641845">"(niet ingesteld)"</string> <string name="credentials_category" msgid="8536992056377271234">"Opslag van referenties"</string> - <string name="credentials_access" msgid="4843187230913860492">"Beveiligingsreferenties gebruiken"</string> + <string name="credentials_access" msgid="4843187230913860492">"Beveiligingsreferenties"</string> <string name="credentials_access_summary" msgid="319662078718574168">"Toepassingen mogen veilige certificaten en andere referenties openen"</string> <string name="credentials_unlock" msgid="1463040326264133844">"Voer het wachtwoord in"</string> <string name="credentials_unlock_hint" msgid="594679530407918031">"Geef het wachtwoord voor de opslag van referenties op."</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Gedrag bij noodoproepen instellen"</string> <string name="privacy_settings" msgid="9206631214140954954">"Privacy"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Privacyinstellingen"</string> - <string name="location_section_title" msgid="6072558684044939786">"Locatie"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Instellingen"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Persoonlijke gegevens"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Back-up maken van mijn instellingen"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Back-up van instellingen"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Weet u zeker dat het maken van back-ups van uw instellingen wilt stoppen en alle kopieën op Google-servers wilt wissen?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Automatisch terugzetten"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Back-up"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Weet u zeker dat het maken van back-ups van uw instellingen en toepassingsgegevens wilt stoppen en alle kopieën op Google-servers wilt wissen?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Instellingen voor apparaatbeheer"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Apparaatbeheerder"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Deactiveren"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Apparaatbeheerders"</string> + <string name="no_device_admins" msgid="702695100241728775">"Geen apparaatbeheerders beschikbaar"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Apparaatbeheerder activeren?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Activeren"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Apparaatbeheerder"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Als u deze beheerder activeert, staat u de toepassing <xliff:g id="APP_NAME">%1$s</xliff:g> toe de volgende bewerkingen uit te voeren:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Deze beheerder is actief en staat de toepassing <xliff:g id="APP_NAME">%1$s</xliff:g> toe de volgende bewerkingen uit te voeren:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Naamloos"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Algemeen"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Inkomende oproepen"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Meldingen"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Feedback"</string> </resources> diff --git a/res/values-pl-nokeys/strings.xml b/res/values-pl-nokeys/strings.xml index 92ada2c..65cf147 100644 --- a/res/values-pl-nokeys/strings.xml +++ b/res/values-pl-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Zarządzaj aplikacjami"</string> diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml index 8ddf5ed..2fb3c7e 100644 --- a/res/values-pl/arrays.xml +++ b/res/values-pl/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -30,7 +35,7 @@ <item msgid="3856065399819979491">"Wszystkie animacje"</item> </string-array> <string-array name="animations_summaries"> - <item msgid="4569165952409350897">"Brak wyświetlanych animacji okien"</item> + <item msgid="4569165952409350897">"Animacje okien nie są wyświetlane"</item> <item msgid="4460915688877708508">"Niektóre animacje okien są wyświetlane"</item> <item msgid="488968798204105119">"Wszystkie animacje okien są wyświetlane"</item> </string-array> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"włoski"</item> <item msgid="5811378076054402537">"hiszpański"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automatycznie"</item> - <item msgid="5434666299123318296">"Brak"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Brak"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automatycznie"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP szesnastkowy"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Trwa skanowanie..."</item> + <item msgid="8513729475867537913">"Trwa łączenie..."</item> + <item msgid="515055375277271756">"Trwa uwierzytelnianie..."</item> + <item msgid="1943354004029184381">"Uzyskiwanie adresu IP..."</item> + <item msgid="4221763391123233270">"Połączono"</item> + <item msgid="624838831631122137">"Zawieszona"</item> + <item msgid="7979680559596111948">"Trwa rozłączanie..."</item> + <item msgid="1634960474403853625">"Rozłączona"</item> + <item msgid="746097431216080650">"Niepowodzenie"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Trwa skanowanie..."</item> + <item msgid="355508996603873860">"Trwa łączenie z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="554971459996405634">"Trwa uwierzytelnianie w sieci <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="7928343808033020343">"Uzyskiwanie adresu IP z sieci <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="8937994881315223448">"Połączono z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Zawieszona"</item> + <item msgid="7698638434317271902">"Trwa rozłączanie z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="197508606402264311">"Rozłączona"</item> + <item msgid="8578370891960825148">"Niepowodzenie"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Otwarta"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Słaba"</item> + <item msgid="5615082285463430971">"Dostateczna"</item> + <item msgid="3565079809875324621">"Dobra"</item> + <item msgid="5702329417707689835">"Doskonała"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Po wyłączeniu ekranu"</item> @@ -119,7 +147,7 @@ </string-array> <string-array name="emergency_tone_entries"> <item msgid="5165439859689033665">"Wyłączony"</item> - <item msgid="3165868966179561687">"Alert"</item> + <item msgid="3165868966179561687">"Alarm"</item> <item msgid="6038758039030476855">"Wibracje"</item> </string-array> <string-array name="apn_auth_entries"> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP lub CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Wewnętrzna pamięć urządzenia"</item> + <item msgid="3738430123799803530">"Wymienna karta SD"</item> + <item msgid="4498124044785815005">"Zastosuj ustawienie systemowe"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Zawsze"</item> + <item msgid="6293147072807231256">"Nigdy"</item> + <item msgid="1276641209451816572">"W trybie cichym"</item> + <item msgid="8418930333779132418">"Poza trybem cichym"</item> + </string-array> </resources> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 4c51870..0f284e5 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Tak"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Nieznany"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Włącz radio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Wyłącz radio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Włącz dziennik QXDM dla karty SD"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Wyłącz dziennik QXDM dla karty SD"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Wyświetl książkę adresową na karcie SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Wyświetl ustalone numery"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Wyświetl numery usług"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Pobierz listę PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Włącz połączenie danych"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Wyłącz połączenie danych"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Włącz dane podczas uruchamianiu"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Wyłącz dane przy uruchamianiu"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"Działa"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Nie działa"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Tylko połączenia alarmowe"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Wykrywalny"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Wykrywalny przez <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> s …"</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Zezwalaj na wykrywanie urządzenia"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Zablokuj wybieranie głosowe"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Zapobiegaj używaniu wybierania Bluetooth, gdy ekran jest zablokowany"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Lista urządzeń"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Nazwa urządzenia"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Nie ustawiono nazwy, wykorzystywana jest nazwa konta"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Rozłączona"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Rozłączanie..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Łączenie..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Paruj z tym urządzeniem"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Parowanie..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Powiązany, ale nie połączony"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Wyślij polecenie ping adresu IP:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Nazwa hosta dla operacji ping (www.google.pl):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test klienta HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Przełącz szyfrowanie"</string> <string name="ping_test_label" msgid="7255376471490860631">"Przeprowadź test ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aktualizuj"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Odśwież"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Przełącz sprawdzanie DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Informacje/ustawienia specyficzne dla producenta OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Ustaw pasmo GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Ładowanie listy pasm..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Ustaw"</string> @@ -225,8 +221,8 @@ <string name="date_and_time_settings_title" msgid="3350640463596716780">"Data i godzina"</string> <string name="date_and_time_settings_summary" msgid="2435705040205950381">"Ustaw format daty, godziny i strefę czasową"</string> <string name="date_time_auto" msgid="3086083265745944725">"Automatycznie"</string> - <string name="date_time_auto_summaryOn" msgid="9034585614665299846">"Używaj wartości dostarczonych przez sieć"</string> - <string name="date_time_auto_summaryOff" msgid="3900356736797266448">"Używaj informacji dostarczonych przez operatora"</string> + <string name="date_time_auto_summaryOn" msgid="9034585614665299846">"Używaj danych dostarczonych przez operatora"</string> + <string name="date_time_auto_summaryOff" msgid="3900356736797266448">"Używaj danych dostarczonych przez operatora"</string> <string name="date_time_24hour" msgid="1193032284921000063">"Format 24-godzinny"</string> <string name="date_time_set_time" msgid="5716856602742530696">"Ustaw godzinę"</string> <string name="date_time_set_timezone" msgid="5045627174274377814">"Wybierz strefę czasową"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę karty SIM, blokadę magazynu danych logowania."</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę magazynu danych uwierzytelniania"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Hasła"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Zabezpieczenie ekranu"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ustaw blokadę ekranu"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Zablokuj ekran za pomocą wzoru, PINu lub hasła"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Zmień ustawienia blokady ekranu"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Zmień lub wyłącz zabezpieczenie ekranu (wzór, PIN lub hasło)"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Brak"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Wyłącz zabezpieczenie ekranu"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Wzór"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Narysuj wzór do odblokowania ekran"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"Kod PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Wpisz kod PIN do odblokowania ekranu"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Hasło"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Wpisz hasło do odblokowania ekranu"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Wyłączone przez zdalnego administratora telefonu"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Wyłącz blokadę ekranu"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Usuń wzór odblokowania"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Usuń kod PIN odblokowania"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Usuń hasło odblokowania"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Zmień wzór odblokowania"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Zmień kod PIN odblokowania"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Zmień hasło odblokowania"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Liczba znaków w haśle musi wynosić co najmniej %d"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"Liczba znaków w kodzie PIN musi wynosić co najmniej %d"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Po zakończeniu naciśnij przycisk Kontynuuj"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Kontynuuj"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"Liczba cyfr w kodzie PIN nie może przekraczać %d"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"Liczba cyfr w kodzie PIN nie może przekraczać %d"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"Kod PIN musi zawierać wyłącznie cyfry 0-9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Hasło zawiera niedozwolony znak"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Hasło musi zawierać co najmniej jedną literę"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Hasło musi zawierać co najmniej jedną cyfrę"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Hasło musi zawierać co najmniej jeden symbol"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Anuluj"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Administracja urządzeniem"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Wybierz administratorów"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Dodaj lub usuń administratorów urządzenia"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Włącz Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Ustawienia Bluetooth"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Jako telefon w trybie głośnika"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Dla muzyki i multimediów"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Zapamiętaj ustawienia"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Włącz Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Ustawienia Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Ustawienia Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Konfiguruj punkty dostępowe sieci bezprzewodowej i zarządzaj nimi"</string> - <string name="forget_network" msgid="4718015029995727138">"Zapomnij"</string> - <string name="wifi_status" msgid="4824568012414605414">"Stan"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Prędkość"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Doskonała"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Dobra"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Dostateczna"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Słaba"</string> - <string name="security" msgid="1040691896987225267">"Zabezpieczenia"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Otwarta"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Nieznane"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"sieć otwarta"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"zabezpieczona protokołem WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"zabezpieczona za pomocą protokołu WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"zabezpieczona za pomocą protokołu 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Adres IP"</string> - <string name="signal" msgid="1947969631626413228">"Siła sygnału"</string> <string name="wifi_starting" msgid="6710266609710860129">"Włączanie..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Wyłączanie..."</string> <string name="wifi_error" msgid="3207971103917128179">"Błąd"</string> - <string name="error_starting" msgid="4055163089721254078">"Nie można uruchomić Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Nie można zatrzymać działania Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"Nie można wyszukać sieci"</string> - <string name="error_connecting" msgid="1981882310590509609">"Nie można połączyć z siecią"</string> - <string name="error_saving" msgid="8294279443961615302">"Nie można zapisać sieci"</string> - <string name="connect" msgid="3079076576295839400">"Połącz"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Połącz z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Metoda EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Uwierzytelnianie Phase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Tożsamość"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Tożsamość anonimowa"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certyfikat klienta"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Certyfikat urzędu certyfikacji"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Hasło sieci bezprzewodowej"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Klucz szesnastkowy WEP (0–9, A–F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Pokaż hasło."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Przeszukaj"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Poza zasięgiem"</string> - <string name="summary_remembered" msgid="6079941090549401742">"zapamiętane"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Połączenie nie powiodło się. Dotknij, aby spróbować ponownie."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Sieci Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Identyfikator SSID sieci"</string> - <string name="wifi_security" msgid="6603611185592956936">"Zabezpieczenia"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Zapisz"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(niezmienione)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Dodaj sieć Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"W trybie samolotowym"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Nie można skanować w poszukiwaniu sieci"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Powiadomienie o sieci"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Powiadom mnie, gdy będę w zasięgu otwartej sieci"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Wprowadzone hasło sieci jest nieprawidłowe. Spróbuj ponownie."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Wystąpił problem podczas łączenia z siecią. Spróbuj ponownie."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Dodaj sieć Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Sieci Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Skanuj"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Zaawansowane"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ustawienia IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Zapisz"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Anuluj"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Wprowadź poprawny adres IP."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statyczny adres IP"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Połącz z siecią"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Zapomnij sieć"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Modyfikuj sieć"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Identyfikator SSID sieci"</string> + <string name="wifi_security" msgid="6603611185592956936">"Zabezpieczenia"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Siła sygnału"</string> + <string name="wifi_status" msgid="4824568012414605414">"Stan"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Szybkość łącza"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Adres IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Brama"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Maska sieci"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Połącz z siecią"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Zapomnij sieć"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Zmień hasło"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Metoda EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Uwierzytelnianie Phase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certyfikat urzędu certyfikacji"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certyfikat użytkownika"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Tożsamość"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Tożsamość anonimowa"</string> + <string name="wifi_password" msgid="5948219759936151048">"Hasło"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Pokaż hasło."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(nie zmieniono)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(nie określono)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Zapamiętana"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Wyłączona"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Poza zasięgiem"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Zabezpieczona za pomocą protokołu <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, zabezpieczona za pomocą protokołu <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Połącz"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Zapomnij"</string> + <string name="wifi_save" msgid="3331121567988522826">"Zapisz"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Anuluj"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Zaawansowane"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Domena standaryzacyjna"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Wybierz liczbę wykorzystywanych kanałów"</string> @@ -371,78 +376,86 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Określ, kiedy przełączyć Wi-Fi na komórkowe połączenie danych"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Wystąpił problem podczas ustawiania zasad usypiania."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adres MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Przeszukiwanie..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Łączenie z <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Uwierzytelnianie w sieci <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Pozyskiwanie adresu IP od <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Połączony z <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Rozłączanie z <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Rozłączona"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Niepowodzenie"</string> - <string name="status_scanning" msgid="8402178267165567371">"Przeszukiwanie..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Łączenie..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Uwierzytelnianie..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Pozyskiwanie adresu..."</string> - <string name="status_connected" msgid="8175694029067954271">"Połączony"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Rozłączanie..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Rozłączona"</string> - <string name="status_failed" msgid="610462050405904601">"Niepowodzenie"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Dźwięk i wyświetlacz"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Ustawienia dźwięku i wyświetlania"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ustawienia IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Zapisz"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Anuluj"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Wprowadź poprawny adres IP."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statyczny adres IP"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Brama"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Maska sieci"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Przenośny punkt dostępu Wi-Fi"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Przenośny punkt dostępu <xliff:g id="NETWORK_SSID">%1$s</xliff:g> jest aktywny"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Błąd przenośnego punktu dostępu Wi-Fi"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Ustawienia przenośnych punktów dostępu Wi-Fi"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Skonfiguruj przenośne punkty dostępu Wi-Fi i zarządzaj nimi"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Ustawienia przenośnych punktów dostępu Wi-Fi"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Skonfiguruj punkt dostępu Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Przenośny punkt dostępu Wi-Fi <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Punkt dostępu Android"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Dźwięk"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Wyświetlacz"</string> <string name="sound_settings" msgid="5007659014828162881">"Ustawienia dźwięku"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Ustaw dzwonki, powiadomienia, jasność ekranu"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Tryb cichy"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Wszystkie dźwięki oprócz multimediów i alarmów są wyciszone"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Wycisz wszystkie dźwięki z wyjątkiem multimediów i alarmów"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Wszystkie dźwięki za wyjątkiem multimediów są wyciszone"</string> <string name="ringtone_title" msgid="5379026328015343686">"Dzwonek telefonu"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Ustaw domyślny dzwonek dla połączeń przychodzących"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Głośność"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Głośność dzwonka"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Ustaw głośność połączeń przychodzących i powiadomień"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Wibracje telefonu"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Wibracje telefonu przy połączeniach przychodzących"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Wibracje po wyciszeniu"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Zezwalaj na wibracje w trybie cichym"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Wibracje"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Wibracje w przypadku połączeń i powiadomień"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Powiadomienia"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Ustaw domyślny dzwonek dla powiadomień"</string> - <string name="notification_pulse_title" msgid="1247988024534030629">"Powiadamianie pulsującym podświetleniem"</string> - <string name="notification_pulse_summary" msgid="6899220780534617152">"Włącz pulsowanie podświetlenia kulki dla nowych powiadomień"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Głośność połączeń przychodzących"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Głośność powiadomienia"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> + <string name="notification_pulse_title" msgid="1247988024534030629">"Pulsująca dioda"</string> + <string name="notification_pulse_summary" msgid="6899220780534617152">"Nowe powiadomienia sygnalizowane są pulsowaniem diody w kulce"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Dzwonek"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Powiadomienie"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Użyj głośności połączeń przychodzących dla powiadomień"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Wybierz dzwonek powiadomienia"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Głośność multimediów"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Multimedia"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Ustaw głośność muzyki oraz filmów wideo"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarm"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Ustawienia dźwięku dla podłączonej podstawki"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Wybieranie numeru"</string> - <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Odtwarzaj dźwięki podczas używania panelu wybierania numeru"</string> + <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Odtwarzaj dźwięki podczas wybierania numeru"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Odtwarzaj dźwięki podczas wybierania numeru"</string> <string name="sound_effects_enable_title" msgid="3197313718929122833">"Dotyk ekranu"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Odtwarzaj dźwięk podczas wybierania opcji na ekranie"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Odtwarzaj dźwięk podczas wybierania opcji na ekranie"</string> - <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Dotykowe sprzężenie zwrotne"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Dźwięki blokady ekranu"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Odtwarzaj dźwięki podczas blokowania i odblokowywania ekranu"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Odtwarzaj dźwięki podczas blokowania i odblokowywania ekranu"</string> + <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Wibracja przy wybieraniu"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Wibracje podczas naciskania przycisków i wykonywania określonych działań w interfejsie użytkownika"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Wibracje podczas naciskania przycisków i wykonywania określonych działań w interfejsie użytkownika"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Powiadomienia karty SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Odtwarzaj dźwięk dla powiadomień o karcie SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Odtwarzaj dźwięk dla powiadomień o karcie SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Eliminowanie szumu"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Redukcja szumów w tle podczas mówienia lub nagrywania"</string> <string name="dock_settings" msgid="1820107306693002541">"Podstawka"</string> <string name="dock_settings_title" msgid="9161438664257429372">"Ustawienia podstawki"</string> <string name="dock_audio_settings_title" msgid="3324750259959570305">"Dźwięk"</string> - <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Ustawienia dla podstawki na biurku"</string> - <string name="dock_audio_summary_car" msgid="6740897586006248450">"Ustawienia dla podstawki w samochodzie"</string> + <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Ustawienia dla biurkowej stacji dokującej"</string> + <string name="dock_audio_summary_car" msgid="6740897586006248450">"Ustawienia dla samochodowej stacji dokującej"</string> <string name="dock_audio_summary_none" msgid="289909253741048784">"Telefon niezadokowany"</string> <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Ustawienia dla podłączonej podstawki"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Nie znaleziono podstawki"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Telefon musi być na podstawce, aby można było konfigurować dźwięk"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Dźwięk włożenia telefonu"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Odtwarzaj dźwięk podczas umieszczania telefonu w podstawce i wyjmowania go"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Nie odtwarzaj dźwięku podczas umieszczania telefonu w podstawce i wyjmowania go"</string> <string name="sync_settings" msgid="9186125469300013491">"Konta i synchronizacja"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Dodaj lub usuń konta i zmień ich ustawienia"</string> <string name="search_settings" msgid="1910951467596035063">"Wyszukiwanie"</string> <string name="search_settings_summary" msgid="9205656546570654169">"Zarządzaj ustawieniami i historią wyszukiwania"</string> <string name="display_settings" msgid="3912042046350078328">"Ustawienia wyświetlacza"</string> - <string name="animations_title" msgid="1062189037402346023">"Animacja"</string> + <string name="animations_title" msgid="1062189037402346023">"Animacje"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Pokaż animację przy otwieraniu i zamykaniu okien"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Pokaż animację przy otwieraniu i zamykaniu okien"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientacja"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Autoobracanie ekranu"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Automatycznie przełącz orientację przy obracaniu telefonu"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Automatycznie przełącz orientację przy obracaniu telefonu"</string> <string name="brightness" msgid="2354961343555249270">"Jasność ekranu"</string> @@ -456,7 +469,7 @@ <string name="sim_pin_toggle" msgid="1742123478029451888">"Zablokuj kartę SIM"</string> <string name="sim_lock_on" msgid="2503536505568814324">"Aby korzystać z telefonu, należy wprowadzić kod PIN"</string> <string name="sim_lock_off" msgid="258981978215428916">"Aby korzystać z telefonu, należy wprowadzić kod PIN"</string> - <string name="sim_pin_change" msgid="6311414184279932368">"Zmień kod PIN do karty SIM"</string> + <string name="sim_pin_change" msgid="6311414184279932368">"Zmień PIN do karty SIM"</string> <string name="sim_enter_pin" msgid="6608715137008508432">"Kod PIN do karty SIM"</string> <string name="sim_enable_sim_lock" msgid="4517742794997166918">"Zablokuj kartę SIM"</string> <string name="sim_disable_sim_lock" msgid="7664729528754784824">"Odblokuj kartę SIM"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Anuluj"</string> <string name="device_info_settings" msgid="475872867864762157">"Stan telefonu"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Aktualizacje systemowe"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Sprawdź aktualizacje systemu"</string> - <string name="firmware_version" msgid="6284872163051667788">"Wersja oprogramowania"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Wersja systemu Android"</string> <string name="model_number" msgid="3765737700545384794">"Numer modelu"</string> <string name="baseband_version" msgid="1848990160763524801">"Wersja pasma podstawowego"</string> <string name="kernel_version" msgid="9192574954196167602">"Wersja jądra"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Całkowita pojemność"</string> <string name="sd_eject" msgid="6915293408836853020">"Odłącz kartę SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Odłącz kartę SD, aby bezpiecznie ją usunąć"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Włóż kartę SD w celu zainstalowania"</string> + <string name="sd_mount" msgid="5940523765187704135">"Zainstaluj kartę SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Zainstaluj kartę SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formatuj kartę SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formatuj (wymaż) kartę SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Niedostępna"</string> <string name="read_only" msgid="6702420168629076340">" (Tylko do odczytu)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Odinstaluj kartę SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Jeśli odinstalujesz kartę SD, niektóre używane aplikacje zostaną zatrzymane i mogą być niedostępne do chwili jej ponownego zainstalowania."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Odinstalowanie karty SD nie powiodło się"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Nie można odinstalować karty SD. Spróbuj ponownie później."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"Karta SD zostanie odinstalowana. Sprawdź stan w obszarze powiadomień."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Odinstalowywanie"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Odinstalowywanie w toku"</string> <string name="battery_status_title" msgid="9159414319574976203">"Stan baterii"</string> <string name="battery_level_title" msgid="2965679202786873272">"Poziom naładowania baterii"</string> <string name="apn_settings" msgid="3743170484827528406">"Nazwy APN"</string> @@ -524,7 +547,7 @@ <string name="apn_password" msgid="5412301994998250968">"Hasło"</string> <string name="apn_server" msgid="2436185314756372858">"Serwer"</string> <string name="apn_mmsc" msgid="3670124402105585737">"MMSC"</string> - <string name="apn_mms_proxy" msgid="5374082621073999275">"Proxy dla wiadomości MMS"</string> + <string name="apn_mms_proxy" msgid="5374082621073999275">"Proxy dla MMS"</string> <string name="apn_mms_port" msgid="4074188088199243040">"Port MMS"</string> <string name="apn_mcc" msgid="4258628382260674636">"MCC"</string> <string name="apn_mnc" msgid="8629374076888809874">"MNC"</string> @@ -565,6 +588,20 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Aby potwierdzić formatowanie karty SD, należy narysować swój wzór odblokowania."</string> <string name="call_settings_title" msgid="5188713413939232801">"Ustawienia połączeń"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Poczta głosowa, przekierowania połączeń, poł. oczekujące, ID rozmówcy"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Powiązanie"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Przenośny punkt dostępu"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Powiązanie i przenośny punkt dostępu"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Udostępniaj bezprzewodowe połączenie transmisji danych swojego telefonu przez USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Udostępniaj bezprzewodowe połączenie swojego telefonu jako przenośny punkt dostępu Wi-Fi"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Udostępniaj bezprzewodowe połączenie transmisji danych swojego telefonu przez USB lub jako przenośny punkt dostępu Wi-Fi"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Powiązanie USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Podłączono USB – zaznacz, aby powiązać"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Powiązano"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Nie można utworzyć powiązania, gdy nośnik USB jest w użyciu"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Nie podłączono USB"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Błąd powiązania USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Pomoc"</string> <string name="network_settings_title" msgid="7967552516440151852">"Sieci komórkowe"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Ustaw opcje roamingu, sieci, nazw APN"</string> <string name="location_title" msgid="1029961368397484576">"Moja lokalizacja"</string> @@ -572,16 +609,11 @@ <string name="location_networks_disabled" msgid="2708968452901433980">"Określ moją lokalizację w aplikacjach (takich jak Mapy), korzystając z sieci bezprzewodowych"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Lokalizacja określana jest za pomocą Wi-Fi i/lub sieci komórkowych"</string> <string name="location_gps" msgid="6296125378829097831">"Użyj satelitów GPS"</string> - <string name="location_street_level" msgid="6460740847018275745">"Określaj lokalizację z dokładnością do ulicy (usuń zaznaczenie, aby oszczędzać baterię)"</string> + <string name="location_street_level" msgid="6460740847018275745">"Określa lokalizację z dokładnością do ulicy (wyłącz, aby oszczędzać baterię)"</string> <string name="location_gps_disabled" msgid="6632537158777308128">"Podaje dokładne położenie (zużywa więcej baterii, działa na zewnątrz)"</string> <string name="assisted_gps" msgid="4649317129586736885">"Użyj wspomaganego systemu GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Użyj serwera do wspomagania systemu GPS (usuń zaznaczenie, aby zmniejszyć ruch sieciowy)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Użyj serwera do wspomagania systemu GPS (usuń zaznaczenie, aby zwiększyć wydajność systemu GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Użyj funkcji Moja lokalizacja"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Użyj funkcji Moja lokalizacja na potrzeby wyników wyszukiwania Google oraz innych usług Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Czy chcesz zezwalać Google na korzystanie z informacji o lokalizacji w celu poprawy wyników wyszukiwania oraz innych usług?"</string> - <string name="agree" msgid="6288718671527758326">"Zgadzam się"</string> - <string name="disagree" msgid="6221069272309799230">"Nie zgadzam się"</string> <string name="about_settings" msgid="1743378368185371685">"Informacje o telefonie"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Wyświetl informacje prawne, stan telefonu, wersję oprogramowania"</string> <string name="legal_information" msgid="5769301644270604095">"Informacje prawne"</string> @@ -598,14 +630,24 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Informacje o bezpieczeństwie"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Telefon nie jest połączony z usługą transmisji danych. Aby wyświetlić te informacje teraz, przejdź do strony %s na dowolnym komputerze połączonym z internetem."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Trwa wczytywanie..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Wzór odblokowania ekranu"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Wybierz hasło"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Wybierz kod PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Potwierdź hasło"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Potwierdź kod PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Hasła nie są identyczne"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Kody PIN nie są identyczne"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Hasło zostało ustawione"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"Kod PIN został ustawiony"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Wzór został ustawiony"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Odblokowanie ekranu"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Zmień wzór odblokowania"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Zmień kod PIN odblokowania"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Potwierdź zapisany wzór"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Niestety, spróbuj ponownie:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Narysuj wzór odblokowania"</string> <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Naciśnij Menu, aby uzyskać pomoc."</string> <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"Puść palec, gdy gotowe."</string> - <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"Połącz co najmniej <xliff:g id="NUMBER">%d</xliff:g> punktów. Spróbuj jeszcze raz:"</string> + <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"Połącz co najmniej <xliff:g id="NUMBER">%d</xliff:g> kropki. Spróbuj jeszcze raz:"</string> <string name="lockpattern_pattern_entered_header" msgid="5012716272001299362">"Wzór został nagrany!"</string> <string name="lockpattern_need_to_confirm" msgid="5144676887162575050">"Narysuj wzór ponownie, aby potwierdzić:"</string> <string name="lockpattern_pattern_confirmed_header" msgid="2223856038485537716">"Nowy wzór odblokowania:"</string> @@ -628,14 +670,14 @@ <string name="lock_title" msgid="4059246467204273930">"Zabezpieczanie telefonu"</string> <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Chroń swój telefon przed nieautoryzowanym użyciem, tworząc osobisty wzorzec odblokowywania ekranu. "\n<font height="17">\n</font><b>"1"</b>" Na następnym ekranie obejrzyj procedurę rysowania przykładowego wzorca. "\n<font height="17">\n</font><b>"2"</b>" Po przygotowaniu się narysuj własny osobisty wzorzec odblokowywania. Wypróbuj różne wzorce, łącząc co najmniej cztery kropki. "\n<font height="17">\n</font><b>"3"</b>" Ponownie narysuj swój wzorzec, aby go potwierdzić. "\n<font height="17">\n</font><b>"Wszystko gotowe? Dotknij przycisku „Dalej”"</b>". "\n<font height="3">\n</font>"Aby pozostawić telefon bez ochrony, dotknij przycisku „Anuluj”."</font></string> <string name="lock_example_title" msgid="8052305554017485410">"Przykładowy wzór"</string> - <string name="lock_example_message" msgid="1838650097090632706">"Połącz co najmniej cztery kropki."\n" "\n"Dotknij przycisku „Dalej”, aby rozpocząć rysowanie własnego wzorca."</string> + <string name="lock_example_message" msgid="1838650097090632706">"Połącz co najmniej cztery kropki."\n" "\n"Dotknij przycisku „Dalej”, aby rozpocząć rysowanie własnego wzoru."</string> <string name="manageapplications_settings_title" msgid="5712405848153426706">"Zarządzaj aplikacjami"</string> <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Zarządzaj zainstalowanymi aplikacjami oraz usuwaj je"</string> <string name="applications_settings" msgid="3736173521008476946">"Aplikacje"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"Zarządzaj aplikacjami, skonfiguruj skróty szybkiego uruchamiania"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Ustawienia aplikacji"</string> <string name="install_applications" msgid="4872012136210802181">"Nieznane źródła"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Pozwól na instalowanie aplikacji spoza Android Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Zezwalaj na instalowanie aplikacji niepochodzących z usługi Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"Telefon i dane osobiste są bardziej narażone na atak za pomocą aplikacji z nieznanych źródeł. Zgadzasz się ponieść pełną odpowiedzialność za wszelkie uszkodzenia telefonu oraz utratę danych, które mogą wyniknąć ze stosowania tych aplikacji."</string> <string name="application_info_label" msgid="1150486628158409543">"Informacje o aplikacji"</string> <string name="storage_label" msgid="8700867073480107253">"Pamięć"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Wszystkie"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Pobrane"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Uruchomione"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Na karcie SD"</string> <string name="loading" msgid="3200408047793887917">"Ładowanie..."</string> <string name="recompute_size" msgid="7722567982831691718">"Przeliczanie rozmiaru..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Usuń"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Nie można obliczyć rozmiaru pakietu"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Nie masz zainstalowanych żadnych aplikacji innych firm."</string> <string name="version_text" msgid="9189073826278676425">"wersja <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Przenieś"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Przenieś do telefonu"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Przenieś na kartę SD"</string> + <string name="moving" msgid="6431016143218876491">"Przenoszenie"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Brak wystarczającej ilości wolnego miejsca."</string> + <string name="does_not_exist" msgid="837163572898468245">"Aplikacja nie istnieje."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Ta aplikacja jest zabezpieczona przed kopiowaniem."</string> + <string name="invalid_location" msgid="4934491353200240499">"Podane położenie instalacji jest nieprawidłowe."</string> + <string name="system_package" msgid="1030561474413022831">"Aktualizacje systemowe nie mogą być instalowane na nośniku zewnętrznym."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Wymuś zatrzymanie"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Ta aplikacja zostanie natychmiast uruchomiona ponownie. Czy na pewno chcesz wymusić zatrzymanie?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Przenieś aplikację"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Przeniesienie aplikacji nie powiodło się. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Preferowana lokalizacja instalacji"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Zmień preferowaną lokalizację instalacji dla nowych aplikacji."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Uruchomione usługi"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Wyświetl i kontroluj obecnie uruchomione usługi"</string> <string name="service_restarting" msgid="2242747937372354306">"Ponowne uruchamianie"</string> @@ -693,15 +751,15 @@ <string name="service_started_by_app" msgid="8432097226392386802">"Uruchomiona przez aplikację: dotknij, aby zatrzymać"</string> <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: dotknij, aby zarządzać"</string> <string name="service_background_processes" msgid="5158600475629177758">"Dostępne: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> w <xliff:g id="COUNT">%1$d</xliff:g>"</string> - <string name="service_foreground_processes" msgid="4013890350284680796">"Pozostała: <xliff:g id="MEMORY">%2$s</xliff:g> w <xliff:g id="COUNT">%1$d</xliff:g>"</string> + <string name="service_foreground_processes" msgid="4013890350284680796">"Inne: <xliff:g id="MEMORY">%2$s</xliff:g> w <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"Proces: <xliff:g id="PROCESS">%1$s</xliff:g>"</string> <string name="language_settings" msgid="502219872342167227">"Język i klawiatura"</string> <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Ustawienia języka i klawiatury"</string> <string name="language_settings_summary" msgid="595647729475399987">"Określ ustawienia regionalne (język i region) oraz opcje wprowadzania tekstu i autokorekty"</string> <string name="language_category" msgid="3391756582724541530">"Ustawienia regionalne"</string> <string name="text_category" msgid="6342540511465136739">"Ustawienia tekstu"</string> - <string name="phone_language" msgid="2138384312336494991">"Wybierz język"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Wybierz język i region"</string> + <string name="phone_language" msgid="1165758957501090679">"Wybierz język"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Autokorekta"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Poprawiaj błędnie wpisane słowa"</string> <string name="auto_caps" msgid="581633131114124121">"Wielka litera po kropce"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Ta metoda wprowadzania może gromadzić cały wpisywany tekst, w tym dane osobiste w postaci haseł i numerów kart kredytowych. Metoda pochodzi z aplikacji <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Czy użyć tej metody wprowadzania?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Słownik użytkownika"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Słownik użytkownika"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Dodaj i usuń słowa w słowniku użytkownika"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Dodaj"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Dodaj do słownika"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Edytuj słowo"</string> @@ -747,9 +805,9 @@ <string name="enable_adb" msgid="7982306934419797485">"Debugowanie USB"</string> <string name="enable_adb_summary" msgid="4881186971746056635">"Tryb debugowania, gdy podłączone jest USB"</string> <string name="keep_screen_on" msgid="1146389631208760344">"Zostaw włączony"</string> - <string name="keep_screen_on_summary" msgid="2173114350754293009">"Ekran nigdy nie będzie gaszony podczas ładowania"</string> - <string name="allow_mock_location" msgid="2787962564578664888">"Pozorowanie położenia"</string> - <string name="allow_mock_location_summary" msgid="317615105156345626">"Zezwalaj na pozorowane położenia"</string> + <string name="keep_screen_on_summary" msgid="2173114350754293009">"Ekran nie będzie gaszony podczas ładowania telefonu"</string> + <string name="allow_mock_location" msgid="2787962564578664888">"Pozorowanie lokalizacji"</string> + <string name="allow_mock_location_summary" msgid="317615105156345626">"Zezwalaj na pozorowanie lokalizacji"</string> <string name="adb_warning_title" msgid="6234463310896563253">"Czy zezwalać na debugowanie USB?"</string> <string name="adb_warning_message" msgid="5352555112049663033">"Debugowanie USB jest przeznaczone wyłącznie do celów programistycznych. Może posłużyć do kopiowania danych między komputerem a urządzeniem, instalowania aplikacji w urządzeniu bez powiadamiania, a także odczytywania danych dziennika."</string> <string name="gadget_picker_title" msgid="98374951396755811">"Wybierz gadżet"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Brak zainstalowanych usług ułatwień dostępu."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Ta usługa ułatwień dostępu może gromadzić cały wpisywany tekst, w tym dane osobiste w postaci numerów kart kredytowych, ale z wyłączeniem haseł. Może również zapisywać w dzienniku działania w interfejsie użytkownika. Usługa pochodzi z aplikacji <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Czy skorzystać z tej usługi ułatwień dostępu?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Czy wyłączyć ułatwienia dostępu?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Nie znaleziono aplikacji związanych z ułatwieniami dostępu"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Nie zainstalowano żadnych aplikacji związanych z ułatwieniami dostępu."\n\n"Z usługi Android Market możesz pobrać czytnik ekranowy dla tego urządzenia."\n\n"Aby zainstalować czytnik ekranowy, kliknij przycisk OK."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Przycisk zasilania"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Koniec połączenia"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Naciśnięcie przycisku zasilania w trakcie połączenia powoduje jego zakończenie zamiast wyłączenia ekranu"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Użycie baterii"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Gdzie wykorzystywana jest bateria"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Użycie baterii od odłączenia"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Odśwież"</string> <string name="process_kernel_label" msgid="3916858646836739323">"System operacyjny Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Serwer mediów"</string> - <string name="tts_settings" msgid="3348626948015962987">"Przetwarzanie tekstu na mowę"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Ustaw opcje zamiany tekstu na mowę"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Ustawienia głosowe"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Ustawienia funkcji głosowych"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Wyszukiwanie głosowe"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Klawiatura Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Wprowadzanie głosowe"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Odtwarzanie głosowe"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Moduł rozpoznawania mowy"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Rozpoznawanie mowy"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Ustawienia dla „<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>”"</string> + <string name="tts_settings" msgid="8186971894801348327">"Przetwarzanie tekstu na mowę"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Ustawienia przetwarzania tekstu na mowę"</string> - <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Zawsze używaj moich ustawień"</string> - <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Poniższe ustawienia domyślne zastępują ustawienia aplikacji"</string> + <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Używaj moich ustawień"</string> + <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Poniższe ustawienia domyślne zastępują ustawienia innych aplikacji"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Ustawienia domyślne"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Mechanizm domyślny"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Konfiguruje mechanizm syntezy mowy używany do odczytywania tekstu"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Szybkość mowy"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Szybkość czytania tekstu"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tony"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Dane głosowe wymagane dla syntezy mowy zostały już poprawnie zainstalowane"</string> <string name="tts_demo" msgid="405357591189935876">"To jest przykład syntezy mowy."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Ustawienia zostały zmienione. Oto przykład aktualnie skonfigurowanego brzmienia."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Nie można uruchomić wybranego mechanizmu"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Konfiguruj"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Wybierz inny mechanizm"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Ten mechanizm syntezy mowy może gromadzić cały odczytywany tekst, w tym dane osobiste w postaci haseł i numerów kart kredytowych. Nazwa mechanizmu to <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Włączyć ten mechanizm syntezy mowy?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Mechanizmy"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Ustawienia mechanizmu <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"Mechanizm <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> jest włączony"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"Mechanizm <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> jest wyłączony"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Języki i głosy"</string> + <string name="pico_installed" msgid="2452546687858267414">"Zainstalowano"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Nie zainstalowano"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kobieta"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Mężczyzna"</string> <string name="gadget_title" msgid="7455548605888590466">"Zarządzanie energią"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Aktualizowanie ustawień Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Aktualizowanie ustawień Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Program instalacyjny danych logowania"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Ustawienia sieci VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Połącz z siecią <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nazwa użytkownika:"</string> @@ -958,7 +1043,7 @@ <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(nie zmieniono)"</string> <string name="vpn_secret_not_set" msgid="1037792636371641845">"(nie ustawiono)"</string> <string name="credentials_category" msgid="8536992056377271234">"Magazyn danych logowania"</string> - <string name="credentials_access" msgid="4843187230913860492">"Użyj bezpiecznych danych logowania"</string> + <string name="credentials_access" msgid="4843187230913860492">"Dostęp do poufnych danych"</string> <string name="credentials_access_summary" msgid="319662078718574168">"Zezwalaj aplikacjom na dostęp do bezpiecznych certyfikatów i innych danych logowania"</string> <string name="credentials_unlock" msgid="1463040326264133844">"Wprowadź hasło"</string> <string name="credentials_unlock_hint" msgid="594679530407918031">"Wprowadź hasło magazynu danych logowania."</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Skonfiguruj sposób działania w przypadku połączenia alarmowego"</string> <string name="privacy_settings" msgid="9206631214140954954">"Prywatność"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Ustawienia prywatności"</string> - <string name="location_section_title" msgid="6072558684044939786">"Lokalizacja"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Ustawienia"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Dane osobiste"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Utwórz kopię zapasową moich ustawień"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Kopia zapasowa ustawień"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Czy na pewno chcesz zakończyć tworzenie kopii zapasowych ustawień i usunąć wszystkie kopie z serwerów Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Autoprzywracanie"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Kopia zapasowa"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Czy na pewno chcesz zakończyć tworzenie kopii zapasowych ustawień i danych aplikacji oraz usunąć wszystkie kopie z serwerów Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Ustawienia administracji"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrator urządzenia"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Dezaktywuj"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Administratorzy urządzenia"</string> + <string name="no_device_admins" msgid="702695100241728775">"Brak dostępnych administratorów urządzenia"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Aktywować administratora urządzenia?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Aktywuj"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Administrator urządzenia"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Aktywowanie tego administratora zezwoli aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na wykonywanie następujących operacji:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Administrator jest aktywny i zezwala aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na wykonywanie następujących operacji:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Bez nazwy"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Ogólne"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Połączenia przychodzące"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Powiadomienia"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Reakcje"</string> </resources> diff --git a/res/values-pt-nokeys/strings.xml b/res/values-pt-nokeys/strings.xml index 48c52f7..96d62c0 100644 --- a/res/values-pt-nokeys/strings.xml +++ b/res/values-pt-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Gerenciar aplicativos"</string> diff --git a/res/values-pt-rPT-nokeys/strings.xml b/res/values-pt-rPT-nokeys/strings.xml index 33210d0..643a3bd 100644 --- a/res/values-pt-rPT-nokeys/strings.xml +++ b/res/values-pt-rPT-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Gerir aplicações"</string> diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml index 688011b..e4436ec 100644 --- a/res/values-pt-rPT/arrays.xml +++ b/res/values-pt-rPT/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiano"</item> <item msgid="5811378076054402537">"Espanhol"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automático"</item> - <item msgid="5434666299123318296">"Nenhum"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Nenhum"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automático"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP hexadecimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"A procurar..."</item> + <item msgid="8513729475867537913">"A ligar..."</item> + <item msgid="515055375277271756">"A autenticar..."</item> + <item msgid="1943354004029184381">"A obter endereço IP..."</item> + <item msgid="4221763391123233270">"Ligado"</item> + <item msgid="624838831631122137">"Suspenso"</item> + <item msgid="7979680559596111948">"A desligar..."</item> + <item msgid="1634960474403853625">"Desligado"</item> + <item msgid="746097431216080650">"Sem sucesso"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"A procurar..."</item> + <item msgid="355508996603873860">"A ligar a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="554971459996405634">"A autenticar com <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"A obter endereço IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="8937994881315223448">"Ligado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Suspenso"</item> + <item msgid="7698638434317271902">"A desligar de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Desligado"</item> + <item msgid="8578370891960825148">"Sem sucesso"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Aberta"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"EAP 802.1x"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Fraco"</item> + <item msgid="5615082285463430971">"Suficiente"</item> + <item msgid="3565079809875324621">"Bom"</item> + <item msgid="5702329417707689835">"Excelente"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Ao desligar o ecrã"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP ou CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Armazenamento de dispositivo interno"</item> + <item msgid="3738430123799803530">"Cartão SD amovível"</item> + <item msgid="4498124044785815005">"Permitir que seja o sistema a decidir"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Sempre"</item> + <item msgid="6293147072807231256">"Nunca"</item> + <item msgid="1276641209451816572">"Apenas em modo silencioso"</item> + <item msgid="8418930333779132418">"Apenas quando não estiver em modo silencioso"</item> + </string-array> </resources> diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index fa6e6e9..c9ef469 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Sim"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Desconhecido"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Ligar rádio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Desligar rádio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Activar registo QXDM do SD"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Desactivar registo QXDM do SD"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Ver livro de endereços do SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números de marcação fixos"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números de marcação de serviços"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obter lista de PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Activar ligação de dados"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Desactivar ligação de dados"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Activar dados no arranque"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Desactivar dados no arranque"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"Em serviço"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Fora de serviço"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Apenas chamadas de emergência"</string> @@ -93,17 +88,18 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Detectável"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Detectável durante <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> segundos…"</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Tornar o dispositivo detectável"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Bloquear marcação por voz"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Evitar a utilização do telefone Bluetooth quando o ecrã está bloqueado"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Dispositivos Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Nome do dispositivo"</string> - <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Nenhum nome definido, utilizar nome da conta"</string> + <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Nenhum nome definido. A utilizar o nome da conta"</string> <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"Procurar dispositivos"</string> <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"O <xliff:g id="DEVICE_NAME">%1$s</xliff:g> será desligado."</string> <string name="bluetooth_connected" msgid="6038755206916626419">"Ligado"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desligado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"A desligar..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"A ligar..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Emparelhar com este dispositivo"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"A emparelhar..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Emparelhado mas não ligado"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping EnderIp:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Efectuar ping de nome de anfitrião (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Teste de cliente HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Comutar encriptação"</string> <string name="ping_test_label" msgid="7255376471490860631">"Executar teste de ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Actualizar"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualizar"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Comutar verificação de DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Informações/definições específicas de OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Definir banda GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"A carregar lista de bandas..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Definir"</string> @@ -239,8 +235,45 @@ <string name="security_settings_summary" msgid="967393342537986570">"Definir A minha localização, desbloqueio do ecrã, bloqueio do cartão SIM, bloqueio do armazenamento de credenciais"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Definir O meu local, desbloqueio do ecrã, bloqueio do armazenamento de credenciais"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Palavras-passe"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Segurança de desbloqueio do ecrã"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Configurar bloqueio do ecrã"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquear ecrã com um padrão, PIN ou palavra-passe"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Alterar bloqueio do ecrã"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Alterar ou desactivar segurança de padrão, PIN ou palavra-passe"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Nenhuma"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Desactivar segurança de desbloqueio do ecrã"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Padrão"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Desenhar padrão para desbloquear ecrã"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Introduzir um PIN numérico para desbloquear o ecrã"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Palavra-passe"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Introduzir uma palavra-passe para desbloquear ecrã"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Desactivada pelo administrador de telefone remoto"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desactivar bloqueio do ecrã"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Remover padrão de desbloqueio"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Remover PIN de desbloqueio"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Remover palavra-passe de desbloqueio"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Mudar padrão de desbloqueio"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Alterar PIN de desbloqueio"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Alterar palavra-passe de desbloqueio"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"A palavra-passe tem de ter no mínimo %d caracteres"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"O PIN tem de ter no mínimo %d caracteres"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Prima Continuar quando terminar"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"O PIN não pode ter mais de %d dígitos"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"O PIN não pode ter mais de %d dígitos"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"O PIN tem de conter apenas dígitos de 0 a 9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"A palavra-passe contém um carácter ilegal"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"A palavra-passe tem de conter, pelo menos, uma letra"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"A palavra-passe tem de conter, pelo menos, um dígito"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"A palavra-passe tem de conter, pelo menos, um símbolo"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Administração do dispositivo"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Seleccionar admins. dispos."</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Adicionar ou remover administradores do dispositivo"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> - <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Ligar Bluetooth"</string> + <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Activar Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Definições de Bluetooth"</string> <string name="bluetooth_settings_title" msgid="2824020086246268296">"Definições de Bluetooth"</string> <string name="bluetooth_settings_summary" msgid="2091062709530570462">"Gerir ligações, definir nome e detectabilidade do dispositivo"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como telefone com altifalante"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música e multimédia"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Memorizar definições"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Activar Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Definições de Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Definições de Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Configurar e gerir pontos de acesso sem fios"</string> - <string name="forget_network" msgid="4718015029995727138">"Esquecer"</string> - <string name="wifi_status" msgid="4824568012414605414">"Estado"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Velocidade"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Excelente"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Bom"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Suficiente"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Fraco"</string> - <string name="security" msgid="1040691896987225267">"Segurança"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Abrir"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Desconhecido"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"rede aberta"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"protegido por WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"protegido por WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"protegido com 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Endereço IP"</string> - <string name="signal" msgid="1947969631626413228">"Intensidade do sinal"</string> - <string name="wifi_starting" msgid="6710266609710860129">"A ligar..."</string> - <string name="wifi_stopping" msgid="5952909472548218348">"A desligar..."</string> + <string name="wifi_starting" msgid="6710266609710860129">"A activar..."</string> + <string name="wifi_stopping" msgid="5952909472548218348">"A desactivar..."</string> <string name="wifi_error" msgid="3207971103917128179">"Erro"</string> - <string name="error_starting" msgid="4055163089721254078">"Impossível iniciar Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Impossível parar Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"Não é possível procurar redes"</string> - <string name="error_connecting" msgid="1981882310590509609">"Impossível ligar à rede"</string> - <string name="error_saving" msgid="8294279443961615302">"Impossível guardar a rede"</string> - <string name="connect" msgid="3079076576295839400">"Ligar"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Ligar a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"método EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Autenticação da fase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identidade"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Identidade anónima"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certificado cliente"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"certificado CA"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Palavra-passe de ligação sem fios"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Chave WEP hexadecimal (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar palavra-passe."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Procurar"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Fora do alcance"</string> - <string name="summary_remembered" msgid="6079941090549401742">"memorizado"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"A ligação falhou; toque para tentar novamente"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Redes Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"SSID da rede"</string> - <string name="wifi_security" msgid="6603611185592956936">"Segurança"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Guardar"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(não alterado)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Adicionar rede Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"No modo de avião"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Não é possível procurar redes"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Notificação de rede"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Notificar-me quando estiver disponível uma rede aberta"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"A palavra-passe de rede que introduziu não está correcta. Tente novamente."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Ocorreu um problema ao ligar à rede. Tente novamente."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Adicionar rede Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Redes Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Procurar"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avançadas"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Definições de IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Introduza um endereço IP válido"</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utilizar IP estático"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Ligar a uma rede"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Esquecer rede"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Modificar rede"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID da rede"</string> + <string name="wifi_security" msgid="6603611185592956936">"Segurança"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Intensidade do sinal"</string> + <string name="wifi_status" msgid="4824568012414605414">"Estado"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Velocidade da ligação"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Endereço IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de rede"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Ligar a uma rede"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Esquecer rede"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Mudar palavra-passe"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"método EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Autenticação da fase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certificado CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certificado do utilizador"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identidade"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Identidade anónima"</string> + <string name="wifi_password" msgid="5948219759936151048">"Palavra-passe"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar palavra-passe."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(não alterado)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(não especificado)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Memorizado"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Desactivado"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Fora do alcance"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Seguro com <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, protegido com <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Ligar"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Esquecer"</string> + <string name="wifi_save" msgid="3331121567988522826">"Guardar"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Cancelar"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avançadas"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Domínio de regulamentação"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Definir o número de canais a utilizar"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar quando mudar de Wi-Fi para dados móveis"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Ocorreu um problema ao definir a política de suspensão."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Endereço MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"A procurar..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"A ligar a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"A autenticar com <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"A obter endereço IP de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Ligado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"A desligar de <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Desligado"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Sem sucesso"</string> - <string name="status_scanning" msgid="8402178267165567371">"A procurar..."</string> - <string name="status_connecting" msgid="1669262263707521505">"A ligar..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"A autenticar..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"A obter endereço..."</string> - <string name="status_connected" msgid="8175694029067954271">"Ligado"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"A desligar..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Desligado"</string> - <string name="status_failed" msgid="610462050405904601">"Sem sucesso"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Som e visualização"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Definições de som e visualização"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Definições de IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Introduza um endereço IP válido"</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Utilizar IP estático"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de rede"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Hotspot Wi-Fi portátil"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Hotspot portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> activo"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Erro do hotspot Wi-Fi portátil"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Definições de hotspot Wi-Fi portátil"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar e gerir hotspot Wi-Fi portátil"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Definições de hotspot Wi-Fi portátil"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar hotspot Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Hotspot Wi-Fi portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Som"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Visor"</string> <string name="sound_settings" msgid="5007659014828162881">"Definições de som"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Definir toques, notificações, brilho do ecrã"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Modo silencioso"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Todos os sons são silenciados, excepto multimédia e alarmes"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos os sons, excepto multimédia e alarmes"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos os sons estão silenciados, excepto multimédia"</string> <string name="ringtone_title" msgid="5379026328015343686">"Toque do telefone"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Definir o toque de chamada recebida predefinido"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Volume da campainha"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Definir volume para chamadas recebidas e notificações"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibração do telefone"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Vibrar telefone para chamadas recebidas"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar quando estiver em silêncio"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir vibração no modo de silêncio"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibração para chamadas e notificações"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Toque de notificação"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Definir toque de notificações predefinido"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Sinalizar luz de notificação"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Sinalizar repetidamente luz da trackball para novas notificações"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volume de chamadas recebidas"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Volume de notificações"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Toque"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Notificação"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Utilizar volume de chamadas recebidas para notificações"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Seleccionar toque de notificações"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Volume de multimédia"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Multimédia"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Definir volume para música e vídeos"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarme"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Definições de áudio para a estação de ancoragem acoplada"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Tons de toque audíveis"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Reproduzir tons ao utilizar teclado de marcação"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Selecção audível"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Reproduzir som ao efectuar selecção no ecrã"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Reproduzir som ao efectuar selecção no ecrã"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Sons de bloqueio do ecrã"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Reproduzir sons ao bloquear e desbloquear o ecrã"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Reproduzir sons ao bloquear e desbloquear o ecrã"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Comentário haptic"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrar ao premir teclas de função e em certas interacções da interface do utilizador"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrar para teclas de função e certas interacções da interface do utiliz."</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Notificações do cartão SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Reproduzir som para notificações do cartão SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Reproduzir som para notificações do cartão SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Cancelamento de ruídos"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Suprime ruídos de fundo ao falar ou gravar."</string> <string name="dock_settings" msgid="1820107306693002541">"Estação de ancoragem"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Definições da estação de ancoragem acoplada"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Estação de ancoragem não encontrada"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"O telefone tem de estar ancorado para configurar o áudio da estação de ancoragem"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Som de inserção na estação de ancoragem"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Reproduzir som ao inserir ou remover o telefone da estação de ancoragem"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Não reproduzir som ao inserir ou remover o telefone da estação de ancoragem"</string> <string name="sync_settings" msgid="9186125469300013491">"Contas e sincronização"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Adicionar ou remover contas e alterar definições de contas"</string> <string name="search_settings" msgid="1910951467596035063">"Pesquisar"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animação"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Mostrar animação ao abrir e fechar janelas"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Mostrar animação ao abrir e fechar janelas"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientação"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Rodar ecrã automaticamente"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Mudar orientação automaticamente ao rodar o telefone"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Mudar orientação automaticamente ao rodar o telefone"</string> <string name="brightness" msgid="2354961343555249270">"Brilho"</string> @@ -468,13 +481,13 @@ <string name="sim_pins_dont_match" msgid="4664611595579163214">"Os PINs não correspondem!"</string> <string name="sim_change_failed" msgid="4823538458798362222">"Impossível mudar PIN."\n"PIN possivelmente incorrecto."</string> <string name="sim_change_succeeded" msgid="8556135413096489627">"PIN do SIM mudado com sucesso"</string> - <string name="sim_lock_failed" msgid="6676748290838006404">"Impossível alterar estado de bloqueio do cartão SIM."\n"PIN possivelmente incorrecto."</string> + <string name="sim_lock_failed" msgid="6676748290838006404">"Impossível mudar estado de bloqueio do cartão SIM."\n"PIN possivelmente incorrecto."</string> <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string> <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string> <string name="device_info_settings" msgid="475872867864762157">"Estado do telefone"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualizações do sistema"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Verificar actualizações do sistema"</string> - <string name="firmware_version" msgid="6284872163051667788">"Versão de firmware"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Versão do Android"</string> <string name="model_number" msgid="3765737700545384794">"Modelo"</string> <string name="baseband_version" msgid="1848990160763524801">"Versão de banda base"</string> <string name="kernel_version" msgid="9192574954196167602">"Versão do kernel"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Espaço total"</string> <string name="sd_eject" msgid="6915293408836853020">"Desmontar cartão SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Desmontar o cartão SD para remoção segura"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Inserir cartão SD para instalação"</string> + <string name="sd_mount" msgid="5940523765187704135">"Instalar cartão SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Instalar cartão SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formatar cartão SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formatar (apagar) o cartão SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Indisponível"</string> <string name="read_only" msgid="6702420168629076340">" (Só de leitura)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desmontar cartão SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Se desmontar o cartão SD, algumas aplicações que estiver a utilizar serão paradas e poderão ficar indisponíveis até voltar a montar o cartão SD."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Falha ao desmontar o cartão SD"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Não é possível desmontar o cartão SD. Tente novamente mais tarde."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"O cartão SD será desmontado. Verifique o estado na área de notificação."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"A desmontar"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Desmontagem em curso"</string> <string name="battery_status_title" msgid="9159414319574976203">"Estado da bateria"</string> <string name="battery_level_title" msgid="2965679202786873272">"Nível da bateria"</string> <string name="apn_settings" msgid="3743170484827528406">"APNs"</string> @@ -565,6 +588,20 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Tem de efectuar o padrão de desbloqueio para confirmar a formatação de um cartão SD."</string> <string name="call_settings_title" msgid="5188713413939232801">"Definições de chamadas"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Configurar correio de voz, reencaminhamento de chamadas, chamada em espera, ID do autor da chamada"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Ligação ponto a ponto"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Hotspot portátil"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Ligação ponto a ponto e hotspot portátil"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Partilhar a ligação móvel de dados do seu telefone por USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Partilhar a ligação móvel do seu telefone como um hotspot Wi-Fi portátil"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Partilhar a ligação móvel de dados do seu telefone por USB como um hotspot Wi-Fi portátil"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Associação USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Ligado via USB; confirme para associar"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Associada"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Não é possível associar quando o armazenamento USB está a ser utilizado"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB não ligado"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erro na associação USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Ajuda"</string> <string name="network_settings_title" msgid="7967552516440151852">"Redes móveis"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Definir opções de roaming, redes, APNs"</string> <string name="location_title" msgid="1029961368397484576">"A minha localização"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Utilizar GPS assistido"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar o servidor para auxiliar o GPS (desmarque esta opção para reduzir a utilização da rede)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Utilizar o servidor para auxiliar o GPS (desmarque esta opção para melhorar o desempenho do GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Utilizar A minha localização"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Utilizar A minha localização para resultados de pesquisa do Google e outros serviços Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Pretende permitir que o Google utilize a localização para resultados de pesquisa melhorados e outros serviços?"</string> - <string name="agree" msgid="6288718671527758326">"Concordo"</string> - <string name="disagree" msgid="6221069272309799230">"Discordar"</string> <string name="about_settings" msgid="1743378368185371685">"Acerca do telefone"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Ver informações jurídicas, estado do telefone, versão de software"</string> <string name="legal_information" msgid="5769301644270604095">"Informações legais"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Informações de segurança"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"O seu telefone não se encontra ligado a um serviço de dados. Para ver esta informação agora, aceda a %s a partir de qualquer computador ligado à Internet."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"A carregar..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Padrão de desbloqueio do ecrã"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Escolher palavra-passe"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Escolha o PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Confirmar palavra-passe"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Confirmar PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"As palavras-passe não correspondem"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Os PINs não correspondem"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"A palavra-passe foi definida"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"O PIN foi definido"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"O padrão foi definido"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Desbloqueio do ecrã"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Mudar padrão de desbloqueio"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Alterar PIN de desbloqueio"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Confirmar padrão guardado"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Lamentamos, tente novamente:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Desenhar um padrão de desbloqueio"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Gerir aplicações, configurar atalhos de iniciação rápida"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Definições da aplicação"</string> <string name="install_applications" msgid="4872012136210802181">"Fontes desconhecidas"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Permitir instalação de aplicações não Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Permitir instalação de aplicações não Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"O seu telefone e dados pessoais estão mais vulneráveis a ataques por aplicações de fontes desconhecidas. O utilizador reconhece ser o único responsável por danos no telefone ou perda de dados que possam resultar da utilização destas aplicações."</string> <string name="application_info_label" msgid="1150486628158409543">"Informações da aplicação"</string> <string name="storage_label" msgid="8700867073480107253">"Armazenamento"</string> @@ -653,7 +695,7 @@ <string name="clear_user_data_text" msgid="5597622864770098388">"Limpar dados"</string> <string name="app_factory_reset" msgid="6635744722502563022">"Desinstalar actualizações"</string> <string name="auto_launch_enable_text" msgid="2630656657744196691">"Optou por iniciar esta aplicação por predefinição para algumas acções."</string> - <string name="auto_launch_disable_text" msgid="7800385822185540166">"Nenhuma predefinição definida."</string> + <string name="auto_launch_disable_text" msgid="7800385822185540166">"Nenhuma predefinição estabelecida."</string> <string name="clear_activities" msgid="7408923511535174430">"Limpar predefinições"</string> <string name="unknown" msgid="1592123443519355854">"Desconhecido"</string> <string name="sort_order_alpha" msgid="8622029358896599842">"Ordenar"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Todas"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Transferidas"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Em execução"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"No cartão SD"</string> <string name="loading" msgid="3200408047793887917">"A carregar..."</string> <string name="recompute_size" msgid="7722567982831691718">"A recalcular tamanho..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Eliminar"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Impossível calcular tamanho do pacote"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Não tem nenhuma aplicação de terceiros instalada."</string> <string name="version_text" msgid="9189073826278676425">"versão <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Mover"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Mover para o telefone"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover para cartão SD"</string> + <string name="moving" msgid="6431016143218876491">"A mover"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Não existe armazenamento suficiente restante."</string> + <string name="does_not_exist" msgid="837163572898468245">"A aplicação não existe."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"A aplicação está protegida contra cópia."</string> + <string name="invalid_location" msgid="4934491353200240499">"A localização de instalação especificada não é válida."</string> + <string name="system_package" msgid="1030561474413022831">"Não é possível instalar actualizações do sistema em suportes de dados externos."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forçar paragem"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Esta aplicação será reiniciada imediatamente. Tem a certeza de que pretende forçar a paragem?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicação"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Falha ao mover a aplicação. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Localização de instalação preferida"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Alterar a localização de instalação preferida para novas aplicações."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Serviços em execução"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Ver e controlar os serviços actualmente em execução"</string> <string name="service_restarting" msgid="2242747937372354306">"A reiniciar"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Definir opções de região (idioma e região), entrada de texto e correcção automática"</string> <string name="language_category" msgid="3391756582724541530">"Definição de região"</string> <string name="text_category" msgid="6342540511465136739">"Definições de texto"</string> - <string name="phone_language" msgid="2138384312336494991">"Seleccionar região"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Seleccionar idioma e região"</string> + <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Substituir automaticamente"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Corrigir erros ortográficos"</string> <string name="auto_caps" msgid="581633131114124121">"Maiúsculas automáticas"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Este método de entrada pode permitir a recolha de todo o texto que introduzir, incluindo dados pessoais como, por exemplo, palavras-passe e números de cartão de crédito. O serviço é fornecido com a aplicação <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Utilizar este método de entrada?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dicionário do utilizador"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Dicionário do utilizador"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Adicionar e remover palavras do dicionário do utilizador"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Adicionar"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Adicionar ao dicionário"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar palavra"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Nenhum serviço de acessibilidade instalado."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este serviço de acessibilidade pode captar todo o texto que escrever, incluindo dados pessoais e números de cartões de crédito, com excepção de palavras-passe. Também pode registar as interacções com a interface do utilizador. O serviço é fornecido com a aplicação <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Utilizar este serviço de acessibilidade?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Desactivar acessibilidade?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Não foram encontradas aplicações relacionadas com acessibilidade"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Não tem nenhuma aplicação relacionada com acessibilidade instalada."\n\n"Pode transferir um leitor de ecrã para o dispositivo a partir do Android Market."\n\n"Clique em OK para instalar o leitor de ecrã."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Botão de ligar/desligar"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"O botão de ligar/desligar termina a chamada"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Durante uma chamada, premir o botão de ligar/desligar termina a chamada em vez de desligar o ecrã"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilização da bateria"</string> <string name="power_usage_summary" msgid="7237084831082848168">"O que tem estado a utilizar a bateria"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Bateria utilizada desde que foi desligado"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Actualizar"</string> <string name="process_kernel_label" msgid="3916858646836739323">"SO Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string> - <string name="tts_settings" msgid="3348626948015962987">"Texto para voz"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Definir opções de texto para voz"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Entrada e saída de voz"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Definições de entrada e saída de voz"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Pesquisa de voz"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Teclado do Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Entrada de voz"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Saída de voz"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Reconhecimento de voz"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Definições de reconhecimento de voz"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Definições para \"<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\""</string> + <string name="tts_settings" msgid="8186971894801348327">"Definições de texto para voz"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Definições de texto para voz"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Utilizar sempre as minhas definições"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"As predefinições abaixo substituem as definições da aplicação"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Predefinições"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Motor predefinido"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Define o motor de síntese de discurso para ser utilizado para texto falado"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Taxa de voz"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidade a que o texto é falado"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tonalidade"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"As vozes necessárias para a síntese de voz já estão instaladas correctamente"</string> <string name="tts_demo" msgid="405357591189935876">"Exemplo de síntese de voz."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"As suas definições foram alteradas. Segue-se um exemplo do respectivo som."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Não é possível executar o motor seleccionado"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Configurar"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Seleccionar outro motor"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Este motor de síntese de discurso pode permitir a recolha de todo o texto que será falado, incluindo dados pessoais, como palavras-passe e números de cartão de crédito. O serviço é fornecido com o motor <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Permitir a utilização deste motor de síntese de discurso?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Motores"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Definições de <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> está activado"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> está desactivado"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Idiomas e vozes"</string> + <string name="pico_installed" msgid="2452546687858267414">"Instalado"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Não instalada"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Feminino"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Masculino"</string> <string name="gadget_title" msgid="7455548605888590466">"Controlo de Energia"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Actualizar definição de Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Actualizar a definição do Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Instalador de credenciais"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Definições da VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Ligar a <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nome de utilizador:"</string> @@ -922,8 +1007,8 @@ <string name="vpn_disconnecting" msgid="7748050200708257066">"A desligar..."</string> <string name="vpn_connected" msgid="7641723116362845781">"Ligado"</string> <string name="vpn_connect_hint" msgid="7442898962925875181">"Ligar a uma rede"</string> - <string name="vpn_name" msgid="1550918148476193076">"Nome VPN"</string> - <string name="vpn_a_name" msgid="8445736942405283509">"um nome VPN"</string> + <string name="vpn_name" msgid="1550918148476193076">"Nome de VPN"</string> + <string name="vpn_a_name" msgid="8445736942405283509">"um nome de VPN"</string> <string name="vpn_profile_added" msgid="9061017910337129840">"\"<xliff:g id="NAME">%s</xliff:g>\" foi adicionado"</string> <string name="vpn_profile_replaced" msgid="587435576816273815">"Foram efectuadas alterações a \"<xliff:g id="NAME">%s</xliff:g>\""</string> <string name="vpn_user_certificate_title" msgid="6812545893924071742">"Definir certificado do utilizador"</string> @@ -943,15 +1028,15 @@ <string name="vpn_vpn_server_title" msgid="8897005887420358913">"Definir servidor VPN"</string> <string name="vpn_vpn_server" msgid="1141754908824209260">"servidor VPN"</string> <string name="vpn_a_vpn_server" msgid="5960906152125045853">"um servidor VPN"</string> - <string name="vpn_vpn_server_dialog_title" msgid="7850850940160521918">"nome de servidor VPN"</string> - <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"domínios de pesquisa de DNS"</string> - <string name="vpn_dns_search_list" msgid="4230034234026605360">"domínios de pesquisa de DNS"</string> + <string name="vpn_vpn_server_dialog_title" msgid="7850850940160521918">"nome do servidor VPN"</string> + <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"Domínios de pesquisa DNS"</string> + <string name="vpn_dns_search_list" msgid="4230034234026605360">"Domínios de pesquisa DNS"</string> <string name="vpn_field_is_set" msgid="7137320847812992243">"<xliff:g id="VALUE">%s</xliff:g> está definido"</string> <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> não definido"</string> <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"<xliff:g id="VALUE">%s</xliff:g> não definido (opcional)"</string> <string name="vpn_enable_field" msgid="3700967675854517191">"Activar <xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_disable_field" msgid="6905658811179634005">"Desactivar <xliff:g id="OPTION">%s</xliff:g>"</string> - <string name="vpn_is_enabled" msgid="1266304230417098877">"<xliff:g id="OPTION">%s</xliff:g> está activada"</string> + <string name="vpn_is_enabled" msgid="1266304230417098877">"<xliff:g id="OPTION">%s</xliff:g> está activado"</string> <string name="vpn_is_disabled" msgid="2013622485867806167">"<xliff:g id="OPTION">%s</xliff:g> está desactivado"</string> <string name="vpn_settings_title" msgid="7327468307909556719">"Definições VPN"</string> <string name="vpn_settings_summary" msgid="8849924181594963972">"Configurar e gerir VPNs (Redes Privadas Virtuais)"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Definir o comportamento quando é efectuada uma chamada de emergência"</string> <string name="privacy_settings" msgid="9206631214140954954">"Privacidade"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Definições de privacidade"</string> - <string name="location_section_title" msgid="6072558684044939786">"Localização"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Definições"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Dados pessoais"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Efectuar uma cópia de segurança das minhas definições"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Cópia de segurança das definições"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Tem a certeza de que pretende parar a cópia de segurança das suas definições e apagar todas as cópias nos servidores da Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Restauro automático"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Cópia de segurança"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Tem a certeza de que pretende parar a cópia de segurança das definições e dos dados da aplicação e apagar todas as cópias nos servidores da Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Definições de administração do dispositivo"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador do dispositivo"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Desactivar"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Administradores do dispositivo"</string> + <string name="no_device_admins" msgid="702695100241728775">"Não existem administradores do dispositivo disponíveis"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Activar administrador do dispositivo?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Activar"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Administrador do dispositivo"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"A activação deste administrador permitirá à aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> efectuar as seguintes operações:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Este administrador está activo e permite à aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> efectuar as seguintes operações:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Sem título"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Geral"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Chamadas recebidas"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificações"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Comentários"</string> </resources> diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml index adea28c..103d73a 100644 --- a/res/values-pt/arrays.xml +++ b/res/values-pt/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italiano"</item> <item msgid="5811378076054402537">"Espanhol"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automático"</item> - <item msgid="5434666299123318296">"Nenhum"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Nenhum"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automático"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP hexadecimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Verificando…"</item> + <item msgid="8513729475867537913">"Conectando..."</item> + <item msgid="515055375277271756">"Autenticando..."</item> + <item msgid="1943354004029184381">"Obtendo endereço IP…"</item> + <item msgid="4221763391123233270">"Conectado"</item> + <item msgid="624838831631122137">"Suspenso"</item> + <item msgid="7979680559596111948">"Desconectando…"</item> + <item msgid="1634960474403853625">"Desconectado"</item> + <item msgid="746097431216080650">"Falha"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Verificando…"</item> + <item msgid="355508996603873860">"Conectando-se a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="554971459996405634">"Autenticando com a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"Obtendo endereço IP da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="8937994881315223448">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Suspenso"</item> + <item msgid="7698638434317271902">"Desconectando da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Desconectado"</item> + <item msgid="8578370891960825148">"Falha"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Aberta"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Ruim"</item> + <item msgid="5615082285463430971">"Bom"</item> + <item msgid="3565079809875324621">"Bom"</item> + <item msgid="5702329417707689835">"Excelente"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Quando a tela é desativada"</item> @@ -111,7 +139,7 @@ <item msgid="7182812872984827322">"TTLS"</item> </string-array> <string-array name="wifi_phase2_entries"> - <item msgid="1818786254010764570">"Nenhuma"</item> + <item msgid="1818786254010764570">"Nenhum"</item> <item msgid="6189918678874123056">"PAP"</item> <item msgid="1524112260493662517">"MSCHAP"</item> <item msgid="5923246669412752932">"MSCHAPV2"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP ou CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Armazenamento do dispositivo interno"</item> + <item msgid="3738430123799803530">"Cartão SD removível"</item> + <item msgid="4498124044785815005">"Deixar o sistema decidir"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Sempre"</item> + <item msgid="6293147072807231256">"Nunca"</item> + <item msgid="1276641209451816572">"Somente no modo silencioso"</item> + <item msgid="8418930333779132418">"Somente quando não está no modo silencioso"</item> + </string-array> </resources> diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 236d398..66fe599 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Sim"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Desconhecido"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Ativar o rádio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Desativar o rádio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Ativar registro do SD QXDM"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Desativar registro do SD QXDM"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Visualizar o catálogo de endereços do SIM"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visualizar números de chamada fixa"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualizar números de chamada de serviço"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obter a lista PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Ativar conexão de dados"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Desativar conexão de dados"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Ativar dados na inicialização"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Desativar dados na inicialização"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"Em serviço"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Fora de serviço"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Apenas chamadas de emergência"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Detectável"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Detectável por <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> segundos…"</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Tornar o dispositivo detectável"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Bloquear discagem por voz"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Impedir o uso do discador Bluetooth quando a tela estiver bloqueada."</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Dispositivos Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Nome do dispositivo"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Não há nenhum nome definido. Usando o nome da conta."</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Desconectado"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Desconectando…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Conectando..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Parear com este dispositivo"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Pareando…"</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Pareado, mas não conectado"</string> @@ -145,7 +141,7 @@ <string name="proxy_error_empty_port" msgid="3525734169948795417">"Você deve completar o campo de porta."</string> <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"O campo da porta deverá estar vazio se o campo do host estiver vazio."</string> <string name="proxy_error_invalid_port" msgid="1816315605424943626">"A porta digitada não é válida."</string> - <string name="radio_info_signal_location_label" msgid="16475158265551708">"Local:"</string> + <string name="radio_info_signal_location_label" msgid="16475158265551708">"Localização:"</string> <string name="radio_info_neighboring_location_label" msgid="2385625674055934880">"CID vizinho:"</string> <string name="radio_info_data_attempts_label" msgid="1731106244577323381">"Tentativas de dados:"</string> <string name="radio_info_gprs_service_label" msgid="2331818110375395364">"Serviço GPRS:"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Aplicar ping em IpAddr:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Aplicar ping no nome do host (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Teste do Cliente HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Ativar/desativar criptografia"</string> <string name="ping_test_label" msgid="7255376471490860631">"Executar teste de ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Atualizar"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Atualizar"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Ativar/desativar verificação de DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Informações/configurações específicas de OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Definir frequência GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Carregando a lista de frequências…"</string> <string name="band_mode_set" msgid="5730560180249458484">"Definir"</string> @@ -206,7 +202,7 @@ <string name="cancel" msgid="6859253417269739139">"Cancelar"</string> <string name="settings_label" msgid="1626402585530130914">"Configurações"</string> <string name="settings_shortcut" msgid="3672145147925639262">"Configurações"</string> - <string name="airplane_mode" msgid="8837269988154128601">"Modo avião"</string> + <string name="airplane_mode" msgid="8837269988154128601">"Modo para avião"</string> <string name="airplane_mode_summary" msgid="3154817401368780988">"Desativar todas as conexões sem fio"</string> <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Desativando as conexões sem fio…"</string> <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Ativando conexões sem fio…"</string> @@ -239,10 +235,47 @@ <string name="security_settings_summary" msgid="967393342537986570">"Definir Meu local, desbloqueio de tela, bloqueio do SIM e do armazenamento de credenciais"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Definir o Meu local, o desbloqueio de tela, o bloqueio do armazenamento de credenciais"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Senhas"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Segurança do desbloqueio da tela"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Configurar bloqueio de tela"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Bloquear a tela com um padrão, PIN ou senha"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Alterar bloqueio de tela"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Alterar ou desativar o padrão, o PIN ou a segurança da senha"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Nenhum"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Desativar o bloqueio de tela"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Padrão"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Defina o padrão para desbloquear a tela"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Insira um PIN numérico para desbloquear a tela"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Senha"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Digite uma senha para desbloquear a tela"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Desativado pelo administrador remoto do telefone"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Desativar o bloqueio da tela"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Remover padrão de desbloqueio"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Remover PIN de desbloqueio"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Remover senha de desbloqueio"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Alterar padrão de desbloqueio"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Alterar PIN de desbloqueio"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Alterar senha de desbloqueio"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"A senha deve ter no mínimo %d caracteres"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"O PIN deve ter no mínimo %d caracteres."</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Pressione Continuar quando terminar"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Continuar"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"O PIN não pode ter mais do que %d dígitos"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"O PIN não pode ter mais do que %d dígitos"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"O PIN precisa conter apenas dígitos de 0 a 9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"A senha contém um caractere ilegal"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"A senha precisa ter no mínimo uma letra."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"A senha precisa ter no mínimo um dígito."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"A senha precisa ter no mínimo um símbolo."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Administração do dispositivo"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Selecionar administradores"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Adicionar ou remover administradores do dispositivo"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Ativar Bluetooth"</string> - <string name="bluetooth_settings" msgid="2725796451253089609">"Configurações de Bluetooth"</string> - <string name="bluetooth_settings_title" msgid="2824020086246268296">"Configurações de Bluetooth"</string> + <string name="bluetooth_settings" msgid="2725796451253089609">"Conf. de Bluetooth"</string> + <string name="bluetooth_settings_title" msgid="2824020086246268296">"Conf. de Bluetooth"</string> <string name="bluetooth_settings_summary" msgid="2091062709530570462">"Gerenciar conexões, definir o nome e detecção do dispositivo"</string> <string name="bluetooth_pairing_request" msgid="6385750334766370310">"Solicitação de pareamento Bluetooth"</string> <string name="bluetooth_device_info" msgid="6644515376523965073">"Informações do dispositivo Bluetooth"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como viva-voz"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música e mídia"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Lembrar configurações"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Ativar Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Configurações de Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Configurações de Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Configurar e gerenciar pontos de acesso sem fio"</string> - <string name="forget_network" msgid="4718015029995727138">"Esquecer"</string> - <string name="wifi_status" msgid="4824568012414605414">"Status"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Velocidade"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Excelente"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Bom"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Bom"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Ruim"</string> - <string name="security" msgid="1040691896987225267">"Segurança"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Aberta"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Desconhecido"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"rede aberta"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"protegido por WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"protegido com WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"protegido com 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"Endereço IP"</string> - <string name="signal" msgid="1947969631626413228">"Potência do sinal"</string> <string name="wifi_starting" msgid="6710266609710860129">"Ativando…"</string> <string name="wifi_stopping" msgid="5952909472548218348">"Desativando…"</string> <string name="wifi_error" msgid="3207971103917128179">"Erro"</string> - <string name="error_starting" msgid="4055163089721254078">"Não é possível iniciar o Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Não é possível parar o Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"Não é possível verificar a existência de redes"</string> - <string name="error_connecting" msgid="1981882310590509609">"Não é possível se conectar à rede."</string> - <string name="error_saving" msgid="8294279443961615302">"Não é possível salvar a rede"</string> - <string name="connect" msgid="3079076576295839400">"Conectar"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Conectar-se a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Método EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Autenticação da Fase 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identidade"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Identidade anônima"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Certificado do cliente"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Certificado de CA"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Senha sem fio"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Chave hexadecimal WEP (0 a 9, A a F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar senha."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Verificar"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Não está dentro do alcance"</string> - <string name="summary_remembered" msgid="6079941090549401742">"lembrado"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Falha na conexão. Toque para tentar novamente"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Redes Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"SSID da rede"</string> - <string name="wifi_security" msgid="6603611185592956936">"Segurança"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Salvar"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(não alterado)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Adicionar rede Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"No modo para avião"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Não é possível verificar a existência de redes"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Notificação de rede"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Receber notificação quando uma rede aberta estiver disponível"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"A senha da rede digitada não está correta. Tente novamente."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Há um problema na conexão com a rede. Tente novamente."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Adicionar rede Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Redes Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Verificar"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avançado"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Configurações de IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Salvar"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Digite um endereço IP válido."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Usar IP estático"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Conectar-se à rede"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Esquecer a rede"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Modificar rede"</string> + <string name="wifi_ssid" msgid="641393708309146745">"SSID da rede"</string> + <string name="wifi_security" msgid="6603611185592956936">"Segurança"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Potência do sinal"</string> + <string name="wifi_status" msgid="4824568012414605414">"Status"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Velocidade do link"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"Endereço IP"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de rede"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Conectar-se à rede"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Esquecer a rede"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Alterar senha"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Método EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Autenticação da Fase 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Certificado CA"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Certificado do usuário"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identidade"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Identidade anônima"</string> + <string name="wifi_password" msgid="5948219759936151048">"Senha"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Mostrar senha."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(não alterado)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(não especificado)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Lembrado"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Desativado"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Não está dentro do alcance"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Protegido por <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, protegido por <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Conectar"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Esquecer"</string> + <string name="wifi_save" msgid="3331121567988522826">"Salvar"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Cancelar"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avançado"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Domínio regulatório"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Definir o número de canais a serem usados"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar quando alternar de Wi-Fi para dados móveis"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Houve um problema ao configurar a política de inatividade"</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Endereço MAC"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Verificando…"</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Conectando-se a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Autenticando com a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Obtendo endereço IP da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Desconectando da <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Desconectado"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Falha"</string> - <string name="status_scanning" msgid="8402178267165567371">"Verificando…"</string> - <string name="status_connecting" msgid="1669262263707521505">"Conectando..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Autenticando..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Obtendo o endereço…"</string> - <string name="status_connected" msgid="8175694029067954271">"Conectado"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Desconectando…"</string> - <string name="status_disconnected" msgid="7561688569905126046">"Desconectado"</string> - <string name="status_failed" msgid="610462050405904601">"Falha"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Som e tela"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Configurações de som e tela"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Configurações de IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Salvar"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Digite um endereço IP válido."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Usar IP estático"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Máscara de rede"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Ponto de acesso Wi-Fi portátil"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Ponto de acesso portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> ativo"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Erro de ponto de acesso Wi-Fi portátil"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Configurações de ponto de acesso Wi-Fi portátil"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Configurar e gerenciar ponto de acesso Wi-Fi portátil"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Configurações do ponto de acesso Wi-Fi portátil"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Configurar ponto de acesso Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"ponto de acesso Wi-Fi portátil <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Ponto de acesso Android"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Som"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Tela"</string> <string name="sound_settings" msgid="5007659014828162881">"Configurações de som"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Definir toques, notificações, brilho da tela"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Modo silencioso"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Todos os sons, exceto de mídia e alarmes, são silenciados."</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos os sons, exceto a mídia e os alarmes."</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos os sons, exceto de mídia, estão silenciados"</string> <string name="ringtone_title" msgid="5379026328015343686">"Toque do telefone"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Definir o seu toque padrão para chamada recebida"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volume"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Volume da campainha"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Definir volume para chamadas recebidas e notificações"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Vibrar telefone"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Vibrar o telefone para chamadas recebidas"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrar no modo silencioso"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Permitir comentário com vibração no modo silencioso"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrar"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibração para chamadas e notificações"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Toque de notificação"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Definir o seu toque de notificação padrão"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Pulsar luz de notificação"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Pulsar luz do trackball repetidamente para novas notificações"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volume da chamada recebida"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Volume da notificação"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Toque"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Notificação"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Usar volume de chamada recebida para notificações"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Selecionar toque de notificação"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Volume da mídia"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Mídia"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Definir o volume para música e vídeos"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarme"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Configurações de áudio para dock anexo"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Sons de toque audíveis"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Reproduzir sons ao usar o teclado"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Seleção audível"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Reproduzir som ao fazer uma seleção de tela"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Reproduzir som ao fazer uma seleção de tela"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Sons de bloqueio de tela"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Reproduzir sons ao bloquear e desbloquear a tela."</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Reproduzir sons ao bloquear e desbloquear a tela."</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Retorno com vibração"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrar ao pressionar teclas e em algumas interações com a interface"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrar ao pressionar teclas e em algumas interações com a interface de usuário"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Notificações do cartão SD"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Reproduzir som para notificações do cartão SD"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Reproduzir som para notificações do cartão SD"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Cancelamento dos ruídos"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Diminuir o ruído de fundo quando falar ou gravar."</string> <string name="dock_settings" msgid="1820107306693002541">"Dock"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Configurações para o dock anexo"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Dock não encontrado"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"O telefone deve estar encaixado para configurar o áudio do dock"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Som de inserção no dock"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Reproduzir sons ao inserir ou remover o telefone do dock."</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Não reproduzir sons ao inserir ou remover o telefone do dock."</string> <string name="sync_settings" msgid="9186125469300013491">"Contas e sincronização"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Adicionar ou remover contas e alterar as configurações da conta"</string> <string name="search_settings" msgid="1910951467596035063">"Pesquisar"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animação"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Mostrar animação ao abrir e fechar janelas"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Mostrar animação ao abrir e fechar janelas"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Orientação"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Girar tela autom."</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Alternar orientação automaticamente ao girar o telefone"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Alternar orientação automaticamente ao girar o telefone"</string> <string name="brightness" msgid="2354961343555249270">"Brilho"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Cancelar"</string> <string name="device_info_settings" msgid="475872867864762157">"Status do telefone"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Atualizações do sistema"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Procurar atualizações do sistema"</string> - <string name="firmware_version" msgid="6284872163051667788">"Versão do firmware"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Versão do Android"</string> <string name="model_number" msgid="3765737700545384794">"Número do modelo"</string> <string name="baseband_version" msgid="1848990160763524801">"Versão da banda de base"</string> <string name="kernel_version" msgid="9192574954196167602">"Versão do kernel"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Espaço total"</string> <string name="sd_eject" msgid="6915293408836853020">"Desmontar cartão SD"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Desmontar o cartão SD para remoção segura"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Insira um cartão SD para conexão"</string> + <string name="sd_mount" msgid="5940523765187704135">"Conectar cartão SD"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Conectar o cartão SD"</string> <string name="sd_format" msgid="5448738337382712203">"Formatar cartão SD"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formatar (apagar) o cartão SD"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Não disponível"</string> <string name="read_only" msgid="6702420168629076340">" (Somente leitura)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desconectar cartão SD"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Se você desconectar o cartão SD, alguns aplicativos que estão em uso serão interrompidos e podem não estar disponíveis até você conectar o cartão SD novamente."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Falha ao desconectar cartão SD"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Não é possível desconectar o cartão SD. Tente novamente mais tarde."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"O cartão SD será desconectado. Verifique a área de notificação para saber o status."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Desconectando"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Desconexão em andamento"</string> <string name="battery_status_title" msgid="9159414319574976203">"Status da bateria"</string> <string name="battery_level_title" msgid="2965679202786873272">"Nível da bateria"</string> <string name="apn_settings" msgid="3743170484827528406">"APNs"</string> @@ -548,9 +571,9 @@ <string name="restore_default_apn_completed" msgid="3990449939234957281">"Redefinição das configurações padrão do APN concluída"</string> <string name="master_clear_title" msgid="5907939616087039756">"Configuração original"</string> <string name="master_clear_summary" msgid="4986154238001088492">"Apaga todos os dados no telefone"</string> - <string name="master_clear_desc" msgid="7823268823499739178">"Todos os dados do seu telefone serão apagados, incluindo:"\n<li>"Sua Conta do Google"</li>\n<li>"Configurações e dados de aplicativos e do sistema"</li>\n<li>"Aplicativos que você fez download"</li>\n"Não serão apagados:"\n<li>"Aplicativos fornecidos com o telefone e o software atual do sistema"</li>\n<li>"Arquivos do cartão SD, como música ou fotos"</li></string> + <string name="master_clear_desc" msgid="7823268823499739178">"Todos os dados do seu telefone serão apagados, incluindo:"\n<li>"Sua conta do Google"</li>\n<li>"Configurações e dados de aplicativos e do sistema"</li>\n<li>"Aplicativos que você fez download"</li>\n"Não serão apagados:"\n<li>"Aplicativos fornecidos e o software atual do sistema"</li>\n<li>"Arquivos do cartão SD, como música ou fotos"</li></string> <string name="master_clear_button_text" msgid="7550632653343157971">"Redefinir telefone"</string> - <string name="master_clear_final_desc" msgid="6917971132484622696">"Apagar todas as informações pessoais e os aplicativos que você fez download? É impossível reverter essa ação."</string> + <string name="master_clear_final_desc" msgid="6917971132484622696">"Apagar todas as informações pessoais e os aplicativos dos quais você fez download? É impossível reverter essa ação."</string> <string name="master_clear_final_button_text" msgid="5390908019019242910">"Apagar tudo"</string> <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Desenhe o seu padrão de desbloqueio"</string> <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Você precisa desenhar o seu padrão de desbloqueio para confirmar uma redefinição de telefone."</string> @@ -565,6 +588,20 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Você deve desenhar o seu padrão de desbloqueio para confirmar a formatação de um cartão SD."</string> <string name="call_settings_title" msgid="5188713413939232801">"Conf. de chamada"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Configurar correio voz, encaminhamento, espera etc."</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Vínculo"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Ponto de acesso portátil"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Vínculo e ponto de acesso portátil"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Compartilhar a conexão de dados móveis do seu telefone via USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Compartilhar a conexão de dados móveis do seu telefone como um ponto de acesso Wi-Fi portátil"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Compartilhar a conexão de dados móveis do seu telefone via USB ou como ponto de acesso Wi-Fi"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"Vínculo USB"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB conectado, marque para vincular"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Vinculado"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Não é possível vincular quando o armazenamento USB estiver em uso"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB não conectado"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erro de vínculo de USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Ajuda"</string> <string name="network_settings_title" msgid="7967552516440151852">"Redes móveis"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Definir opções para roaming, redes, APNs"</string> <string name="location_title" msgid="1029961368397484576">"Meu Local"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Usar GPS associado"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Usar servidor para auxiliar GPS (desmarque para reduzir o uso da rede)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Usar servidor para auxiliar GPS (desmarque para aprimorar o desempenho do GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Usar Meu Local"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Usar Meu local para os resultados da pesquisa do Google e outros serviços do Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Deseja permitir que o Google use o local para resultados de pesquisa aprimorados e outros serviços?"</string> - <string name="agree" msgid="6288718671527758326">"Concordo"</string> - <string name="disagree" msgid="6221069272309799230">"Não concordo"</string> <string name="about_settings" msgid="1743378368185371685">"Sobre o telefone"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Ver informações legais, status do telefone, versão do software"</string> <string name="legal_information" msgid="5769301644270604095">"Informações legais"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Informações de segurança"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"O telefone não está conectado ao serviço de dados. Para visualizar estas informações agora, acesse %s em qualquer computador conectado à internet."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Carregando..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Padrão de desbloqueio da tela"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Escolha a sua senha"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Escolha o seu PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Confirme a sua senha"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Confirme o seu PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"As senhas não correspondem"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"Os PINs não correspondem"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"A senha foi definida"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"O PIN foi definido"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"O padrão foi definido"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Desbloqueio de tela"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Alterar padrão de desbloqueio"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Alterar PIN de desbloqueio"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Confirmar padrão salvo"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Tente novamente:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Desenhe um padrão de desbloqueio"</string> @@ -617,7 +659,7 @@ <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Exigir padrão"</string> <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"É necessário desenhar o padrão para desbloquear a tela"</string> <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Usar padrão visível"</string> - <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Usar feedback táctil"</string> + <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Usar retorno táctil"</string> <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Padrão de desbloqueio"</string> <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Alterar padrão"</string> <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"Como desenhar um padrão de desbloqueio"</string> @@ -625,7 +667,7 @@ <string name="lockpattern_too_many_failed_confirmation_attempts_footer" msgid="6759029360597122873">"Tente novamente em <xliff:g id="NUMBER">%d</xliff:g> segundos."</string> <string name="skip_button_label" msgid="8680422740354436943">"Cancelar"</string> <string name="next_button_label" msgid="8890792540116568321">"Avançar"</string> - <string name="lock_title" msgid="4059246467204273930">"Protegendo o seu telefone"</string> + <string name="lock_title" msgid="4059246467204273930">"Proteção do seu telefone"</string> <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Proteja o seu telefone contra o uso não autorizado criando um padrão de desbloqueio de tela personalizado. "\n<font height="17">\n</font><b>"1"</b>" Na próxima tela, observe enquanto um exemplo de padrão é desenhado. "\n<font height="17">\n</font><b>"2"</b>" Quando estiver pronto, desenhe o seu próprio padrão de desbloqueio pessoal. Experimente padrões diferentes, mas conecte no mínimo quatro pontos. "\n<font height="17">\n</font><b>"3"</b>" Desenhe novamente o seu padrão para confirmar. "\n<font height="17">\n</font><b>"Pronto para começar? Toque em “Avançar”"</b>". "\n<font height="3">\n</font>"Para deixar o seu telefone sem proteção, toque em “Cancelar”."</font></string> <string name="lock_example_title" msgid="8052305554017485410">"Exemplo de padrão"</string> <string name="lock_example_message" msgid="1838650097090632706">"Conecte no mínimo quatro pontos."\n" "\n"Toque em “Avançar” quando estiver pronto para desenhar o seu próprio padrão."</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Gerenciar aplicativos, configurar atalhos de inicialização rápida"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Configurações de aplicativos"</string> <string name="install_applications" msgid="4872012136210802181">"Fontes desconhecidas"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Permite a instalação de aplicativos que não são do Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Permite a instalação de aplicativos que não são do Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"Os dados do seu telefone e os dados pessoais estão mais vulneráveis a ataques de aplicativos de fontes desconhecidas. Você concorda que é o único responsável por qualquer dano causado ao seu telefone ou pela perda de dados que possa resultar do uso desses aplicativos."</string> <string name="application_info_label" msgid="1150486628158409543">"Informações do aplicativo"</string> <string name="storage_label" msgid="8700867073480107253">"Armazenamento"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Todos"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Download concluído"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Em execução"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"No cartão SD"</string> <string name="loading" msgid="3200408047793887917">"Carregando..."</string> <string name="recompute_size" msgid="7722567982831691718">"Recalculando o tamanho…"</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Excluir"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Não é possível calcular o tamanho do pacote"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Você não tem aplicativos de terceiros instalados."</string> <string name="version_text" msgid="9189073826278676425">"versão <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Mover"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Mover para telefone"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover para cartão SD"</string> + <string name="moving" msgid="6431016143218876491">"Movendo"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Não há espaço de armazenamento suficiente disponível."</string> + <string name="does_not_exist" msgid="837163572898468245">"O aplicativo não existe."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"O aplicativo é protegido contra cópia."</string> + <string name="invalid_location" msgid="4934491353200240499">"O local especificado para instalação não é válido."</string> + <string name="system_package" msgid="1030561474413022831">"As atualizações do sistema não podem ser instaladas em mídia externa."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forçar parada"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Este aplicativo será reiniciado imediatamente. Tem certeza de que deseja forçar a parada?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicativo"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Falha ao mover aplicativo. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Local de instalação preferido"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Alterar o local de instalação preferido para novos aplicativos."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Serviços em execução"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Visualizar e controlar os serviços em execução no momento"</string> <string name="service_restarting" msgid="2242747937372354306">"Reiniciando"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Definir opções de idioma e região, entrada de texto e correção automática"</string> <string name="language_category" msgid="3391756582724541530">"Configuração de local"</string> <string name="text_category" msgid="6342540511465136739">"Configurações de texto"</string> - <string name="phone_language" msgid="2138384312336494991">"Selecionar local"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Selecionar o idioma e a região"</string> + <string name="phone_language" msgid="1165758957501090679">"Selecionar idioma"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Substituição automática"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Corrigir palavras digitadas incorretamente"</string> <string name="auto_caps" msgid="581633131114124121">"Iniciar com maiúscula"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Este método de entrada pode coletar todo o texto que você digitar, incluindo dados pessoais como senhas e números de cartão de crédito. Ele é proveniente do aplicativo <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Usar este método de entrada?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Dicionário do usuário"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Dicionário do usuário"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Adicionar e remover palavras do dicionário do usuário"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Adicionar"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Adicionar ao dicionário"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Editar palavra"</string> @@ -798,8 +856,13 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Nenhum serviço de acessibilidade instalado."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este serviço de acessibilidade pode coletar todo o texto que você digitar, incluindo dados pessoais e números de cartão de crédito, menos senhas. Ele também pode registrar as interações da interface do usuário. Ele é proveniente do aplicativo <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Usar este serviço de acessibilidade?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Desativar acessibilidade?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Nenhum aplicativo relacionado à acessibilidade encontrado."</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Você não tem nenhum aplicativo relacionado à acessibilidade instalado."\n\n"Você pode fazer o download de um leitor de tela para o seu aparelho no Android Market."\n\n"Clique em OK para instalar o leitor de tela."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Botão Liga/desliga"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Botão Liga/desliga encerra a chamada"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Durante uma chamada, pressionar o botão Liga/desliga encerra a chamada em vez de desativar a tela."</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Uso da bateria"</string> - <string name="power_usage_summary" msgid="7237084831082848168">"Onde a bateria tem sido usada"</string> + <string name="power_usage_summary" msgid="7237084831082848168">"O que está consumindo a bateria"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Uso da bateria desde a desconexão do aparelho"</string> <string name="battery_since_reset" msgid="7464546661121187045">"Uso da bateria desde a redefinição"</string> <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> desde que foi desconectado"</string> @@ -851,17 +914,27 @@ <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Desativar GPS quando não estiver em uso"</string> <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"O aplicativo pode oferecer configurações para reduzir o uso da bateria"</string> <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> desde que foi desconectado"</string> - <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Desde a última desconexão por <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> + <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Quando foi desconectado pela última vez para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> <string name="menu_stats_total" msgid="8973377864854807854">"Total de uso"</string> <string name="menu_stats_refresh" msgid="1676215433344981075">"Atualizar"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Sistema operacional do Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Servidor de mídia"</string> - <string name="tts_settings" msgid="3348626948015962987">"Conversão texto em voz"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Definir opções de conversão de texto em fala"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Entrada e saída de voz"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Configurações de entrada e saída de voz"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Pesquisa por voz"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Teclado Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Entrada de voz"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Saída de voz"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Reconhecedor de voz"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Config. do reconhecedor de voz"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Configurações para \'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\'"</string> + <string name="tts_settings" msgid="8186971894801348327">"Configurações da Conversão de texto em voz"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Configurações da Conversão de texto em voz"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Usar minhas config."</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"As conf. padrão abaixo substituem as conf. do aplicativo"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Configurações padrão"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Mecanismo padrão"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Define o mecanismo de síntese de fala a ser usado para texto falado."</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Taxa de fala"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidade em que o texto é falado"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Frequência do som"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"As vozes necessárias para sintetização já estão instaladas corretamente"</string> <string name="tts_demo" msgid="405357591189935876">"Este é um exemplo de sintetização de voz."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Suas configurações foram alteradas. Veja um exemplo de como elas ficaram."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"O mecanismo selecionado não pode ser executado."</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Configurar"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Selecione outro mecanismo"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Este mecanismo de síntese de fala pode coletar todo texto que será falado, inclusive dados pessoais como senhas e números de cartão de crédito. Ele é proveniente do mecanismo <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Deseja ativar o uso desse mecanismo de síntese de fala?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Mecanismos"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Configurações de <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> foi ativado"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> foi desativado"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Idiomas e vozes"</string> + <string name="pico_installed" msgid="2452546687858267414">"Instalado"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Não instalado"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Feminino"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Masculino"</string> <string name="gadget_title" msgid="7455548605888590466">"Controle de energia"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Atualizando configuração Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Atualizando configuração Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Instalador de credenciais"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Configurações de VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Conectar-se a <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Nome de usuário:"</string> @@ -944,7 +1029,7 @@ <string name="vpn_vpn_server" msgid="1141754908824209260">"Servidor da VPN"</string> <string name="vpn_a_vpn_server" msgid="5960906152125045853">"um servidor da VPN"</string> <string name="vpn_vpn_server_dialog_title" msgid="7850850940160521918">"Nome do servidor da VPN"</string> - <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"Domínios de pesquisa DNS"</string> + <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"Domínios pesquisa DNS"</string> <string name="vpn_dns_search_list" msgid="4230034234026605360">"Domínios pesquisa DNS"</string> <string name="vpn_field_is_set" msgid="7137320847812992243">"<xliff:g id="VALUE">%s</xliff:g> foi definido"</string> <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> não definido"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Definir comportamento durante uma chamada de emergência"</string> <string name="privacy_settings" msgid="9206631214140954954">"Privacidade"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Configurações de privacidade"</string> - <string name="location_section_title" msgid="6072558684044939786">"Local"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Configurações"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Dados pessoais"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Fazer backup de minhas configurações"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Backup das configurações"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Tem certeza de que deseja parar de fazer backup das suas configurações e apagar todas as cópias nos servidores do Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Restauração automática"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Backup"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Tem certeza de que deseja parar de fazer backup das suas configurações e dados de aplicativo e apagar todas as cópias nos servidores do Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Configurações de administração do dispositivo"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador do dispositivo"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Desativar"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Administradores do dispositivo"</string> + <string name="no_device_admins" msgid="702695100241728775">"Não há administradores de dispositivo disponíveis"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Ativar o administrador do dispositivo?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Ativar"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Administrador do dispositivo"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"A ativação deste administrador permitirá que o aplicativo <xliff:g id="APP_NAME">%1$s</xliff:g> execute as seguintes operações:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Este administrador está ativo e permite que o aplicativo <xliff:g id="APP_NAME">%1$s</xliff:g> execute as seguintes operações:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Sem título"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Geral"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Chamadas recebidas"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Notificações"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Comentários"</string> </resources> diff --git a/res/values-ru-nokeys/strings.xml b/res/values-ru-nokeys/strings.xml index 4220c5c..c833e64 100644 --- a/res/values-ru-nokeys/strings.xml +++ b/res/values-ru-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Управление приложениями"</string> diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml index f1c7bad..99eb90a 100644 --- a/res/values-ru/arrays.xml +++ b/res/values-ru/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -26,13 +31,13 @@ </string-array> <string-array name="animations_entries"> <item msgid="207790005475613429">"Без анимации"</item> - <item msgid="6291186755504776720">"Разрешить анимацию в отдельных случаях"</item> + <item msgid="6291186755504776720">"Использовать анимацию иногда"</item> <item msgid="3856065399819979491">"Использовать анимацию всегда"</item> </string-array> <string-array name="animations_summaries"> <item msgid="4569165952409350897">"Анимация в окне не отображается"</item> <item msgid="4460915688877708508">"В окне отображается некоторая часть анимации"</item> - <item msgid="488968798204105119">"В окне отображается вся анимация полностью"</item> + <item msgid="488968798204105119">"Плавные переходы при переключении между окнами"</item> </string-array> <string-array name="screen_timeout_entries"> <item msgid="3342301044271143016">"15 секунд"</item> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Итальянский"</item> <item msgid="5811378076054402537">"Испанский"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Авто"</item> - <item msgid="5434666299123318296">"Нет"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Нет"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Авто"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"Шестнадцатеричный WEP"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Поиск..."</item> + <item msgid="8513729475867537913">"Подключение..."</item> + <item msgid="515055375277271756">"Аутентификация..."</item> + <item msgid="1943354004029184381">"Получение IP-адреса..."</item> + <item msgid="4221763391123233270">"Подключено"</item> + <item msgid="624838831631122137">"Приостановлено"</item> + <item msgid="7979680559596111948">"Отключение..."</item> + <item msgid="1634960474403853625">"Отключено"</item> + <item msgid="746097431216080650">"Сбой"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Поиск..."</item> + <item msgid="355508996603873860">"Соединение с сетью <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="554971459996405634">"Аутентификация в сети <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="7928343808033020343">"Получение IP-адреса от <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="8937994881315223448">"Подключено к <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Приостановлено"</item> + <item msgid="7698638434317271902">"Отключение от <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Отключено"</item> + <item msgid="8578370891960825148">"Сбой"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Не защищена"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Слабый"</item> + <item msgid="5615082285463430971">"Хороший"</item> + <item msgid="3565079809875324621">"Хороший"</item> + <item msgid="5702329417707689835">"Отличный"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"При выключении экрана"</item> @@ -120,7 +148,7 @@ <string-array name="emergency_tone_entries"> <item msgid="5165439859689033665">"Выкл."</item> <item msgid="3165868966179561687">"Оповещение"</item> - <item msgid="6038758039030476855">"Вибровызов"</item> + <item msgid="6038758039030476855">"Виброзвонок"</item> </string-array> <string-array name="apn_auth_entries"> <item msgid="3856896061242872146">"Нет"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP или CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Внутренняя память устройства"</item> + <item msgid="3738430123799803530">"Съемная SD-карта"</item> + <item msgid="4498124044785815005">"На усмотрение системы"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Всегда"</item> + <item msgid="6293147072807231256">"Никогда"</item> + <item msgid="1276641209451816572">"Только в режиме без звука"</item> + <item msgid="8418930333779132418">"Только не в режиме без звука"</item> + </string-array> </resources> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index a8392cc..04099a5 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Да"</string> @@ -20,19 +21,13 @@ <string name="device_info_default" msgid="7847265875578739287">"Неизвестно"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Включить радио"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Отключить радио"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Включить SD-журнал QXDM"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Отключить SD-журнал QXDM"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Просмотреть адресную книгу на SIM-карте"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Просм. список разреш. номеров"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Просмотреть номера служебного набора"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Получить список PDP"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Включить подключение для передачи данных"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Отключить подключение для передачи данных"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Включить данные при загрузке"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Отключить данные при загрузке"</string> - <string name="radioInfo_service_in" msgid="1915416319177520020">"Обслуживается"</string> + <string name="radioInfo_service_in" msgid="1915416319177520020">"В зоне обслуживания"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Вне зоны обслуживания"</string> - <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Только вызовы службы экстренной помощи"</string> + <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Только экстренный вызов"</string> <string name="radioInfo_service_off" msgid="1434084741785525415">"Радио отключено"</string> <string name="radioInfo_roaming_in" msgid="9045363884600341051">"Роуминг"</string> <string name="radioInfo_roaming_not" msgid="2851853244069662307">"Роуминг отключен"</string> @@ -50,11 +45,11 @@ <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string> <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string> <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string> - <string name="sdcard_unmount" msgid="3364184561355611897">"Извлечение SD-карты"</string> - <string name="sdcard_format" msgid="362497552060004057">"Форматировать карту SD"</string> - <string name="small_font" msgid="2295331917424072635">"Мелкий"</string> + <string name="sdcard_unmount" msgid="3364184561355611897">"Извлечь SD-карту"</string> + <string name="sdcard_format" msgid="362497552060004057">"Очистить SD-карту"</string> + <string name="small_font" msgid="2295331917424072635">"Маленький"</string> <string name="medium_font" msgid="2068475425515133701">"Среднее"</string> - <string name="large_font" msgid="599055175160971446">"Крупный"</string> + <string name="large_font" msgid="599055175160971446">"Большой"</string> <string name="font_size_save" msgid="3450855718056759095">"ОК"</string> <string name="sdcard_setting" msgid="5922637503871474866">"SD-карта"</string> <string name="battery_info_status_label" msgid="8109155295509700309">"Состояние батареи:"</string> @@ -77,7 +72,7 @@ <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string> <string name="battery_info_status_discharging" msgid="6222697503392774475">"Разрядка батареи"</string> <string name="battery_info_status_not_charging" msgid="2820070506621483576">"Не заряжается"</string> - <string name="battery_info_status_full" msgid="2824614753861462808">"Полностью"</string> + <string name="battery_info_status_full" msgid="2824614753861462808">"Заряжена"</string> <string name="battery_info_power_unplugged" msgid="5987246575519551081">"Не подключено"</string> <string name="battery_info_power_ac" msgid="6808516193001604634">"Питание от сети"</string> <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string> @@ -86,25 +81,26 @@ <string name="battery_info_health_unknown" msgid="5664295556921944255">"Неизвестно"</string> <string name="battery_info_health_good" msgid="8070356565806711806">"Хорошо"</string> <string name="battery_info_health_overheat" msgid="8442959549291368806">"Перегрев"</string> - <string name="battery_info_health_dead" msgid="1725917445762829059">"Отключено"</string> + <string name="battery_info_health_dead" msgid="1725917445762829059">"Разряжена"</string> <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"Слишком высокое напряжение"</string> <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"Неизвестная ошибка"</string> <string name="bluetooth" msgid="5549625000628014477">"Bluetooth"</string> <string name="bluetooth_visibility" msgid="2930835434091839916">"Видимый"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Видимый в течение <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> секунд..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Сделать устройство видимым"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Заблокировать голосовой набор"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Предотвратить использование телефона Bluetooth, когда экран заблокирован"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Устройства Bluetooth"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Имя устройства"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Без настройки имени, использовать имя аккаунта"</string> <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"Поиск устройств"</string> - <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"Связь с <xliff:g id="DEVICE_NAME">%1$s</xliff:g> будет разорвана."</string> + <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> будет отключено."</string> <string name="bluetooth_connected" msgid="6038755206916626419">"Подключено"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"Отключено"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Отключение..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Подключение..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> - <string name="bluetooth_not_connected" msgid="3389882907500605937">"Установить сопряжение с этим устройством"</string> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> + <string name="bluetooth_not_connected" msgid="3389882907500605937">"Подключиться к этому устройству"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Сопряжение..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Сопряжено, но не подключено"</string> <string name="bluetooth_device" msgid="6873461446424952003">"гарнитура/наушники"</string> @@ -139,7 +135,7 @@ <string name="proxy_defaultView_text" msgid="6387985519141433291">"Восстановить настройки по умолчанию"</string> <string name="proxy_action_text" msgid="477348175123635416">"Сохранить"</string> <string name="proxy_hostname_label" msgid="7531298584350977540">"Имя узла"</string> - <string name="proxy_error" msgid="8926675299638611451">"Внимание"</string> + <string name="proxy_error" msgid="8926675299638611451">"Внимание!"</string> <string name="proxy_error_dismiss" msgid="4993171795485460060">"ОК"</string> <string name="proxy_error_invalid_host" msgid="9120776460063182119">"Введено недействительное имя узла."</string> <string name="proxy_error_empty_port" msgid="3525734169948795417">"Необходимо заполнить поле порта."</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Выполнить проверку ping IP-адреса:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"ping имя узла (www.google.ru):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Проверка клиента HTTP:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Переключить шифрование"</string> <string name="ping_test_label" msgid="7255376471490860631">"Выполнить проверку ping"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Обновить"</string> - <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Обновить"</string> + <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Обновление"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Выбор проверки DNS"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"Информация/настройки OEM"</string> <string name="band_mode_title" msgid="954174198903776205">"Настроить частоту GSM/UMTS"</string> <string name="band_mode_loading" msgid="548764766363847336">"Загрузка списка частот..."</string> <string name="band_mode_set" msgid="5730560180249458484">"Настроить"</string> @@ -234,11 +230,48 @@ <string name="date_time_date_format" msgid="436706100255870967">"Выбрать формат даты"</string> <string name="zone_list_menu_sort_alphabetically" msgid="5683377702671088588">"Упорядочить по алфавиту"</string> <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"Упорядочить по часовому поясу"</string> - <string name="security_settings_title" msgid="5168491784222013179">"Локация и безопасность"</string> - <string name="location_security_settings_title" msgid="4624434296446625554">"Настройки местоположения и безопасности"</string> + <string name="security_settings_title" msgid="5168491784222013179">"Местоположение и защита"</string> + <string name="location_security_settings_title" msgid="4624434296446625554">"Местоположение и защита устройства"</string> <string name="security_settings_summary" msgid="967393342537986570">"Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Пароли"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Блокировка экрана"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Настроить блокировку экрана"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Блокировка экрана графическим ключом, PIN и паролем"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Сменить способ блокировки"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Смена или отключение графического ключа, PIN-кода и пароля"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Снять защиту"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Отключить блокировку экрана"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Графический ключ"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Создайте графический ключ разблокировки экрана"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Создайте PIN-код разблокировки экрана"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Пароль"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Создайте пароль разблокировки экрана"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Запрещено удаленным администратором"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Отключить блокировку экрана"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Удалить графический ключ разблокировки"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Удалить ПИН-код разблокировки"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Удалить пароль разблокировки"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Изменить графический ключ разблокировки"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Изменить ПИН-код разблокировки"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Изменить пароль разблокировки"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Пароль должен содержать не менее %d символов"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"ПИН-код должен содержать не менее %d символов"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"После завершения нажмите \"Продолжить\""</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Продолжить"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"ПИН-код не может быть длиннее %d симв."</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"ПИН-код не может быть длиннее %d симв."</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"ПИН-код должен состоять только из цифр от 0 до 9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Пароль содержит недопустимые символы"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Пароль должен содержать хотя бы одну букву."</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Пароль должен содержать хотя бы одну цифру."</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Пароль должен содержать хотя бы один символ."</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"ОК"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Отмена"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Администрирование устройства"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Выбрать администраторов устройства"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Добавление и удаление администраторов устройства"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Включить Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Настройки Bluetooth"</string> @@ -254,7 +287,7 @@ <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Сопряжение"</string> <string name="bluetooth_pairing_decline" msgid="930951069988011471">"Не устанавливать сопряжение"</string> <string name="bluetooth_remote_device" msgid="2406662802908395389">"устройство Bluetooth"</string> - <string name="bluetooth_error_title" msgid="538287072376677166">"Внимание"</string> + <string name="bluetooth_error_title" msgid="538287072376677166">"Внимание!"</string> <string name="bluetooth_pairing_error_message" msgid="2852744547246910349">"Неполадка при сопряжении с <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="bluetooth_pairing_pin_error_message" msgid="6065697229258906937">"Неполадка при сопряжении с <xliff:g id="DEVICE_NAME">%1$s</xliff:g> из-за неверно введенного PIN-кода или ключа доступа."</string> <string name="bluetooth_pairing_device_down_error_message" msgid="6688215193824686741">"Не удается установить соединение с <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Для громкой связи"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Для музыки и мультимедиа"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Запомнить настройки"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Включить Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Настройки Wi-Fi"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Настройки Wi-Fi"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Настройка и управление точками доступа беспроводной сети"</string> - <string name="forget_network" msgid="4718015029995727138">"Стереть"</string> - <string name="wifi_status" msgid="4824568012414605414">"Состояние"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Скорость"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Отлично"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Хорошо"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Высокий"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Низкий"</string> - <string name="security" msgid="1040691896987225267">"Безопасность"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Открыть"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Неизвестно"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"открытая сеть"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"защищено WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"защищено WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"защищено 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"IP-адрес"</string> - <string name="signal" msgid="1947969631626413228">"Громкость сигнала"</string> <string name="wifi_starting" msgid="6710266609710860129">"Включение..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"Выключение..."</string> <string name="wifi_error" msgid="3207971103917128179">"Ошибка"</string> - <string name="error_starting" msgid="4055163089721254078">"Не удалось запустить Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Не удалось остановить Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"Не удалось выполнить поиск сети"</string> - <string name="error_connecting" msgid="1981882310590509609">"Не удалось подключиться к сети"</string> - <string name="error_saving" msgid="8294279443961615302">"Не удалось сохранить сеть"</string> - <string name="connect" msgid="3079076576295839400">"Подключить"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Подключить к <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"Метод EAP"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"2-й этап аутентификации"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Идентификационный код"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Идентификационный код без определения личности"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Сертификат клиента"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"Сертификат центра сертификации"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Пароль для беспроводного подключения"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Шестнадцатеричный ключ WEP (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Показать пароль."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Поиск"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Вне диапазона"</string> - <string name="summary_remembered" msgid="6079941090549401742">"сохранено в памяти"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Не удалось установить соединение. Нажмите, чтобы повторить попытку."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Сети Wi-Fi"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Сетевой SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"Безопасность"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Сохранить"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(не изменялось)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Добавить сеть Wi-Fi"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"В режиме полета"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Не удалось выполнить поиск сети"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Уведомления о сетях"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Сообщать при обнаружении открытой сети"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Введен неверный сетевой пароль. Повторите попытку."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"При подключении к сети возникла неполадка. Повторите попытку."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Добавить сеть Wi-Fi"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Сети Wi-Fi"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Поиск"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Дополнительные функции"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Настройки IP"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Сохранить"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Отмена"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Введите действительный IP-адрес."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Статический IP-адрес"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Подключиться к сети"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Удалить эту сеть"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Изменить сеть"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Имя сети (SSID)"</string> + <string name="wifi_security" msgid="6603611185592956936">"Безопасность"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Уровень сигнала"</string> + <string name="wifi_status" msgid="4824568012414605414">"Статус "</string> + <string name="wifi_speed" msgid="3526198708812322037">"Скорость связи"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP-адрес"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Шлюз"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Маска сети"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Подключить к сети"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Забыли сеть"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Изменить пароль"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"Метод EAP"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"2-й этап аутентификации"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"Сертификат центра сертификации"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Сертификат пользователя"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Пользователь"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Неизвестный"</string> + <string name="wifi_password" msgid="5948219759936151048">"Пароль"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Показать пароль."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(не изменялось)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(не указано)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Сохранено в памяти"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Отключено"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Вне диапазона"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Защищено с помощью <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, защищено с помощью <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Подключить"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Не подключаться"</string> + <string name="wifi_save" msgid="3331121567988522826">"Сохранить"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Отмена"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Дополнительные функции"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Управляющий домен"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Настроить количество используемых каналов"</string> @@ -371,58 +376,63 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"При каких условиях переключаться с Wi-Fi на сотовую сеть"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"При установке правила перехода в спящий режим возникла неполадка."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-адрес"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Поиск..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Соединение с сетью <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Аутентификация в сети <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Получение IP-адреса от <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Подключено к <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Отключение от <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Отключено"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Сбой"</string> - <string name="status_scanning" msgid="8402178267165567371">"Поиск..."</string> - <string name="status_connecting" msgid="1669262263707521505">"Подключение..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"Аутентификация..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Получение адреса..."</string> - <string name="status_connected" msgid="8175694029067954271">"Подключено"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Отключение..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"Отключено"</string> - <string name="status_failed" msgid="610462050405904601">"Сбой"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Звук и изображение"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Звук и изображение"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Настройки IP"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Сохранить"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Отмена"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Введите действительный IP-адрес."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Статический IP-адрес"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Шлюз"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Маска сети"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Точка доступа Wi-Fi"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Точка доступа <xliff:g id="NETWORK_SSID">%1$s</xliff:g> активна"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Ошибка подключения"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Настройки точки доступа"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Настройка точки доступа Wi-Fi"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Настройки точки доступа "</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Настроить точку доступа Wi-Fi"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Точка доступа <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Хот-спот Android"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Звук"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Экран"</string> <string name="sound_settings" msgid="5007659014828162881">"Настройки звука"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Настройка мелодий, уведомлений, яркости экрана"</string> - <string name="silent_mode_title" msgid="3181479108593217704">"Бесшумный режим"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Все звуки, кроме мультимедиа и будильника, отключены"</string> + <string name="silent_mode_title" msgid="3181479108593217704">"Режим без звука"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Отключить все звуки, кроме мультимедиа и будильника"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Все звуки, кроме аудио и видео, отключены"</string> <string name="ringtone_title" msgid="5379026328015343686">"Мелодия телефона"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Выбрать мелодию для входящего вызова"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Громкость"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Громкость звонка"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Настроить громкость входящих вызовов и уведомлений"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Вибровызов"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Включить"</string> - <string name="notification_sound_title" msgid="6316316069880531693">"Мелодия уведомления"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Выбрать мелодию для уведомлений"</string> - <string name="notification_pulse_title" msgid="1247988024534030629">"Мигающий световой индикатор"</string> - <string name="notification_pulse_summary" msgid="6899220780534617152">"Включать индикатор трекбола при новых оповещениях"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Громкость входящего вызова"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Громкость уведомления"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Виброзвонок без звука"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Разрешить вибрацию в режиме без звука"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Виброзвонок"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Вибрация при входящих вызовах и оповещениях"</string> + <string name="notification_sound_title" msgid="6316316069880531693">"Звук уведомления"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> + <string name="notification_pulse_title" msgid="1247988024534030629">"Мигание трекбола"</string> + <string name="notification_pulse_summary" msgid="6899220780534617152">"Включать мигание трекбола при получении новых уведомлений"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Мелодия"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Уведомление"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Использовать этот уровень громкости также для уведомлений"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Выбрать мелодию уведомлений"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Громкость мультимедиа"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Мультимедиа"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Настроить громкость музыки и видео"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Будильник"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Настройки звука для подключенной док-станции"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Звук клавиш"</string> - <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Включить тональные сигналы при нажатии клавиш"</string> + <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Воспроизводить тональные сигналы при нажатии клавиш"</string> <string name="dtmf_tone_enable_summary_off" msgid="7791065951268525678">"Воспроизводить тональные сигналы при нажатии клавиш"</string> - <string name="sound_effects_enable_title" msgid="3197313718929122833">"Звуки нажатия на экран"</string> - <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Не воспроизводить щелчок при выборе опции на экране"</string> + <string name="sound_effects_enable_title" msgid="3197313718929122833">"Звук нажатия на экран"</string> + <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Воспроизводить щелчок при выборе опции на экране"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Воспроизводить щелчок при выборе опции на экране"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Звук блокировки экрана"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Воспроизводить звук при установке и снятии блокировки экрана"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Воспроизводить звук при установке и снятии блокировки экрана"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Виброотклик"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Вибрация при нажатии софт-клавиш и некоторых элементов интерфейса"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Вибрация при нажатии софт-клавиш и некоторых элементов интерфейса"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Уведомления SD-карты "</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Отключить звук для уведомлений SD-карты"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Включить звук для уведомлений SD-карты"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Подавление шума"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Подавляет фоновый шум при записи или разговоре."</string> <string name="dock_settings" msgid="1820107306693002541">"Док-станция"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Настройки подключенной док-станции"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Док-станция не найдена."</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Чтобы настроить звук док-станции, телефон должен быть подключен к ней."</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Звук при установке в док-станцию"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Воспроизводить звук при установке или извлечении телефона"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Не воспроизводить звук при установке или извлечении телефона"</string> <string name="sync_settings" msgid="9186125469300013491">"Аккаунты и синхронизация"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Добавление или удаление аккаунтов и изменение настроек аккаунта"</string> <string name="search_settings" msgid="1910951467596035063">"Поиск"</string> @@ -442,23 +455,23 @@ <string name="animations_title" msgid="1062189037402346023">"Анимация"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Показывать анимацию при открытии и закрытии окон"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Показывать анимацию при открытии и закрытии окон"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Ориентация"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Автоповорот экрана"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Автоматически менять ориентацию экрана при повороте телефона"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Автоматически менять ориентацию экрана при повороте телефона"</string> <string name="brightness" msgid="2354961343555249270">"Яркость"</string> <string name="brightness_summary" msgid="838917350127550703">"Настроить яркость экрана"</string> - <string name="screen_timeout" msgid="4882669461447531301">"Время отключения экрана"</string> - <string name="screen_timeout_summary" msgid="2905757633140605334">"Выбрать интервал до автоматического отключения экрана"</string> + <string name="screen_timeout" msgid="4882669461447531301">"Автоотключение экрана"</string> + <string name="screen_timeout_summary" msgid="2905757633140605334">"Интервал времени до автоматического отключения экрана"</string> <string name="automatic_brightness" msgid="5014143533884135461">"Яркость автоматически"</string> <string name="sim_lock_settings" msgid="3392331196873564292">"Настройки блокировки SIM-карты"</string> <string name="sim_lock_settings_category" msgid="5136244267576697004">"Настроить блокировку"</string> <string name="sim_lock_settings_title" msgid="9018585580955414596">"Блокировка SIM-карты"</string> - <string name="sim_pin_toggle" msgid="1742123478029451888">"Заблокировать SIM-карту"</string> + <string name="sim_pin_toggle" msgid="1742123478029451888">"Блокировка SIM-карты"</string> <string name="sim_lock_on" msgid="2503536505568814324">"Для использования телефона необходим PIN-код"</string> - <string name="sim_lock_off" msgid="258981978215428916">"Для использования телефона необходим PIN-код"</string> - <string name="sim_pin_change" msgid="6311414184279932368">"Изменить PIN-код SIM-карты"</string> + <string name="sim_lock_off" msgid="258981978215428916">"При включении телефона будет необходимо ввести PIN-код"</string> + <string name="sim_pin_change" msgid="6311414184279932368">"Изменение PIN SIM-карты"</string> <string name="sim_enter_pin" msgid="6608715137008508432">"PIN-код SIM-карты"</string> - <string name="sim_enable_sim_lock" msgid="4517742794997166918">"Заблокировать SIM-карту"</string> + <string name="sim_enable_sim_lock" msgid="4517742794997166918">"Блокировка SIM-карты"</string> <string name="sim_disable_sim_lock" msgid="7664729528754784824">"Разблокировать SIM-карту"</string> <string name="sim_enter_old" msgid="6074196344494634348">"Прежний PIN-код SIM-карты"</string> <string name="sim_enter_new" msgid="8742727032729243562">"Новый PIN SIM-карты"</string> @@ -473,15 +486,15 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Отмена"</string> <string name="device_info_settings" msgid="475872867864762157">"Состояние телефона"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Обновления системы"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Проверить наличие обновлений системы"</string> - <string name="firmware_version" msgid="6284872163051667788">"Версия прошивки"</string> - <string name="model_number" msgid="3765737700545384794">"Номер модели"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Версия Android"</string> + <string name="model_number" msgid="3765737700545384794">"Модель"</string> <string name="baseband_version" msgid="1848990160763524801">"Версия ПО модуля связи"</string> <string name="kernel_version" msgid="9192574954196167602">"Версия ядра"</string> <string name="build_number" msgid="3075795840572241758">"Номер сборки"</string> <string name="device_info_not_available" msgid="8062521887156825182">"Недоступно"</string> - <string name="device_status_activity_title" msgid="1411201799384697904">"Состояние"</string> - <string name="device_status" msgid="607405385799807324">"Состояние"</string> + <string name="device_status_activity_title" msgid="1411201799384697904">"Общая информация"</string> + <string name="device_status" msgid="607405385799807324">"Общая информация"</string> <string name="device_status_summary" msgid="2599162787451519618">"Номер телефона, уровень сигнала и т.д."</string> <string name="storage_settings" msgid="6681164315506788024">"Память"</string> <string name="storage_settings_title" msgid="5379463509034022773">"Настройки SD-карты и памяти телефона"</string> @@ -491,26 +504,36 @@ <string name="status_prl_version" msgid="8499039751817386529">"Версия PRL"</string> <string name="status_meid_number" msgid="1751442889111731088">"MEID"</string> <string name="status_network_type" msgid="3279383550222116235">"Тип мобильной сети"</string> - <string name="status_data_state" msgid="5503181397066522950">"Состояние сотовой сети"</string> - <string name="status_service_state" msgid="2323931627519429503">"Состояние сервиса"</string> - <string name="status_signal_strength" msgid="3732655254188304547">"Громкость сигнала"</string> + <string name="status_data_state" msgid="5503181397066522950">"Передача данных в моб. сети"</string> + <string name="status_service_state" msgid="2323931627519429503">"Доступность моб. сети"</string> + <string name="status_signal_strength" msgid="3732655254188304547">"Уровень сигнала"</string> <string name="status_roaming" msgid="2638800467430913403">"Роуминг"</string> <string name="status_operator" msgid="2274875196954742087">"Сеть"</string> <string name="status_wifi_mac_address" msgid="33109409206264790">"MAC-адрес Wi-Fi"</string> <string name="status_bt_address" msgid="4195174192087439720">"Адрес Bluetooth"</string> <string name="status_unavailable" msgid="7862009036663793314">"Недоступно"</string> - <string name="status_up_time" msgid="7294859476816760399">"Время с момента загрузки"</string> + <string name="status_up_time" msgid="7294859476816760399">"Время с момента включения"</string> <string name="status_awake_time" msgid="2393949909051183652">"Время работы"</string> <string name="internal_memory" msgid="1130932766236387454">"Внутренняя память телефона"</string> <string name="sd_memory" msgid="151871913888051515">"SD-карта"</string> - <string name="memory_available" msgid="418542433817289474">"Свободное место"</string> + <string name="memory_available" msgid="418542433817289474">"Свободно"</string> <string name="memory_size" msgid="6629067715017232195">"Всего места"</string> - <string name="sd_eject" msgid="6915293408836853020">"Извлечение SD-карты"</string> - <string name="sd_eject_summary" msgid="3315557796211542962">"Безопасное извлечение SD-карты"</string> - <string name="sd_format" msgid="5448738337382712203">"Форматировать карту SD"</string> - <string name="sd_format_summary" msgid="6616491027883134004">"Форматировать (очистить) карту SD"</string> + <string name="sd_eject" msgid="6915293408836853020">"Извлечь SD-карту"</string> + <string name="sd_eject_summary" msgid="3315557796211542962">"Нажмите сюда для безопасного извлечения SD-карты из телефона"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Вставьте SD-карту для подключения"</string> + <string name="sd_mount" msgid="5940523765187704135">"Подключить SD-карту"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Подключить SD-карту"</string> + <string name="sd_format" msgid="5448738337382712203">"Очистить SD-карту"</string> + <string name="sd_format_summary" msgid="6616491027883134004">"Удалить все данные с SD-карты"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Недоступно"</string> <string name="read_only" msgid="6702420168629076340">" (только для чтения)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Отключение SD-карты"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Если отключить SD-карту, некоторые используемые приложения перестанут работать и могут оставаться недоступными до подключения SD-карты."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Не удалось отключить SD-карту."</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Не удается отключить SD-карту. Повторите попытку позже."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD-карта будет отключена. Проверьте статус в области уведомлений."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Извлечение"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Выполняется извлечение"</string> <string name="battery_status_title" msgid="9159414319574976203">"Состояние батареи"</string> <string name="battery_level_title" msgid="2965679202786873272">"Уровень заряда батареи"</string> <string name="apn_settings" msgid="3743170484827528406">"Точки доступа (APN)"</string> @@ -538,7 +561,7 @@ <string name="menu_new" msgid="3014205883303921729">"Новая точка доступа"</string> <string name="menu_save" msgid="8109345640668285399">"Сохранить"</string> <string name="menu_cancel" msgid="2194502410474697474">"Отменить"</string> - <string name="error_title" msgid="1319225301794168762">"Внимание"</string> + <string name="error_title" msgid="1319225301794168762">"Внимание!"</string> <string name="error_name_empty" msgid="1498238337687930558">"Поле \"Имя\" не может быть пустым."</string> <string name="error_apn_empty" msgid="1513892291812404310">"Поле APN не может быть пустым."</string> <string name="error_mcc_not3" msgid="4560171714156251661">"Поле MCC должно содержать 3 цифры."</string> @@ -548,47 +571,56 @@ <string name="restore_default_apn_completed" msgid="3990449939234957281">"Восстановление настроек APN по умолчанию завершено"</string> <string name="master_clear_title" msgid="5907939616087039756">"Сброс настроек"</string> <string name="master_clear_summary" msgid="4986154238001088492">"Удаляет все данные из памяти телефона"</string> - <string name="master_clear_desc" msgid="7823268823499739178">"С телефона будут удалены все данные, в том числе: "\n<li>"ваш аккаунт Google;"</li>\n<li>"данные и настройки системы и приложений;"</li>\n<li>"загруженные приложения."</li>\n"Не будут удалены:"\n<li>"текущее системное ПО и пакетные приложения;"</li>\n<li>"файлы на SD-карте, например фотографии и музыка."</li></string> + <string name="master_clear_desc" msgid="7823268823499739178">"С телефона будут удалены все данные, в том числе: "\n<li>"ваш аккаунт Google"</li>\n<li>"данные и настройки системы и приложений"</li>\n<li>"загруженные приложения"</li>\n"Не будут удалены:"\n<li>"текущее системное ПО и пакетные приложения"</li>\n<li>"файлы на SD-карте, например фотографии и музыка"</li></string> <string name="master_clear_button_text" msgid="7550632653343157971">"Сбросить настройки телефона"</string> <string name="master_clear_final_desc" msgid="6917971132484622696">"Стереть всю личную информацию и загруженные приложения? Это действие нельзя отменить!"</string> <string name="master_clear_final_button_text" msgid="5390908019019242910">"Стереть все"</string> <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Начертить графический ключ"</string> <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Для подтверждения сброса настроек телефона необходимо начертить графический ключ."</string> <string name="master_clear_failed" msgid="8655202125010189406">"Не удалось выполнить сброс, поскольку служба System Clear недоступна."</string> - <string name="media_format_title" msgid="4671276096695789895">"Форматировать карту SD."</string> + <string name="media_format_title" msgid="4671276096695789895">"Очистить SD-карту"</string> <string name="media_format_summary" msgid="3805714639375830120">"Удаляет все данные с карты SD"</string> <string name="media_format_desc" msgid="1142563222357820834">"Это действие приведет к очистке карты SD в телефоне. ВСЯ информация, находящаяся на карте, будет удалена!"</string> - <string name="media_format_button_text" msgid="370856400090190151">"Форматировать карту SD"</string> + <string name="media_format_button_text" msgid="370856400090190151">"Очистить SD-карту"</string> <string name="media_format_final_desc" msgid="1776666694910717198">"Форматировать карту SD с удалением всех ваших данных? Это действие нельзя отменить!"</string> <string name="media_format_final_button_text" msgid="4881713344315923175">"Стереть все"</string> <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Начертить графический ключ разблокировки"</string> <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Для подтверждения форматирования карты SD нужно начертить графический ключ разблокировки."</string> <string name="call_settings_title" msgid="5188713413939232801">"Вызовы"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Голосовая почта, АОН, переадресация, параллельный вызов"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"USB-модем"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Точка доступа Wi-Fi"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Режим модема"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Открыть доступ к интернет-подключению телефона через USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Открыть доступ к интернет-подключению телефона через Wi-Fi"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Открыть доступ к интернет-подключению телефона через USB или Wi-Fi"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-модем"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-связь установлена, установите флажок для подключения"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Подключено"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Невозможно подключиться при использовании USB-накопителя"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB-подключения не обнаружено"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Ошибка подключения USB"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Справка"</string> <string name="network_settings_title" msgid="7967552516440151852">"Мобильная сеть"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Настроить параметры роуминга, сетей, точек доступа (APN)"</string> <string name="location_title" msgid="1029961368397484576">"Мое местоположение"</string> <string name="location_network_based" msgid="8815705866861993344">"Беспроводные сети"</string> - <string name="location_networks_disabled" msgid="2708968452901433980">"Местоположение не определяется с помощью беспроводных сетей"</string> - <string name="location_neighborhood_level" msgid="4656658097932515921">"Местоположение определяется сотовой сетью и/или Wi-Fi"</string> + <string name="location_networks_disabled" msgid="2708968452901433980">"Использовать Wi-Fi и сотовые сети для определения местоположения"</string> + <string name="location_neighborhood_level" msgid="4656658097932515921">"Использовать Wi-Fi и сотовые сети для определения местоположения"</string> <string name="location_gps" msgid="6296125378829097831">"Спутники GPS"</string> - <string name="location_street_level" msgid="6460740847018275745">"Точные координаты (требуется открытое небо и больше энергии)"</string> - <string name="location_gps_disabled" msgid="6632537158777308128">"Приблизительные координаты (экономит энергию)"</string> + <string name="location_street_level" msgid="6460740847018275745">"Использовать GPS для определения местоположения (повышенный расход энергии)"</string> + <string name="location_gps_disabled" msgid="6632537158777308128">"Использовать GPS для определения местоположения (высокий расход энергии)"</string> <string name="assisted_gps" msgid="4649317129586736885">"Использовать A-GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Использовать сервер для A-GPS (снимите флажок для менее интенсивного использования сети)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Использовать сервер для A-GPS (снимите флажок для улучшения работы GPS)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Мое местоположение"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Использовать функцию \"Мое местоположение\" для улучшения результатов поиска Google и работы других служб Google."</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Разрешить Google использовать данные о местоположении для улучшения результативности поиска и работы других служб?"</string> - <string name="agree" msgid="6288718671527758326">"Принимаю"</string> - <string name="disagree" msgid="6221069272309799230">"Не принимаю"</string> <string name="about_settings" msgid="1743378368185371685">"О телефоне"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Посмотреть правовую информацию, состояние телефона, версию ПО"</string> <string name="legal_information" msgid="5769301644270604095">"Правовая информация"</string> <string name="contributors_title" msgid="5917703088825286504">"Участники"</string> <string name="copyright_title" msgid="865906688917260647">"Авторские права"</string> <string name="license_title" msgid="1990487604356037871">"Лицензия"</string> - <string name="terms_title" msgid="7697580845616764642">"Условия предоставления услуг"</string> + <string name="terms_title" msgid="7697580845616764642">"Условия использования"</string> <string name="system_tutorial_list_item_title" msgid="9082844446660969729">"Обучение"</string> <string name="system_tutorial_list_item_summary" msgid="3861815254521030201">"Узнайте, как пользоваться телефоном"</string> <string name="settings_license_activity_title" msgid="7553683406244228650">"Лицензии открытого ПО"</string> @@ -598,11 +630,21 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Сведения о безопасности"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Телефон не подключен к службе передачи данных. Чтобы просмотреть эту информацию, откройте страницу %s на любом компьютере, подключенном к Интернету."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Идет загрузка…"</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Графический ключ разблокировки экрана"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Выберите пароль"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Выберите ПИН-код"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Подтвердите пароль"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Подтвердите ПИН-код"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Пароли не совпадают"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN-коды не совпадают"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Пароль был установлен"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"ПИН-код был установлен"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Ключ был установлен"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Блокировка экрана"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Изменить ключ"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Изменить ПИН-код разблокировки"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Начертите существующий ключ"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Повторите попытку:"</string> - <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Начертить графический ключ разблокировки"</string> + <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Начертите графический ключ разблокировки"</string> <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Для справки нажмите \"Меню\"."</string> <string name="lockpattern_recording_inprogress" msgid="4622772178078818425">"По завершении отпустите палец."</string> <string name="lockpattern_recording_incorrect_too_short" msgid="3103250430366718996">"Соедините точки (как минимум <xliff:g id="NUMBER">%d</xliff:g>). Повторите попытку:"</string> @@ -615,8 +657,8 @@ <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"Продолжить"</string> <string name="lockpattern_settings_title" msgid="3207750489460466680">"Графический ключ разблокировки"</string> <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Запрашивать ключ"</string> - <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Для разблокировки нужно начертить графический ключ"</string> - <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Видимость ключа"</string> + <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Использовать графический ключ для защиты телефона"</string> + <string name="lockpattern_settings_enable_visible_pattern_title" msgid="104851667540971729">"Показывать ключ"</string> <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="972174133075372341">"Включить виброотклик"</string> <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Установить ключ"</string> <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Изменить ключ"</string> @@ -635,17 +677,17 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Управление приложениями, настройка клавиш быстрого запуска"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Настройки приложения"</string> <string name="install_applications" msgid="4872012136210802181">"Неизвестные источники"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Разрешить установку приложений, полученных не из Маркета"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Разрешить установку приложений, полученных не из Маркета"</string> <string name="install_all_warning" msgid="1923717607319933741">"Телефон и личные сведения более уязвимы к атакам приложений из неизвестных источников. Вы подтверждаете, что берете на себя всю ответственность в случае повреждения телефона и потери данных при использовании этих приложений."</string> <string name="application_info_label" msgid="1150486628158409543">"Сведения о приложении"</string> <string name="storage_label" msgid="8700867073480107253">"Память"</string> - <string name="auto_launch_label" msgid="3012617472833815382">"Запустить по умолчанию"</string> + <string name="auto_launch_label" msgid="3012617472833815382">"Запускать по умолчанию"</string> <string name="permissions_label" msgid="2605296874922726203">"Разрешения"</string> <string name="cache_header_label" msgid="1877197634162461830">"Кэш"</string> <string name="clear_cache_btn_text" msgid="5756314834291116325">"Очистить кэш"</string> <string name="cache_size_label" msgid="7505481393108282913">"Кэш"</string> <string name="controls_label" msgid="7611113077086853799">"Элементы управления"</string> - <string name="force_stop" msgid="7435006169872876756">"Остановить принудительно"</string> + <string name="force_stop" msgid="7435006169872876756">"Остановить"</string> <string name="total_size_label" msgid="1048676419552557254">"Всего"</string> <string name="application_size_label" msgid="5055196275624686382">"Приложение"</string> <string name="data_size_label" msgid="8679376373625710107">"Данные"</string> @@ -653,7 +695,7 @@ <string name="clear_user_data_text" msgid="5597622864770098388">"Стереть данные"</string> <string name="app_factory_reset" msgid="6635744722502563022">"Удалить обновления"</string> <string name="auto_launch_enable_text" msgid="2630656657744196691">"Выбран запуск этого приложения по умолчанию при выполнении некоторых действий."</string> - <string name="auto_launch_disable_text" msgid="7800385822185540166">"Без настроек по умолчанию."</string> + <string name="auto_launch_disable_text" msgid="7800385822185540166">"Значения по умолчанию не установлены."</string> <string name="clear_activities" msgid="7408923511535174430">"Удалить настройки по умолчанию"</string> <string name="unknown" msgid="1592123443519355854">"Неизвестно"</string> <string name="sort_order_alpha" msgid="8622029358896599842">"Упорядочить"</string> @@ -662,8 +704,9 @@ <string name="filter" msgid="2018011724373033887">"Фильтр"</string> <string name="filter_dlg_title" msgid="6507663329723966854">"Выбрать параметры фильтра"</string> <string name="filter_apps_all" msgid="5142129378749391876">"Все"</string> - <string name="filter_apps_third_party" msgid="7786348047690140979">"Сторонние разработчики"</string> - <string name="filter_apps_running" msgid="7767071454371350486">"Выполняемые сейчас"</string> + <string name="filter_apps_third_party" msgid="7786348047690140979">"Сторонние"</string> + <string name="filter_apps_running" msgid="7767071454371350486">"Работающие"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"На SD-карте"</string> <string name="loading" msgid="3200408047793887917">"Идет загрузка…"</string> <string name="recompute_size" msgid="7722567982831691718">"Повторное вычисление размера..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Удалить"</string> @@ -682,16 +725,31 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Не удалось вычислить размер пакета"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Не обнаружено установленных приложений сторонних разработчиков."</string> <string name="version_text" msgid="9189073826278676425">"Версия <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Переместить"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Переместить на телефон"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Переместить на SD-карту"</string> + <string name="moving" msgid="6431016143218876491">"Перемещение"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Недостаточно свободной памяти."</string> + <string name="does_not_exist" msgid="837163572898468245">"Приложение не существует."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Приложение защищено от копирования."</string> + <string name="invalid_location" msgid="4934491353200240499">"Указано недопустимое место установки."</string> + <string name="system_package" msgid="1030561474413022831">"Системные обновления не могут быть установлены на внешнем носителе."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Принудительная остановка"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Программа будет перезапущена. Вы действительно хотите выполнить принудительную остановку?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Перемещение приложения"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Не удалось переместить приложение. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Место установки"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Изменить установочную папку для новых приложений."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Работающие программы"</string> - <string name="runningservices_settings_summary" msgid="854608995821032748">"Просмотр и управление работающими службами"</string> + <string name="runningservices_settings_summary" msgid="854608995821032748">"Просмотр и управление работающими программами"</string> <string name="service_restarting" msgid="2242747937372354306">"Перезапуск"</string> <string name="no_running_services" msgid="6981216347270280598">"Работающие программы отсутствуют"</string> <string name="confirm_stop_service" msgid="5700448757318301681">"Остановить службу?"</string> <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Эта служба будет отключена до повторного запуска, что может негативно повлиять на программу <xliff:g id="APPLICATION">%1$s</xliff:g>."</string> <string name="confirm_stop_stop" msgid="7382363913280993331">"Остановить"</string> <string name="confirm_stop_cancel" msgid="206495326622692381">"Отмена"</string> - <string name="service_started_by_app" msgid="8432097226392386802">"Запущено приложением. Нажмите, чтобы остановить."</string> - <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: нажмите, чтобы изменить"</string> + <string name="service_started_by_app" msgid="8432097226392386802">"Нажмите, чтобы остановить."</string> + <string name="service_client_name" msgid="2337664610975074717">"Нажмите, чтобы изменить <xliff:g id="CLIENT_NAME">%1$s</xliff:g>"</string> <string name="service_background_processes" msgid="5158600475629177758">"Дост.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g>)"</string> <string name="service_foreground_processes" msgid="4013890350284680796">"Другое: <xliff:g id="MEMORY">%2$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g>)"</string> <string name="service_process_name" msgid="8630408984456958400">"Процесс <xliff:g id="PROCESS">%1$s</xliff:g>"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Выбор языка и региона, способов ввода и настройка автокоррекции"</string> <string name="language_category" msgid="3391756582724541530">"Региональные настройки"</string> <string name="text_category" msgid="6342540511465136739">"Настройки ввода текста"</string> - <string name="phone_language" msgid="2138384312336494991">"Выбрать регион"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Выбор страны и языка"</string> + <string name="phone_language" msgid="1165758957501090679">"Выбрать язык"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Автокоррекция"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Исправлять опечатки"</string> <string name="auto_caps" msgid="581633131114124121">"Автоподст. заглавных"</string> @@ -709,12 +767,12 @@ <string name="auto_punctuate" msgid="4595367243950425833">"Автопунктуация"</string> <string name="hardkeyboard_category" msgid="5957168411305769899">"Настройки внешней клавиатуры"</string> <string name="auto_punctuate_summary" msgid="4372126865670574837">"Нажмите дважды клавишу \"Пробел\" для ввода точки"</string> - <string name="show_password" msgid="2198798062604049206">"Видимые пароли"</string> + <string name="show_password" msgid="2198798062604049206">"Показывать пароли"</string> <string name="show_password_summary" msgid="3806709974395178121">"Показывать пароль при вводе"</string> <string name="ime_security_warning" msgid="812267421486877917">"Возможно, при использовании этого метода будут собираться все вводимые данные, в том числе такие личные сведения, как пароли или номера кредитных карт. Метод обеспечивается приложением <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Использовать этот метод ввода?"</string> - <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Пользовательский словарь"</string> - <string name="user_dict_settings_title" msgid="8357027437499042191">"Пользовательский словарь"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Добавить или удалить слова из пользовательского словаря"</string> + <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Словарь пользователя"</string> + <string name="user_dict_settings_title" msgid="8357027437499042191">"Словарь пользователя"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Добавить"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Добавление в словарь"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Изменение слова"</string> @@ -729,7 +787,7 @@ <string name="quick_launch_summary" msgid="3453825712466417452">"Настройка клавиш для быстрого запуска приложений"</string> <string name="quick_launch_assign_application" msgid="4521368464929956350">"Назначить приложение"</string> <string name="quick_launch_no_shortcut" msgid="5998005833838278693">"Нет ярлыка"</string> - <string name="quick_launch_shortcut" msgid="5090405067413522300">"Поиск + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string> + <string name="quick_launch_shortcut" msgid="5090405067413522300">"Поиск в + <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g>"</string> <string name="quick_launch_clear_dialog_title" msgid="5546543501250320220">"Очистить"</string> <string name="quick_launch_clear_dialog_message" msgid="3921015601470260722">"Ярлык для <xliff:g id="SHORTCUT_LETTER">%1$s</xliff:g> (<xliff:g id="APPLICATION_NAME">%2$s</xliff:g>) будет удален."</string> <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"ОК"</string> @@ -776,7 +834,7 @@ <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Сенсор использован пакетами:"</string> <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Использовано пакетом <xliff:g id="PACKAGE">%2$s</xliff:g>: <xliff:g id="COUNT">%1$d</xliff:g> раз(а)"</string> <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Использовано <xliff:g id="COUNT">%1$d</xliff:g> раз(а) одним из:"</string> - <string name="battery_history_awake_label" msgid="8449792868990080882">"Режим работы"</string> + <string name="battery_history_awake_label" msgid="8449792868990080882">"Выполняемые сейчас"</string> <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Экран включен"</string> <string name="battery_history_phone_on_label" msgid="700191958853142297">"Телефон включен"</string> <string name="battery_history_awake" msgid="4350886665719031057">"Время с последнего перехода в спящий режим:"</string> @@ -798,70 +856,85 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Службы специальных возможностей не установлены."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Эта служба специальных возможностей может записывать весь текст, который вы вводите, в том числе личные данные и номера кредитных карт, за исключением паролей. Служба запущена приложением <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Использовать службу?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Отключить специальные возможности?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Не найдено программ для упрощения доступа"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"У вас нет установленных программ для упрощения доступа."\n\n"Вы можете загрузить программу чтения с экрана из Android-маркета."\n\n"Нажмите OK, чтобы установить программу чтения с экрана."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Кнопка питания"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Заверш. вызов кнопкой"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Завершать вызов при нажатии кнопки питания"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Расход заряда батареи"</string> <string name="power_usage_summary" msgid="7237084831082848168">"На что расходуется заряд батареи"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Расход заряда батареи с момента отключения от сети питания"</string> <string name="battery_since_reset" msgid="7464546661121187045">"Расход заряда батареи с момента перезагрузки"</string> - <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> с момента отключения"</string> + <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> с момента отключения от питания"</string> <!-- no translation found for battery_stats_last_duration (1535831453827905957) --> <skip /> <string name="awake" msgid="387122265874485088">"Время включения устройства"</string> <string name="wifi_on_time" msgid="4630925382578609056">"Время работы WiFi"</string> <string name="bluetooth_on_time" msgid="4478515071957280711">"Время работы WiFi"</string> <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> – <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> - <string name="details_title" msgid="7564809986329021063">"Подробные сведения о расходе заряда батареи"</string> - <string name="details_subtitle" msgid="32593908269911734">"Использовать сведения"</string> + <string name="details_title" msgid="7564809986329021063">"Сведения о расходе заряда батареи"</string> + <string name="details_subtitle" msgid="32593908269911734">"Сведения об использовании"</string> <string name="controls_subtitle" msgid="390468421138288702">"Настроить режим энергопотребления"</string> <string name="packages_subtitle" msgid="4736416171658062768">"Вложенные пакеты"</string> - <string name="power_screen" msgid="2353149143338929583">"Показать"</string> + <string name="power_screen" msgid="2353149143338929583">"Экран"</string> <string name="power_wifi" msgid="2382791137776486974">"Wi-Fi"</string> <string name="power_bluetooth" msgid="4373329044379008289">"Bluetooth"</string> - <string name="power_cell" msgid="6596471490976003056">"В режиме ожидания"</string> + <string name="power_cell" msgid="6596471490976003056">"Связь с сетью"</string> <string name="power_phone" msgid="5392641106474567277">"Голосовые вызовы"</string> <string name="power_idle" msgid="9055659695602194990">"Телефон в режиме ожидания"</string> - <string name="usage_type_cpu" msgid="715162150698338714">"Суммарное использование ЦП"</string> - <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"Использование ЦП активными приложениями"</string> + <string name="usage_type_cpu" msgid="715162150698338714">"ЦП – всего"</string> + <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"ЦП – активный режим"</string> <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string> <string name="usage_type_phone" msgid="9108247984998041853">"Телефон"</string> - <string name="usage_type_data_send" msgid="2857401966985425427">"Данные отправлены"</string> - <string name="usage_type_data_recv" msgid="7251090882025234185">"Полученные данные"</string> + <string name="usage_type_data_send" msgid="2857401966985425427">"Отправлено данных"</string> + <string name="usage_type_data_recv" msgid="7251090882025234185">"Получено данных"</string> <string name="usage_type_audio" msgid="6957269406840886290">"Аудио"</string> <string name="usage_type_video" msgid="4295357792078579944">"Видео"</string> <string name="usage_type_on_time" msgid="3351200096173733159">"Время работы"</string> <string name="usage_type_no_coverage" msgid="3797004252954385053">"Время отсутствия сигнала"</string> - <string name="battery_action_stop" msgid="649958863744041872">"Остановить принудительно"</string> + <string name="battery_action_stop" msgid="649958863744041872">"Остановить"</string> <string name="battery_action_app_details" msgid="3275013531871113681">"Сведения о приложении"</string> <string name="battery_action_app_settings" msgid="350562653472577250">"Настройки приложения"</string> <string name="battery_action_display" msgid="5302763261448580102">"Настройки экрана"</string> <string name="battery_action_wifi" msgid="5452076674659927993">"Настройки WiFi"</string> <string name="battery_action_bluetooth" msgid="8374789049507723142">"Настройки Bluetooth"</string> - <string name="battery_desc_voice" msgid="8980322055722959211">"Заряд батареи, израсходованный на голосовые вызовы"</string> + <string name="battery_desc_voice" msgid="8980322055722959211">"Использование батареи для голосовых вызовов"</string> <string name="battery_desc_standby" msgid="3009080001948091424">"Расход заряда батареи в режиме ожидания"</string> - <string name="battery_desc_radio" msgid="5479196477223185367">"Батарея используется сотовым радио"</string> - <string name="battery_sugg_radio" msgid="8211336978326295047">"Перейти в режим полета, чтобы сэкономить заряд батареи при отсутствии покрытия сети"</string> - <string name="battery_desc_display" msgid="5432795282958076557">"Заряд батареи, израсходованный на подсветку экрана"</string> + <string name="battery_desc_radio" msgid="5479196477223185367">"Расход энергии на поддержание связи с сетью в режиме ожидания"</string> + <string name="battery_sugg_radio" msgid="8211336978326295047">"Если нет доступа в сеть, вкл. режим полета для экономии заряда"</string> + <string name="battery_desc_display" msgid="5432795282958076557">"Использование батареи для подсветки экрана"</string> <string name="battery_sugg_display" msgid="3370202402045141760">"Уменьшить яркость экрана и/или время до отключения экрана"</string> - <string name="battery_desc_wifi" msgid="1702486494565080431">"Батарея используется Wi-Fi"</string> - <string name="battery_sugg_wifi" msgid="7542345142282261691">"Отключить модуль Wi-Fi, когда он не используется или сеть недоступна"</string> - <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Заряд батареи, израсходованный Bluetooth"</string> + <string name="battery_desc_wifi" msgid="1702486494565080431">"Использование батареи модулем Wi-Fi"</string> + <string name="battery_sugg_wifi" msgid="7542345142282261691">"Выключайте Wi-Fi, когда эта сеть не используется."</string> + <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Использование батареи модулем Bluetooth"</string> <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Отключить Bluetooth, если он не используется"</string> <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Попробуйте подключиться к другому устройству Bluetooth"</string> - <string name="battery_desc_apps" msgid="8123202939321333639">"Расход заряда батареи для работы приложений"</string> + <string name="battery_desc_apps" msgid="8123202939321333639">"Использование батареи для работы приложений"</string> <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Остановить или удалить приложение"</string> <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Отключать GPS, когда не используется"</string> <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"В программе могут быть настройки для снижения расхода заряда батареи"</string> - <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> с момента отключения"</string> + <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> с момента отключения от питания"</string> <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"С последнего отключения <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> - <string name="menu_stats_total" msgid="8973377864854807854">"Суммарное использование"</string> + <string name="menu_stats_total" msgid="8973377864854807854">"Всего"</string> <string name="menu_stats_refresh" msgid="1676215433344981075">"Обновить"</string> <string name="process_kernel_label" msgid="3916858646836739323">"ОС Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Сервер медиа"</string> - <string name="tts_settings" msgid="3348626948015962987">"Преобр. текста в речь"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Настроить параметры преобразования текста в речь"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Голосовой ввод и вывод"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Настройки голосового ввода и вывода"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Голосовой поиск"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Клавиатура Android"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Голосовой ввод"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Голосовой вывод"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Распознавание голоса"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Настройки распозн. речи"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Настройки для <xliff:g id="RECOGNIZER_NAME">%s</xliff:g>"</string> + <string name="tts_settings" msgid="8186971894801348327">"Настройки синтеза речи"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Настройки синтеза речи"</string> - <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Всегда использовать мои настройки"</string> + <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Только мои настройки"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Мои настройки по умолчанию заменяют настройки приложений"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Настройки по умолчанию"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Система по умолчанию"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Выбор системы синтеза речи по умолчанию"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Скорость речи"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Скорость чтения текста"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Тон"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Голоса, необходимые для синтеза речи, уже установлены"</string> <string name="tts_demo" msgid="405357591189935876">"Это пример синтеза речи."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Ваши настройки изменены. Вот пример того, как это звучит."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Выбранная система не может быть запущена"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Настроить"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Выбрать другую систему"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Данная система синтеза речи может записывать произносимые слова, включая личные данные, такие как пароли и номера кредитных карт. Это осуществляет система <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>. Разрешить использование этой системы синтеза речи?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Системы"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"Настройки <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> вкл."</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>: отключено"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Языки и голос"</string> + <string name="pico_installed" msgid="2452546687858267414">"Установлено"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Не установлено"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Женский"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Мужской"</string> <string name="gadget_title" msgid="7455548605888590466">"Управление питанием"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Обновление настроек Wi-Fi"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Обновление настроек Bluetooth"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Установщик регистрационных данных"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Настройки VPN"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Подключить к \"<xliff:g id="NAME">%s</xliff:g>\""</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Имя:"</string> @@ -894,7 +979,7 @@ <string name="vpn_menu_done" msgid="93528279226907926">"Сохранить"</string> <string name="vpn_menu_cancel" msgid="7234451214611202868">"Отмена"</string> <string name="vpn_menu_revert" msgid="4407762442281467659">"Отмена"</string> - <string name="vpn_menu_connect" msgid="1089399414463784218">"Подключить к сети"</string> + <string name="vpn_menu_connect" msgid="1089399414463784218">"Подключиться к сети"</string> <string name="vpn_menu_disconnect" msgid="8254492450022562235">"Отключиться от сети"</string> <string name="vpn_menu_edit" msgid="4526245173583195618">"Изменить сеть"</string> <string name="vpn_menu_delete" msgid="3326527392609513129">"Удалить сеть"</string> @@ -921,7 +1006,7 @@ <string name="vpn_connecting" msgid="8039521381692090116">"Подключение..."</string> <string name="vpn_disconnecting" msgid="7748050200708257066">"Отключение..."</string> <string name="vpn_connected" msgid="7641723116362845781">"Подключено"</string> - <string name="vpn_connect_hint" msgid="7442898962925875181">"Подключить к сети"</string> + <string name="vpn_connect_hint" msgid="7442898962925875181">"Подключиться к сети"</string> <string name="vpn_name" msgid="1550918148476193076">"Имя VPN"</string> <string name="vpn_a_name" msgid="8445736942405283509">"имя VPN"</string> <string name="vpn_profile_added" msgid="9061017910337129840">"Профиль \"<xliff:g id="NAME">%s</xliff:g>\" добавлен"</string> @@ -940,15 +1025,15 @@ <string name="vpn_ipsec_presharedkey_title" msgid="2184060087690539175">"Установить совместно используемый ключ IPSec"</string> <string name="vpn_ipsec_presharedkey" msgid="5434316521616673741">"Совместно используемый ключ IPSec"</string> <string name="vpn_a_ipsec_presharedkey" msgid="1255301923217898418">"совместно используемый ключ IPSec"</string> - <string name="vpn_vpn_server_title" msgid="8897005887420358913">"Указать сервер VPN"</string> + <string name="vpn_vpn_server_title" msgid="8897005887420358913">"Укажите сервер VPN"</string> <string name="vpn_vpn_server" msgid="1141754908824209260">"Сервер VPN"</string> <string name="vpn_a_vpn_server" msgid="5960906152125045853">"сервер VPN"</string> <string name="vpn_vpn_server_dialog_title" msgid="7850850940160521918">"Имя сервера VPN"</string> <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"Домены поиска DNS"</string> <string name="vpn_dns_search_list" msgid="4230034234026605360">"DNS поиска"</string> <string name="vpn_field_is_set" msgid="7137320847812992243">"<xliff:g id="VALUE">%s</xliff:g> установлено"</string> - <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> — не установлено"</string> - <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"<xliff:g id="VALUE">%s</xliff:g> — не установлено (необязательно)"</string> + <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> не установлено"</string> + <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"<xliff:g id="VALUE">%s</xliff:g> не установлено (необязательно)"</string> <string name="vpn_enable_field" msgid="3700967675854517191">"Включить <xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_disable_field" msgid="6905658811179634005">"Отключить <xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_is_enabled" msgid="1266304230417098877">"<xliff:g id="OPTION">%s</xliff:g> вкл."</string> @@ -958,12 +1043,12 @@ <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(не изменялось)"</string> <string name="vpn_secret_not_set" msgid="1037792636371641845">"(не настроено)"</string> <string name="credentials_category" msgid="8536992056377271234">"Хранилище регистрационных данных"</string> - <string name="credentials_access" msgid="4843187230913860492">"Использовать безопасные регистрационные данные"</string> - <string name="credentials_access_summary" msgid="319662078718574168">"Разрешить приложениям доступ к сертификатам и другим рег. данным"</string> + <string name="credentials_access" msgid="4843187230913860492">"Доступ к хранилищу"</string> + <string name="credentials_access_summary" msgid="319662078718574168">"Разрешить приложениям использовать хранилище сертификатов и рег. данных"</string> <string name="credentials_unlock" msgid="1463040326264133844">"Ввод пароля"</string> <string name="credentials_unlock_hint" msgid="594679530407918031">"Введите пароль для доступа в хранилище регистрационных данных."</string> <string name="credentials_install_certificates" msgid="177337517568022236">"Установка с SD-карты"</string> - <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Установить зашифрованные сертификаты с SD-карты"</string> + <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Установить сертификаты шифрования с карты памяти"</string> <string name="credentials_set_password" msgid="9104473585811899989">"Установить пароль"</string> <string name="credentials_set_password_summary" msgid="8287876917562085701">"Установить или изменить пароль для доступа в хранилище рег. данных"</string> <string name="credentials_reset" msgid="9170150870552453457">"Очистить хранилище"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Настроить режим работы при экстренном вызове"</string> <string name="privacy_settings" msgid="9206631214140954954">"Конфиденциальность"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Настройки конфиденциальности"</string> - <string name="location_section_title" msgid="6072558684044939786">"Местоположение"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Настройки"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Личные данные"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Резерв. копия настроек"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Резервные копии настроек"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Вы уверены, что не хотите больше создавать резервные копии настроек и хотите удалить все копии с серверов Google?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Автовосстановление"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Резервное копирование"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Вы уверены, что не хотите больше создавать резервные копии настроек и данных программ и хотите удалить все копии с серверов Google?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Настройки администрирования устройства"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Администратор устройства"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Отключить"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Администраторы устройства"</string> + <string name="no_device_admins" msgid="702695100241728775">"Нет доступных администраторов устройства"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Активировать администратора устройства?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Активировать"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Администратор устройства"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Активация администратора позволит программе <xliff:g id="APP_NAME">%1$s</xliff:g> выполнять следующие операции:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Администратор активен и разрешает программе <xliff:g id="APP_NAME">%1$s</xliff:g> выполнять следующие операции:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Без названия"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Общие"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Входящие вызовы"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Оповещения"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Отклик на действия"</string> </resources> diff --git a/res/values-sv-nokeys/strings.xml b/res/values-sv-nokeys/strings.xml index bfc1aab..0ff7696 100644 --- a/res/values-sv-nokeys/strings.xml +++ b/res/values-sv-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Hantera program"</string> diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml index e2de945..f583155 100644 --- a/res/values-sv/arrays.xml +++ b/res/values-sv/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"Italienska"</item> <item msgid="5811378076054402537">"Spanska"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Automatiskt"</item> - <item msgid="5434666299123318296">"Inga"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Inga"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Automatiskt"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP-hexadecimal"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Skannar…"</item> + <item msgid="8513729475867537913">"Ansluter…"</item> + <item msgid="515055375277271756">"Autentiserar…"</item> + <item msgid="1943354004029184381">"Erhåller IP-adress…"</item> + <item msgid="4221763391123233270">"Ansluten"</item> + <item msgid="624838831631122137">"Pausad"</item> + <item msgid="7979680559596111948">"Kopplar ifrån…"</item> + <item msgid="1634960474403853625">"Frånkopplad"</item> + <item msgid="746097431216080650">"Misslyckades"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Skannar…"</item> + <item msgid="355508996603873860">"Ansluter till <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="554971459996405634">"Autentiserar med <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="7928343808033020343">"Hämtar IP-adress från <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="8937994881315223448">"Ansluten till: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"Pausad"</item> + <item msgid="7698638434317271902">"Kopplar ifrån <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item> + <item msgid="197508606402264311">"Frånkopplad"</item> + <item msgid="8578370891960825148">"Misslyckades"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Öppna"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Dålig"</item> + <item msgid="5615082285463430971">"Ganska bra"</item> + <item msgid="3565079809875324621">"Bra"</item> + <item msgid="5702329417707689835">"Utmärkt"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"När skärmen är avstängd"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP eller CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Lagring på intern enhet"</item> + <item msgid="3738430123799803530">"Flyttbart SD-kort"</item> + <item msgid="4498124044785815005">"Låt systemet bestämma"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Alltid"</item> + <item msgid="6293147072807231256">"Aldrig"</item> + <item msgid="1276641209451816572">"Bara i tyst läge"</item> + <item msgid="8418930333779132418">"Bara i tyst läge"</item> + </string-array> </resources> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 5ec571e..86f6636 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Ja"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Okänd"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Sätt på radio"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Stäng av radio"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"Aktivera QXDM SD-logg"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"Inaktivera QXDM SD-logg"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Visa SIM-adressbok"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visa Fasta nummer"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visa tjänstenummer"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Hämta PDP-lista"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Aktivera dataanslutning"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Inaktivera dataanslutning"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Aktivera data vid start"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Inaktivera data vid start"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"I tjänst"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Ur funktion"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Endast nödsamtal"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Synlighet"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"Synlig i <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> sekunder..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Gör enheten synlig"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Röstuppringning med låsskärm"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Förhindra att bluetooth-uppringningsfunktionen används när skärmen är låst"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth-enheter"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Enhetens namn"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Inget namn har angetts, använder kontonamn"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Kopplas ifrån"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Kopplar ifrån…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Ansluter…"</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Parkoppla med den här enheten"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Parkoppling…"</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Parkopplad men inte ansluten"</string> @@ -124,7 +120,7 @@ <string name="date_time_changeTime_text" msgid="7037437020000867740">"Byt tid"</string> <string name="date_time_changeDate_text" msgid="5259762626498028057">"Datum"</string> <string name="choose_timezone" msgid="7762866468013985022">"Välj tidszon"</string> - <string name="normal_date_format" msgid="1982904221918374153">"Normalt (<xliff:g id="DATE">%s</xliff:g>)"</string> + <string name="normal_date_format" msgid="1982904221918374153">"Normal (<xliff:g id="DATE">%s</xliff:g>)"</string> <string name="display_preview_label" msgid="1127597250917274792">"Förhandsgranska:"</string> <string name="display_font_size_label" msgid="8941851418397475389">"Teckenstorlek:"</string> <!-- no translation found for intent_sender_data_label (6332324780477289261) --> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IpAdr:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Pinga värdnamn (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test av HTTP-klient:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Växla kryptering"</string> <string name="ping_test_label" msgid="7255376471490860631">"Köra pingtest"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Uppdatera"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Uppdatera"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Växla mellan DNS-kontroll"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM-specifik information/inställningar"</string> <string name="band_mode_title" msgid="954174198903776205">"Ställ in GSM/UMTS-band"</string> <string name="band_mode_loading" msgid="548764766363847336">"Läser in bandlista…"</string> <string name="band_mode_set" msgid="5730560180249458484">"Ställ in"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Ställ in Min plats, skärmupplåsning, lås för SIM-kort och lås för uppgiftslagring"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ställ in Min plats, skärmupplåsning, lås för uppgiftslagring"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Lösenord"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Skärmens upplåsningssäkerhet"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ställ in skärmlåset"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Lås skärmen med ett grafiskt lösenord, PIN eller lösenord"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Ändra skärmlåset"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Ändra eller inaktivera grafiskt lösenord, PIN eller lösenord"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Ingen"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Inaktivera skärmens upplåsningssäkerhet"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Grafiskt lösenord"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Rita grafiskt lösenord för att låsa upp skärmen"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Ange en numerisk PIN-kod för att låsa upp skärmen"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Lösenord"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Ange ett lösenord för att låsa upp skärmen"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Inaktiveras av en fjärradministratör"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Inaktivera skärmlås"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Ta bort grafiskt lösenord"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Ta bort PIN-kod för upplåsning"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Ta bort lösenord för upplåsning"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Byt grafiskt lösenord"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Ändra PIN-kod för upplåsning"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Ändra lösenord för upplåsning"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Lösenordet måste innehålla minst %d tecken"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN-koden måste innehålla minst %d tecken"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"Tryck på Fortsätt när du är färdig"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Fortsätt"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN-koden får inte innehålla fler än %d siffror"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN-koden får inte innehålla fler än %d siffror"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN-koden får bara innehålla siffrorna 0 till 9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Lösenordet innehåller ett ogiltigt tecken"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Lösenord måste innehålla minst en bokstav"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Lösenord måste innehålla minst en siffra"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Lösenord måste innehålla minst en symbol"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Avbryt"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Enhetsadministration"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Välj enhetsadministratörer"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Lägga till eller ta bort enhetsadministratörer"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Aktivera Bluetooth"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth-inställningar"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som högtalartelefon"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"För musik och media"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Kom ihåg inställningarna"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Aktivera Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi-inställningar"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Wi-Fi-inställningar"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Ställ in och hantera trådlösa åtkomstpunkter"</string> - <string name="forget_network" msgid="4718015029995727138">"Glöm"</string> - <string name="wifi_status" msgid="4824568012414605414">"Status"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Hastighet"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Utmärkt"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"Bra"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Medel"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Dåligt"</string> - <string name="security" msgid="1040691896987225267">"Säkerhet"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Öppna"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Okänd"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"öppet nätverk"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"skyddad med WEP"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"skyddad med WPA/WPA2 PSK"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"skyddad med 802.1x EAP"</string> - <string name="ip_address" msgid="850672263358989449">"IP-adress"</string> - <string name="signal" msgid="1947969631626413228">"Signalstyrka"</string> <string name="wifi_starting" msgid="6710266609710860129">"Aktiverar…"</string> <string name="wifi_stopping" msgid="5952909472548218348">"Stänger av…"</string> <string name="wifi_error" msgid="3207971103917128179">"Fel"</string> - <string name="error_starting" msgid="4055163089721254078">"Det gick inte att starta Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"Det gick inte att stoppa Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"Det går inte att söka efter nätverk"</string> - <string name="error_connecting" msgid="1981882310590509609">"Det gick inte att ansluta till nätverket"</string> - <string name="error_saving" msgid="8294279443961615302">"Det gick inte att spara nätverket"</string> - <string name="connect" msgid="3079076576295839400">"Anslut"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"Anslut till <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP-metod"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Autentisering för fas 2"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Identitet"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Anonym identitet"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"Klientcertifikat"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA-certifikat"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Lösenord för trådlöst"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"WEP-hextangent (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Visa lösenord."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Skanna"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Inte i intervall"</string> - <string name="summary_remembered" msgid="6079941090549401742">"sparad"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Det gick inte att ansluta. Tryck om du vill försöka igen."</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi-nätverk"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Nätverks-SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"Säkerhet"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Spara"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(oförändrat)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Lägg till Wi-Fi-nätverk"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"I flygplansläge"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Det går inte att söka efter nätverk"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Nätverksmeddelande"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Meddela mig när ett öppet nätverk är tillgängligt"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Nätverkslösenordet som du angav är fel. Försök igen."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Ett problem inträffade vid anslutning till nätverket. Försök igen."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Lägg till Wi-Fi-nätverk"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi-nätverk"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Skanna"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Avancerad"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-inställningar"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Spara"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Avbryt"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Ange en giltig IP-adress."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Använd statisk IP"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Anslut till nätverk"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Glöm nätverk"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Ändra nätverk"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Nätverks-SSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"Säkerhet"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Signalstyrka"</string> + <string name="wifi_status" msgid="4824568012414605414">"Status"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Länkhastighet"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP-adress"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Nätmask"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Anslut till nätverk"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Glöm nätverk"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Byt lösenord"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP-metod"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Autentisering för fas 2"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA-certifikat"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Användarcertifikat"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Identitet"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonym identitet"</string> + <string name="wifi_password" msgid="5948219759936151048">"Lösenord"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Visa lösenord."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(oförändrat)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(ospecificerat)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Lagrad"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Inaktiverat"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Inte i intervall"</string> + <string name="wifi_secured" msgid="6759903183748011566">"Skyddad med <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, skyddad med <xliff:g id="WIFI_SECURITY">%1$s</xliff:g>"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Anslut"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Glöm"</string> + <string name="wifi_save" msgid="3331121567988522826">"Spara"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"Avbryt"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Avancerad"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Föreskriftsdomän"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Ange antalet kanaler som ska användas"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Ange när du vill växla från Wi-Fi till mobildata"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Ett problem inträffade när policy för viloläge skulle anges."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Mac-adress"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Skannar…"</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"Ansluter till <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"Autentiserar med <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"Hämtar IP-adress från <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"Ansluten till: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"Kopplar ifrån <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Frånkopplad"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Misslyckades"</string> - <string name="status_scanning" msgid="8402178267165567371">"Skannar…"</string> - <string name="status_connecting" msgid="1669262263707521505">"Ansluter…"</string> - <string name="status_authenticating" msgid="3536039799394033822">"Autentiserar…"</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Hämtar adress…"</string> - <string name="status_connected" msgid="8175694029067954271">"Ansluten"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Kopplar ifrån…"</string> - <string name="status_disconnected" msgid="7561688569905126046">"Frånkopplad"</string> - <string name="status_failed" msgid="610462050405904601">"Misslyckades"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Ljud och skärm"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Inställningar för ljud och skärm"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-inställningar"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Spara"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Avbryt"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Ange en giltig IP-adress."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Använd statisk IP"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Gateway"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Nätmask"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Mobil Wi-Fi-surfpunkt"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Mobil surfpunkt <xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktiv"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Fel på mobil Wi-Fi-surfpunkt"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Inställningar för mobil Wi-Fi-surfpunkt"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Konfigurera och hantera mobil Wi-Fi-surfpunkt"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Inställningar för mobil Wi-Fi-surfpunkt"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Konfigurera Wi-Fi-surfpunkt"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> mobil Wi-Fi-surfpunkt"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Ljud"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Skärm"</string> <string name="sound_settings" msgid="5007659014828162881">"Ljudinställningar"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Ställ in ringsignaler, aviseringar, skärmens ljusstryka"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Tyst läge"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Alla ljud utom media och larm tystas"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Tysta ned alla ljud utom media och alarm"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alla ljud utom media tystas"</string> <string name="ringtone_title" msgid="5379026328015343686">"Telefonens ringsignal"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Ange standardringsignal för inkommande samtal"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Volym"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Ringvolym"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Ställ in volym för inkommande samtal och aviseringar"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Telefonvibration"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Telefonen vibrerar vid inkommande samtal"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Vibrera vid tyst"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Tillåt vibrationsfeedback i tyst läge"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Vibrera"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Vibrationssignal för inkommande samtal och aviseringar"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Ringsignal för avisering"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Ställ in standardsignal för avisering"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Pulserande ljusavisering"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Pulserande styrkuleljus för nya aviseringar"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Volym för inkommande samtal"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Aviseringsvolym"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringsignal"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Meddelande"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Använd volymen för inkommande samtal vid avisering"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Välj ringsignal för avisering"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Mediavolym"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Media"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Ställ in volym för musik och video"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarm"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Ljudinställningar för den anslutna dockan"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Knappljud"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Spela upp signaler när knappsatsen används"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Ljud vid val"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Spela upp ljud när du väljer på skärmen"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Spela ljud när du väljer något på skärmen"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Skärmlåsljud"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Spela upp ljud vid låsning och upplåsning av skärmen"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Spela upp ljud vid låsning och upplåsning av skärmen"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Haptisk återkoppling"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Vibrera när funktionsknappar trycks ned och vid vissa gränssnittshändelser"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Vibrera när funktionsknappar trycks ned och vid vissa gränssnittshändelser"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"Aviseringar för SD-kort"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"Spela ljud vid aviseringar för SD-kort"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"Spela ljud vid aviseringar för SD-kort"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Ta bort bakgrundsljud"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Ta bort bakgrundsljud vid samtal eller inspelning."</string> <string name="dock_settings" msgid="1820107306693002541">"Dockning"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Inställningar för ansluten dockningsenhet"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Ingen dockningsenhet hittades"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Telefonen måste vara dockad när du konfigurerar ljudet för dockning"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Ljud för placering i docka"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Spela upp ljud när telefonen placeras i eller tas bort från docka"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Spela inte upp ljud när telefonen placeras i eller tas bort från docka"</string> <string name="sync_settings" msgid="9186125469300013491">"Konton och synkronisering"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Lägg till eller ta bort konton och ändra kontoinställningar"</string> <string name="search_settings" msgid="1910951467596035063">"Sök"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animering"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Visa animering när fönster öppnas och stängs"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Visa animering när fönster öppnas och stängs"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Riktning"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Rotera skärmen automatiskt"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Växla riktning automatiskt när du roterar telefonen"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Byt riktning automatiskt när du roterar telefonen"</string> <string name="brightness" msgid="2354961343555249270">"Ljusstyrka"</string> @@ -473,12 +486,12 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"Avbryt"</string> <string name="device_info_settings" msgid="475872867864762157">"Telefonens status"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Systemuppdateringar"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Leta efter systemuppdateringar"</string> - <string name="firmware_version" msgid="6284872163051667788">"Firmware-version"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android-version"</string> <string name="model_number" msgid="3765737700545384794">"Modellnummer"</string> <string name="baseband_version" msgid="1848990160763524801">"Basbandsversion"</string> <string name="kernel_version" msgid="9192574954196167602">"Kernel-version"</string> - <string name="build_number" msgid="3075795840572241758">"Mjukvaruversion"</string> + <string name="build_number" msgid="3075795840572241758">"Version"</string> <string name="device_info_not_available" msgid="8062521887156825182">"Inte tillgänglig"</string> <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string> <string name="device_status" msgid="607405385799807324">"Status"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Totalt utrymme"</string> <string name="sd_eject" msgid="6915293408836853020">"Montera bort SD-kort"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"Montera bort SD-kortet för säker borttagning"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Sätt in ett SD-kort för montering"</string> + <string name="sd_mount" msgid="5940523765187704135">"Montera SD-kort"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"Montera SD-kortet"</string> <string name="sd_format" msgid="5448738337382712203">"Formatera SD-kort"</string> <string name="sd_format_summary" msgid="6616491027883134004">"Formatera (radera) SD-kortet"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Inte tillgängligt"</string> <string name="read_only" msgid="6702420168629076340">" (Skrivskyddad)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Montera bort SD-kort"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Om du monterar bort SD-kortet avbryts några av de program som körs och de kanske inte blir tillgängliga igen förrän du monterar tillbaka SD-kortet."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Det gick inte att montera bort SD-kort"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Det går inte att montera bort SD-kort. Försök senare."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD-kortet monteras bort. Aktuell status visas i meddelandeområdet."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Monterar bort"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Monterar bort"</string> <string name="battery_status_title" msgid="9159414319574976203">"Batteristatus"</string> <string name="battery_level_title" msgid="2965679202786873272">"Batterinivå"</string> <string name="apn_settings" msgid="3743170484827528406">"APN:er"</string> @@ -565,6 +588,20 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du måste rita ditt grafiska lösenord för att bekräfta formateringen av SD-kortet."</string> <string name="call_settings_title" msgid="5188713413939232801">"Samtalsinställningar"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Ställ in röstbrevlåda, vidarebefordra samtal, samtal väntar, nummerpres."</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Internetdelning"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Mobil surfpunkt"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Internetdelning och mobil surfpunkt"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Dela telefonens mobila dataanslutning via USB"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Dela telefonens anslutning som en mobil Wi-Fi-surfpunkt"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Dela telefonens mobila dataanslutning via USB eller som en mobil Wi-Fi-surfpunkt"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB-sammanlänkning"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB-ansluten, markera för att sammanlänka"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Sammanlänkad"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Det går inte att sammanlänka när USB-lagret används"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Ingen USB är ansluten"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB-sammanlänkningsfel"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Hjälp"</string> <string name="network_settings_title" msgid="7967552516440151852">"Mobila nätverk"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Ställ in alternativ för roaming, nätverk, APN:er"</string> <string name="location_title" msgid="1029961368397484576">"Min plats"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Använd assisterad GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"Använd servern för att förbättra GPS-funktionen (avmarkera om du vill minska nätverksbelastningen)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"Använd servern för att förbättra GPS-funktionen (avmarkera om du vill förbättra GPS-funktionen)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Använd Min plats"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Använd Min plats för sökresultat och andra tjänster från Google"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Vill du tillåta att Google använder plats för förbättrade sökresultat och andra tjänster?"</string> - <string name="agree" msgid="6288718671527758326">"Jag godkänner"</string> - <string name="disagree" msgid="6221069272309799230">"Godkänn inte"</string> <string name="about_settings" msgid="1743378368185371685">"Om telefonen"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Visa juridisk information, telefonstatus, programversion"</string> <string name="legal_information" msgid="5769301644270604095">"Juridisk information"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Säkerhetsinformation"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Din telefon är inte ansluten till en datatjänst. Besök %s på en dator som är ansluten till Internet om du vill visa informationen nu."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Läser in …"</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Skärmens grafiska lösenord"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Välj ett lösenord"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"Välj en PIN-kod"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Bekräfta ditt lösenord"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"Bekräfta din PIN-kod"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Lösenorden matchar inte"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN-koderna matchar inte"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Lösenordet angavs"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN-koden angavs"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Lösenordet har angetts"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Skärmupplåsning"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Byt grafiskt lösenord"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Ändra PIN-kod för upplåsning"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Bekräfta sparat grafiskt lösenord"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Försök igen:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Rita ett grafiskt lösenord"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Hantera program, ställ in genvägar för snabbstart"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Programinställningar"</string> <string name="install_applications" msgid="4872012136210802181">"Okända källor"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Tillåt installation av program som inte finns i Market"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Tillåt installation av program som inte finns i Market"</string> <string name="install_all_warning" msgid="1923717607319933741">"Din telefon och dina personliga uppgifter är mer känsliga för hot från program från okända källor. Du godkänner att du själv är ansvarig för eventuella skador på din telefon eller förlust av data som kan uppstå när du använder dessa program."</string> <string name="application_info_label" msgid="1150486628158409543">"Programinformation"</string> <string name="storage_label" msgid="8700867073480107253">"Lagring"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Alla"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"Hämtade"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Kör"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"På SD-kort"</string> <string name="loading" msgid="3200408047793887917">"Läser in…"</string> <string name="recompute_size" msgid="7722567982831691718">"Räknar om storlek…"</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Radera"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Det gick inte att räkna ut paketstorlek"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Du har inte installerat några program från tredje part."</string> <string name="version_text" msgid="9189073826278676425">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Flytta"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Flytta till telefon"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"Flytta till SD-kort"</string> + <string name="moving" msgid="6431016143218876491">"Flyttar"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Det finns inte tillräckligt med ledigt minne."</string> + <string name="does_not_exist" msgid="837163572898468245">"Programmet finns inte."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Programmet är kopieringsskyddat."</string> + <string name="invalid_location" msgid="4934491353200240499">"Den angivna installationsplatsen är inte giltig."</string> + <string name="system_package" msgid="1030561474413022831">"Det går inte att installera systemuppdateringar på externa media."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Tvingad avslutning"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Programmet kommer att startas direkt. Vill du framtvinga avslutning?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Flytta program"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Det gick inte att flytta program. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Önskad installationsplats"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Ändra önskad installationsplats för nya program."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Aktiva tjänster"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Visa och styr aktiva tjänster"</string> <string name="service_restarting" msgid="2242747937372354306">"Startar om"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"Ställ in alternativ för språkkod (land och område), textinmatning och autokorrigering"</string> <string name="language_category" msgid="3391756582724541530">"Språkkodsinställningar"</string> <string name="text_category" msgid="6342540511465136739">"Textinställningar"</string> - <string name="phone_language" msgid="2138384312336494991">"Välj språkkod"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Välj språk och område"</string> + <string name="phone_language" msgid="1165758957501090679">"Välj språk"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Ersätt automatiskt"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Rätta felskrivna ord"</string> <string name="auto_caps" msgid="581633131114124121">"Inled med versal"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Den här inmatningsmetoden kan samla all text som du anger, inklusive personliga uppgifter som lösenord och kreditkortsnummer. Den kommer från programmet <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Ska inmatningsmetoden aktiveras?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Användarens ordlista"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Användarens ordlista"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Lägg till och ta bort ord från användarens ordlista"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Lägg till"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Lägg till i ordlista"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Redigera ord"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Inga installerade tillgänglighetstjänster."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Tillgänglighetstjänsten kan samla in all text du skriver, inklusive personliga uppgifter som kreditkortsnummer, men inte lösenord. Den kan även logga din kommunikation med användargränssnittet. Den kommer från programmet <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Vill du aktivera tillgänglighetstjänsten?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Vill du inaktivera tillgänglighet?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Hittade inga tillgänglighetsrelaterade program"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Du har inga tillgänglighetsrelaterade program installerade."\n\n"Du kan hämta en skärmläsare för enheten från Android Market."\n\n"Klicka på OK om du vill installera skärmläsaren."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Avstängningsknapp"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Avstängningsknappen avslutar samtal"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Under ett samtal avslutar avstängningsknappen samtalet i stället för att stänga av skärmen"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Batteriförbrukning"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Program som har förbrukat batteriet"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Batteriförbrukning sedan bortkoppling"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"Uppdatera"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Operativsystemet Android"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string> - <string name="tts_settings" msgid="3348626948015962987">"Text-till-tal"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Ange alternativ för text-till-tal"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Röstindata och -utdata"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Inställningar för röstindata och -utdata"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Röstsökning"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android-tangentbordet"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Röstindata"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Röstutdata"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Röstidentifiering"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Röstidentifieringsinställningar"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"Inställningar för \"<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\""</string> + <string name="tts_settings" msgid="8186971894801348327">"Text-till-tal-inställningar"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Text-till-tal-inställningar"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Använd alltid mina inställningar"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Standardinställningarna nedan åsidosätter programinställningarna"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardinställningar"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Standardmotor"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Anger talsyntesmotorn som ska användas för talat text"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Talhastighet"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Talhastighet för texten"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Ton"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Rösterna som krävs för talsyntes är redan installerade"</string> <string name="tts_demo" msgid="405357591189935876">"Detta är ett exempel på talsyntes."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Dina inställningar har ändrats. Detta är ett exempel på hur de låter."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Det går inte att köra den valda motorn"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Konfigurera"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Välj en annan motor"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Talsyntesmotorn kan samla in all text som ska talas, inklusive personlig information som lösenord och kreditkortsnummer. Den kommer från <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>-motorn. Vill du använda den här talsyntesmotorn?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Motorer"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>-inställningar"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> är aktiverad"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> är inaktiverad"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Språk och röster"</string> + <string name="pico_installed" msgid="2452546687858267414">"Installerad"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Inte installerad"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kvinna"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Man"</string> <string name="gadget_title" msgid="7455548605888590466">"Strömkontroll"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Uppdaterar Wi-Fi-inställningar"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Uppdatera Bluetooth-inställningar"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Installerare för användaruppgifter"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-inställningar"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Anslut till <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Användarnamn:"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Ange beteende vid nödsamtal"</string> <string name="privacy_settings" msgid="9206631214140954954">"Sekretess"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Sekretessinställningar"</string> - <string name="location_section_title" msgid="6072558684044939786">"Plats"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Inställningar"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Personliga data"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Säkerhetskopiera mina inställningar"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Säkerhetskopiering av inställningar"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Vill du avbryta säkerhetskopiering av dina inställningar och radera alla kopior på Googles servrar?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Automatisk återställning"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Säkerhetskopia"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Vill du avbryta säkerhetskopieringen av dina inställningar och programdata och radera alla kopior på Googles servrar?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Inställningar för enhetsadministration"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Enhetsadministratör"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Inaktivera"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Enhetsadministratörer"</string> + <string name="no_device_admins" msgid="702695100241728775">"Det finns inga tillgängliga enhetsadministratörer"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Vill du aktivera enhetsadministratör?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Aktivera"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Enhetsadministratör"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Om du aktiverar den här administratören kan programmet <xliff:g id="APP_NAME">%1$s</xliff:g> utföra följande åtgärder:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Den här administratören är aktiv och tillåter att programmet <xliff:g id="APP_NAME">%1$s</xliff:g> utför följande åtgärder:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Namnlös"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Allmänt"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Inkommande samtal"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Aviseringar"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Signaler"</string> </resources> diff --git a/res/values-tr-nokeys/strings.xml b/res/values-tr-nokeys/strings.xml index 1abf848..b9d6d98 100644 --- a/res/values-tr-nokeys/strings.xml +++ b/res/values-tr-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"Uygulamaları yönet"</string> diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml index dcbb211..98d84d2 100644 --- a/res/values-tr/arrays.xml +++ b/res/values-tr/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"İtalyanca"</item> <item msgid="5811378076054402537">"İspanyolca"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"Otomatik"</item> - <item msgid="5434666299123318296">"Hiçbiri"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"Hiçbiri"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"Otomatik"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP onaltılık"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"Taranıyor…"</item> + <item msgid="8513729475867537913">"Bağlanıyor…"</item> + <item msgid="515055375277271756">"Kimlik doğrulanıyor…"</item> + <item msgid="1943354004029184381">"IP adresi alınıyor..."</item> + <item msgid="4221763391123233270">"Bağlandı"</item> + <item msgid="624838831631122137">"Askıya alındı"</item> + <item msgid="7979680559596111948">"Bağlantı kesiliyor…"</item> + <item msgid="1634960474403853625">"Bağlantı kesildi"</item> + <item msgid="746097431216080650">"Başarısız"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"Taranıyor…"</item> + <item msgid="355508996603873860">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlanılıyor…"</item> + <item msgid="554971459996405634">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> üzerinde kimlik doğrulanıyor…"</item> + <item msgid="7928343808033020343">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağından IP adresi alınıyor…"</item> + <item msgid="8937994881315223448">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlandı"</item> + <item msgid="1330262655415760617">"Askıya alındı"</item> + <item msgid="7698638434317271902">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> bağlantısı kesiliyor…"</item> + <item msgid="197508606402264311">"Bağlantı kesildi"</item> + <item msgid="8578370891960825148">"Başarısız"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"Aç"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"Yetersiz"</item> + <item msgid="5615082285463430971">"Yeterli"</item> + <item msgid="3565079809875324621">"İyi"</item> + <item msgid="5702329417707689835">"Mükemmel"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"Ekran kapandığında"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP veya CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"Dahili cihaz depolaması"</item> + <item msgid="3738430123799803530">"Çıkarılabilir SD kart"</item> + <item msgid="4498124044785815005">"Sistem karar versin"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"Her zaman"</item> + <item msgid="6293147072807231256">"Hiçbir zaman"</item> + <item msgid="1276641209451816572">"Yalnızca Sessiz modda"</item> + <item msgid="8418930333779132418">"Yalnızca Sessiz modda değilken"</item> + </string-array> </resources> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index fcf9318..d24d3dd 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"Evet"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"Bilinmiyor"</string> <string name="turn_on_radio" msgid="8706561489788373676">"Radyoyu aç"</string> <string name="turn_off_radio" msgid="1820294552893884115">"Radyoyu kapat"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SD günlüğünü etkinleştir"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SD günlüğünü devre dışı bırak"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM adres defterini görüntüle"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Sabit Arama Numaralarını Görüntüle"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Hizmet Arama Numaralarını Görüntüle"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP listesini al"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Veri bağlantısını etkinleştir"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Veri bağlantısını devre dışı bırak"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Açılışta verileri etkinleştir"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Açılışta verileri devre dışı bırak"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"Hizmette"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"Hizmet dışı"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Yalnızca acil çağrılar için"</string> @@ -93,6 +88,8 @@ <string name="bluetooth_visibility" msgid="2930835434091839916">"Keşfedilebilir"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"<xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> saniye için keşfedilebilir…"</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"Cihazı keşfedilebilir yap"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"Sesli aramayı kilitle"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"Ekran kilitliyken blutooth çeviricinin kullanımını engelle"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"Bluetooth cihazlar"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"Cihaz adı"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"Ad ayarlanmadı, hesap adı kullanılıyor"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"Bağlantı kesildi"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"Bağlantı kesiliyor…"</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"Bağlanıyor…"</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"Bu cihaz ile eşleştir"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"Eşleştiriliyor…"</string> <string name="bluetooth_paired" msgid="1247541089000057726">"Eşleşti ancak bağlanmadı"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IpAddr:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping Ana Makine Adı (www.google.com.tr):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP İstemcisi testi:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Şifrelemeyi aç/kapa"</string> <string name="ping_test_label" msgid="7255376471490860631">"Ping testini çalıştır"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Güncelle"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Yenile"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS denetimini aç/kapa"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM\'e Özgü Bilgiler/Ayarlar"</string> <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTS bandını ayarla"</string> <string name="band_mode_loading" msgid="548764766363847336">"Bant listesi yükleniyor…"</string> <string name="band_mode_set" msgid="5730560180249458484">"Ayarla"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"Konumum, ekran kil. açma, SIM kart kil., kim. bilg. dep.kilidini ayarla"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Konumum, ekran kilidi açma, kimlik bilgileri deposunun kilidi özelliklerini ayarla"</string> <string name="security_passwords_title" msgid="2930627259125138363">"Şifreler"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"Ekran kilidini açma güvenliği"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"Ekran kilidini ayarla"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"Ekranı bir şekil, PIN veya şifre ile kilitle"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"Ekran kilidini değiştir"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Şekil, PIN veya şifre güvenliğini değiştir veya devre dışı bırak"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"Yok"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"Ekran kilidi güvenliğini devre dışı bırak"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Şekil"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Ekran kilidini açmak için şekil çizin"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Ekran kilidinin açılması için sayısal bir PIN girin"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Şifre"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Ekran kilidini açmak için kullanılacak bir şifre girin"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Telefonun uzaktan yöneticisi tarafından devre dışı bırakıldı"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Ekran kilidini kapat"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Kilit açma desenini kaldır"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"Kilit açma PIN\'ini kaldır"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"Kilit açma şifresini kaldır"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"Kilit açma desenini değiştir"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"Kilit açma PIN\'ini değiştir"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"Kilit açma şifresini değiştir"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"Şifre en az %d karakter olmalıdır"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN, en az %d karakter olmalıdır"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"İşlem tamamlandığında Devam düğmesine basın"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"Devam Et"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN, en fazla %d rakamdan oluşabilir"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN, en fazla %d rakamdan oluşabilir"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN yalnızca 0-9 arasındaki rakamları içermelidir"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"Şifre geçersiz bir karakter içeriyor"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"Şifre en az bir harf içermelidir"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"Şifre, en az bir rakam içermelidir"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"Şifre en az bir sembol içermelidir"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"Tamam"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"İptal"</string> + <string name="device_admin_title" msgid="3562216873644263804">"Cihaz yönetimi"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"Cihaz yöneticilerini seçin"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"Aygıt yöneticilerini ekleyin veya kaldırın"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"Bluetooth"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"Bluetooth\'u aç"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"Bluetooth ayarları"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Telefon hoparlörü olarak"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Müzik ve medya için"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Ayarları anımsa"</string> - <string name="wifi" msgid="1081550856200013637">"Kablosuz"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Kablosuz"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Kablosuzu aç"</string> <string name="wifi_settings" msgid="4746946030627213196">"Kablosuz ayarları"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Kablosuz ayarları"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"Kablosuz erişim noktalarını kur ve yönet"</string> - <string name="forget_network" msgid="4718015029995727138">"Unut"</string> - <string name="wifi_status" msgid="4824568012414605414">"Durum"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"Hız"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"Mükemmel"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"İyi"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"Yeterli"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"Yetersiz"</string> - <string name="security" msgid="1040691896987225267">"Güvenlik"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"Aç"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"Bilinmiyor"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"güvensiz ağ"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"WEP ile güvenlik altına alındı"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"WPA/WPA2 PSK ile güvenlik altına alındı"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"802.1x EAP ile güvenlik altına alındı"</string> - <string name="ip_address" msgid="850672263358989449">"IP adresi"</string> - <string name="signal" msgid="1947969631626413228">"Sinyal gücü"</string> <string name="wifi_starting" msgid="6710266609710860129">"Açılıyor…"</string> <string name="wifi_stopping" msgid="5952909472548218348">"Kapatılıyor…"</string> <string name="wifi_error" msgid="3207971103917128179">"Hata"</string> - <string name="error_starting" msgid="4055163089721254078">"Kablosuz başlatılamıyor"</string> - <string name="error_stopping" msgid="7855531609645531489">"Kablosuz durdurulamıyor"</string> - <string name="error_scanning" msgid="4644050284132264368">"Ağ aranamıyor"</string> - <string name="error_connecting" msgid="1981882310590509609">"Ağa bağlanılamıyor"</string> - <string name="error_saving" msgid="8294279443961615302">"Ağ kaydedilemiyor"</string> - <string name="connect" msgid="3079076576295839400">"Bağlan"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlan"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP yöntemi"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"Aşama 2 için kimlik doğrulaması"</string> - <string name="please_type_identity" msgid="7061261155499513089">"Kimlik"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"Bilinmeyen kimlik"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"İstemci sertifikası"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA sertifikası"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"Kablosuz şifresi"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"Onaltılık WEP anahtarı (0-9, A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"Şifreyi göster."</string> - <string name="scan_wifi" msgid="2459901725350542606">"Tara"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"Menzil dışında"</string> - <string name="summary_remembered" msgid="6079941090549401742">"anımsandı"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"Bağlantı kurulamadı, tekrar denemek için dokunun"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Kablosuz ağlar"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"Ağ SSID\'si"</string> - <string name="wifi_security" msgid="6603611185592956936">"Güvenlik"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"Kaydet"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(değişmedi)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"Kablosuz ağ ekle"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"Uçak modunda"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"Ağ aranamıyor"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Ağ bildirimi"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"Açık bir ağ kullanılabilir olduğunda bana bildir"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"Yazdığınız ağ şifresi doğru değil. Lütfen yeniden deneyin."</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"Ağa bağlanırken bir sorun oluştu. Lütfen yeniden deneyin."</string> + <string name="wifi_add_network" msgid="1671334951296205616">"Kablosuz ağ ekle"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Kablosuz ağlar"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"Tara"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"Gelişmiş"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP ayarları"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Kaydet"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"İptal"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Lütfen geçerli bir IP adresi yazın."</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statik IP kullan"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"Ağa bağlan"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"Ağı unut"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"Ağı değiştir"</string> + <string name="wifi_ssid" msgid="641393708309146745">"Ağ SSID\'si"</string> + <string name="wifi_security" msgid="6603611185592956936">"Güvenlik"</string> + <string name="wifi_signal" msgid="5514120261628065287">"Sinyal gücü"</string> + <string name="wifi_status" msgid="4824568012414605414">"Durum"</string> + <string name="wifi_speed" msgid="3526198708812322037">"Bağlantı hızı"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP adresi"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"Geçit"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"Ağ maskesi"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"Şebekeye bağlan"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"Ağı unut"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"Şifreyi değiştir"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP yöntemi"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"Aşama 2 için kimlik doğrulaması"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA sertifikası"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"Kullanıcı sertifikası"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"Kimlik"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"Anonim kimlik"</string> + <string name="wifi_password" msgid="5948219759936151048">"Şifre"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"Şifreyi göster."</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(değişmedi)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(belirtilmemiş)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"Anımsandı"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"Devre dışı"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"Kapsama alanı dışında"</string> + <string name="wifi_secured" msgid="6759903183748011566">"<xliff:g id="WIFI_SECURITY">%1$s</xliff:g> ile güvenlik altına alındı"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>, <xliff:g id="WIFI_SECURITY">%1$s</xliff:g> ile güvenlik altına alındı"</string> + <string name="wifi_connect" msgid="1076622875777072845">"Bağlan"</string> + <string name="wifi_forget" msgid="8168174695608386644">"Unut"</string> + <string name="wifi_save" msgid="3331121567988522826">"Kaydet"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"İptal"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"Gelişmiş"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"Denetleme alan adı"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"Kullanılacak kanal sayısını ayarla"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Kablosuzdan mobil veriye geçme zamanını belirt"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Uyku politikası ayarlanırken bir sorun oluştu."</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC adresi"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"Taranıyor…"</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlanılıyor…"</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> üzerinde kimlik doğrulanıyor…"</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağından IP adresi alınıyor…"</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlandı"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> bağlantısı kesiliyor…"</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"Bağlantı kesildi"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"Başarısız"</string> - <string name="status_scanning" msgid="8402178267165567371">"Taranıyor…"</string> - <string name="status_connecting" msgid="1669262263707521505">"Bağlanıyor…"</string> - <string name="status_authenticating" msgid="3536039799394033822">"Kimlik doğrulanıyor…"</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"Adres alınıyor…"</string> - <string name="status_connected" msgid="8175694029067954271">"Bağlandı"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"Bağlantı kesiliyor…"</string> - <string name="status_disconnected" msgid="7561688569905126046">"Bağlantı kesildi"</string> - <string name="status_failed" msgid="610462050405904601">"Başarısız"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"Ses ve görüntü"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"Ses ve görüntü ayarları"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP ayarları"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Kaydet"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"İptal"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"Lütfen geçerli bir IP adresi yazın."</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"Statik IP kullan"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"Geçit"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"Ağ maskesi"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"Taşınabilir kablosuz ortak erişim noktası"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"Taşınabilir ortak erişim noktası <xliff:g id="NETWORK_SSID">%1$s</xliff:g> etkin"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Taşınabilir kablosuz ortak erişim noktası hatası"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"Taşınabilir kablosuz ortak erişim noktası ayarları"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Taşınabilir Kablosuz ortak erişim noktası ayarla ve yönet"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Taşınabilir kablosuz ortak erişim noktası ayarları"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Kablosuz ortak erişim noktası yapılandır"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> taşınabilir kablosuz ortak erişim noktası"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android Ortak Erişim Noktası"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"Ses"</string> + <string name="display_settings_title" msgid="1708697328627382561">"Ekran"</string> <string name="sound_settings" msgid="5007659014828162881">"Ses ayarları"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"Zil seslerini, bildirimleri, ekran parlaklığını ayarla"</string> <string name="silent_mode_title" msgid="3181479108593217704">"Sessiz mod"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"Medya ve alarmlar dışında tüm sesleri susturulur"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"Medya ve alarmlar dışında tüm sesleri kapat"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Medya dışında tüm sesler susturulur"</string> <string name="ringtone_title" msgid="5379026328015343686">"Telefon zil sesi"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"Varsayılan gelen çağrı zil sesinizi ayarlayın"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"Ses"</string> <string name="ring_volume_title" msgid="7938706566797464165">"Zil sesi düzeyi"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"Gelen çağrı ve bildirimler için ses düzeyini ayarla"</string> - <string name="vibrate_title" msgid="5408984084125311526">"Telefon titreşimi"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"Gelen çağrılarda telefonu titreştir"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"Sessizken titret"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"Sessiz modda titreşimli geri bildirime izin ver"</string> + <string name="vibrate_title" msgid="6045820877942801599">"Titreşim"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"Aramalarda ve bildirimlerde titreşimle geri bildirim"</string> <string name="notification_sound_title" msgid="6316316069880531693">"Bildirim zil sesi"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"Varsayılan bildirim zil sesinizi ayarlayın"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"Bildirim ışığını yakıp söndür"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"Yeni bildirimler için iztopu ışığını arka arkaya yakıp söndürün"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"Gelen çağrı ses düzeyi"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"Bildirim ses düzeyi"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"Zil sesi"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"Bildirim"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Bildirimlerde gelen çağrı ses düzeyini kullan"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"Bildirim zil sesini seç"</string> - <string name="media_volume_title" msgid="7844516127427195383">"Medya ses düzeyi"</string> + <string name="media_volume_title" msgid="3576565767317118106">"Medya"</string> <string name="media_volume_summary" msgid="5363248930648849974">"Müziğin ve videoların ses düzeyini ayarla"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"Alarm"</string> <string name="dock_settings_summary" msgid="455802113668982481">"Takılı yuva için ses ayarları"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"Duyulabilir dokunma tonları"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"Tuş takımını kullanırken ton çal"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"Duyulabilir seçim"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Ekran seçimi yaparken ses çal"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Ekran seçimi yaparken ses çal"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Ekran kilidi sesleri"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Ekranı kilitlerken ve ekran kilidini açarken ses çal"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Ekranı kilitlerken ve ekran kilidini açarken ses çal"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Dokunsal geribildirim"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"Yumuşak tuşlara basarken ve belirli UI etkileşimleri sırasında titret"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"Yumuşak tuşlara basarken ve belirli UI etkileşimleri sırasında titret"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"SD kart bildirimleri"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"SD kart bildirimleri için ses yürüt"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"SD kart bildirimleri için ses yürüt"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"Gürültü giderme"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"Konuşurken veya kaydederken arka plan gürültüsünü bastırır."</string> <string name="dock_settings" msgid="1820107306693002541">"Yuva"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Takılı yuva için ayarlar"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"Yuva bulunamadı"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"Yuva ses ayarlarını yapılandırmak için telefon yuvaya takılı olmalıdır"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Yuvaya yerleştirme sesi"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Telefon yuvaya yerleştirilirken veya yuvadan çıkarılırken ses çal"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Telefon yuvaya yerleştirilirken veya yuvadan çıkarılırken ses çalma"</string> <string name="sync_settings" msgid="9186125469300013491">"Hesaplar ve senkronizasyon"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"Hesapları ekle veya kaldır ve hesap ayarlarını değiştir"</string> <string name="search_settings" msgid="1910951467596035063">"Ara"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"Animasyon"</string> <string name="animations_summary_on" msgid="8843613112130484436">"Pencereleri açıp kapatırken animasyon kullan"</string> <string name="animations_summary_off" msgid="2777026828025551983">"Pencereleri açıp kapatırken animasyon kullan"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"Yön"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"Ekranı otomatik döndür"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"Telefonu döndürürken yönü otomatik değiştir"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"Telefonu döndürürken yönü otomatik değiştir"</string> <string name="brightness" msgid="2354961343555249270">"Parlaklık"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"İptal"</string> <string name="device_info_settings" msgid="475872867864762157">"Telefon durumu"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Sistem güncellemeleri"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"Sistem güncellemelerini denetle"</string> - <string name="firmware_version" msgid="6284872163051667788">"Bellenim sürümü"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android sürümü"</string> <string name="model_number" msgid="3765737700545384794">"Model numarası"</string> <string name="baseband_version" msgid="1848990160763524801">"Ana bant sürümü"</string> <string name="kernel_version" msgid="9192574954196167602">"Çekirdek sürümü"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"Toplam alan"</string> <string name="sd_eject" msgid="6915293408836853020">"SD kartının bağlantısını kes"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"SD kartı güvenle çıkarmak için bağlantısını kesin"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"Eklemek için bir SD kart yerleştirin"</string> + <string name="sd_mount" msgid="5940523765187704135">"SD kartı ekle"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"SD kartı ekle"</string> <string name="sd_format" msgid="5448738337382712203">"SD kartı biçimlendir"</string> <string name="sd_format_summary" msgid="6616491027883134004">"SD kartı biçimlendir (sil)"</string> <string name="sd_unavailable" msgid="8580107589533213904">"Kullanılamıyor"</string> <string name="read_only" msgid="6702420168629076340">" (Salt okunur)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD kartının bağlantısını kes"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"SD kartı çıkarırsanız, kullanmakta olduğunuz bazı uygulamalar durur ve SD kart yeniden takılıncaya kadar kullanılamayabilir."</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"SD kartın bağlantısı kesilemedi"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD kartın bağlantısı kesilemiyor. Daha sonra yeniden deneyin."</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"SD kart çıkarılacak. Durum bilgisi için bildirim alanını kontrol edin."</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"Kaldırılıyor"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"Kaldırma işlemi devam ediyor"</string> <string name="battery_status_title" msgid="9159414319574976203">"Pil durumu"</string> <string name="battery_level_title" msgid="2965679202786873272">"Pil düzeyi"</string> <string name="apn_settings" msgid="3743170484827528406">"APN\'ler"</string> @@ -565,11 +588,25 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Bir SD kart biçimini onaylamak için kilit açma deseninizi çizmelisiniz."</string> <string name="call_settings_title" msgid="5188713413939232801">"Çağrı ayarları"</string> <string name="call_settings_summary" msgid="7291195704801002886">"Sesli mesaj, çağrı yönlendirme ve bekletme, arayan kimliğini ayarla"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"Doğrudan bağlantı oluşturma"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Taşınabilir ortak erişim noktası"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"Doğrudan bağlantı ve taşınabilir ortak erişim noktası"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Telefonunuzun mobil veri bağlantısını USB üzerinden paylaşın"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Telefonunuzun mobil bağlantısını taşınabilir kablosuz ortak erişim noktası olarak paylaşın"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"Telefonunuzun mobil veri bağlantısını USB üzerinden veya taşınabilir kablosuz ortak erişim noktası olarak paylaşın"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB bağlantısı"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB bağlandı, bağlantıyı kontrol edin"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Bağlandı"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"USB depolama birimi kullanılırken bağlanamıyor"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB bağlı değil"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB bağlantısı hatası"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"Yardım"</string> <string name="network_settings_title" msgid="7967552516440151852">"Mobil ağlar"</string> <string name="network_settings_summary" msgid="5149750850846813553">"Dolaşım, şebeke, APN seçeneklerini ayarla"</string> <string name="location_title" msgid="1029961368397484576">"Konumum"</string> <string name="location_network_based" msgid="8815705866861993344">"Kablosuz ağ kullan"</string> - <string name="location_networks_disabled" msgid="2708968452901433980">"Konumu, kablosuz ağlar kullanan (Google Haritalar gibi) uygulamalarda gör"</string> + <string name="location_networks_disabled" msgid="2708968452901433980">"Kablosuz ağları kullanarak uygulamalarda (Google Haritalar gibi) konumu gör"</string> <string name="location_neighborhood_level" msgid="4656658097932515921">"Konum kablosuz ve/veya cep telefonu ağları tarafından belirlenir"</string> <string name="location_gps" msgid="6296125378829097831">"GPS uydularını kullan"</string> <string name="location_street_level" msgid="6460740847018275745">"Konum bulunurken sokak düzeyinde kesinliğe ayarlayın (pilden tasarruf etmek için onay işaretini kaldırın)"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"Desteklenen GPS kullan"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"GPS\'ye destek olmak için sunucu kullan (ağ kullanımını azaltmak için onay işaretini kaldırın)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"GPS\'ye yardımcı olmak için sunucu kullan (GPS performansını iyileştirmek için onay işaretini kaldırın)"</string> - <string name="use_location_title" msgid="5447030582538504247">"Konumum\'u Kullan"</string> - <string name="use_location_summary" msgid="1816849484040070431">"Google arama sonuçları ve diğer Google hizmetleri için Konumum\'u kullan"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"Google\'a gelişmiş arama sonuçları ve diğer hizmetler için konum kullanma izni vermek istiyor musunuz?"</string> - <string name="agree" msgid="6288718671527758326">"Kabul ediyorum"</string> - <string name="disagree" msgid="6221069272309799230">"Kabul etmiyorum"</string> <string name="about_settings" msgid="1743378368185371685">"Telefon hakkında"</string> <string name="about_settings_summary" msgid="3302263393543848667">"Yasal bilgileri, telefon durumunu, yazılım sürümünü görüntüle"</string> <string name="legal_information" msgid="5769301644270604095">"Yasal bilgiler"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Güvenlik bilgileri"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Telefonunuz bir veri hizmetine bağlı değil. Bu bilgiyi şimdi görüntülemek için İnternet\'e bağlı herhangi bir bilgisayardan %s adresine gidin."</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Yükleniyor…"</string> - <string name="lock_settings_title" msgid="5828348303971852121">"Ekran kilidi açma deseni"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Şifrenizi seçin"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"PIN\'inizi seçin"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Şifrenizi onaylayın"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"PIN\'inizi onaylayın"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"Şifreler eşleşmiyor"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN kodları eşleşmiyor"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"Şifre ayarlandı"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN ayarlandı"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"Desen ayarlandı"</string> + <string name="lock_settings_title" msgid="975088518210629938">"Ekran kilidini açma"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"Kilit açma desenini değiştir"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"Kilit açma PIN\'ini değiştir"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"Kaydedilen deseni onayla"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"Üzgünüz, lütfen yeniden deneyin:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Kilit açma deseni çiz"</string> @@ -611,8 +653,8 @@ <string name="lockpattern_pattern_confirmed_header" msgid="2223856038485537716">"Yeni kilit açma deseniniz:"</string> <string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"Onayla"</string> <string name="lockpattern_restart_button_text" msgid="3337574403350953926">"Yeniden çiz"</string> - <string name="lockpattern_retry_button_text" msgid="1949847413862309134">"Yeniden dene"</string> - <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"Devam"</string> + <string name="lockpattern_retry_button_text" msgid="1949847413862309134">"Tekrar Dene"</string> + <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"Devam Et"</string> <string name="lockpattern_settings_title" msgid="3207750489460466680">"Kilit açma deseni"</string> <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"Desen gerektir"</string> <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Ekran kilidini açmak için desen çizmek gerekir"</string> @@ -635,7 +677,7 @@ <string name="applications_settings_summary" msgid="2714215108369119717">"Uygulamaları yönet, hızlı başlatma kısayolları ayarla"</string> <string name="applications_settings_header" msgid="6018266337275422250">"Uygulama ayarları"</string> <string name="install_applications" msgid="4872012136210802181">"Bilinmeyen kaynaklar"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"Market dışı uygulamaların yüklenmesine izin ver"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"Market üzerinden alınmayan uygulamaların yüklenmesine izin ver"</string> <string name="install_all_warning" msgid="1923717607319933741">"Telefonunuz ve kişisel verileriniz, bilinmeyen kaynaklardan gelen uygulamaların saldırılarına karşı daha savunmasızdır. Bu uygulamaları kullanmanız sonucunda telefonunuzun başına gelebilecek her tür hasardan ve veri kaybından tarafınızın sorumlu olduğunu kabul edersiniz."</string> <string name="application_info_label" msgid="1150486628158409543">"Uygulama bilgileri"</string> <string name="storage_label" msgid="8700867073480107253">"Depolama"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"Tümü"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"İndirilen"</string> <string name="filter_apps_running" msgid="7767071454371350486">"Çalışıyor"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SD kartta"</string> <string name="loading" msgid="3200408047793887917">"Yükleniyor…"</string> <string name="recompute_size" msgid="7722567982831691718">"Boyut yeniden hesaplanıyor…"</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"Sil"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"Paket boyutu hesaplanamıyor"</string> <string name="empty_list_msg" msgid="2901049162265094971">"Yüklenmiş hiçbir üçüncü taraf uygulamalarınız yok."</string> <string name="version_text" msgid="9189073826278676425">"sürüm <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"Taşı"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"Telefona taşı"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"SD karta taşı"</string> + <string name="moving" msgid="6431016143218876491">"Taşınıyor"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"Yeterli depolama alanı kalmadı."</string> + <string name="does_not_exist" msgid="837163572898468245">"Uygulama mevcut değil."</string> + <string name="app_forward_locked" msgid="5747805144210389585">"Uygulama, kopyalamaya karşı korumalıdır."</string> + <string name="invalid_location" msgid="4934491353200240499">"Belirtilen yükleme konumu geçerli değil."</string> + <string name="system_package" msgid="1030561474413022831">"Sistem güncellemeleri, harici medyaya yüklenemez."</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"Durmaya zorla"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"Bu uygulama hemen yeniden başlatılacak. Durmaya zorlamak istediğinizden emin misiniz?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Uygulamayı taşı"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Uygulama taşınamadı. <xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"Tercih edilen yükleme konumu"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"Yeni uygulamalar için tercih edilen yükleme konumunu değiştirin."</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"Çalışan hizmetler"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"Şu anda çalışan hizmetleri görüntüleyin ve denetleyin"</string> <string name="service_restarting" msgid="2242747937372354306">"Yeniden başlatılıyor"</string> @@ -692,16 +750,16 @@ <string name="confirm_stop_cancel" msgid="206495326622692381">"İptal"</string> <string name="service_started_by_app" msgid="8432097226392386802">"Uygulama tarafından başlatıldı: durdurmak için dokunun"</string> <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: yönetmek için dokunun"</string> - <string name="service_background_processes" msgid="5158600475629177758">"Kull.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>/<xliff:g id="COUNT">%1$d</xliff:g>"</string> - <string name="service_foreground_processes" msgid="4013890350284680796">"Diğer: <xliff:g id="MEMORY">%2$s</xliff:g>/<xliff:g id="COUNT">%1$d</xliff:g>"</string> + <string name="service_background_processes" msgid="5158600475629177758">"Kullanılabilir: <xliff:g id="COUNT">%1$d</xliff:g> hesabında <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>"</string> + <string name="service_foreground_processes" msgid="4013890350284680796">"Diğer: <xliff:g id="COUNT">%1$d</xliff:g> hesabında <xliff:g id="MEMORY">%2$s</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"İşlem: <xliff:g id="PROCESS">%1$s</xliff:g>"</string> <string name="language_settings" msgid="502219872342167227">"Dil ve klavye"</string> <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Dil ve klavye ayarları"</string> <string name="language_settings_summary" msgid="595647729475399987">"Yer (dil ve bölge), metin girişi ve ot. düzeltme seçeneklerini ayarla"</string> <string name="language_category" msgid="3391756582724541530">"Yerel ayar"</string> <string name="text_category" msgid="6342540511465136739">"Metin ayarları"</string> - <string name="phone_language" msgid="2138384312336494991">"Yerel ayarı seç"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"Dil ve bölge seç"</string> + <string name="phone_language" msgid="1165758957501090679">"Dil seçin"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"Otomatik değiştir"</string> <string name="auto_replace_summary" msgid="370288728200084466">"Yanlış yazılmış kelimeleri düzelt"</string> <string name="auto_caps" msgid="581633131114124121">"Otomatik büyük harf"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"Bu giriş yöntemi, şifreler ve kredi kartı numaraları gibi kişisel veriler de dahil olmak üzere yazdığınız tüm metni toplayabilir. <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> uygulamasından gelmektedir. Bu giriş yöntemini kullanmak istiyor musunuz?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Kullanıcı sözlüğü"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"Kullanıcı sözlüğü"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"Kullanıcı sözlüğüne kelime ekleyip sözlükten kelime çıkar"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Ekle"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Sözlüğe ekle"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Kelimeyi düzenle"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"Yüklenmiş erişilebilirlik hizmeti yok."</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Bu erişebilirlik hizmeti, şifreler hariç ve kişisel veriler, kredi kartı numaraları dahil olmak üzere yazdığınız tüm metinleri toplayabilir. Kullanıcı arayüzü etkileşimlerinizin kaydını da tutabilir. <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> uygulamasından gelmektedir. Bu erişebilirlik hizmetini kullanmak istiyor musunuz?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Erişilebilirlik devre dışı bırakılsın mı?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Erişilebilirlikle ilgili uygulama bulunamadı"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Erişilebilirlikle ilgili yüklü herhangi bir uygulamanız yok."\n\n"Android Market\'ten cihazınız için bir ekran okuyucu indirebilirsiniz."\n\n"Ekran okuyucuyu yüklemek için Tamam düğmesini tıklayın."</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"Güç düğmesi"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Güç düğmesi çağrıyı sonlandırır"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Çağrı sırasında, Güç düğmesine basıldığında ekranın kapanması yerine çağrı sonlanır"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"Pil kullanımı"</string> <string name="power_usage_summary" msgid="7237084831082848168">"Pili ne kullanıyor?"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"Fişten çekildikten sonra pil kullanımı"</string> @@ -851,17 +914,27 @@ <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Kullanmadığınız zamanlarda GPS\'yi kapatın"</string> <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Uygulama, pil kullanımını azaltmak için ayarlar önerebilir"</string> <string name="menu_stats_unplugged" msgid="8296577130840261624">"Fişten çekildikten itibaren <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> - <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Fişten son çekildikten sonra <xliff:g id="UNPLUGGED">%1$s</xliff:g> boyunca"</string> + <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> için fişten son çekildikten itibaren"</string> <string name="menu_stats_total" msgid="8973377864854807854">"Kullanım toplamı"</string> <string name="menu_stats_refresh" msgid="1676215433344981075">"Yenile"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android İS"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"Medya sunucusu"</string> - <string name="tts_settings" msgid="3348626948015962987">"Metin-konuşma"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"Metni konuşma seçeneklerine göre ayarla"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"Ses girişi/çıkışı"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Ses giriş/çıkış ayarları"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"Ses ile arama"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android klavyesi"</string> + <string name="voice_input_category" msgid="1589318440824204736">"Ses girişi"</string> + <string name="voice_output_category" msgid="2624538587784986229">"Ses çıkışı"</string> + <string name="recognizer_title" msgid="3231385184559054457">"Ses tanıyıcı"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"Ses tanıyıcı ayarları"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"\'<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>\' ayarları"</string> + <string name="tts_settings" msgid="8186971894801348327">"Metin-konuşma ayarları"</string> <string name="tts_settings_title" msgid="4182348653053000933">"Metin-konuşma ayarları"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Her zaman benim ayarlarımı kullan"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Aşağıdaki varsayılan ayarlar, uygulama ayarlarını geçersiz kılıyor"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"Varsayılan ayarlar"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"Varsayılan Motor"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"Konuşulan metin için kullanılacak konuşma sentezi motorunu ayarlar"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"Konuşma hızı"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"Metnin konuşulduğu hız"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"Perde"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"Konuşma sentezi için gereken sesler zaten düzgün bir şekilde yüklendi"</string> <string name="tts_demo" msgid="405357591189935876">"Bu bir konuşma sentezi örneğidir."</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"Ayarlarınız değişti. Bu nasıl duyulacakları ile ilgili bir örnektir."</string> + <string name="tts_engine_error" msgid="5513288178403066867">"Seçtiğiniz motor çalıştırılamıyor"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"Yapılandır"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"Başka bir motor seç"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"Bu konuşma sentezi motoru, şifreler ve kredi kartı numaraları gibi kişisel veriler de dahil konuşulan tüm metni toplayabilir. <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> motorundan gelmektedir. Bu konuşma sentezi motorunun kullanımı etkinleştirilsin mi?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"Motorlar"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> ayarları"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> etkinleştirildi"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> devre dışı bırakıldı"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"Diller ve sesler"</string> + <string name="pico_installed" msgid="2452546687858267414">"Yüklendi"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"Yüklü değil"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"Bayan"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"Bay"</string> <string name="gadget_title" msgid="7455548605888590466">"Güç Denetimi"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Kablosuz ayarı güncelleniyor"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Bluetooth ayarları güncelleniyor"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"Kimlik bilgisi yükleyici"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN ayarları"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"Şuna bağlan: <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"Kullanıcı adı:"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"Acil çağrı yapıldığında nasıl işlev göreceğini ayarlayın"</string> <string name="privacy_settings" msgid="9206631214140954954">"Gizlilik"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"Gizlilik ayarları"</string> - <string name="location_section_title" msgid="6072558684044939786">"Konum"</string> - <string name="settings_section_title" msgid="7413252428447723032">"Ayarlar"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"Kişisel veriler"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"Ayarlarımı yedekle"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"Ayarlar yedeği"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"Ayarlarınızın yedeklemesini durdurmak ve Google sunucularındaki tüm kopyaları silmek istediğinizden emin misiniz?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"Otomatik geri yükle"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Yedekle"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Ayarlarınızın ve uygulama verilerinizin yedeklenmesini durdurmak ve Google sunucularındaki tüm kopyaları silmek istediğinizden emin misiniz?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"Aygıt yönetimi ayarları"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"Cihaz yöneticisi"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"Etkinliğini Kaldır"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"Cihaz yöneticileri"</string> + <string name="no_device_admins" msgid="702695100241728775">"Uygun cihaz yöneticisi yok"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"Cihaz yöneticisi etkinleştirilsin mi?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"Etkinleştir"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"Cihaz yöneticisi"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"Bu yöneticinin etkinleştirilmesi, <xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının şu işlemleri gerçekleştirilmesine izin verecektir:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"Bu yönetici etkin ve <xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının şu işlemleri gerçekleştirmesine izin veriyor:"</string> <string name="untitled_apn" msgid="1230060359198685513">"Başlıksız"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"Genel"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"Gelen çağrılar"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"Bildirimler"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"Geri bildirim"</string> </resources> diff --git a/res/values-zh-rCN-nokeys/strings.xml b/res/values-zh-rCN-nokeys/strings.xml index 8710eaa..b6da481 100644 --- a/res/values-zh-rCN-nokeys/strings.xml +++ b/res/values-zh-rCN-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"管理应用程序"</string> diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml index 5306e78..dee805a 100644 --- a/res/values-zh-rCN/arrays.xml +++ b/res/values-zh-rCN/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,23 +69,46 @@ <item msgid="5972100016440094433">"意大利语"</item> <item msgid="5811378076054402537">"西班牙语"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"自动"</item> - <item msgid="5434666299123318296">"无"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"无"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"自动"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP 十六进制"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"正在扫描..."</item> + <item msgid="8513729475867537913">"正在连接..."</item> + <item msgid="515055375277271756">"正在进行身份验证..."</item> + <item msgid="1943354004029184381">"正在获取 IP 地址..."</item> + <item msgid="4221763391123233270">"已连接"</item> + <item msgid="624838831631122137">"已暂停"</item> + <item msgid="7979680559596111948">"正在断开连接..."</item> + <item msgid="1634960474403853625">"已断开连接"</item> + <item msgid="746097431216080650">"失败"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"正在扫描..."</item> + <item msgid="355508996603873860">"正在连接到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="554971459996405634">"正在通过 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 进行身份验证..."</item> + <item msgid="7928343808033020343">"正在从 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 获取 IP 地址..."</item> + <item msgid="8937994881315223448">"已连接到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"已暂停"</item> + <item msgid="7698638434317271902">"正在断开与 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 的连接..."</item> + <item msgid="197508606402264311">"已断开连接"</item> + <item msgid="8578370891960825148">"失败"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"开放"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"弱"</item> + <item msgid="5615082285463430971">"一般"</item> + <item msgid="3565079809875324621">"较强"</item> + <item msgid="5702329417707689835">"强"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"屏幕关闭时休眠"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP 或 CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"设备内部存储"</item> + <item msgid="3738430123799803530">"可卸载的 SD 卡"</item> + <item msgid="4498124044785815005">"由系统确定"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"始终"</item> + <item msgid="6293147072807231256">"一律不"</item> + <item msgid="1276641209451816572">"仅在静音模式下来电振动"</item> + <item msgid="8418930333779132418">"仅在非静音模式下来电振动"</item> + </string-array> </resources> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index fd28bdf..b30b974 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,7 +12,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"是"</string> @@ -20,16 +21,10 @@ <string name="device_info_default" msgid="7847265875578739287">"未知"</string> <string name="turn_on_radio" msgid="8706561489788373676">"打开无线通信"</string> <string name="turn_off_radio" msgid="1820294552893884115">"关闭无线通信"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"启用 QXDM SD 日志"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"停用 QXDM SD 日志"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"查看 SIM 卡地址簿"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"查看固定拨号"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"查看服务拨号"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"获取 PDP 列表"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"启用数据连接"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"停用数据连接"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"启动时启用数据"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"启动时停用数据"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"正在使用中"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"不在服务区"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"仅限于急救或报警电话"</string> @@ -42,7 +37,7 @@ <string name="radioInfo_data_disconnected" msgid="1959735267890719418">"已断开连接"</string> <string name="radioInfo_data_connecting" msgid="8404571440697917823">"正在连接"</string> <string name="radioInfo_data_connected" msgid="7074301157399238697">"已连接"</string> - <string name="radioInfo_data_suspended" msgid="5315325487890334196">"已挂起"</string> + <string name="radioInfo_data_suspended" msgid="5315325487890334196">"已暂停"</string> <string name="radioInfo_unknown" msgid="737385314432468266">"未知"</string> <string name="radioInfo_display_packets" msgid="8654359809877290639">"pkts"</string> <string name="radioInfo_display_bytes" msgid="4018206969492931883">"字节"</string> @@ -74,7 +69,7 @@ <string name="battery_info_status_unknown" msgid="196130600938058547">"未知"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"正在充电"</string> <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(交流电)"</string> - <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string> + <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB 绑定选项)"</string> <string name="battery_info_status_discharging" msgid="6222697503392774475">"正在放电"</string> <string name="battery_info_status_not_charging" msgid="2820070506621483576">"未在充电"</string> <string name="battery_info_status_full" msgid="2824614753861462808">"已满"</string> @@ -90,20 +85,21 @@ <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"过电压"</string> <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"未知错误"</string> <string name="bluetooth" msgid="5549625000628014477">"蓝牙"</string> - <string name="bluetooth_visibility" msgid="2930835434091839916">"可检测"</string> + <string name="bluetooth_visibility" msgid="2930835434091839916">"可检测性"</string> <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"<xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> 秒内可检测到..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"可以检测到设备"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"锁定语音拨号"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"屏幕锁定时停止使用蓝牙拨号器"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"蓝牙设备"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"设备名称"</string> - <string name="bluetooth_name_not_set" msgid="2653752006416027426">"无名称集,使用帐户名"</string> + <string name="bluetooth_name_not_set" msgid="2653752006416027426">"未设置名称,使用帐户名"</string> <string name="bluetooth_scan_for_devices" msgid="9214184305566815727">"扫描查找设备"</string> <string name="bluetooth_disconnect_blank" msgid="8102076504922229274">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>将断开连接。"</string> <string name="bluetooth_connected" msgid="6038755206916626419">"已连接"</string> <string name="bluetooth_disconnected" msgid="6557104142667339895">"已断开连接"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在断开连接..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"正在连接..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"与此设备配对"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"正在配对..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"已配对但未连接"</string> @@ -125,15 +121,15 @@ <string name="date_time_changeDate_text" msgid="5259762626498028057">"日期"</string> <string name="choose_timezone" msgid="7762866468013985022">"选择时区"</string> <string name="normal_date_format" msgid="1982904221918374153">"普通 (<xliff:g id="DATE">%s</xliff:g>)"</string> - <string name="display_preview_label" msgid="1127597250917274792">"预览:"</string> + <string name="display_preview_label" msgid="1127597250917274792">"预览:"</string> <string name="display_font_size_label" msgid="8941851418397475389">"字号:"</string> <!-- no translation found for intent_sender_data_label (6332324780477289261) --> <skip /> <string name="intent_sender_sendbroadcast_text" msgid="1415735148895872715">"发送<xliff:g id="BROADCAST">broadcast</xliff:g>"</string> - <string name="intent_sender_action_label" msgid="616458370005452389">"<xliff:g id="ACTION">Action</xliff:g>:"</string> + <string name="intent_sender_action_label" msgid="616458370005452389">"<xliff:g id="ACTION">Action</xliff:g>:"</string> <string name="intent_sender_startactivity_text" msgid="5080516029580421895">"启动<xliff:g id="ACTIVITY">activity</xliff:g>"</string> - <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string> - <string name="intent_sender_account_label" msgid="465210404475603404">"帐户:"</string> + <string name="intent_sender_resource_label" msgid="6963659726895482829">"<xliff:g id="RESOURCE">Resource</xliff:g>:"</string> + <string name="intent_sender_account_label" msgid="465210404475603404">"帐户:"</string> <string name="proxy_clear_text" msgid="5555400754952012657">"清除"</string> <string name="proxy_port_label" msgid="2623639656638472491">"端口"</string> <string name="proxy_defaultView_text" msgid="6387985519141433291">"恢复默认设置"</string> @@ -145,7 +141,7 @@ <string name="proxy_error_empty_port" msgid="3525734169948795417">"您必须填写端口字段。"</string> <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"如果主机字段为空,则端口字段必须为空。"</string> <string name="proxy_error_invalid_port" msgid="1816315605424943626">"您输入的端口无效。"</string> - <string name="radio_info_signal_location_label" msgid="16475158265551708">"位置:"</string> + <string name="radio_info_signal_location_label" msgid="16475158265551708">"地点:"</string> <string name="radio_info_neighboring_location_label" msgid="2385625674055934880">"相邻的 CID:"</string> <string name="radio_info_data_attempts_label" msgid="1731106244577323381">"数据尝试次数:"</string> <string name="radio_info_gprs_service_label" msgid="2331818110375395364">"GPRS 服务:"</string> @@ -158,7 +154,7 @@ <string name="radio_info_data_successes_label" msgid="4417894113689054945">"数据成功:"</string> <string name="radio_info_ppp_received_label" msgid="3345184342444878849">"已收到 PPP:"</string> <string name="radio_info_gsm_service_label" msgid="2082332114596916985">"GSM 服务:"</string> - <string name="radio_info_signal_strength_label" msgid="1931937920896925766">"信号强度:"</string> + <string name="radio_info_signal_strength_label" msgid="1931937920896925766">"信号强度:"</string> <string name="radio_info_call_status_label" msgid="4896238900685510883">"呼叫状态:"</string> <string name="radio_info_ppp_sent_label" msgid="5009102250704375687">"已发送 PPP:"</string> <string name="radio_info_radio_resets_label" msgid="9211343458143291617">"无线通信重置:"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IP 地址:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping 主机名 (www.google.com):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP 客户端测试:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"切换加密"</string> <string name="ping_test_label" msgid="7255376471490860631">"运行 ping 测试"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"更新"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"刷新"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"切换 DNS 检查"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"特定 OEM 的信息/设置"</string> <string name="band_mode_title" msgid="954174198903776205">"设置 GSM/UMTS 波段"</string> <string name="band_mode_loading" msgid="548764766363847336">"正在载入波段列表..."</string> <string name="band_mode_set" msgid="5730560180249458484">"设置"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"设置我的位置、屏幕解锁、SIM 卡锁定和凭据存储锁定"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"设置我的位置、屏幕解锁和凭据存储锁定"</string> <string name="security_passwords_title" msgid="2930627259125138363">"密码"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"屏幕解锁保护"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"设置屏幕锁定"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"使用图案、PIN 或密码锁定屏幕"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"更改屏幕锁定"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"更改或停用图案、PIN 或密码保护"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"无"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"停用屏幕解锁保护"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"图案"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"绘制图案给屏幕解锁"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"输入数字 PIN 给屏幕解锁"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"密码"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"输入密码给屏幕解锁"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"已由远程手机管理员停用"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"关闭屏幕锁定"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"删除解锁图案"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"删除解锁 PIN"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"删除解锁密码"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"更改解锁图案"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"更改解锁 PIN"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"更改解锁密码"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"密码必须至少包含 %d 个字符"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN 必须至少包含 %d 个字符"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"完成后按“继续”"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"继续"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN 不得超过 %d 位数"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN 不得超过 %d 位数"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN 只能由 0-9 的数字组成"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"密码包含非法字符"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"密码中至少应包含一个字母"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"密码中至少应包含一个数字"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"密码中至少应包含一个符号"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"确定"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"取消"</string> + <string name="device_admin_title" msgid="3562216873644263804">"设备管理"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"选择设备管理器"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"添加或删除设备管理器"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"蓝牙"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"打开蓝牙"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"蓝牙设置"</string> @@ -262,14 +295,14 @@ <string name="bluetooth_connecting_error_message" msgid="1779660510084746802">"连接到<xliff:g id="DEVICE_NAME">%1$s</xliff:g>时出现问题。"</string> <string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"扫描查找设备"</string> <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"连接"</string> - <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"断开连接"</string> + <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"断开绑定"</string> <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"配对和连接"</string> <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"取消配对"</string> <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"断开连接和取消配对"</string> - <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"选项..."</string> + <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"选项…"</string> <string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"连接到..."</string> <string name="bluetooth_profile_a2dp" msgid="3259633293424539529">"媒体"</string> - <string name="bluetooth_profile_headset" msgid="1874975688666658946">"手机"</string> + <string name="bluetooth_profile_headset" msgid="1874975688666658946">"电话"</string> <string name="bluetooth_profile_opp" msgid="3799470046565284440">"传输"</string> <string name="bluetooth_summary_connected_to_a2dp" msgid="510833839847758664">"已连接到媒体音频"</string> <string name="bluetooth_summary_connected_to_headset" msgid="4876496372728623918">"已连接到手机音频"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"将底座用作免提电话"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"用于音乐和媒体"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"记住设置"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"打开 Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi 设置"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Wi-Fi 设置"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"设置和管理无线接入点"</string> - <string name="forget_network" msgid="4718015029995727138">"忘记"</string> - <string name="wifi_status" msgid="4824568012414605414">"状态"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"速度"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"最强"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"正常"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"较强"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"弱"</string> - <string name="security" msgid="1040691896987225267">"安全性"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"开放"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise (802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"未知"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"开放网络"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"通过 WEP 保护"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"通过 WPA/WPA2 PSK 保护"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"通过 802.1x EAP 保护"</string> - <string name="ip_address" msgid="850672263358989449">"IP 地址"</string> - <string name="signal" msgid="1947969631626413228">"信号强度"</string> <string name="wifi_starting" msgid="6710266609710860129">"正在打开..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"正在关闭..."</string> <string name="wifi_error" msgid="3207971103917128179">"出错"</string> - <string name="error_starting" msgid="4055163089721254078">"无法启动 Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"无法停止 Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"无法扫描查找网络"</string> - <string name="error_connecting" msgid="1981882310590509609">"无法连接到网络"</string> - <string name="error_saving" msgid="8294279443961615302">"无法保存网络"</string> - <string name="connect" msgid="3079076576295839400">"连接"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"连接到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP 方式"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"阶段 2 身份验证"</string> - <string name="please_type_identity" msgid="7061261155499513089">"身份"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"匿名身份"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"客户端证书"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA 证书"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"无线密码"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"WEP 十六进制密钥(0-9、A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"显示密码。"</string> - <string name="scan_wifi" msgid="2459901725350542606">"扫描"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"不在范围内"</string> - <string name="summary_remembered" msgid="6079941090549401742">"已记住"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"连接失败,请触摸重试"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi 网络"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"网络 SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"安全性"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"保存"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(未更改)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"添加 Wi-Fi 网络"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"正处于飞行模式"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"无法通过扫描查找网络"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"网络通知"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"附近有开放网络时通知我"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"您输入的网络密码不正确,请重试。"</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"连接到网络时出现问题,请重试。"</string> + <string name="wifi_add_network" msgid="1671334951296205616">"添加 Wi-Fi 网络"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi 网络"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"扫描"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"高级"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 设置"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"保存"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"取消"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"请输入有效的 IP 地址。"</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"使用静态 IP"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"连接到网络"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"不保存网络"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"修改网络"</string> + <string name="wifi_ssid" msgid="641393708309146745">"网络 SSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"安全性"</string> + <string name="wifi_signal" msgid="5514120261628065287">"信号强度"</string> + <string name="wifi_status" msgid="4824568012414605414">"状态消息"</string> + <string name="wifi_speed" msgid="3526198708812322037">"连接速度"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP 地址"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"域名 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"域名 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"网关"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"网络掩码"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"连接到网络"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"忘记网络"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"更改密码"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP 方法"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"阶段 2 身份验证"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA 证书"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"用户证书"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"身份"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"匿名身份"</string> + <string name="wifi_password" msgid="5948219759936151048">"密码"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"显示密码。"</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(未更改)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(未指定)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"已保存"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"已停用"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"不在范围内"</string> + <string name="wifi_secured" msgid="6759903183748011566">"通过 <xliff:g id="WIFI_SECURITY">%1$s</xliff:g> 进行保护"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>,通过 <xliff:g id="WIFI_SECURITY">%1$s</xliff:g> 进行保护"</string> + <string name="wifi_connect" msgid="1076622875777072845">"连接"</string> + <string name="wifi_forget" msgid="8168174695608386644">"不保存"</string> + <string name="wifi_save" msgid="3331121567988522826">"保存"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"取消"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"高级"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"调整域"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"设置要使用的频道个数"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"指定何时要从 Wi-Fi 切换到手机数据"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"设置休眠策略时出现问题。"</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 地址"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"正在扫描..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"正在连接到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"正在通过 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 进行身份验证..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"正在从 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 获取 IP 地址..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"已连接到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"正在断开与 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 的连接..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"已断开连接"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"失败"</string> - <string name="status_scanning" msgid="8402178267165567371">"正在扫描..."</string> - <string name="status_connecting" msgid="1669262263707521505">"正在连接..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"正在进行身份验证..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"正在获取地址..."</string> - <string name="status_connected" msgid="8175694029067954271">"已连接"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"正在断开连接..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"已断开连接"</string> - <string name="status_failed" msgid="610462050405904601">"失败"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"声音和显示"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"声音和显示设置"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 设置"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"保存"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"取消"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"请输入有效的 IP 地址。"</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"使用静态 IP"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"域名 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"域名 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"网关"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"网络掩码"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"便携式 Wi-Fi 热点"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"便携式热点 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 已启用"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"便携式 Wi-Fi 热点错误"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"便携式 Wi-Fi 热点设置"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"设置与管理便携式 Wi-Fi 热点"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"便携式 Wi-Fi 热点设置"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"配置 Wi-Fi 热点"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 便携式 Wi-Fi 热点"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android 热点"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"声音"</string> + <string name="display_settings_title" msgid="1708697328627382561">"显示"</string> <string name="sound_settings" msgid="5007659014828162881">"声音设置"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"设置铃声、通知和屏幕亮度"</string> <string name="silent_mode_title" msgid="3181479108593217704">"静音模式"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"除媒体和闹钟之外,所有声音均设为静音"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"除媒体和闹钟以外,所有声音均设为静音"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"对所有非多媒体声音进行静音处理"</string> <string name="ringtone_title" msgid="5379026328015343686">"手机铃声"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"设置默认来电铃声"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"音量"</string> <string name="ring_volume_title" msgid="7938706566797464165">"铃声音量"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"设置来电和通知的音量"</string> - <string name="vibrate_title" msgid="5408984084125311526">"手机振动"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"来电时振动手机"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"静音时振动"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"静音模式下允许振动反馈"</string> + <string name="vibrate_title" msgid="6045820877942801599">"振动"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"在接到电话和通知时发出振动反馈"</string> <string name="notification_sound_title" msgid="6316316069880531693">"通知铃声"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"设置默认的通知铃声"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"闪动通知指示灯"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"在收到新通知时,跟踪球指示灯会不断闪动"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"来电音量"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"通知音量"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"铃声"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"通知"</string> <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"将来电音量用作通知音量"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"选择通知铃声"</string> - <string name="media_volume_title" msgid="7844516127427195383">"媒体音量"</string> + <string name="media_volume_title" msgid="3576565767317118106">"媒体"</string> <string name="media_volume_summary" msgid="5363248930648849974">"设置音乐和视频的音量"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"闹钟"</string> <string name="dock_settings_summary" msgid="455802113668982481">"附加底座的音频设置"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"按键操作音"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"使用拨号键盘时播放按键音效"</string> @@ -417,13 +427,13 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"选择操作音"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"进行屏幕选取时播放音效"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"进行屏幕选取时播放音效"</string> - <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"触感反馈"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"屏幕锁定提示音"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"锁定和解锁屏幕时播放声音"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"锁定和解锁屏幕时播放声音"</string> + <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"触感"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"按软键以及进行某些 UI 交互时振动"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"按软键以及进行某些 UI 交互时振动"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"SD 卡通知"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"播放 SD 卡通知音效"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"播放 SD 卡通知音效"</string> - <string name="audio_record_proc_title" msgid="4271091199976457534">"噪音消除"</string> + <string name="audio_record_proc_title" msgid="4271091199976457534">"降噪"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"在进行通话或录音时降低背景噪音。"</string> <string name="dock_settings" msgid="1820107306693002541">"底座"</string> <string name="dock_settings_title" msgid="9161438664257429372">"底座设置"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"附加底座的设置"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"未找到底座"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"必须将手机插入底座,才能配置底座音频"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"插入底座提示音"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"将电话插入底座或拔出时发出声音"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"电话插入底座或拔出时不播放声音"</string> <string name="sync_settings" msgid="9186125469300013491">"帐户与同步"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"添加或删除帐户和更改帐户设置"</string> <string name="search_settings" msgid="1910951467596035063">"搜索"</string> @@ -442,14 +455,14 @@ <string name="animations_title" msgid="1062189037402346023">"动画"</string> <string name="animations_summary_on" msgid="8843613112130484436">"打开和关闭窗口时显示动画"</string> <string name="animations_summary_off" msgid="2777026828025551983">"打开和关闭窗口时显示动画"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"方向"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"自动旋转屏幕"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"旋转手机时自动改变显示方向"</string> - <string name="accelerometer_summary_off" msgid="5485489363715740761">"旋转手机时自动改变方向"</string> + <string name="accelerometer_summary_off" msgid="5485489363715740761">"旋转手机时自动改变显示方向"</string> <string name="brightness" msgid="2354961343555249270">"亮度"</string> <string name="brightness_summary" msgid="838917350127550703">"调整屏幕亮度"</string> - <string name="screen_timeout" msgid="4882669461447531301">"屏幕待机"</string> + <string name="screen_timeout" msgid="4882669461447531301">"屏幕超时"</string> <string name="screen_timeout_summary" msgid="2905757633140605334">"调整屏幕自动锁定前的延迟"</string> - <string name="automatic_brightness" msgid="5014143533884135461">"自动亮度"</string> + <string name="automatic_brightness" msgid="5014143533884135461">"自动调整亮度"</string> <string name="sim_lock_settings" msgid="3392331196873564292">"SIM 卡锁定设置"</string> <string name="sim_lock_settings_category" msgid="5136244267576697004">"设置 SIM 卡锁定"</string> <string name="sim_lock_settings_title" msgid="9018585580955414596">"SIM 卡锁定"</string> @@ -473,15 +486,15 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"取消"</string> <string name="device_info_settings" msgid="475872867864762157">"手机状态"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"系统更新"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"检查是否有系统更新"</string> - <string name="firmware_version" msgid="6284872163051667788">"固件版本"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android 版本"</string> <string name="model_number" msgid="3765737700545384794">"型号"</string> <string name="baseband_version" msgid="1848990160763524801">"基带版本"</string> <string name="kernel_version" msgid="9192574954196167602">"内核版本"</string> <string name="build_number" msgid="3075795840572241758">"版本号"</string> <string name="device_info_not_available" msgid="8062521887156825182">"不可用"</string> - <string name="device_status_activity_title" msgid="1411201799384697904">"状态"</string> - <string name="device_status" msgid="607405385799807324">"状态"</string> + <string name="device_status_activity_title" msgid="1411201799384697904">"状态消息"</string> + <string name="device_status" msgid="607405385799807324">"状态消息"</string> <string name="device_status_summary" msgid="2599162787451519618">"电话号码、信号等"</string> <string name="storage_settings" msgid="6681164315506788024">"SD 卡和手机内存"</string> <string name="storage_settings_title" msgid="5379463509034022773">"SD 卡和手机内存设置"</string> @@ -507,16 +520,26 @@ <string name="memory_size" msgid="6629067715017232195">"总容量"</string> <string name="sd_eject" msgid="6915293408836853020">"卸载 SD 卡"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"必须先卸载 SD 卡,才能将其安全移除"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"插入 SD 卡进行安装"</string> + <string name="sd_mount" msgid="5940523765187704135">"安装 SD 卡"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"安装 SD 卡"</string> <string name="sd_format" msgid="5448738337382712203">"格式化 SD 卡"</string> <string name="sd_format_summary" msgid="6616491027883134004">"格式化(清除)SD 卡"</string> <string name="sd_unavailable" msgid="8580107589533213904">"不可用"</string> <string name="read_only" msgid="6702420168629076340">" (只读)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"卸载 SD 卡"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"如果您卸载 SD 卡,则您当前使用的某些应用程序会停止,而且在您重新安装 SD 卡前可能都无法使用。"</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"无法卸载 SD 卡"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"无法卸载 SD 卡,请稍后重试。"</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"系统将要卸载 SD 卡。请在通知区域查看状态。"</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"正在卸载"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"正在卸载"</string> <string name="battery_status_title" msgid="9159414319574976203">"电池状态"</string> <string name="battery_level_title" msgid="2965679202786873272">"电池电量"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> <string name="apn_edit" msgid="1354715499708424718">"修改接入点"</string> <string name="apn_not_set" msgid="7422262558097875757">"<未设置>"</string> - <string name="apn_name" msgid="4115580098369824123">"名称"</string> + <string name="apn_name" msgid="4115580098369824123">"姓名"</string> <string name="apn_apn" msgid="2479425126733513353">"APN"</string> <string name="apn_http_proxy" msgid="1826885957243696354">"代理"</string> <string name="apn_http_port" msgid="3763259523984976226">"端口"</string> @@ -548,7 +571,7 @@ <string name="restore_default_apn_completed" msgid="3990449939234957281">"重置默认 APN 设置已完成"</string> <string name="master_clear_title" msgid="5907939616087039756">"恢复出厂设置"</string> <string name="master_clear_summary" msgid="4986154238001088492">"清除手机上的所有数据"</string> - <string name="master_clear_desc" msgid="7823268823499739178">"这将清除您手机中的以下数据:"\n<li>"您的 Google 帐户"</li>\n<li>"系统与应用程序的数据和设置"</li>\n<li>"下载的应用程序"</li>\n"不会清除以下数据:"\n<li>"当前系统软件和捆绑的应用程序"</li>\n<li>"SD 卡中的文件,如音乐或照片"</li></string> + <string name="master_clear_desc" msgid="7823268823499739178">"这会从手机中删除所有数据,包括:"\n<li>"Google 帐户"</li>\n<li>"系统与应用程序的数据和设置"</li>\n<li>"下载的应用程序"</li>\n"不会删除:"\n<li>"当前系统软件和捆绑的应用程序"</li>\n<li>"SD 卡文件,如音乐或照片"</li></string> <string name="master_clear_button_text" msgid="7550632653343157971">"重置手机"</string> <string name="master_clear_final_desc" msgid="6917971132484622696">"是否删除所有个人信息和下载的所有应用程序?此操作无法还原!"</string> <string name="master_clear_final_button_text" msgid="5390908019019242910">"清除全部内容"</string> @@ -560,11 +583,25 @@ <string name="media_format_desc" msgid="1142563222357820834">"该操作会清除手机中 SD 卡上的数据。卡上的所有数据都将丢失。"</string> <string name="media_format_button_text" msgid="370856400090190151">"格式化 SD 卡"</string> <string name="media_format_final_desc" msgid="1776666694910717198">"确定要将 SD 卡格式化、清除所有媒体吗?该操作将不能撤消!"</string> - <string name="media_format_final_button_text" msgid="4881713344315923175">"清除所有内容"</string> + <string name="media_format_final_button_text" msgid="4881713344315923175">"清除全部内容"</string> <string name="media_format_gesture_prompt" msgid="3109349468816856670">"绘制您的解锁图案"</string> <string name="media_format_gesture_explanation" msgid="4239529439389660159">"您必须绘制解锁图案以确认将 SD 卡格式化。"</string> <string name="call_settings_title" msgid="5188713413939232801">"通话设置"</string> <string name="call_settings_summary" msgid="7291195704801002886">"设置语音信箱、来电转接、来电等待和本机号码显示"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"绑定"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"便携式热点"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"绑定与便携式热点"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"将您手机的移动数据连接通过 USB 分享"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"将您手机的移动连接作为便携式 Wi-Fi 热点分享"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"将您手机的移动数据连接通过 USB 或作为便携式 Wi-Fi 热点分享"</string> + <string name="usb_title" msgid="7483344855356312510">"USB 绑定选项"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB 绑定"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB 已连接,选中以绑定"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"已绑定"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"使用 USB 存储设备时无法绑定"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB 未连接"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB 绑定出错"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"帮助"</string> <string name="network_settings_title" msgid="7967552516440151852">"移动网络"</string> <string name="network_settings_summary" msgid="5149750850846813553">"设置漫游、网络、APN 选项"</string> <string name="location_title" msgid="1029961368397484576">"我的位置"</string> @@ -577,11 +614,6 @@ <string name="assisted_gps" msgid="4649317129586736885">"使用增强型 GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"使用服务器来辅助 GPS(取消选中可降低网络使用率)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"使用服务器来辅助 GPS(取消选中可提高 GPS 性能)"</string> - <string name="use_location_title" msgid="5447030582538504247">"使用“我的位置”"</string> - <string name="use_location_summary" msgid="1816849484040070431">"将“我的位置”用于 Google 搜索结果和其他 Google 服务"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"是否允许 Google 使用位置信息改善搜索结果和其他服务?"</string> - <string name="agree" msgid="6288718671527758326">"同意"</string> - <string name="disagree" msgid="6221069272309799230">"不同意"</string> <string name="about_settings" msgid="1743378368185371685">"关于手机"</string> <string name="about_settings_summary" msgid="3302263393543848667">"查看法律信息、手机状态和软件版本"</string> <string name="legal_information" msgid="5769301644270604095">"法律信息"</string> @@ -598,8 +630,18 @@ <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"安全信息"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"您的手机未连接到数据服务。要立即查看此信息,请通过连接到互联网的任意计算机访问 %s。"</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"正在载入..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"屏幕解锁图案"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"选择您的密码"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"选择您的 PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"确认您的密码"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"确认您的 PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"密码不匹配"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN 不匹配!"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"密码已设置"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"PIN 已设置"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"图案已设置"</string> + <string name="lock_settings_title" msgid="975088518210629938">"屏幕解锁"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"更改解锁图案"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"更改解锁 PIN"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"确认已保存的图案"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"很抱歉,请重试:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"绘制解锁图案"</string> @@ -626,17 +668,17 @@ <string name="skip_button_label" msgid="8680422740354436943">"取消"</string> <string name="next_button_label" msgid="8890792540116568321">"下一步"</string> <string name="lock_title" msgid="4059246467204273930">"手机安全设置"</string> - <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"创建个人屏幕的解锁图案,防止手机被人擅自使用。"\n<font height="17">\n</font><b>"1"</b>" 在下一屏幕上,观看示例图案的绘制过程。"\n<font height="17">\n</font><b>"2"</b>" 准备就绪后,绘制您自己的个人解锁图案。可尝试不同的图案,但至少要连接四个点。"\n<font height="17">\n</font><b>"3"</b>" 再次绘制您的图案进行确认。"\n<font height="17">\n</font><b>"准备好要开始了吗?请触摸“下一步”"</b>"。"\n<font height="3">\n</font>"如果不想改变手机的无保护状态,请触摸“取消”。"</font></string> + <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"通过创建个人屏幕解锁图案,防止他人未经授权使用您的手机。"\n<font height="17">\n</font><b>"1"</b>" 在下一屏幕上,观看示例图案的绘制过程。"\n<font height="17">\n</font><b>"2"</b>" 准备就绪后,绘制您自己的个人解锁图案。可尝试不同的图案,但至少要连接四个点。"\n<font height="17">\n</font><b>"3"</b>" 重新绘制您的图案进行确认。"\n<font height="17">\n</font><b>"可以开始了吗?触摸“下一步”"</b>"。"\n<font height="3">\n</font>"要让手机处于不受保护的状态,请触摸“取消”。"</font></string> <string name="lock_example_title" msgid="8052305554017485410">"示例图案"</string> - <string name="lock_example_message" msgid="1838650097090632706">"至少连接四个点。"\n\n"您准备好绘制自己的解锁图案时,请触摸“下一步”。"</string> + <string name="lock_example_message" msgid="1838650097090632706">"至少连接四个点。"\n\n"准备就绪后,触摸“下一步”绘制自己的图案。"</string> <string name="manageapplications_settings_title" msgid="5712405848153426706">"管理应用程序"</string> <string name="manageapplications_settings_summary" msgid="6097117021500651232">"管理和删除安装的应用程序"</string> <string name="applications_settings" msgid="3736173521008476946">"应用程序"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"管理应用程序,设置快速启动键"</string> <string name="applications_settings_header" msgid="6018266337275422250">"应用程序设置"</string> <string name="install_applications" msgid="4872012136210802181">"未知来源"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"允许安装非电子市场提供的应用程序"</string> - <string name="install_all_warning" msgid="1923717607319933741">"您的手机和个人数据更容易受到来自未知来源的应用程序攻击。您同意自己对因使用这些应用程序而造成的手机损坏或数据丢失承担全部责任。"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"允许安装非电子市场提供的应用程序"</string> + <string name="install_all_warning" msgid="1923717607319933741">"您的手机和个人数据会更容易受到来自未知来源的应用程序的攻击。您同意自己对因使用这些应用程序而造成的手机损坏或数据丢失承担全部责任。"</string> <string name="application_info_label" msgid="1150486628158409543">"应用程序信息"</string> <string name="storage_label" msgid="8700867073480107253">"存储"</string> <string name="auto_launch_label" msgid="3012617472833815382">"默认启动"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"全部"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"已下载"</string> <string name="filter_apps_running" msgid="7767071454371350486">"正在运行"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SD 卡中"</string> <string name="loading" msgid="3200408047793887917">"正在载入..."</string> <string name="recompute_size" msgid="7722567982831691718">"正在重新计算大小..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"删除"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"无法计算包大小"</string> <string name="empty_list_msg" msgid="2901049162265094971">"未安装任何第三方应用程序。"</string> <string name="version_text" msgid="9189073826278676425">"版本 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"移动"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"移至手机内存"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"移至 SD 卡"</string> + <string name="moving" msgid="6431016143218876491">"正在移动"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"存储空间不足。"</string> + <string name="does_not_exist" msgid="837163572898468245">"该应用程序不存在。"</string> + <string name="app_forward_locked" msgid="5747805144210389585">"该应用程序受版权保护。"</string> + <string name="invalid_location" msgid="4934491353200240499">"指定的安装位置无效。"</string> + <string name="system_package" msgid="1030561474413022831">"无法在外部媒体上安装系统更新。"</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"强行停止"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"此应用程序将立即重新启动。您确定要强行停止应用程序吗?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"移动应用程序"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"无法移动应用程序。<xliff:g id="REASON">%1$s</xliff:g>"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"首选安装位置"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"更改安装新应用程序时使用的首选安装位置"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"正在运行的服务"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"查看和控制当前正在运行的服务"</string> <string name="service_restarting" msgid="2242747937372354306">"正在重新启动"</string> @@ -692,16 +750,16 @@ <string name="confirm_stop_cancel" msgid="206495326622692381">"取消"</string> <string name="service_started_by_app" msgid="8432097226392386802">"由应用程序启动:触摸可停止"</string> <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>:触摸可进行管理"</string> - <string name="service_background_processes" msgid="5158600475629177758">"可用空间:<xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>,共 <xliff:g id="COUNT">%1$d</xliff:g> 个程序"</string> - <string name="service_foreground_processes" msgid="4013890350284680796">"其他空间:<xliff:g id="MEMORY">%2$s</xliff:g>,共 <xliff:g id="COUNT">%1$d</xliff:g> 个程序"</string> + <string name="service_background_processes" msgid="5158600475629177758">"可用:<xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>,合计 <xliff:g id="COUNT">%1$d</xliff:g>"</string> + <string name="service_foreground_processes" msgid="4013890350284680796">"其他:<xliff:g id="MEMORY">%2$s</xliff:g>,合计 <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="service_process_name" msgid="8630408984456958400">"进程:<xliff:g id="PROCESS">%1$s</xliff:g>"</string> <string name="language_settings" msgid="502219872342167227">"语言和键盘"</string> <string name="language_keyboard_settings_title" msgid="3455826933385341107">"语言和键盘设置"</string> <string name="language_settings_summary" msgid="595647729475399987">"设置语言区域(语言和区域)、文字输入和自动更正选项"</string> <string name="language_category" msgid="3391756582724541530">"语言区域设置"</string> <string name="text_category" msgid="6342540511465136739">"文字设置"</string> - <string name="phone_language" msgid="2138384312336494991">"选择语言区域"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"选择语言和地区"</string> + <string name="phone_language" msgid="1165758957501090679">"选择语言"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"自动替换"</string> <string name="auto_replace_summary" msgid="370288728200084466">"更正错误输入的字词"</string> <string name="auto_caps" msgid="581633131114124121">"自动大写"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"该输入法可能会收集您输入的所有文字,包括密码和信用卡号码等个人数据。它源自 <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g> 应用程序。是否要使用该输入法?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"用户词典"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"用户词典"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"向用户词典中添加字词以及从用户词典中删除字词"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"添加"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"添加到词典"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"编辑字词"</string> @@ -735,10 +793,10 @@ <string name="quick_launch_clear_ok_button" msgid="2634568926597586716">"确定"</string> <string name="quick_launch_clear_cancel_button" msgid="1892854652197747064">"取消"</string> <string name="quick_launch_display_mode_applications" msgid="3748789806447639039">"应用程序"</string> - <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"快捷键"</string> + <string name="quick_launch_display_mode_shortcuts" msgid="4177934019174169042">"快捷方式"</string> <string name="input_methods_settings_title" msgid="6800066636850553887">"文字输入"</string> <string name="input_methods_settings_summary" msgid="7571173442946675205">"管理文字输入选项"</string> - <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>设置"</string> + <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> 设置"</string> <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"屏幕键盘设置"</string> <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"设备键盘"</string> <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"内置键盘设置"</string> @@ -784,7 +842,7 @@ <string name="battery_history_phone_on" msgid="4891504401623839532">"手机处于开机状态的时间:"</string> <string name="battery_history_screen_on_battery" msgid="536058210445081888">"正在使用电池:"</string> <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"充电时间:"</string> - <string name="usage_stats_label" msgid="5890846333487083609">"使用情况统计"</string> + <string name="usage_stats_label" msgid="5890846333487083609">"使用情况统计数据"</string> <string name="testing_usage_stats" msgid="7823048598893937339">"使用情况统计数据"</string> <string name="display_order_text" msgid="8592776965827565271">"排序方式:"</string> <string name="app_name_label" msgid="2000949925256858308">"应用程序"</string> @@ -796,13 +854,18 @@ <string name="toggle_accessibility_title" msgid="650839277066574497">"辅助功能"</string> <string name="accessibility_services_category" msgid="8127851026323672607">"辅助功能服务"</string> <string name="no_accessibility_services_summary" msgid="694578333333808159">"未安装辅助功能服务。"</string> - <string name="accessibility_service_security_warning" msgid="4066258132331302670">"此辅助功能服务可能会收集您键入的所有文字,包括信用卡号码等个人数据,但并不会收集您输入的密码,而且它也可能记录您的用户界面交互行为。该服务由应用程序“<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>”所提供。要使用此辅助功能服务吗?"</string> + <string name="accessibility_service_security_warning" msgid="4066258132331302670">"此辅助服务能够收集键入的所有文字,包括除密码以外的个人资料,如信用卡号。该服务还会记录用户界面交互情况。该服务来自应用程序 <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>。是否使用此辅助服务?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"是否停用辅助功能?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"找不到与辅助功能相关的应用程序"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"您没有安装任何与辅助功能相关的应用程序。"\n\n"您可以从 Android 电子市场下载适用于您设备的屏幕阅读器。"\n\n"点击“确定”即可安装屏幕阅读器。"</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"“电源”按钮"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"按“电源”按钮结束通话"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"通话时,按下“电源”将结束通话而不是关闭屏幕"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"电量使用情况"</string> <string name="power_usage_summary" msgid="7237084831082848168">"耗电情况"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"拔下电源后的电量消耗情况"</string> <string name="battery_since_reset" msgid="7464546661121187045">"重置后的电量消耗情况"</string> - <string name="battery_stats_duration" msgid="7464501326709469282">"拔下电源后已过了 <xliff:g id="TIME">%1$s</xliff:g>"</string> + <string name="battery_stats_duration" msgid="7464501326709469282">"拔下电源后已过 <xliff:g id="TIME">%1$s</xliff:g>"</string> <!-- no translation found for battery_stats_last_duration (1535831453827905957) --> <skip /> <string name="awake" msgid="387122265874485088">"设备唤醒时间"</string> @@ -850,18 +913,28 @@ <string name="battery_sugg_apps_info" msgid="6065882899391322442">"停止或卸载应用程序"</string> <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"不使用 GPS 时将其关闭"</string> <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"该应用程序中可能有用于减少耗电量的设置"</string> - <string name="menu_stats_unplugged" msgid="8296577130840261624">"拔下电源 <xliff:g id="UNPLUGGED">%1$s</xliff:g>后的电量消耗情况"</string> - <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"<xliff:g id="UNPLUGGED">%1$s</xliff:g>前拔下电源"</string> + <string name="menu_stats_unplugged" msgid="8296577130840261624">"拔下电源后已过 <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string> + <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"上次拔下电源 <xliff:g id="UNPLUGGED">%1$s</xliff:g> 时"</string> <string name="menu_stats_total" msgid="8973377864854807854">"总使用量"</string> <string name="menu_stats_refresh" msgid="1676215433344981075">"刷新"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"媒体服务器"</string> - <string name="tts_settings" msgid="3348626948015962987">"文字转语音"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"设置文字转语音选项"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"语音输入与输出"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"语音输入与输出设置"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"语音搜索"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android 键盘"</string> + <string name="voice_input_category" msgid="1589318440824204736">"语音输入"</string> + <string name="voice_output_category" msgid="2624538587784986229">"语音输出"</string> + <string name="recognizer_title" msgid="3231385184559054457">"语音识别程序"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"语音识别程序设置"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"“<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>”的设置"</string> + <string name="tts_settings" msgid="8186971894801348327">"文字转语音设置"</string> <string name="tts_settings_title" msgid="4182348653053000933">"文字转语音设置"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"总是使用我的设置"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"使用以下默认设置代替应用程序设置"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"默认设置"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"默认引擎"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"设置用于文字语音转换的语音合成引擎"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"语速"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"文字转换成语音后的播放速度"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"音高"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"语音合成所需的语音已安装妥当"</string> <string name="tts_demo" msgid="405357591189935876">"这是语音合成示例。"</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"设置已发生变化。这是声音效果示例。"</string> + <string name="tts_engine_error" msgid="5513288178403066867">"您选择的引擎无法运行"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"配置"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"选择其他引擎"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"此语音合成引擎能够收集语音中出现的所有信息,包括密码和信用卡号码之类的个人数据。此功能由 <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> 引擎提供。是否启用此语音合成引擎?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"引擎"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g> 设置"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"已启用 <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"已停用 <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"语言和语音"</string> + <string name="pico_installed" msgid="2452546687858267414">"已安装"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"未安装"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"女声"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"男声"</string> <string name="gadget_title" msgid="7455548605888590466">"电量控制"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"正在更新 Wi-Fi 设置"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"正在更新蓝牙设置"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"凭证安装程序"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"虚拟专用网设置"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"连接到 <xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"用户名:"</string> @@ -947,7 +1032,7 @@ <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"DNS 搜索范围"</string> <string name="vpn_dns_search_list" msgid="4230034234026605360">"DNS 搜索范围"</string> <string name="vpn_field_is_set" msgid="7137320847812992243">"已设置 <xliff:g id="VALUE">%s</xliff:g>"</string> - <string name="vpn_field_not_set" msgid="2972519243515893804">"未设置<xliff:g id="VALUE">%s</xliff:g>"</string> + <string name="vpn_field_not_set" msgid="2972519243515893804">"<xliff:g id="VALUE">%s</xliff:g> 未设置"</string> <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"未设置<xliff:g id="VALUE">%s</xliff:g>(可选)"</string> <string name="vpn_enable_field" msgid="3700967675854517191">"启用<xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_disable_field" msgid="6905658811179634005">"停用<xliff:g id="OPTION">%s</xliff:g>"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"设置进行紧急呼救时的行为"</string> <string name="privacy_settings" msgid="9206631214140954954">"隐私权"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"隐私权设置"</string> - <string name="location_section_title" msgid="6072558684044939786">"位置"</string> - <string name="settings_section_title" msgid="7413252428447723032">"设置"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"个人数据"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"备份我的设置"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"设置备份"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"确定要停止备份您的设置并清除 Google 服务器上的所有副本吗?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"自动还原"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"备份"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"您是否确定要停止备份您的设置和应用程序数据,并清除 Google 服务器上的所有副本?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"设备管理设置"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"设备管理器"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"取消激活"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"设备管理器"</string> + <string name="no_device_admins" msgid="702695100241728775">"没有可供显示的设备管理器"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"要激活设备管理器吗?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"激活"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"设备管理器"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"激活此管理器可允许应用程序 <xliff:g id="APP_NAME">%1$s</xliff:g> 执行以下操作:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"此管理器已激活,从而允许应用程序 <xliff:g id="APP_NAME">%1$s</xliff:g> 执行以下操作:"</string> <string name="untitled_apn" msgid="1230060359198685513">"未命名"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"常规"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"来电"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"通知"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"反馈"</string> </resources> diff --git a/res/values-zh-rTW-nokeys/strings.xml b/res/values-zh-rTW-nokeys/strings.xml index 837fc57..a384b30 100644 --- a/res/values-zh-rTW-nokeys/strings.xml +++ b/res/values-zh-rTW-nokeys/strings.xml @@ -1,18 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="applications_settings_summary" msgid="6616938758022986257">"管理應用程式"</string> diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml index aa59593..0aae95f 100644 --- a/res/values-zh-rTW/arrays.xml +++ b/res/values-zh-rTW/arrays.xml @@ -1,18 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- +/* +** +** Copyright 2007 The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string-array name="timezone_filters"> @@ -64,28 +69,51 @@ <item msgid="5972100016440094433">"義大利文"</item> <item msgid="5811378076054402537">"西班牙文"</item> </string-array> - <string-array name="wifi_security_entries"> - <item msgid="2923732046112398627">"自動"</item> - <item msgid="5434666299123318296">"無"</item> - <item msgid="3159594845889645948">"WEP"</item> - <item msgid="1687348101566181433">"WPA/WPA2 PSK"</item> - <item msgid="329777238762866787">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_security_without_auto_entries"> - <item msgid="4402120432904877907">"無"</item> - <item msgid="2329148995431627488">"WEP"</item> - <item msgid="6903317668294332381">"WPA/WPA2 PSK"</item> - <item msgid="7280821339307729710">"802.1x Enterprise"</item> - </string-array> - <string-array name="wifi_wep_type"> - <item msgid="1497433962958697183">"自動"</item> - <item msgid="7182335713815377158">"WEP ASCII"</item> - <item msgid="8270524878761069817">"WEP (十六進位)"</item> + <string-array name="wifi_status"> + <item msgid="1922181315419294640"></item> + <item msgid="8934131797783724664">"掃描中..."</item> + <item msgid="8513729475867537913">"連線中…"</item> + <item msgid="515055375277271756">"驗證中..."</item> + <item msgid="1943354004029184381">"正在取得 IP 位址..."</item> + <item msgid="4221763391123233270">"已連線"</item> + <item msgid="624838831631122137">"已暫停"</item> + <item msgid="7979680559596111948">"中斷連線中…"</item> + <item msgid="1634960474403853625">"已中斷連線"</item> + <item msgid="746097431216080650">"失敗"</item> + </string-array> + <string-array name="wifi_status_with_ssid"> + <item msgid="7714855332363650812"></item> + <item msgid="8878186979715711006">"掃描中..."</item> + <item msgid="355508996603873860">"正在連線到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</item> + <item msgid="554971459996405634">"正在取得 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 的授權..."</item> + <item msgid="7928343808033020343">"正在由 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 取得 IP 位址..."</item> + <item msgid="8937994881315223448">"已連線到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item> + <item msgid="1330262655415760617">"已暫停"</item> + <item msgid="7698638434317271902">"正在中斷 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 連線 ..."</item> + <item msgid="197508606402264311">"已中斷連線"</item> + <item msgid="8578370891960825148">"失敗"</item> + </string-array> + <string-array name="wifi_security"> + <item msgid="1435933968767043814">"開放"</item> + <item msgid="6318432659048829665">"WEP"</item> + <item msgid="2966395706508338179">"WPA/WPA2 PSK"</item> + <item msgid="9098390198768443435">"802.1x EAP"</item> + </string-array> + <string-array name="wifi_eap_method"> + <item msgid="1160193392455075561">"PEAP"</item> + <item msgid="7981731051382306293">"TLS"</item> + <item msgid="2892994535305020162">"TTLS"</item> + </string-array> + <string-array name="wifi_signal"> + <item msgid="2245412278046491293">"差"</item> + <item msgid="5615082285463430971">"可"</item> + <item msgid="3565079809875324621">"良"</item> + <item msgid="5702329417707689835">"優"</item> </string-array> <string-array name="wifi_sleep_policy_entries"> <item msgid="3804733751095821976">"關上螢幕時"</item> <item msgid="1549288661423279207">"插入時絕不"</item> - <item msgid="1986753720941888596">"從不"</item> + <item msgid="1986753720941888596">"永不"</item> </string-array> <string-array name="battery_history_type_spinner"> <item msgid="2193799199027871385">"CPU 使用率"</item> @@ -128,4 +156,15 @@ <item msgid="535934025797984365">"CHAP"</item> <item msgid="8383098660619805783">"PAP 或 CHAP"</item> </string-array> + <string-array name="app_install_location_entries"> + <item msgid="8151497958991952759">"內部裝置儲存空間"</item> + <item msgid="3738430123799803530">"卸除式 SD 卡"</item> + <item msgid="4498124044785815005">"讓系統決定"</item> + </string-array> + <string-array name="vibrate_entries"> + <item msgid="3388952299521009213">"永遠要"</item> + <item msgid="6293147072807231256">"永遠不要"</item> + <item msgid="1276641209451816572">"僅適用於靜音模式"</item> + <item msgid="8418930333779132418">"僅適用於非靜音模式"</item> + </string-array> </resources> diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 0a18532..43199c5 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,24 +12,19 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="yes" msgid="4676390750360727396">"是"</string> <string name="no" msgid="6731231425810196216">"否"</string> - <string name="device_info_default" msgid="7847265875578739287">"未知的"</string> + <string name="device_info_default" msgid="7847265875578739287">"不明"</string> <string name="turn_on_radio" msgid="8706561489788373676">"開啟無線通訊"</string> <string name="turn_off_radio" msgid="1820294552893884115">"關閉無線通訊"</string> - <string name="turn_on_qxdm" msgid="634471960429852506">"啟用 QXDM SD 記錄"</string> - <string name="turn_off_qxdm" msgid="5719931520533431085">"停用 QXDM SD 記錄"</string> <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"檢視 SIM 地址簿"</string> <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"查看固定撥號"</string> <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"檢視服務撥號號碼"</string> <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"取得 PDP 清單"</string> - <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"啟用資料連線"</string> - <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"停用資料連線"</string> - <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"開機顯示資料"</string> - <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"開機不顯示資料"</string> <string name="radioInfo_service_in" msgid="1915416319177520020">"服務中"</string> <string name="radioInfo_service_out" msgid="5238736759641916278">"超出服務範圍"</string> <string name="radioInfo_service_emergency" msgid="2485604591272668370">"只能撥打緊急電話"</string> @@ -43,13 +38,13 @@ <string name="radioInfo_data_connecting" msgid="8404571440697917823">"連線中"</string> <string name="radioInfo_data_connected" msgid="7074301157399238697">"已連線"</string> <string name="radioInfo_data_suspended" msgid="5315325487890334196">"待命"</string> - <string name="radioInfo_unknown" msgid="737385314432468266">"未知的"</string> + <string name="radioInfo_unknown" msgid="737385314432468266">"不明"</string> <string name="radioInfo_display_packets" msgid="8654359809877290639">"pkts"</string> <string name="radioInfo_display_bytes" msgid="4018206969492931883">"bytes"</string> <string name="radioInfo_display_dbm" msgid="3621221793699882781">"dBm"</string> <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string> <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string> - <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string> + <string name="radioInfo_cid" msgid="4362599198392643138">"客戶編號"</string> <string name="sdcard_unmount" msgid="3364184561355611897">"卸載 SD 卡"</string> <string name="sdcard_format" msgid="362497552060004057">"將 SD 卡格式化"</string> <string name="small_font" msgid="2295331917424072635">"小"</string> @@ -71,7 +66,7 @@ <string name="battery_info_awake_battery" msgid="2557725975486185849">"電池的清醒時間:"</string> <string name="battery_info_awake_plugged" msgid="176716874713478188">"充電時的清醒時間:"</string> <string name="battery_info_screen_on" msgid="376277447175613889">"螢幕顯示時間:"</string> - <string name="battery_info_status_unknown" msgid="196130600938058547">"未知的"</string> + <string name="battery_info_status_unknown" msgid="196130600938058547">"不明"</string> <string name="battery_info_status_charging" msgid="1705179948350365604">"充電中"</string> <string name="battery_info_status_charging_ac" msgid="5874340256342956252">"(AC)"</string> <string name="battery_info_status_charging_usb" msgid="4059070156126770959">"(USB)"</string> @@ -83,16 +78,18 @@ <string name="battery_info_power_usb" msgid="8012931702516331797">"USB"</string> <string name="battery_info_power_ac_usb" msgid="6777734146838328688">"AC+USB"</string> <string name="battery_info_power_unknown" msgid="7344115502868899881">"不明"</string> - <string name="battery_info_health_unknown" msgid="5664295556921944255">"未知的"</string> + <string name="battery_info_health_unknown" msgid="5664295556921944255">"不明"</string> <string name="battery_info_health_good" msgid="8070356565806711806">"好"</string> <string name="battery_info_health_overheat" msgid="8442959549291368806">"過熱"</string> <string name="battery_info_health_dead" msgid="1725917445762829059">"電池耗盡"</string> <string name="battery_info_health_over_voltage" msgid="2420269351664490121">"電壓過高"</string> <string name="battery_info_health_unspecified_failure" msgid="6347021103185471590">"未知的錯誤"</string> <string name="bluetooth" msgid="5549625000628014477">"藍牙"</string> - <string name="bluetooth_visibility" msgid="2930835434091839916">"無法測得"</string> - <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"<xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> 秒無法測得..."</string> + <string name="bluetooth_visibility" msgid="2930835434091839916">"可偵測性"</string> + <string name="bluetooth_is_discoverable" msgid="1205694503775884903">"可供偵測 <xliff:g id="DISCOVERABLE_TIME_PERIOD">%1$s</xliff:g> 秒..."</string> <string name="bluetooth_not_discoverable" msgid="128269993123955177">"設定裝置為可偵測"</string> + <string name="bluetooth_lock_voice_dialing" msgid="3139322992062086225">"鎖定語音撥號"</string> + <string name="bluetooth_lock_voice_dialing_summary" msgid="4741338867496787042">"螢幕鎖定時不要使用藍芽撥號"</string> <string name="bluetooth_devices" msgid="1886018064039454227">"藍牙裝置"</string> <string name="bluetooth_device_name" msgid="8415828355207423800">"裝置名稱"</string> <string name="bluetooth_name_not_set" msgid="2653752006416027426">"未設定名稱,使用帳戶名稱"</string> @@ -102,8 +99,7 @@ <string name="bluetooth_disconnected" msgid="6557104142667339895">"已中斷連線"</string> <string name="bluetooth_disconnecting" msgid="8913264760027764974">"連線中斷..."</string> <string name="bluetooth_connecting" msgid="8555009514614320497">"連線中..."</string> - <!-- no translation found for bluetooth_unknown (644716244548801421) --> - <skip /> + <string name="bluetooth_unknown" msgid="644716244548801421"></string> <string name="bluetooth_not_connected" msgid="3389882907500605937">"與此裝置配對"</string> <string name="bluetooth_pairing" msgid="1426882272690346242">"配對中..."</string> <string name="bluetooth_paired" msgid="1247541089000057726">"已配對,但尚未連接"</string> @@ -124,7 +120,7 @@ <string name="date_time_changeTime_text" msgid="7037437020000867740">"變更時間"</string> <string name="date_time_changeDate_text" msgid="5259762626498028057">"日期"</string> <string name="choose_timezone" msgid="7762866468013985022">"選取時區"</string> - <string name="normal_date_format" msgid="1982904221918374153">"適中 (<xliff:g id="DATE">%s</xliff:g>)"</string> + <string name="normal_date_format" msgid="1982904221918374153">"一般 (<xliff:g id="DATE">%s</xliff:g>)"</string> <string name="display_preview_label" msgid="1127597250917274792">"預覽:"</string> <string name="display_font_size_label" msgid="8941851418397475389">"字型大小:"</string> <!-- no translation found for intent_sender_data_label (6332324780477289261) --> @@ -146,7 +142,7 @@ <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"若主機欄位空白,連接埠欄位也須空白。"</string> <string name="proxy_error_invalid_port" msgid="1816315605424943626">"您輸入的連接埠無效。"</string> <string name="radio_info_signal_location_label" msgid="16475158265551708">"位置:"</string> - <string name="radio_info_neighboring_location_label" msgid="2385625674055934880">"附近的 CID:"</string> + <string name="radio_info_neighboring_location_label" msgid="2385625674055934880">"相鄰的客戶編號:"</string> <string name="radio_info_data_attempts_label" msgid="1731106244577323381">"嘗試資料:"</string> <string name="radio_info_gprs_service_label" msgid="2331818110375395364">"GPRS 服務:"</string> <string name="radio_info_roaming_label" msgid="6141505430275138647">"漫遊:"</string> @@ -170,12 +166,12 @@ <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IP 位址:"</string> <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping 主機名稱 (www.google.com.tw):"</string> <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP 用戶端測試:"</string> - <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"選取加密"</string> <string name="ping_test_label" msgid="7255376471490860631">"執行 ping 測試"</string> <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string> <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"更新"</string> <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"重新整理"</string> <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"切換 DNS 檢查"</string> + <string name="oem_radio_info_label" msgid="6163141792477958941">"OEM 專用資訊/設定"</string> <string name="band_mode_title" msgid="954174198903776205">"設定 GSM/UMTS 頻道"</string> <string name="band_mode_loading" msgid="548764766363847336">"載入頻道清單..."</string> <string name="band_mode_set" msgid="5730560180249458484">"設定"</string> @@ -239,6 +235,43 @@ <string name="security_settings_summary" msgid="967393342537986570">"設定我的位置、畫面解鎖、SIM 卡鎖定、認證儲存空間鎖定"</string> <string name="cdma_security_settings_summary" msgid="6068799952798901542">"設定我的位置、解除鎖定畫面及鎖定認證儲存空間"</string> <string name="security_passwords_title" msgid="2930627259125138363">"密碼"</string> + <string name="lock_settings_picker_title" msgid="3973555216065628262">"螢幕解鎖安全性"</string> + <string name="unlock_set_unlock_launch_picker_title" msgid="1129684221223017902">"設定螢幕鎖定"</string> + <string name="unlock_set_unlock_launch_picker_summary" msgid="1667332113134720845">"使用解鎖圖形、PIN 或密碼來鎖定螢幕"</string> + <string name="unlock_set_unlock_launch_picker_change_title" msgid="6987228635944678726">"變更螢幕鎖定"</string> + <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"變更或停用圖案、PIN 或密碼安全性"</string> + <string name="unlock_set_unlock_none_title" msgid="3760684669884671990">"無"</string> + <string name="unlock_set_unlock_none_summary" msgid="2658550480388272618">"停用螢幕解鎖安全性"</string> + <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"圖形"</string> + <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"畫出解鎖圖形以解鎖螢幕"</string> + <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string> + <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"輸入解鎖數字 PIN 以解鎖螢幕"</string> + <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"密碼"</string> + <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"輸入解鎖密碼以解鎖螢幕"</string> + <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"已由遠端手機管理員停用"</string> + <string name="unlock_disable_lock_title" msgid="1427036227416979120">"關閉螢幕鎖定"</string> + <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"移除解鎖圖形"</string> + <string name="unlock_disable_lock_pin_summary" msgid="8856842745366993387">"移除解鎖 PIN"</string> + <string name="unlock_disable_lock_password_summary" msgid="192161194564577025">"移除解鎖密碼"</string> + <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"變更解鎖圖形"</string> + <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"變更解鎖 PIN"</string> + <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"變更解鎖密碼"</string> + <string name="lockpassword_password_too_short" msgid="7328975683669256660">"密碼必須有至少 %d 個字元"</string> + <string name="lockpassword_pin_too_short" msgid="2252847623267704683">"PIN 必須有至少 %d 個字元"</string> + <string name="lockpassword_press_continue" msgid="6506047902828925216">"完成時請按 [繼續]"</string> + <string name="lockpassword_continue_label" msgid="4602203784934526940">"繼續"</string> + <string name="lockpassword_password_too_long" msgid="7354418473281442589">"PIN 不得超過 %d 位數"</string> + <string name="lockpassword_pin_too_long" msgid="6290317580664119373">"PIN 不得超過 %d 位數"</string> + <string name="lockpassword_pin_contains_non_digits" msgid="3379277100136600632">"PIN 只能包含數字 0-9"</string> + <string name="lockpassword_illegal_character" msgid="6204396794254688549">"密碼包含不適用的字元"</string> + <string name="lockpassword_password_requires_alpha" msgid="5668524505560400449">"密碼必須包含至少 1 個字母"</string> + <string name="lockpassword_password_requires_digit" msgid="4840579514154254907">"密碼必須包含至少 1 個數字"</string> + <string name="lockpassword_password_requires_symbol" msgid="4140602725865312078">"密碼必須包含至少 1 個符號"</string> + <string name="lockpassword_ok_label" msgid="313822574062553672">"確定"</string> + <string name="lockpassword_cancel_label" msgid="8818529276331121899">"取消"</string> + <string name="device_admin_title" msgid="3562216873644263804">"裝置管理"</string> + <string name="manage_device_admin" msgid="3864120111085199551">"選取裝置管理員"</string> + <string name="manage_device_admin_summary" msgid="915390201809231575">"新增或移除裝置管理員"</string> <string name="bluetooth_quick_toggle_title" msgid="1037056952714061893">"藍牙"</string> <string name="bluetooth_quick_toggle_summary" msgid="5293641680139873341">"開啟藍牙"</string> <string name="bluetooth_settings" msgid="2725796451253089609">"藍牙設定"</string> @@ -290,78 +323,50 @@ <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"當成手機喇叭"</string> <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"使用於音樂與媒體"</string> <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"記住設定"</string> - <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string> <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string> <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"開啟 Wi-Fi"</string> <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi 設定"</string> <string name="wifi_settings_category" msgid="2810363951104753710">"Wi-Fi 設定"</string> <string name="wifi_settings_summary" msgid="668767638556052820">"設定、管理無線網路存取點"</string> - <string name="forget_network" msgid="4718015029995727138">"清除"</string> - <string name="wifi_status" msgid="4824568012414605414">"狀態"</string> - <string name="wifi_link_speed" msgid="6182852256449825038">"速度"</string> - <string name="wifi_signal_3" msgid="3565958820483624962">"優"</string> - <string name="wifi_signal_2" msgid="4130061311918407501">"良"</string> - <string name="wifi_signal_1" msgid="8623690413812290642">"可"</string> - <string name="wifi_signal_0" msgid="3862211184991511432">"差"</string> - <string name="security" msgid="1040691896987225267">"安全性"</string> - <string name="wifi_security_open" msgid="3513305614048816607">"開放"</string> - <string name="wifi_security_wep" msgid="7082604129842065776">"WEP"</string> - <string name="wifi_security_psk" msgid="3392399380570381452">"WPA/WPA2 PSK"</string> - <string name="wifi_security_eap" msgid="8309434150934969132">"Enterprise(802.1x)"</string> - <string name="wifi_security_unknown" msgid="4564208312073060668">"未知的"</string> - <string name="wifi_security_verbose_open" msgid="8117878112088901945">"開放網路"</string> - <string name="wifi_security_verbose_wep" msgid="9220757688700421508">"以 WEP 保護連線安全性"</string> - <string name="wifi_security_verbose_psk" msgid="1110130025330416225">"以 WPA/WPA2 PSK 保護連線安全性"</string> - <string name="wifi_security_verbose_eap" msgid="586632662086063">"以 802.1x EAP 保護連線安全性"</string> - <string name="ip_address" msgid="850672263358989449">"IP 位址"</string> - <string name="signal" msgid="1947969631626413228">"訊號強度"</string> <string name="wifi_starting" msgid="6710266609710860129">"開啟中..."</string> <string name="wifi_stopping" msgid="5952909472548218348">"關閉中..."</string> <string name="wifi_error" msgid="3207971103917128179">"錯誤"</string> - <string name="error_starting" msgid="4055163089721254078">"無法開啟 Wi-Fi"</string> - <string name="error_stopping" msgid="7855531609645531489">"無法停止 Wi-Fi"</string> - <string name="error_scanning" msgid="4644050284132264368">"無法掃描網路"</string> - <string name="error_connecting" msgid="1981882310590509609">"無法連線到此網路"</string> - <string name="error_saving" msgid="8294279443961615302">"無法儲存網路"</string> - <string name="connect" msgid="3079076576295839400">"連線"</string> - <string name="connect_to_blank" msgid="6950910074058025378">"連線到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="please_select_eap" msgid="4488240331626456338">"EAP 方法"</string> - <string name="please_select_phase2" msgid="5231074529772044898">"階段 2 驗證"</string> - <string name="please_type_identity" msgid="7061261155499513089">"識別"</string> - <string name="please_type_anonymous_identity" msgid="835061562079965048">"匿名識別"</string> - <string name="please_select_client_certificate" msgid="2137906961594663234">"用戶端憑證"</string> - <string name="please_select_ca_certificate" msgid="5010815181914420677">"CA 憑證"</string> - <string name="please_type_passphrase" msgid="8256017704131522462">"無線網路密碼"</string> - <string name="please_type_hex_key" msgid="8751224390407867551">"WEP hex key (0-9,A-F)"</string> - <string name="wifi_show_password" msgid="4235237470701732009">"顯示密碼"</string> - <string name="scan_wifi" msgid="2459901725350542606">"掃描"</string> - <string name="summary_not_in_range" msgid="3926674700733548684">"不在範圍內"</string> - <string name="summary_remembered" msgid="6079941090549401742">"已記憶"</string> - <string name="summary_connection_failed" msgid="2351885658101671413">"連線失敗,請輕觸以再試一次"</string> - <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi 網路"</string> - <string name="wifi_type_ssid" msgid="1326839657083292017">"網路 SSID"</string> - <string name="wifi_security" msgid="6603611185592956936">"安全性"</string> - <string name="wifi_save_config" msgid="6153726364988064360">"儲存"</string> - <string name="wifi_password_unchanged" msgid="678604576488211090">"(未變更)"</string> - <string name="wifi_add_other_network" msgid="5499063300755575893">"新增 Wi-Fi 網路"</string> + <string name="wifi_in_airplane_mode" msgid="7618393787965366655">"處於飛航模式時"</string> + <string name="wifi_fail_to_scan" msgid="6194542252808587669">"無法掃描網路"</string> <string name="wifi_notify_open_networks" msgid="3755768188029653293">"網路通知"</string> <string name="wifi_notify_open_networks_summary" msgid="3038290727701553612">"有開放網路時通知我"</string> - <string name="wifi_password_incorrect_error" msgid="5429305767166704803">"您輸入的網路密碼不正確。請再試一次。"</string> - <string name="wifi_generic_connection_error" msgid="8240172247986220199">"連線到網路時發生問題。請再試一次。"</string> + <string name="wifi_add_network" msgid="1671334951296205616">"新增 Wi-Fi 網路"</string> + <string name="wifi_access_points" msgid="2664629396767022441">"Wi-Fi 網路"</string> + <string name="wifi_menu_scan" msgid="1470911530412095868">"掃描"</string> <string name="wifi_menu_advanced" msgid="7522252991919573664">"進階"</string> - <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 設定"</string> - <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"儲存"</string> - <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"取消"</string> - <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"請輸入有效的 IP 位址。"</string> - <string name="wifi_use_static_ip" msgid="2133464242165642230">"使用靜態 IP"</string> + <string name="wifi_menu_connect" msgid="4996220309848349408">"連線至網路"</string> + <string name="wifi_menu_forget" msgid="8736964302477327114">"清除網路"</string> + <string name="wifi_menu_modify" msgid="2068554918652440105">"修改網路"</string> + <string name="wifi_ssid" msgid="641393708309146745">"網路 SSID"</string> + <string name="wifi_security" msgid="6603611185592956936">"安全性"</string> + <string name="wifi_signal" msgid="5514120261628065287">"訊號強度"</string> + <string name="wifi_status" msgid="4824568012414605414">"狀態"</string> + <string name="wifi_speed" msgid="3526198708812322037">"連線速度"</string> <string name="wifi_ip_address" msgid="1440054061044402918">"IP 位址"</string> - <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> - <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> - <string name="wifi_gateway" msgid="163914742461092086">"閘道"</string> - <string name="wifi_netmask" msgid="4520635321425529085">"網路遮罩"</string> - <string name="wifi_context_menu_connect" msgid="5756210010680123258">"連線到網路"</string> - <string name="wifi_context_menu_forget" msgid="4654112495616788392">"清除網路"</string> - <string name="wifi_context_menu_change_password" msgid="8860202712693404562">"變更密碼"</string> + <string name="wifi_eap_method" msgid="8529436133640730382">"EAP 方法"</string> + <string name="please_select_phase2" msgid="5231074529772044898">"階段 2 驗證"</string> + <string name="wifi_eap_ca_cert" msgid="3521574865488892851">"CA 憑證"</string> + <string name="wifi_eap_user_cert" msgid="1291089413368160789">"使用者憑證"</string> + <string name="wifi_eap_identity" msgid="4359453783379679103">"識別"</string> + <string name="wifi_eap_anonymous" msgid="2989469344116577955">"匿名識別"</string> + <string name="wifi_password" msgid="5948219759936151048">"密碼"</string> + <string name="wifi_show_password" msgid="4235237470701732009">"顯示密碼"</string> + <string name="wifi_unchanged" msgid="3410422020930397102">"(未變更)"</string> + <string name="wifi_unspecified" msgid="5431501214192991253">"(未指定)"</string> + <string name="wifi_remembered" msgid="8426719916135950136">"已記住"</string> + <string name="wifi_disabled" msgid="2104752038187543712">"已停用"</string> + <string name="wifi_not_in_range" msgid="1136191511238508967">"超出可用範圍"</string> + <string name="wifi_secured" msgid="6759903183748011566">"以 <xliff:g id="WIFI_SECURITY">%1$s</xliff:g> 保護連線安全性"</string> + <string name="wifi_secured_with_status" msgid="6489317496506267302">"<xliff:g id="WIFI_STATUS">%2$s</xliff:g>,以 <xliff:g id="WIFI_SECURITY">%1$s</xliff:g> 保護連線安全性"</string> + <string name="wifi_connect" msgid="1076622875777072845">"連線"</string> + <string name="wifi_forget" msgid="8168174695608386644">"清除"</string> + <string name="wifi_save" msgid="3331121567988522826">"儲存"</string> + <string name="wifi_cancel" msgid="6763568902542968964">"取消"</string> <string name="wifi_advanced_titlebar" msgid="5419052271935350999">"進階"</string> <string name="wifi_setting_num_channels_title" msgid="694031537019656132">"管理網域"</string> <string name="wifi_setting_num_channels_summary" msgid="4889355096717099141">"設定要使用的頻道號碼"</string> @@ -371,45 +376,50 @@ <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"指定何時要從 Wi-Fi 切換到行動數據"</string> <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"休眠設定時發生問題。"</string> <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 位址"</string> - <string name="fragment_status_scanning" msgid="6278637764967888244">"掃描中..."</string> - <string name="fragment_status_connecting" msgid="1238623050972038297">"連線到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>..."</string> - <string name="fragment_status_authenticating" msgid="8239692896109081272">"驗證 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 中..."</string> - <string name="fragment_status_obtaining_ip" msgid="1064039965703090012">"從 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 取得 IP 位址中..."</string> - <string name="fragment_status_connected" msgid="7482295568942137616">"已連線到 <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string> - <string name="fragment_status_disconnecting" msgid="6723077519682929097">"自 <xliff:g id="NETWORK_NAME">%1$s</xliff:g> 中斷連線中..."</string> - <string name="fragment_status_disconnected" msgid="5260939772487218470">"已中斷連線"</string> - <string name="fragment_status_failed" msgid="4122410100224856650">"失敗"</string> - <string name="status_scanning" msgid="8402178267165567371">"掃描中..."</string> - <string name="status_connecting" msgid="1669262263707521505">"連線中..."</string> - <string name="status_authenticating" msgid="3536039799394033822">"驗證中..."</string> - <string name="status_obtaining_ip" msgid="1624527502433683471">"取得位址中..."</string> - <string name="status_connected" msgid="8175694029067954271">"已連線"</string> - <string name="status_disconnecting" msgid="8468213362967337584">"連線中斷..."</string> - <string name="status_disconnected" msgid="7561688569905126046">"已中斷連線"</string> - <string name="status_failed" msgid="610462050405904601">"失敗"</string> - <string name="sound_and_display_settings" msgid="349770582993029003">"音效與顯示"</string> - <string name="sound_and_display_settings_title" msgid="5036144539683697330">"音效與顯示設定"</string> + <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 設定"</string> + <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"儲存"</string> + <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"取消"</string> + <string name="wifi_ip_settings_invalid_ip" msgid="8057085083985255580">"請輸入有效的 IP 位址。"</string> + <string name="wifi_use_static_ip" msgid="2133464242165642230">"使用靜態 IP"</string> + <string name="wifi_dns1" msgid="7344118050720080045">"DNS 1"</string> + <string name="wifi_dns2" msgid="1368601006824882659">"DNS 2"</string> + <string name="wifi_gateway" msgid="163914742461092086">"閘道"</string> + <string name="wifi_netmask" msgid="4520635321425529085">"網路遮罩"</string> + <string name="wifi_tether_checkbox_text" msgid="6961605862058056788">"可攜式 Wi-Fi 無線基地台"</string> + <string name="wifi_tether_enabled_subtext" msgid="8948641212931906143">"可攜式無線基地台 <xliff:g id="NETWORK_SSID">%1$s</xliff:g> 已啟用"</string> + <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"可攜式 Wi-Fi 無線基地台發生錯誤"</string> + <string name="wifi_tether_settings_text" msgid="123573487844470195">"可攜式 Wi-Fi 無線基地台設定"</string> + <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"設定與管理可攜式 Wi-Fi 無線基地台"</string> + <string name="wifi_tether_settings_title" msgid="3749063216348284432">"可攜式 Wi-Fi 無線基地台設定"</string> + <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"設定 Wi-Fi 無線基地台"</string> + <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> 可攜式 Wi-Fi 無線基地台"</string> + <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Android 無線基地台"</string> + <string name="sound_settings_title" msgid="8735891486683305886">"音效"</string> + <string name="display_settings_title" msgid="1708697328627382561">"顯示"</string> <string name="sound_settings" msgid="5007659014828162881">"音效設定"</string> - <string name="sound_and_display_settings_summary" msgid="1433943789593286064">"設定鈴聲、通知與螢幕亮度"</string> <string name="silent_mode_title" msgid="3181479108593217704">"靜音模式"</string> - <string name="silent_mode_summary" msgid="9081534746589616108">"將媒體和鬧鐘以外的所有音效靜音"</string> + <string name="silent_mode_summary" msgid="3309650676072917899">"將所有非媒體音效及鬧鐘音效設為靜音"</string> <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"將所有非媒體音效設為靜音"</string> <string name="ringtone_title" msgid="5379026328015343686">"電話鈴聲"</string> - <string name="ringtone_summary" msgid="3856990752494160139">"設定預設來電鈴聲"</string> + <string name="ringtone_summary" msgid="2630023412632683493"></string> + <string name="all_volume_title" msgid="8741571721868253103">"音量"</string> <string name="ring_volume_title" msgid="7938706566797464165">"鈴聲音量"</string> - <string name="ring_volume_summary" msgid="8370699933709381329">"設定來電和通知的音量"</string> - <string name="vibrate_title" msgid="5408984084125311526">"手機震動"</string> - <string name="vibrate_summary" msgid="5224303668448643275">"來電震動"</string> + <string name="ring_volume_summary" msgid="7055497624193116879"></string> + <string name="vibrate_in_silent_title" msgid="3897968069156767036">"靜音時震動"</string> + <string name="vibrate_in_silent_summary" msgid="3312600513070076281">"允許在靜音模式時開啟震動功能"</string> + <string name="vibrate_title" msgid="6045820877942801599">"震動"</string> + <string name="vibrate_summary" msgid="7378130397830790458">"來電或收到通知時震動提示"</string> <string name="notification_sound_title" msgid="6316316069880531693">"通知鈴聲"</string> - <string name="notification_sound_summary" msgid="7628081155578496618">"設定預設通知鈴聲"</string> + <string name="notification_sound_summary" msgid="2953599929394109819"></string> <string name="notification_pulse_title" msgid="1247988024534030629">"閃爍燈光通知"</string> <string name="notification_pulse_summary" msgid="6899220780534617152">"有新通知時重複閃爍軌跡球燈光"</string> - <string name="incoming_call_volume_title" msgid="6144314834963494752">"來電音量"</string> - <string name="notification_volume_title" msgid="3363351773121138717">"通知音量"</string> - <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"通知使用來電音量"</string> + <string name="incoming_call_volume_title" msgid="8073714801365904099">"鈴聲"</string> + <string name="notification_volume_title" msgid="2012640760341080408">"通知"</string> + <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"通知音量與來電音量相同"</string> <string name="notification_sound_dialog_title" msgid="7057274209079144726">"選取通知鈴聲"</string> - <string name="media_volume_title" msgid="7844516127427195383">"媒體音量"</string> + <string name="media_volume_title" msgid="3576565767317118106">"媒體"</string> <string name="media_volume_summary" msgid="5363248930648849974">"設定音樂與影片的音量"</string> + <string name="alarm_volume_title" msgid="2285597478377758706">"鬧鐘"</string> <string name="dock_settings_summary" msgid="455802113668982481">"附加座架的音訊設定"</string> <string name="dtmf_tone_enable_title" msgid="1453831168789523185">"觸控音效"</string> <string name="dtmf_tone_enable_summary_on" msgid="3028201873989887327">"使用撥號面板時播放按鍵音效"</string> @@ -417,12 +427,12 @@ <string name="sound_effects_enable_title" msgid="3197313718929122833">"有聲選項"</string> <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"使用螢幕選取時播放音效"</string> <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"在螢幕上進行選取時播放音效"</string> + <string name="lock_sounds_enable_title" msgid="1575990840389107141">"螢幕鎖定音效"</string> + <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"鎖定和解除鎖定螢幕時播放音效"</string> + <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"鎖定和解除鎖定螢幕時播放音效"</string> <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"觸動回饋"</string> <string name="haptic_feedback_enable_summary_on" msgid="1875779656524793053">"按下螢幕按鍵與出現特定的操作行為時會震動"</string> <string name="haptic_feedback_enable_summary_off" msgid="7287885436963105314">"按下螢幕按鍵與出現特定的操作行為時會震動"</string> - <string name="play_media_notification_sounds_enable_title" msgid="1008791464029179529">"SD 卡通知"</string> - <string name="play_media_notification_sounds_enable_summary_on" msgid="7675466959375667370">"播放 SD 卡通知音效"</string> - <string name="play_media_notification_sounds_enable_summary_off" msgid="8672617597028744693">"播放 SD 卡通知音效"</string> <string name="audio_record_proc_title" msgid="4271091199976457534">"噪音消除"</string> <string name="audio_record_proc_summary" msgid="8113628457499616498">"在說話或錄音時抑制背景雜音。"</string> <string name="dock_settings" msgid="1820107306693002541">"座架"</string> @@ -434,6 +444,9 @@ <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"隨附的座架設定"</string> <string name="dock_not_found_title" msgid="3290961741828952424">"找不到座架"</string> <string name="dock_not_found_text" msgid="3035260358985111855">"手機必須固定至座架才能設定座架音效"</string> + <string name="dock_sounds_enable_title" msgid="3659084028644948905">"底座插入音效"</string> + <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"手機插入底座或離開底座時播放音效"</string> + <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"手機插入底座或離開底座時,不要播放音效"</string> <string name="sync_settings" msgid="9186125469300013491">"帳戶與同步處理"</string> <string name="sync_settings_summary" msgid="2962179505214965667">"新增或移除帳戶和變更帳戶設定"</string> <string name="search_settings" msgid="1910951467596035063">"搜尋"</string> @@ -442,7 +455,7 @@ <string name="animations_title" msgid="1062189037402346023">"動畫"</string> <string name="animations_summary_on" msgid="8843613112130484436">"開啟和關閉視窗時顯示動畫"</string> <string name="animations_summary_off" msgid="2777026828025551983">"開啟和關閉視窗時顯示動畫"</string> - <string name="accelerometer_title" msgid="6183763368844793276">"顯示方向"</string> + <string name="accelerometer_title" msgid="7854608399547349157">"自動旋轉螢幕"</string> <string name="accelerometer_summary_on" msgid="1133737282813048021">"旋轉手機時自動改變顯示方向"</string> <string name="accelerometer_summary_off" msgid="5485489363715740761">"旋轉手機時自動改變顯示方向"</string> <string name="brightness" msgid="2354961343555249270">"亮度"</string> @@ -473,8 +486,8 @@ <string name="sim_enter_cancel" msgid="6240422158517208036">"取消"</string> <string name="device_info_settings" msgid="475872867864762157">"手機狀態"</string> <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"系統更新"</string> - <string name="system_update_settings_list_item_summary" msgid="9164660818865695219">"檢查系統更新"</string> - <string name="firmware_version" msgid="6284872163051667788">"韌體版本"</string> + <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string> + <string name="firmware_version" msgid="4801135784886859972">"Android 版本"</string> <string name="model_number" msgid="3765737700545384794">"模組號碼"</string> <string name="baseband_version" msgid="1848990160763524801">"基頻版本"</string> <string name="kernel_version" msgid="9192574954196167602">"核心版本"</string> @@ -507,10 +520,20 @@ <string name="memory_size" msgid="6629067715017232195">"總空間"</string> <string name="sd_eject" msgid="6915293408836853020">"卸載 SD 卡"</string> <string name="sd_eject_summary" msgid="3315557796211542962">"必須先卸載 SD 卡,才能安全移除"</string> + <string name="sd_insert_summary" msgid="2048640010381803841">"插入要掛載的 SD 卡"</string> + <string name="sd_mount" msgid="5940523765187704135">"掛載 SD 卡"</string> + <string name="sd_mount_summary" msgid="4936591681679097699">"掛載 SD 卡"</string> <string name="sd_format" msgid="5448738337382712203">"將 SD 卡格式化"</string> <string name="sd_format_summary" msgid="6616491027883134004">"將 SD 卡格式化 (清除)"</string> <string name="sd_unavailable" msgid="8580107589533213904">"無法取得資訊"</string> <string name="read_only" msgid="6702420168629076340">" (唯讀)"</string> + <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"卸載 SD 卡"</string> + <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"如果您將 SD 卡退出,則您正在使用的某些應用程式會停止運作,而且可能無法使用,待您將 SD 卡重新插入才會恢復正常。"</string> + <string name="dlg_error_unmount_title" msgid="4004106918266783081">"無法退出 SD 卡"</string> + <string name="dlg_error_unmount_text" msgid="9188972789897713180">"無法退出 SD 卡。請稍後再試一次。"</string> + <string name="unmount_inform_text" msgid="3213378327712151498">"即將退出 SD 卡。請檢查通知區域,瞭解狀態。"</string> + <string name="sd_ejecting_title" msgid="8824572198034365468">"正在取出"</string> + <string name="sd_ejecting_summary" msgid="2028753069184908491">"正在取出"</string> <string name="battery_status_title" msgid="9159414319574976203">"電池狀態"</string> <string name="battery_level_title" msgid="2965679202786873272">"電池存量"</string> <string name="apn_settings" msgid="3743170484827528406">"APN"</string> @@ -537,7 +560,7 @@ <string name="menu_delete" msgid="6981294422841124659">"刪除 APN"</string> <string name="menu_new" msgid="3014205883303921729">"新增 APN"</string> <string name="menu_save" msgid="8109345640668285399">"儲存"</string> - <string name="menu_cancel" msgid="2194502410474697474">"放棄"</string> + <string name="menu_cancel" msgid="2194502410474697474">"捨棄"</string> <string name="error_title" msgid="1319225301794168762">"注意"</string> <string name="error_name_empty" msgid="1498238337687930558">"名稱欄位不能空白。"</string> <string name="error_apn_empty" msgid="1513892291812404310">"APN 不能空白。"</string> @@ -565,23 +588,32 @@ <string name="media_format_gesture_explanation" msgid="4239529439389660159">"您必須畫出解鎖圖形,以確認將 SD 卡格式化。"</string> <string name="call_settings_title" msgid="5188713413939232801">"通話設定"</string> <string name="call_settings_summary" msgid="7291195704801002886">"設定語音信箱、來電轉接、來電待接及本機號碼顯示"</string> + <string name="tether_settings_title_usb" msgid="4315031513434087777">"數據連線"</string> + <string name="tether_settings_title_wifi" msgid="3277144155960302049">"可攜式無線基地台"</string> + <string name="tether_settings_title_both" msgid="2734066355556891504">"數據連線與可攜式無線基地台"</string> + <string name="tether_settings_summary_usb" msgid="3562431455625637370">"透過 USB 分享手機的行動數據連線"</string> + <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"分享您的手機行動連線,讓手機成為可攜式 Wi-Fi 無線基地台"</string> + <string name="tether_settings_summary_both" msgid="7460063951190682635">"透過 USB 或可攜式 Wi-Fi 無線基地台方式,分享手機的行動數據連線"</string> + <string name="usb_title" msgid="7483344855356312510">"USB"</string> + <string name="usb_tethering_button_text" msgid="585829947108007917">"USB 數據連線"</string> + <string name="usb_tethering_available_subtext" msgid="156779271296152605">"已連接 USB,選取即可進行數據連線"</string> + <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"數據已連線"</string> + <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"使用 USB 儲存空間時無法進行數據連線"</string> + <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB 尚未連線"</string> + <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB 數據連線發生錯誤"</string> + <string name="tethering_help_button_text" msgid="656117495547173630">"說明"</string> <string name="network_settings_title" msgid="7967552516440151852">"行動網路"</string> <string name="network_settings_summary" msgid="5149750850846813553">"設定漫遊、網路、APN 選項"</string> <string name="location_title" msgid="1029961368397484576">"我的位置"</string> <string name="location_network_based" msgid="8815705866861993344">"使用無線網路"</string> <string name="location_networks_disabled" msgid="2708968452901433980">"使用無線網路,在應用程式中查詢位置 (例如 Google 地圖)"</string> - <string name="location_neighborhood_level" msgid="4656658097932515921">"根據 Wi-Fi 與/或行動網路判定位置"</string> + <string name="location_neighborhood_level" msgid="4656658097932515921">"根據 Wi-Fi 和/或行動網路判定位置"</string> <string name="location_gps" msgid="6296125378829097831">"使用 GPS 衛星定位"</string> <string name="location_street_level" msgid="6460740847018275745">"定位時,精準度設定為街道等級 (取消勾選即可節省電力)"</string> <string name="location_gps_disabled" msgid="6632537158777308128">"定位至街道等級 (需要更多電力及天候允許)"</string> <string name="assisted_gps" msgid="4649317129586736885">"使用輔助 GPS"</string> <string name="assisted_gps_enabled" msgid="8751899609589792803">"使用伺服器輔助 GPS (取消勾選即可降低網路使用量)"</string> <string name="assisted_gps_disabled" msgid="6982698333968010748">"使用伺服器輔助 GPS (取消勾選即可提升 GPS 效能)"</string> - <string name="use_location_title" msgid="5447030582538504247">"使用我的位置"</string> - <string name="use_location_summary" msgid="1816849484040070431">"在 Google 搜尋結果和其他 Google 服務使用「我的位置」資訊"</string> - <string name="use_location_warning_message" msgid="1420184860518262439">"要允許 Google 使用位置資訊改善搜尋結果與其他服務嗎?"</string> - <string name="agree" msgid="6288718671527758326">"同意"</string> - <string name="disagree" msgid="6221069272309799230">"不同意"</string> <string name="about_settings" msgid="1743378368185371685">"關於手機"</string> <string name="about_settings_summary" msgid="3302263393543848667">"檢視法律資訊、手機狀態、軟體版本"</string> <string name="legal_information" msgid="5769301644270604095">"法律資訊"</string> @@ -591,15 +623,25 @@ <string name="terms_title" msgid="7697580845616764642">"條款及細則"</string> <string name="system_tutorial_list_item_title" msgid="9082844446660969729">"系統教學課程"</string> <string name="system_tutorial_list_item_summary" msgid="3861815254521030201">"瞭解如何使用您的手機"</string> - <string name="settings_license_activity_title" msgid="7553683406244228650">"開啟原始授權"</string> + <string name="settings_license_activity_title" msgid="7553683406244228650">"開放原始碼授權"</string> <string name="settings_license_activity_unavailable" msgid="4210539215951487627">"載入授權時發生問題"</string> <string name="settings_license_activity_loading" msgid="3337535809093591740">"載入中..."</string> <string name="settings_safetylegal_title" msgid="1289483965535937431">"安全資訊"</string> <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"安全資訊"</string> <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"您的手機尚未與資料傳輸服務連線。如要檢視此資訊,請使用任何可上網的電腦前往 %s。"</string> <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"載入中..."</string> - <string name="lock_settings_title" msgid="5828348303971852121">"螢幕解鎖圖形"</string> + <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"選擇密碼"</string> + <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"選擇您的 PIN"</string> + <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"確認密碼"</string> + <string name="lockpassword_confirm_your_pin_header" msgid="49038294648213197">"確認 PIN"</string> + <string name="lockpassword_confirm_passwords_dont_match" msgid="6850677112663979120">"密碼不符"</string> + <string name="lockpassword_confirm_pins_dont_match" msgid="4757532830594400147">"PIN 不符"</string> + <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"已設定密碼"</string> + <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"已設定 PIN"</string> + <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"已設定圖形"</string> + <string name="lock_settings_title" msgid="975088518210629938">"螢幕解鎖"</string> <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"變更解鎖圖形"</string> + <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"變更解鎖 PIN"</string> <string name="lockpattern_need_to_unlock" msgid="757935356911054465">"確認儲存的圖形"</string> <string name="lockpattern_need_to_unlock_wrong" msgid="5629093548611791080">"很抱歉,請再試一次:"</string> <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"畫出解鎖圖形"</string> @@ -624,18 +666,18 @@ <string name="lockpattern_too_many_failed_confirmation_attempts_header" msgid="819903817323783498">"錯誤嘗試太多!"</string> <string name="lockpattern_too_many_failed_confirmation_attempts_footer" msgid="6759029360597122873">"<xliff:g id="NUMBER">%d</xliff:g> 秒後再試一次。"</string> <string name="skip_button_label" msgid="8680422740354436943">"取消"</string> - <string name="next_button_label" msgid="8890792540116568321">"下一頁"</string> + <string name="next_button_label" msgid="8890792540116568321">"下一步"</string> <string name="lock_title" msgid="4059246467204273930">"手機安全設定"</string> - <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"建立個人螢幕的解鎖圖案,避免手機在未經授權的狀態下遭人使用。"\n<font height="17">\n</font><b>"1"</b>" 請在下一個畫面檢視範例圖案的繪製示範。"\n<font height="17">\n</font><b>"2"</b>" 當您準備就緒後,請繪製自己的個人解鎖圖案。請嘗試繪製不同的圖案,但至少要連接四個點。"\n<font height="17">\n</font><b>"3"</b>" 再次繪製圖案來確認。"\n<font height="17">\n</font><b>"準備好要開始了嗎?請輕觸 [下一步]"</b>"。"\n<font height="3">\n</font>"如要繼續讓手機處於未保護狀態,請輕觸 [取消]。"</font></string> + <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">" 建立個人螢幕解鎖圖形,可避免手機在未經授權的狀態下遭人使用 "\n<font height="17">\n</font><b>" 1 "</b>" 在下一個畫面中,您將可檢視範例圖形繪畫示範。"\n<font height="17">\n</font><b>" 2 "</b>" 準備好後,便可畫出個人解鎖圖形。您可以嘗試不同的圖形,但需要至少連接四點。 "\n<font height="17">\n</font><b>" 3 "</b>" 再次畫出圖形以確認。"\n<font height="17">\n</font><b>" 準備開始了嗎?點一下 [繼續]"</b>"。"\n<font height="3">\n</font>" 如要維持不受保護的狀態,請點一下 [取消]。"</font></string> <string name="lock_example_title" msgid="8052305554017485410">"範例圖形"</string> - <string name="lock_example_message" msgid="1838650097090632706">"至少連接四個點。"\n" "\n"您準備好要繪製自己的解鎖圖案時,請輕觸 [下一步]。"</string> + <string name="lock_example_message" msgid="1838650097090632706">"圖形至少需連接四點。"\n" "\n"準備好要開始畫時,請點一下 [繼續]。"</string> <string name="manageapplications_settings_title" msgid="5712405848153426706">"管理應用程式"</string> <string name="manageapplications_settings_summary" msgid="6097117021500651232">"管理及移除已安裝的應用程式"</string> <string name="applications_settings" msgid="3736173521008476946">"應用程式"</string> <string name="applications_settings_summary" msgid="2714215108369119717">"管理應用程式,設定快速啟動鍵"</string> <string name="applications_settings_header" msgid="6018266337275422250">"應用程式設定"</string> <string name="install_applications" msgid="4872012136210802181">"未知的來源"</string> - <string name="install_unknown_applications" msgid="4657036956866203596">"允許安裝非 Market 應用程式"</string> + <string name="install_unknown_applications" msgid="6612824788917283662">"允許安裝非 Market 應用程式"</string> <string name="install_all_warning" msgid="1923717607319933741">"未知來源的應用程式可能會損害您的手機及個人資訊。如使用這些應用程式而造成手機受損或資料遺失,您必須自行承擔責任。"</string> <string name="application_info_label" msgid="1150486628158409543">"應用程式資訊"</string> <string name="storage_label" msgid="8700867073480107253">"儲存空間"</string> @@ -655,7 +697,7 @@ <string name="auto_launch_enable_text" msgid="2630656657744196691">"您已設定在某些操作下啟動此應用程式。"</string> <string name="auto_launch_disable_text" msgid="7800385822185540166">"沒有預設值。"</string> <string name="clear_activities" msgid="7408923511535174430">"清除預設值"</string> - <string name="unknown" msgid="1592123443519355854">"未知的"</string> + <string name="unknown" msgid="1592123443519355854">"不明"</string> <string name="sort_order_alpha" msgid="8622029358896599842">"排序"</string> <string name="sort_order_size" msgid="7024513286636502362">"依大小排序"</string> <string name="manage_space_text" msgid="8852711522447794676">"管理空間"</string> @@ -664,6 +706,7 @@ <string name="filter_apps_all" msgid="5142129378749391876">"全部"</string> <string name="filter_apps_third_party" msgid="7786348047690140979">"已下載"</string> <string name="filter_apps_running" msgid="7767071454371350486">"執行中"</string> + <string name="filter_apps_onsdcard" msgid="1477351142334784771">"於 SD 卡"</string> <string name="loading" msgid="3200408047793887917">"載入中..."</string> <string name="recompute_size" msgid="7722567982831691718">"重新計算大小..."</string> <string name="clear_data_dlg_title" msgid="4470209520936375508">"刪除"</string> @@ -682,6 +725,21 @@ <string name="invalid_size_value" msgid="1901940003700269523">"無法計算封裝大小"</string> <string name="empty_list_msg" msgid="2901049162265094971">"您未安裝任何第三方應用程式。"</string> <string name="version_text" msgid="9189073826278676425">"版本 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> + <string name="move_app" msgid="5042838441401731346">"移動"</string> + <string name="move_app_to_internal" msgid="3895430471913858185">"移至手機"</string> + <string name="move_app_to_sdcard" msgid="1143379049903056407">"移至 SD 卡"</string> + <string name="moving" msgid="6431016143218876491">"正在移動"</string> + <string name="insufficient_storage" msgid="8566913062094452962">"剩餘的儲存空間不足。"</string> + <string name="does_not_exist" msgid="837163572898468245">"應用程式不存在。"</string> + <string name="app_forward_locked" msgid="5747805144210389585">"禁止複製應用程式。"</string> + <string name="invalid_location" msgid="4934491353200240499">"所指定的安裝位置無效。"</string> + <string name="system_package" msgid="1030561474413022831">"無法將系統更新安裝在外部媒體上。"</string> + <string name="force_stop_dlg_title" msgid="4289453224368188476">"強制停止"</string> + <string name="force_stop_dlg_text" msgid="3381302041569982075">"此應用程式即將重新啟動,確定要強制停止嗎?"</string> + <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"移動應用程式"</string> + <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"因為 <xliff:g id="REASON">%1$s</xliff:g>,無法移動應用程式。"</string> + <string name="app_install_location_title" msgid="2068975150026852168">"偏好的安裝位置"</string> + <string name="app_install_location_summary" msgid="879753854530300436">"變更新應用程式在安裝時的偏好位置。"</string> <string name="runningservices_settings_title" msgid="8097287939865165213">"正在運作的服務"</string> <string name="runningservices_settings_summary" msgid="854608995821032748">"查看並控制目前正在運作的服務"</string> <string name="service_restarting" msgid="2242747937372354306">"重新啟動中"</string> @@ -700,8 +758,8 @@ <string name="language_settings_summary" msgid="595647729475399987">"選取地區設定 (語言和地區)、文字輸入和自動校正選項"</string> <string name="language_category" msgid="3391756582724541530">"地區設定"</string> <string name="text_category" msgid="6342540511465136739">"文字設定"</string> - <string name="phone_language" msgid="2138384312336494991">"選取地區設定"</string> - <string name="phone_language_summary" msgid="1809580675831352352">"選取語言及地區"</string> + <string name="phone_language" msgid="1165758957501090679">"選取語言"</string> + <string name="phone_language_summary" msgid="3871309445655554211"></string> <string name="auto_replace" msgid="6199184757891937822">"自動替換"</string> <string name="auto_replace_summary" msgid="370288728200084466">"修改不正確的字"</string> <string name="auto_caps" msgid="581633131114124121">"自動大寫"</string> @@ -714,7 +772,7 @@ <string name="ime_security_warning" msgid="812267421486877917">"此輸入法可能會收集您輸入的所有文字,包括密碼和信用卡號等個人資料。此輸入法來自「<xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>」應用程式。是否要使用此輸入法?"</string> <string name="user_dict_settings_titlebar" msgid="765659257455000490">"使用者字典"</string> <string name="user_dict_settings_title" msgid="8357027437499042191">"使用者字典"</string> - <string name="user_dict_settings_summary" msgid="2460427065601355471">"在使用者字典中新增及移除字詞"</string> + <string name="user_dict_settings_summary" msgid="7965571192902870454"></string> <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"新增"</string> <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"新增至字典"</string> <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"編輯文字"</string> @@ -798,6 +856,11 @@ <string name="no_accessibility_services_summary" msgid="694578333333808159">"尚未安裝協助工具服務。"</string> <string name="accessibility_service_security_warning" msgid="4066258132331302670">"此協助工具服務可能會收集您輸入的所有文字,包括個人資料及信用卡號碼,但並不會收集您輸入的密碼,而且它也可能會記錄您的使用者介面互動行為。該服務是由應用程式「<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>」所提供,要使用此協助工具服務嗎?"</string> <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"要停用協助工具嗎?"</string> + <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"找不到與協助工具相關的應用程式"</string> + <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"您尚未安裝與協助工具相關的應用程式。"\n\n"您可以從 Android Market 下載螢幕助讀器。"\n\n"按一下 [確定] 即可安裝螢幕助讀器。"</string> + <string name="accessibility_power_button_category" msgid="8545885236482339928">"電源鍵"</string> + <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"電源鍵可結束通話"</string> + <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"通話時按下電源鍵結束通話,不會關閉螢幕"</string> <string name="power_usage_summary_title" msgid="5180282911164282324">"電池使用狀況"</string> <string name="power_usage_summary" msgid="7237084831082848168">"查看正在消耗電力的功能"</string> <string name="battery_since_unplugged" msgid="338073389740738437">"拔除插頭後的電池使用狀況"</string> @@ -856,12 +919,22 @@ <string name="menu_stats_refresh" msgid="1676215433344981075">"重新整理"</string> <string name="process_kernel_label" msgid="3916858646836739323">"Android 作業系統"</string> <string name="process_mediaserver_label" msgid="6500382062945689285">"媒體伺服器"</string> - <string name="tts_settings" msgid="3348626948015962987">"文字轉語音"</string> - <string name="tts_settings_summary" msgid="2627715231944602766">"設定文字轉語音選項"</string> + <string name="voice_input_output_settings" msgid="1336135218350444783">"語音輸入裝置與輸出裝置"</string> + <string name="voice_input_output_settings_title" msgid="2442850635048676991">"語音輸入與輸出裝置設定"</string> + <string name="voice_search_settings_title" msgid="2775469246913196536">"語音搜尋"</string> + <string name="keyboard_settings_title" msgid="5080115226780201234">"Android 鍵盤"</string> + <string name="voice_input_category" msgid="1589318440824204736">"語音輸入"</string> + <string name="voice_output_category" msgid="2624538587784986229">"語音輸出裝置"</string> + <string name="recognizer_title" msgid="3231385184559054457">"語音辨識系統"</string> + <string name="recognizer_settings_title" msgid="6038598099039717232">"語音辨識系統設定"</string> + <string name="recognizer_settings_summary" msgid="4472287934134546902">"「<xliff:g id="RECOGNIZER_NAME">%s</xliff:g>」設定"</string> + <string name="tts_settings" msgid="8186971894801348327">"文字轉語音設定"</string> <string name="tts_settings_title" msgid="4182348653053000933">"文字轉語音設定"</string> <string name="use_default_tts_settings_title" msgid="1577063839539732930">"永遠使用我的設定"</string> <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"下列預設設定會覆寫應用程式設定"</string> <string name="tts_default_settings_section" msgid="5787915620218907443">"預設設定"</string> + <string name="tts_default_synth_title" msgid="29467896463371992">"預設引擎"</string> + <string name="tts_default_synth_summary" msgid="6482936537135251690">"將語音合成引擎設為處理語音"</string> <string name="tts_default_rate_title" msgid="6030550998379310088">"語音速率"</string> <string name="tts_default_rate_summary" msgid="4061815292287182801">"文字轉換成語音後的播放速度"</string> <string name="tts_default_pitch_title" msgid="6135942113172488671">"音調"</string> @@ -875,10 +948,22 @@ <string name="tts_data_installed_summary" msgid="9162111552859972809">"語音合成所需的語音資料已正確安裝"</string> <string name="tts_demo" msgid="405357591189935876">"請聆聽合成的範例。"</string> <string name="tts_settings_changed_demo" msgid="4926518555912328645">"設定已變更,請聆聽語音範例。"</string> + <string name="tts_engine_error" msgid="5513288178403066867">"無法使用您選取的引擎"</string> + <string name="tts_engine_error_config" msgid="5820525416624637313">"設定"</string> + <string name="tts_engine_error_reselect" msgid="3071453963296013376">"選取其他引擎"</string> + <string name="tts_engine_security_warning" msgid="8786238102020223650">"此語音合成引擎可能會收集您輸入的所有語音,包括密碼和信用卡號等個人資料。此引擎來自「<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>」引擎,是否要使用此語音合成引擎?"</string> + <string name="tts_engines_section" msgid="7515470972378742429">"引擎"</string> + <string name="tts_engine_name_settings" msgid="4974538563074395920">"<xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>設定"</string> + <string name="tts_engine_name_is_enabled_summary" msgid="4909484006804022115">"已啟用 <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="tts_engine_name_is_disabled_summary" msgid="7644198182255168200">"已停用 <xliff:g id="TTS_PLUGIN_ENGINE_NAME">%s</xliff:g>"</string> + <string name="pico_languages_and_voices" msgid="4611320375917773238">"語言及語音"</string> + <string name="pico_installed" msgid="2452546687858267414">"已安裝"</string> + <string name="pico_not_installed" msgid="6266845418419994311">"未安裝"</string> + <string name="pico_voice_summary_female" msgid="8047327176247727492">"女性"</string> + <string name="pico_voice_summary_male" msgid="8331266854058577610">"男性"</string> <string name="gadget_title" msgid="7455548605888590466">"電源控制"</string> <string name="gadget_toggle_wifi" msgid="2382963973155082629">"正在更新 Wi-Fi 設定"</string> <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"正在更新藍牙設定"</string> - <string name="credential_installer_activity_title" msgid="7600661521831762521">"認證安裝程式"</string> <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN 設定"</string> <string name="vpn_connect_to" msgid="2541409082892684362">"連線至<xliff:g id="NAME">%s</xliff:g>"</string> <string name="vpn_username_colon" msgid="7854930370861306247">"使用者名稱:"</string> @@ -898,7 +983,7 @@ <string name="vpn_menu_disconnect" msgid="8254492450022562235">"中斷網路連線"</string> <string name="vpn_menu_edit" msgid="4526245173583195618">"編輯網路"</string> <string name="vpn_menu_delete" msgid="3326527392609513129">"刪除網路"</string> - <string name="vpn_error_miss_entering" msgid="5377667978602483250">"請輸入<xliff:g id="CODE">%s</xliff:g>。"</string> + <string name="vpn_error_miss_entering" msgid="5377667978602483250">"請輸入 <xliff:g id="CODE">%s</xliff:g>。"</string> <string name="vpn_error_miss_selecting" msgid="4890780825580511345">"請選取<xliff:g id="OPTION">%s</xliff:g>。"</string> <string name="vpn_error_duplicate_name" msgid="2693927537390963745">"VPN 名稱「<xliff:g id="NAME">%s</xliff:g>」已經存在,請使用其他名稱。"</string> <string name="vpn_confirm_profile_deletion" msgid="8679536635364177239">"確定要刪除此 VPN 嗎?"</string> @@ -947,12 +1032,12 @@ <string name="vpn_dns_search_list_title" msgid="1022776976104584251">"DNS 搜尋網域"</string> <string name="vpn_dns_search_list" msgid="4230034234026605360">"DNS 搜尋網域"</string> <string name="vpn_field_is_set" msgid="7137320847812992243">"已設定<xliff:g id="VALUE">%s</xliff:g>"</string> - <string name="vpn_field_not_set" msgid="2972519243515893804">"未設定<xliff:g id="VALUE">%s</xliff:g>"</string> - <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"未設定<xliff:g id="VALUE">%s</xliff:g> (可略過)"</string> + <string name="vpn_field_not_set" msgid="2972519243515893804">"未設定 <xliff:g id="VALUE">%s</xliff:g>"</string> + <string name="vpn_field_not_set_optional" msgid="8840557698252556791">"未設定 <xliff:g id="VALUE">%s</xliff:g> (可略過)"</string> <string name="vpn_enable_field" msgid="3700967675854517191">"啟用<xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_disable_field" msgid="6905658811179634005">"停用<xliff:g id="OPTION">%s</xliff:g>"</string> - <string name="vpn_is_enabled" msgid="1266304230417098877">"已啟用<xliff:g id="OPTION">%s</xliff:g>"</string> - <string name="vpn_is_disabled" msgid="2013622485867806167">"已停用<xliff:g id="OPTION">%s</xliff:g>"</string> + <string name="vpn_is_enabled" msgid="1266304230417098877">"已啟用 <xliff:g id="OPTION">%s</xliff:g>"</string> + <string name="vpn_is_disabled" msgid="2013622485867806167">"已停用 <xliff:g id="OPTION">%s</xliff:g>"</string> <string name="vpn_settings_title" msgid="7327468307909556719">"VPN 設定"</string> <string name="vpn_settings_summary" msgid="8849924181594963972">"設定與管理虛擬私人網路 (VPN)"</string> <string name="vpn_secret_unchanged" msgid="8700613973594154529">"(未變更)"</string> @@ -987,11 +1072,23 @@ <string name="emergency_tone_summary" msgid="722259232924572153">"設定撥打緊急電話時的運作方式"</string> <string name="privacy_settings" msgid="9206631214140954954">"隱私設定"</string> <string name="privacy_settings_title" msgid="1987089301293213705">"隱私設定"</string> - <string name="location_section_title" msgid="6072558684044939786">"位置"</string> - <string name="settings_section_title" msgid="7413252428447723032">"設定"</string> <string name="personal_data_section_title" msgid="7815209034443782061">"個人資料"</string> - <string name="backup_settings_title" msgid="2968262658155327829">"備份我的設定"</string> - <string name="backup_erase_dialog_title" msgid="6028429904055779443">"設定備份"</string> - <string name="backup_erase_dialog_message" msgid="9096433810456900531">"您確定要停止備份設定,並清除 Google 伺服器上的所有設定資料嗎?"</string> + <string name="auto_restore_title" msgid="5397528966329126506">"自動還原功能"</string> + <string name="backup_erase_dialog_title" msgid="3438255037256586237">"備份"</string> + <string name="backup_erase_dialog_message" msgid="2948090854996352245">"您確定要停止備份設定及應用程式資料,並清除 Google 伺服器上的所有相關資料嗎?"</string> + <string name="device_admin_settings_title" msgid="1335557832906433309">"裝置管理設定"</string> + <string name="active_device_admin_msg" msgid="6930903262612422111">"裝置管理員"</string> + <string name="remove_device_admin" msgid="3596845261596451437">"撤銷"</string> + <string name="select_device_admin_msg" msgid="2645509057946368094">"裝置管理員"</string> + <string name="no_device_admins" msgid="702695100241728775">"沒有可用的裝置管理員"</string> + <string name="add_device_admin_msg" msgid="6246742476064507965">"啟動裝置管理員?"</string> + <string name="add_device_admin" msgid="7133327675884827091">"啟用"</string> + <string name="device_admin_add_title" msgid="7705551449705676363">"裝置管理員"</string> + <string name="device_admin_warning" msgid="1149471041373876923">"啟用此管理員將允許 <xliff:g id="APP_NAME">%1$s</xliff:g> 應用程式執行以下活動:"</string> + <string name="device_admin_status" msgid="7169948053970923035">"此管理員正在作業中,且允許 <xliff:g id="APP_NAME">%1$s</xliff:g> 應用程式執行以下活動:"</string> <string name="untitled_apn" msgid="1230060359198685513">"未命名"</string> + <string name="sound_category_sound_title" msgid="1488759370067953996">"一般"</string> + <string name="sound_category_calls_title" msgid="3688531959256239012">"來電"</string> + <string name="sound_category_notification_title" msgid="3502115998790286943">"通知"</string> + <string name="sound_category_feedback_title" msgid="4399742321363475393">"意見"</string> </resources> diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 2981b12..f16f8c9 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -17,25 +17,25 @@ ** limitations under the License. */ --> -<resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- Choices for timezone picker first level. These values will be used as search terms for TimeZone displayName strings. --> <skip /> <!-- The time zone picker screen has two levels. The first level allows the user to choose a region. --> <string-array name="timezone_filters"> - <!-- The next level of the time zoner picker should show time zones from the Americas. --> + <!-- The next level of the time zoner picker should show time zones from the Americas. --> <item>America</item> - <!-- The next level of the time zoner picker should show time zones from Europe. --> + <!-- The next level of the time zoner picker should show time zones from Europe. --> <item>Europe</item> - <!-- The next level of the time zoner picker should show time zones from Africa. --> + <!-- The next level of the time zoner picker should show time zones from Africa. --> <item>Africa</item> - <!-- The next level of the time zoner picker should show time zones from Asia. --> + <!-- The next level of the time zoner picker should show time zones from Asia. --> <item>Asia</item> - <!-- The next level of the time zoner picker should show time zones from Australia. --> + <!-- The next level of the time zoner picker should show time zones from Australia. --> <item>Australia</item> - <!-- The next level of the time zoner picker should show time zones from Pacific. --> + <!-- The next level of the time zoner picker should show time zones from Pacific. --> <item>Pacific</item> - <!-- The next level of the time zoner picker should show time zones from ALL regions. --> + <!-- The next level of the time zoner picker should show time zones from ALL regions. --> <item>All</item> </string-array> @@ -133,7 +133,7 @@ <item>120</item> <item>150</item> </string-array> - + <!-- Default language choices --> <string-array name="tts_lang_entries"> <item>American English</item> @@ -161,48 +161,109 @@ <item>Questo è un esempio di sintesi vocale in italiano.</item> <item>Este es un ejemplo de síntesis de voz en español.</item> </string-array> + <!-- Do not translate. --> + <string-array name="tts_engine_entries"> + <item>Pico TTS</item> + </string-array> + <!-- Do not translate. --> + <string-array name="tts_engine_values"> + <item>com.svox.pico</item> + </string-array> + <!-- Wi-Fi settings --> - <!-- Match this with code. --> <skip /> - <!-- Wi-Fi settings. The type of security a Wi-Fi network has. The user can choose this when he adds a manual network, or configures an existing network. --> - <string-array name="wifi_security_entries"> - <!-- Let the phone figure out the security type auutomatically. --> - <item>Auto</item> - <!-- The Wi-Fi network does not have any security. --> - <item>None</item> - <!-- Do not translate. The Wi-Fi network has WEP security. --> - <item>WEP</item> - <!-- The Wi-Fi network has WPA personal security. WPA Personal is a tech term, and might be better left untranslated? --> - <item>WPA/WPA2 PSK</item> - <!-- The Wi-Fi network has WPA EAP extensible authentication protocol. --> - <item>802.1x Enterprise</item> + <!-- Match this with the order of NetworkInfo.DetailedState. --> <skip /> + <!-- Wi-Fi settings. The status messages when the network is unknown. --> + <string-array name="wifi_status"> + <!-- Status message of Wi-Fi when it is idle. --> + <item></item> + <!-- Status message of Wi-Fi when it is scanning. --> + <item>Scanning\u2026</item> + <!-- Status message of Wi-Fi when it is connecting. --> + <item>Connecting\u2026</item> + <!-- Status message of Wi-Fi when it is authenticating. --> + <item>Authenticating\u2026</item> + <!-- Status message of Wi-Fi when it is obtaining IP address. --> + <item>Obtaining IP address\u2026</item> + <!-- Status message of Wi-Fi when it is connected. --> + <item>Connected</item> + <!-- Status message of Wi-Fi when it is suspended. --> + <item>Suspended</item> + <!-- Status message of Wi-Fi when it is disconnecting. --> + <item>Disconnecting\u2026</item> + <!-- Status message of Wi-Fi when it is disconnected. --> + <item>Disconnected</item> + <!-- Status message of Wi-Fi when it is a failure. --> + <item>Unsuccessful</item> </string-array> - <!-- Match this with code. --> <skip /> - <!-- Wi-Fi settings. The type of security a Wi-Fi network has. The user can choose this when he adds a manual network, or configures an existing network. --> - <string-array name="wifi_security_without_auto_entries"> + <!-- Match this with the order of NetworkInfo.DetailedState. --> <skip /> + <!-- Wi-Fi settings. The status messages when the network is known. --> + <string-array name="wifi_status_with_ssid"> + <!-- Status message of Wi-Fi when it is idle. --> + <item></item> + <!-- Status message of Wi-Fi when it is scanning. --> + <item>Scanning\u2026</item> + <!-- Status message of Wi-Fi when it is connecting to a network. --> + <item>Connecting to <xliff:g id="network_name">%1$s</xliff:g>\u2026</item> + <!-- Status message of Wi-Fi when it is authenticating with a network. --> + <item>Authenticating with <xliff:g id="network_name">%1$s</xliff:g>\u2026</item> + <!-- Status message of Wi-Fi when it is obtaining IP address from a network. --> + <item>Obtaining IP address from <xliff:g id="network_name">%1$s</xliff:g>\u2026</item> + <!-- Status message of Wi-Fi when it is connected to a network. --> + <item>Connected to <xliff:g id="network_name">%1$s</xliff:g></item> + <!-- Status message of Wi-Fi when it is suspended. --> + <item>Suspended</item> + <!-- Status message of Wi-Fi when it is disconnecting from a network. --> + <item>Disconnecting from <xliff:g id="network_name">%1$s</xliff:g>\u2026</item> + <!-- Status message of Wi-Fi when it is disconnected. --> + <item>Disconnected</item> + <!-- Status message of Wi-Fi when it is a failure. --> + <item>Unsuccessful</item> + </string-array> + + <!-- Match this with the constants in AccessPoint. --> <skip /> + <!-- Wi-Fi settings. The type of security a Wi-Fi network has. --> + <string-array name="wifi_security"> <!-- The Wi-Fi network does not have any security. --> - <item>None</item> - <!-- Do not translate. The Wi-Fi network has WEP security. --> + <item>Open</item> + <!-- Do not translate. --> <item>WEP</item> - <!-- The Wi-Fi network has WPA personal security. WPA Personal is a tech term, and might be better left untranslated? --> + <!-- Do not translate. --> <item>WPA/WPA2 PSK</item> - <!-- The Wi-Fi network has WPA enterprise security. WPA Enterprise is a tech term, and might be better left untranslated? --> - <item>802.1x Enterprise</item> + <!-- Do not translate. --> + <item>802.1x EAP</item> + </string-array> + + <!-- Wi-Fi AP settings. The type of security a Wi-Fi AP supports. --> + <!-- Note that adding/removing/moving the items will need wifi settings code change. --> + <string-array name="wifi_ap_security" translatable="false"> + <item>Open</item> + <!-- Do not translate. --> + <item>WPA2 PSK</item> </string-array> - <!-- Match this with code. --> <skip /> - <!-- Wi-Fi settings. Presented as a list dialog to the user. He chooses the type of WEP key he entered. --> - <string-array name="wifi_wep_type"> - <!-- This means the phone should figure out the type automatically the best it can. --> - <item>Auto</item> + <!-- Match this with the constants in WifiDialog. --> <skip /> + <!-- Wi-Fi settings. The type of EAP method a Wi-Fi network has. --> + <string-array name="wifi_eap_method"> + <!-- Do not translate. --> + <item>PEAP</item> + <!-- Do not translate. --> + <item>TLS</item> <!-- Do not translate. --> - <item>WEP ASCII</item> - <!-- WEP key that is in hexadecimal. --> - <item>WEP hexadecimal</item> + <item>TTLS</item> </string-array> - + + <!-- Match this with drawable.wifi_signal. --> <skip /> + <!-- Wi-Fi settings. The signal strength a Wi-Fi network has. --> + <string-array name="wifi_signal"> + <item>Poor</item> + <item>Fair</item> + <item>Good</item> + <item>Excellent</item> + </string-array> + <!-- Wi-Fi settings. Presented as a list dialog to the user to choose the Wi-Fi sleep policy. --> <string-array name="wifi_sleep_policy_entries"> <!-- Wi-Fi should go to sleep when the screen turns off. --> @@ -310,4 +371,33 @@ <item>3</item> </string-array> + <!-- Apps on SD instalaltion location options in ApplicationSettings --> + <string-array name="app_install_location_entries"> + <item>Internal device storage</item> + <item>Removable SD card</item> + <item>Let the system decide</item> + </string-array> + + <!-- Do not translate. --> + <string-array name="app_install_location_values" translatable="false"> + <item>device</item> + <item>sdcard</item> + <item>auto</item> + </string-array> + + <!-- New incoming call vibrate options. --> + <string-array name="vibrate_entries"> + <item>Always</item> + <item>Never</item> + <item>Only in Silent mode</item> + <item>Only when not in Silent mode</item> + </string-array> + + <!-- Values for vibrate_entries matching constants in SoundSettings. Do not translate. --> + <string-array name="vibrate_values" translatable="false"> + <item>always</item> + <item>never</item> + <item>silent</item> + <item>notsilent</item> + </string-array> </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 0a567f5..caa9852 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4,9 +4,9 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -30,10 +30,6 @@ <string name="turn_on_radio">Turn on radio</string> <!-- Phone Info screen. Button label to turn off the radio . Only shown in diagnostic screen, so precise translation is not needed. --> <string name="turn_off_radio">Turn off radio</string> - <!-- Phone Info screen. Button label to turn on the log for QXDM SD . Only shown in diagnostic screen, so precise translation is not needed. --> - <string name="turn_on_qxdm">Enable QXDM SD log</string> - <!-- Phone Info screen. Button label to turn off the log for QXDM SD . Only shown in diagnostic screen, so precise translation is not needed. --> - <string name="turn_off_qxdm">Disable QXDM SD log</string> <!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed --> <string name="radioInfo_menu_viewADN">View SIM address book</string> @@ -43,14 +39,6 @@ <string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string> <!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed --> <string name="radioInfo_menu_getPDP">Get PDP list</string> - <!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed --> - <string name="radioInfo_menu_enableData">Enable data connection</string> - <!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed --> - <string name="radioInfo_menu_disableData">Disable data connection</string> - <!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed --> - <string name="radioInfo_menu_enableDataOnBoot">Enable data on boot</string> - <!-- Phone Info screen. Menu item label. Used for diagnostic info screens, precise translation isn't needed --> - <string name="radioInfo_menu_disableDataOnBoot">Disable data on boot</string> <!-- Phone Info screen. Status label. Used for diagnostic info screens, precise translation isn't needed --> <string name="radioInfo_service_in">In service</string> @@ -147,7 +135,7 @@ <string name="battery_info_awake_plugged">Awake time when charging:</string> <!-- Battery Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed --> <string name="battery_info_screen_on">Screen ON time:</string> - + <!-- Battery Info screen. Value for a status item. Used for diagnostic info screens, precise translation isn't needed --> <string name="battery_info_status_unknown">Unknown</string> @@ -170,7 +158,7 @@ <string name="battery_info_power_usb">USB</string> <string name="battery_info_power_ac_usb">AC+USB</string> <string name="battery_info_power_unknown">Unknown</string> - + <!-- Battery Info screen. Value for a status item. Used for diagnostic info screens, precise translation isn't needed --> <string name="battery_info_health_unknown">Unknown</string> <!-- Battery Info screen. Value for a status item. Used for diagnostic info screens, precise translation isn't needed --> @@ -193,6 +181,14 @@ <!-- Bluetooth settings screen, Discoverable checkbox summary text --> <string name="bluetooth_not_discoverable">Make device discoverable</string> <!-- Bluetooth settings screen, heading above the list of nearby bluetooth devices --> + <!-- Bluetooth settings screen, check box label whether or not to allow + bluetooth voice dialing when lock screen is up--> + <string name="bluetooth_lock_voice_dialing">Lock voice dialing</string> + <!-- Bluetooth settings screen, lock voice dialing checkbox summary text --> + <string name="bluetooth_lock_voice_dialing_summary"> + Prevent use of the bluetooth dialer when the screen is locked + </string> + <string name="bluetooth_devices">Bluetooth devices</string> <!-- Bluetooth settings screen, title for the current bluetooth name setting --> <string name="bluetooth_device_name">Device name</string> @@ -371,8 +367,6 @@ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed --> <string name="radio_info_http_client_test">HTTP Client test:</string> <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed --> - <string name="radio_info_toggle_ciph_label">Toggle ciphering</string> - <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed --> <string name="ping_test_label">Run ping test</string> <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed --> <string name="radio_info_smsc_label">SMSC:</string> @@ -382,6 +376,8 @@ <string name="radio_info_smsc_refresh_label">Refresh</string> <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed --> <string name="radio_info_toggle_dns_check_label">Toggle DNS check</string> + <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed --> + <string name="oem_radio_info_label">OEM-specific Info/Settings</string> <!-- Band Mode Selection --> <!-- Band mode screen. Title of activity. --> @@ -518,6 +514,8 @@ <!-- Menu item on Select time zone screen --> <string name="zone_list_menu_sort_by_timezone">Sort by time zone</string> + <!-- Security Settings --><skip /> + <!-- Main Settings screen setting option title for the item to take you the security and location screen --> <string name="security_settings_title">Location & security</string> <!-- Location & security settings screen title --> @@ -529,6 +527,113 @@ <!-- In the security screen, the header title for settings related to Passwords--> <string name="security_passwords_title">Passwords</string> + <!-- Unlock Picker Settings --><skip /> + + <!-- Security Picker --><skip /> + <!-- Title for security picker to choose the unlock method: None/Pattern/PIN/Password --> + <string name="lock_settings_picker_title">Screen unlock security</string> + + <!-- Main Security lock settings --><skip /> + <!-- Title for PreferenceScreen to launch picker for security method when there is none --> + <string name="unlock_set_unlock_launch_picker_title">Set up screen lock</string> + + <!-- Summary for PreferenceScreen to launch picker for security method when there is none --> + <string name="unlock_set_unlock_launch_picker_summary">Lock screen with a pattern, PIN, or password</string> + + <!-- Title for PreferenceScreen to change security method: None/Pattern/PIN/Password --> + <string name="unlock_set_unlock_launch_picker_change_title">Change screen lock</string> + + <!-- Summary for PreferenceScreen to changeecurity method: None/Pattern/PIN/Password --> + <string name="unlock_set_unlock_launch_picker_change_summary">Change or disable pattern, PIN, or password security</string> + + + <!-- Title for preference that disables unlock security --> + <string name="unlock_set_unlock_none_title">None</string> + <!-- Summary for preference that disables unlock security --> + <string name="unlock_set_unlock_none_summary">Disable screen unlock security</string> + + <!-- Title for preference that guides the user through creating an unlock pattern --> + <string name="unlock_set_unlock_pattern_title">Pattern</string> + <!-- Summary for preference that guides the user through creating an unlock pattern --> + <string name="unlock_set_unlock_pattern_summary">Draw pattern to unlock screen</string> + + <!-- Title for preference that guides the user through creating an unlock PIN (Personal Identification Number) --> + <string name="unlock_set_unlock_pin_title">PIN</string> + <!-- Summary for preference that guides the user through creating an unlock PIN (Personal Identification Number) --> + <string name="unlock_set_unlock_pin_summary">Enter a numeric PIN to unlock screen</string> + + <!-- Title for preference that guides the user through creating an unlock password --> + <string name="unlock_set_unlock_password_title">Password</string> + <!-- Title for preference that guides the user through creating an unlock password --> + <string name="unlock_set_unlock_password_summary">Enter a password to unlock screen</string> + + <!-- Summary for preference that has been disabled by DevicePolicyAdmin --> + <string name="unlock_set_unlock_disabled_summary">Disabled by remote phone administrator</string> + + + <!-- Title for option to turn of password/pin/pattern unlock. --> + <string name="unlock_disable_lock_title">Turn off screen lock</string> + + <!-- Summary shown under unlock_disable_lock_title when pattern is in use and can be removed --> + <string name="unlock_disable_lock_pattern_summary">Remove unlock pattern</string> + <!-- Summary shown under unlock_disable_lock_title when PIN is in use and can be removed --> + <string name="unlock_disable_lock_pin_summary">Remove unlock PIN</string> + <!-- Summary shown under unlock_disable_lock_title when password is in use and can be removed --> + <string name="unlock_disable_lock_password_summary">Remove unlock password</string> + + <!-- Title shown on security settings to allow the user to change their lockscreen pattern --> + <string name="unlock_change_lock_pattern_title">Change unlock pattern</string> + <!-- Title shown on security settings to allow the user to change their lockscreen PIN --> + <string name="unlock_change_lock_pin_title">Change unlock PIN</string> + <!-- Title shown on security settings to allow the user to change their lockscreen password --> + <string name="unlock_change_lock_password_title">Change unlock password</string> + + <!-- Hint shown in dialog screen when password is too short --> + <string name="lockpassword_password_too_short">Password must be at least %d characters</string> + <!-- Hint shown in dialog screen when PIN is too short --> + <string name="lockpassword_pin_too_short">PIN must be at least %d characters</string> + + <!-- Hint shown after minimum password criteria is met --> + <string name="lockpassword_press_continue">Press Continue when done</string> + + <!-- Hint shown after minimum password criteria is met --> + <string name="lockpassword_continue_label">Continue</string> + + <!-- Error shown in popup when password is too long --> + <string name="lockpassword_password_too_long">PIN can be no longer than %d digits</string> + <!-- Error shown in popup when PIN is too long --> + <string name="lockpassword_pin_too_long">PIN can be no longer than %d digits</string> + + <!-- Error shown when in PIN mode and user enters a non-digit --> + <string name="lockpassword_pin_contains_non_digits">PIN must contain only digits 0-9</string> + + <!-- Error shown when in PASSWORD mode and user enters an invalid character --> + <string name="lockpassword_illegal_character">Password contains an illegal character</string> + + <!-- Error shown when in PASSWORD mode and password is all digits --> + <string name="lockpassword_password_requires_alpha">Password must contain at least one letter</string> + + <!-- Error shown when in PASSWORD mode and password doesn't contain any digits --> + <string name="lockpassword_password_requires_digit">Password must contain at least one digit</string> + + <!-- Error shown when in PASSWORD mode and password doesn't contain any symbols --> + <string name="lockpassword_password_requires_symbol">Password must contain at least one symbol</string> + + <!-- Label for ChoosePassword/PIN OK button --> + <string name="lockpassword_ok_label">OK</string> + + <!-- Label for ChoosePassword/PIN OK button --> + <string name="lockpassword_cancel_label">Cancel</string> + + <!-- In the security screen, the header title for settings related to device admins --> + <string name="device_admin_title">Device administration</string> + + <!-- Title of preference to manage device admins --> + <string name="manage_device_admin">Select device administrators</string> + + <!-- Summary of preference to manage device policies --> + <string name="manage_device_admin_summary">Add or remove device administrators</string> + <!-- Bluetooth settings --> <!-- Bluetooth settings check box title on Main Settings screen --> <string name="bluetooth_quick_toggle_title">Bluetooth</string> @@ -565,7 +670,7 @@ <!-- Title for BT error dialogs. --> <string name="bluetooth_error_title">Attention</string> <!-- Message for the error dialog when BT pairing fails generically. --> - <string name="bluetooth_pairing_error_message">There was a problem pairing with <xliff:g id="device_name">%1$s</xliff:g>.</string> + <string name="bluetooth_pairing_error_message">There was a problem pairing with <xliff:g id="device_name">%1$s</xliff:g>.</string> <!-- Message for the error dialog when BT pairing fails because the PIN / Passkey entered is incorrect. --> <string name="bluetooth_pairing_pin_error_message">There was a problem pairing with <xliff:g id="device_name">%1$s</xliff:g> because the PIN or Passkey is incorrect.</string> @@ -575,7 +680,7 @@ <string name="bluetooth_pairing_rejected_error_message">Pairing rejected by <xliff:g id="device_name">%1$s</xliff:g>.</string> <!-- Message for the error dialog when BT connecting operation fails generically. --> - <string name="bluetooth_connecting_error_message">There was a problem connecting to <xliff:g id="device_name">%1$s</xliff:g>.</string> + <string name="bluetooth_connecting_error_message">There was a problem connecting to <xliff:g id="device_name">%1$s</xliff:g>.</string> <!-- Do not translate --> <string name="bluetooth_device_info_alias">Device alias</string> @@ -588,7 +693,7 @@ <!-- Bluetooth settings: The title of the preference (list item) that initiates a scan for devices --> <string name="bluetooth_preference_scan_title">Scan for devices</string> - + <!-- Bluetooth settings. Context menu item for a device. Action will connect to all profiles on the device. --> <string name="bluetooth_device_context_connect">Connect</string> <!-- Bluetooth settings. Context menu item for a device. Action will disconnect from all profiles on the device. --> @@ -600,8 +705,8 @@ <!-- Bluetooth settings. Context menu item for a device. Action will disconnect and remove pairing with the device. --> <string name="bluetooth_device_context_disconnect_unpair">Disconnect & unpair</string> <!-- Bluetooth settings. Context menu item for a device. Action will take the user to another screen where they can choose exactly which profiles to connect to. --> - <string name="bluetooth_device_context_connect_advanced">Options\u2026</string> - + <string name="bluetooth_device_context_connect_advanced">Options\u2026</string> + <!-- Bluetooth settings. The title of the screen to pick which profiles to connect to on the device. For example, headphones may have both A2DP and headset, this allows the user to choose which one he wants to connect to. --> <string name="bluetooth_connect_specific_profiles_title">Connect to\u2026</string> @@ -654,9 +759,7 @@ <!-- Bluetooth settings. Dock Setting Dialog - Remember setting and don't ask user again --> <string name="bluetooth_dock_settings_remember">Remember settings</string> - <!-- Wi-Fi settings --> - <!-- Used in the 2nd-level settings screen to turn on Wi-Fi --> - <string name="wifi">Wi-Fi</string> + <!-- Wi-Fi Settings --> <skip /> <!-- Used in the 1st-level settings screen to turn on Wi-Fi --> <string name="wifi_quick_toggle_title">Wi-Fi</string> <!-- Used in the 1st-level settings screen as the turn-on summary --> @@ -665,143 +768,90 @@ <string name="wifi_settings">Wi-Fi settings</string> <!-- Title of the Wi-fi settings screen --> <string name="wifi_settings_category">Wi-Fi settings</string> - <!--Wireless controls setting screen, Wi-Fi settings summary text --> + <!-- Summary text of the Wi-fi settings screen --> <string name="wifi_settings_summary">Set up & manage wireless access points</string> - <!-- Button caption to forget a wifi network --> - <string name="forget_network">Forget</string> - <!-- Label for status of connection --> - <string name="wifi_status">Status</string> - <!-- Label for link speed (wifi) --> - <string name="wifi_link_speed">Speed</string> - <!-- Verbose wifi signal strength. This is the best out of 4 levels. --> - <string name="wifi_signal_3">Excellent</string> - <!-- Verbose wifi signal strength. This is the 2nd best out of 4 levels. --> - <string name="wifi_signal_2">Good</string> - <!-- Verbose wifi signal strength. This is the 3rd best out of 4 levels. --> - <string name="wifi_signal_1">Fair</string> - <!-- Verbose wifi signal strength. This is the worst out of 4 levels. --> - <string name="wifi_signal_0">Poor</string> - <!-- Label for the security of a wifi network --> - <string name="security">Security</string> - <!-- Value for the wifi security. This means no encryption. --> - <string name="wifi_security_open">Open</string> - <!-- Value for the wifi security --> - <string name="wifi_security_wep">WEP</string> - <!-- Value for the wifi security --> - <string name="wifi_security_psk">WPA/WPA2 PSK</string> - <!-- Value for the wifi security --> - <string name="wifi_security_eap">Enterprise(802.1x)</string> - <!-- Value for the wifi security --> - - <!-- Value for the wifi security when it is unknown --> - <string name="wifi_security_unknown">Unknown</string> - <!-- Verbose security type of a wifi network. Open means no security. Capitalized by app. --> - <string name="wifi_security_verbose_open">open network</string> - <!-- Verbose security type of a wifi network. Capitalized by app. --> - <string name="wifi_security_verbose_wep">secured with WEP</string> - <!-- Verbose security type of a wifi network. Capitalized by app. --> - <string name="wifi_security_verbose_psk">secured with WPA/WPA2 PSK</string> - <!-- Verbose security type of a wifi network. Capitalized by app. --> - <string name="wifi_security_verbose_eap">secured with 802.1x EAP</string> - <!-- Wi-Fi IP addrress label --> - <string name="ip_address">IP address</string> - <!-- Label for the signal strength --> - <string name="signal">Signal strength</string> - <!--Wireless controls setting screen, Wi-Fi check box summary text when turning Wi-Fi on --> + <!-- Summary text when turning Wi-Fi or bluetooth on --> <string name="wifi_starting">Turning on\u2026</string> - <!--Wireless controls setting screen, Wi-Fi check box summary text when turning Wi-Fi off --> + <!-- Summary text when turning Wi-Fi or bluetooth off --> <string name="wifi_stopping">Turning off\u2026</string> - <!-- Generic error message , probably not used--> + <!-- Summary text when Wi-Fi or bluetooth has error --> <string name="wifi_error">Error</string> - <!-- Error message when Wi-Fi can't start --> - <string name="error_starting">Unable to start Wi-Fi</string> - <!-- Error message when Wi-Fi can't stop --> - <string name="error_stopping">Unable to stop Wi-Fi</string> - <!-- Error message when Wi-Fi can't scan for networks --> - <string name="error_scanning">Unable to scan for networks</string> - <!-- Error message when Wi-Fi can't connect --> - <string name="error_connecting">Unable to connect to the network</string> - <!-- Error message when Wi-Fi can't save the network --> - <string name="error_saving">Unable to save the network</string> - <!-- Button label to connect to a wifi network--> - <string name="connect">Connect</string> - <!-- Dialog title for when the user is trying to connect to a particular network--> - <string name="connect_to_blank">Connect to <xliff:g id="network_name">%1$s</xliff:g></string> - <!-- Caption for the eap method --> - <string name="please_select_eap">EAP method</string> - <!-- Caption for the phase2 --> - <string name="please_select_phase2">Phase 2 authentication</string> - <!-- Caption for the identity --> - <string name="please_type_identity">Identity</string> - <!-- Caption for the anonymous_identity --> - <string name="please_type_anonymous_identity">Anonymous identity</string> - <!-- Caption for the client_certificate --> - <string name="please_select_client_certificate">Client certificate</string> - <!-- Caption for the ca certificate --> - <string name="please_select_ca_certificate">CA certificate</string> - <!-- Caption for the wireless password --> - <string name="please_type_passphrase">Wireless password</string> - <!--Wi-Fi settings screen, connect to network dialog box, field label and hint text --> - <string name="please_type_hex_key">WEP hex key (0-9, A-F)</string> - <!--Wi-Fi settings screen, connect to network dialog box, check box label --> - <string name="wifi_show_password">Show password.</string> - <!--Wi-Fi settings screen menu option --> - <string name="scan_wifi">Scan</string> - <!-- Wifi network summary when not in nearby. --> - <string name="summary_not_in_range">Not in range</string> - <!-- Wifi network summary when the network is configured previously, capitalized by app --> - <string name="summary_remembered">remembered</string> - <!-- Wifi network summary when there was an error connecting --> - <string name="summary_connection_failed">Connection unsuccessful, touch to try again</string> - <!-- Header for the list of wifi networks--> - <string name="wifi_access_points">Wi-Fi networks</string> - <!-- Caption for entering the SSID of a wifi network --> - <string name="wifi_type_ssid">Network SSID</string> - <!-- The label for security --> - <string name="wifi_security">Security</string> - <!-- Button caption to save a configuration wifi --> - <string name="wifi_save_config">Save</string> - <!-- An edit field's grayed out value when it has not been modified --> - <string name="wifi_password_unchanged">(unchanged)</string> - <!-- Action message to add a wifi network --> - <string name="wifi_add_other_network">Add Wi-Fi network</string> + <!-- Toast message when Wi-Fi or bluetooth is disallowed in airplane mode --> + <string name="wifi_in_airplane_mode">In airplane mode</string> + <!-- Toast message when Wi-Fi cannot scan for networks --> + <string name="wifi_fail_to_scan">Unable to scan for networks</string> <!-- Checkbox title for option to notify user when open networks are nearby --> <string name="wifi_notify_open_networks">Network notification</string> <!-- Checkbox summary for option to notify user when open networks are nearby --> <string name="wifi_notify_open_networks_summary">Notify me when an open network is available</string> - <!-- This dialog will use the error_title as the title. --> - <string name="wifi_password_incorrect_error">The network password you typed is not correct. Please try again.</string> - <!-- Generic error message --> - <string name="wifi_generic_connection_error">There is a problem connecting to the network. Please try again.</string> - <!--Wi-Fi settings screen menu option --> + <!-- Action message to manually add a wifi network --> + <string name="wifi_add_network">Add Wi-Fi network</string> + <!-- Header for the list of wifi networks--> + <string name="wifi_access_points">Wi-Fi networks</string> + <!-- Menu option to scan Wi-Fi networks --> + <string name="wifi_menu_scan">Scan</string> + <!-- Menu option to Wi-Fi advanced settings --> <string name="wifi_menu_advanced">Advanced</string> - <!-- Title of the screen to adjust IP settings --> - <string name="wifi_ip_settings_titlebar">IP settings</string> - <!-- Menu ietm to save the IP settings --> - <string name="wifi_ip_settings_menu_save">Save</string> - <!-- Menu ietm to cancel the IP settings --> - <string name="wifi_ip_settings_menu_cancel">Cancel</string> - <!-- Error message if the IP address is not valid --> - <string name="wifi_ip_settings_invalid_ip">Please type a valid IP address.</string> - <!-- Checkbox for whether to use a static IP address --> - <string name="wifi_use_static_ip">Use static IP</string> - <!-- Label for the IP address --> + <!-- Menu option to connect to a Wi-Fi network --> + <string name="wifi_menu_connect">Connect to network</string> + <!-- Menu option to delete a Wi-Fi network --> + <string name="wifi_menu_forget">Forget network</string> + <!-- Menu option to modify a Wi-Fi network configuration --> + <string name="wifi_menu_modify">Modify network</string> + + <!-- Dialog for Access Points --> <skip /> + <!-- Label for the SSID of the network --> + <string name="wifi_ssid">Network SSID</string> + <!-- Label for the security of the connection --> + <string name="wifi_security">Security</string> + <!-- Label for the signal strength of the connection --> + <string name="wifi_signal">Signal strength</string> + <!-- Label for the status of the connection --> + <string name="wifi_status">Status</string> + <!-- Label for the link speed of the connection --> + <string name="wifi_speed">Link speed</string> + <!-- Label for the IP address of the connection --> <string name="wifi_ip_address">IP address</string> - <!-- Label for the DNS (first one) --> - <string name="wifi_dns1">DNS 1</string> - <!-- Label for the DNS (second one)--> - <string name="wifi_dns2">DNS 2</string> - <!-- Label for the gateway of the network --> - <string name="wifi_gateway">Gateway</string> - <!-- Label for the netmask of the network --> - <string name="wifi_netmask">Netmask</string> - <!--Wi-Fi settings screen, network context menu item --> - <string name="wifi_context_menu_connect">Connect to network</string> - <!--Wi-Fi settings screen, network context menu item --> - <string name="wifi_context_menu_forget">Forget network</string> - <!--Wi-Fi settings screen, network context menu item --> - <string name="wifi_context_menu_change_password">Change password</string> - + <!-- Label for the EAP method of the network --> + <string name="wifi_eap_method">EAP method</string> + <!-- Label for the phase2 --> + <string name="please_select_phase2">Phase 2 authentication</string> + <!-- Label for the EAP CA certificate of the network --> + <string name="wifi_eap_ca_cert">CA certificate</string> + <!-- Label for the EAP user certificate of the network --> + <string name="wifi_eap_user_cert">User certificate</string> + <!-- Label for the EAP identity of the network --> + <string name="wifi_eap_identity">Identity</string> + <!-- Label for the EAP anonymous identity of the network --> + <string name="wifi_eap_anonymous">Anonymous identity</string> + <!-- Label for the password of the secured network --> + <string name="wifi_password">Password</string> + <!-- Label for the check box to show password --> + <string name="wifi_show_password">Show password.</string> + <!-- Hint for unchanged fields --> + <string name="wifi_unchanged">(unchanged)</string> + <!-- Hint for unspecified fields --> + <string name="wifi_unspecified">(unspecified)</string> + <!-- Summary for the remembered network. --> + <string name="wifi_remembered">Remembered</string> + <!-- Summary for the disabled network. --> + <string name="wifi_disabled">Disabled</string> + <!-- Summary for the remembered network but currently not in range. --> + <string name="wifi_not_in_range">Not in range</string> + <!-- Summary for the secured network. --> + <string name="wifi_secured">Secured with <xliff:g id="wifi_security">%1$s</xliff:g></string> + <!-- Summary for the secured and remembered network. Status can be "Remembered", "Disabled" or "Not in range". --> + <string name="wifi_secured_with_status"><xliff:g id="wifi_status">%2$s</xliff:g>, secured with <xliff:g id="wifi_security">%1$s</xliff:g></string> + <!-- Button label to connect to a Wi-Fi network --> + <string name="wifi_connect">Connect</string> + <!-- Button label to delete a Wi-Fi network --> + <string name="wifi_forget">Forget</string> + <!-- Button label to save a Wi-Fi network configuration --> + <string name="wifi_save">Save</string> + <!-- Button label to dismiss the dialog --> + <string name="wifi_cancel">Cancel</string> + + <!-- Wi-Fi Advanced Settings --> <skip /> <!-- Wi-Fi settings screen, advanced, settings section. This is a header shown above advanced wifi settings. --> <string name="wifi_advanced_titlebar">Advanced</string> <!-- Wi-Fi settings screen, setting title for choosing the number of channels to be used --> @@ -812,102 +862,194 @@ <string name="wifi_setting_num_channels_error">There was a problem setting the regulatory domain.</string> <!-- Wi-Fi settings screen, label to be appended to the count in displaying the list of valid channel counts --> <string name="wifi_setting_num_channels_channel_phrase"><xliff:g id="num_channels">%1$d</xliff:g> channels</string> - <!-- Wi-Fi settings screen, setting title for setting the wifi sleep policy --> <string name="wifi_setting_sleep_policy_title">Wi-Fi sleep policy</string> <!-- Wi-Fi settings screen, setting summary for setting the wifi sleep policy --> <string name="wifi_setting_sleep_policy_summary">Specify when to switch from Wi-Fi to mobile data</string> <!-- Wi-Fi settings screen, generic error message when the sleep policy could not be set. --> <string name="wifi_setting_sleep_policy_error">There was a problem setting the sleep policy.</string> - <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's MAC address. --> <string name="wifi_advanced_mac_address_title">MAC address</string> - + <!-- Title of the screen to adjust IP settings --> <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's current IP address. --> <string name="wifi_advanced_ip_address_title">IP address</string> - <!-- Status message of Wi-Fi when it is scanning --> - <string name="fragment_status_scanning">Scanning\u2026</string> - <!-- Status message of Wi-Fi when it is connecting to a particular network --> - <string name="fragment_status_connecting">Connecting to <xliff:g id="network_name">%1$s</xliff:g>\u2026</string> - <!-- Status message of Wi-Fi when it is authenticating with a network --> - <string name="fragment_status_authenticating">Authenticating with <xliff:g id="network_name">%1$s</xliff:g>\u2026</string> - <!-- Status message of Wi-Fi when it is obtaining the IP address from a netwrok --> - <string name="fragment_status_obtaining_ip">Obtaining IP address from <xliff:g id="network_name">%1$s</xliff:g>\u2026</string> - <!-- Status message of Wi-Fi when it is connect to a network --> - <string name="fragment_status_connected">Connected to <xliff:g id="network_name">%1$s</xliff:g></string> - <!-- Status message of Wi-Fi when it is disconnecting from a network --> - <string name="fragment_status_disconnecting">Disconnecting from <xliff:g id="network_name">%1$s</xliff:g>\u2026</string> - <!-- Status message of Wi-Fi when it is disconnected from a network--> - <string name="fragment_status_disconnected">Disconnected</string> - <!-- Status message of Wi-Fi when it is a failure (connection) --> - <string name="fragment_status_failed">Unsuccessful</string> - - <!-- Status message of Wi-Fi when it is scanning --> - <string name="status_scanning">Scanning\u2026</string> - <!-- Status message of Wi-Fi when it is connecting (but the network is not known right now) --> - <string name="status_connecting">Connecting\u2026</string> - <!-- Status message of Wi-Fi when it is authenticating (but the network is not known right now) --> - <string name="status_authenticating">Authenticating\u2026</string> - <!--Wi-Fi settings screen, summary text for network when connecting --> - <string name="status_obtaining_ip">Obtaining address\u2026</string> - <!--Wi-Fi settings screen, summary text for network when connected --> - <string name="status_connected">Connected</string> - <!-- Status message of Wi-Fi when it is disconnecting (but the network is not known right now) --> - <string name="status_disconnecting">Disconnecting\u2026</string> - <!-- Status message of Wi-Fi when it is disconnected (but the network is not known right now) --> - <string name="status_disconnected">Disconnected</string> - <!-- Status message of Wi-Fi when it is a failure (but the network is not known right now) --> - <string name="status_failed">Unsuccessful</string> + <string name="wifi_ip_settings_titlebar">IP settings</string> + <!-- Menu ietm to save the IP settings --> + <string name="wifi_ip_settings_menu_save">Save</string> + <!-- Menu ietm to cancel the IP settings --> + <string name="wifi_ip_settings_menu_cancel">Cancel</string> + <!-- Error message if the IP address is not valid --> + <string name="wifi_ip_settings_invalid_ip">Please type a valid IP address.</string> + <!-- Checkbox for whether to use a static IP address --> + <string name="wifi_use_static_ip">Use static IP</string> + <!-- Label for the DNS (first one) --> + <string name="wifi_dns1">DNS 1</string> + <!-- Label for the DNS (second one)--> + <string name="wifi_dns2">DNS 2</string> + <!-- Label for the gateway of the network --> + <string name="wifi_gateway">Gateway</string> + <!-- Label for the netmask of the network --> + <string name="wifi_netmask">Netmask</string> + + <!-- Wifi AP settings--> + <!-- Label for wifi tether checkbox. Toggles Access Point on/off --> + <string name="wifi_tether_checkbox_text">Portable Wi-Fi hotspot</string> + <!-- Subtext for wifi tether checkbox on success --> + <string name="wifi_tether_enabled_subtext">Portable hotspot <xliff:g id="network_ssid">%1$s</xliff:g> active</string> + <!-- Subtext for wifi tether checkbox on failure --> + <string name="wifi_tether_failed_subtext">Portable Wi-Fi hotspot error</string> + <!-- Label for Wi-fi tether settings preference --> + <string name="wifi_tether_settings_text">Portable Wi-Fi hotspot settings</string> + <!-- Subtext for Wi-fi tether settings preference --> + <string name="wifi_tether_settings_subtext">Set up & manage portable Wi-Fi hotspot</string> + <!-- Title of the Wi-fi settings screen --> + <string name="wifi_tether_settings_title">Portable Wi-Fi hotspot settings</string> + <!-- Used to open the ssid and security dialog for Wifi Access Point --> + <string name="wifi_tether_configure_ap_text">Configure Wi-Fi hotspot</string> + <!-- Subtext on configuration preference to indicate SSID and security chosen --> + <string name="wifi_tether_configure_subtext"><xliff:g id="network_ssid">%1$s</xliff:g> <xliff:g id="network_security">%2$s</xliff:g> portable Wi-Fi hotspot</string> + <!-- Default access point SSID used for tethering --> + <string name="wifi_tether_configure_ssid_default">AndroidHotspot</string> + + + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Wi-Fi Testing on the diagnostic screen--> + <string name="testing_wifi_info" translatable="false">Wifi information</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item for WifiManager disableNetwork API--> + <string name="disableNetwork" translatable="false">disableNetwork</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item for WifiManager enableNetwork API--> + <string name="enableNetwork" translatable="false">enableNetwork</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item for WifiManager disconnect API--> + <string name="disconnect" translatable="false">disconnect</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item for WifiManager getConfiguredNetworks API--> + <string name="getConfiguredNetworks" translatable="false">getConfiguredNetworks</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item for WifiManager getConnectionInfo API--> + <string name="getConnectionInfo" translatable="false">getConnectionInfo</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item on Wifi information screen--> + <string name="wifi_api_test" translatable="false">Wifi API</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item on Wifi information screen--> + <string name="wifi_status_test" translatable="false">Wifi Status</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Button text on Wifi Status screen--> + <string name="wifi_update" translatable="false">Refresh Stats</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="wifi_state_label" translatable="false">Wifi State :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="network_state_label" translatable="false">Network State :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="supplicant_state_label" translatable="false">Supplicant State :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="rssi_label" translatable="false">RSSI :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="bssid_label" translatable="false">BSSID :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="ssid_label" translatable="false">SSID :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="hidden_ssid_label" translatable="false">Hidden SSID :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="ipaddr_label" translatable="false">IPaddr :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="macaddr_label" translatable="false">MAC addr :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="networkid_label" translatable="false">Network ID :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="link_speed_label" translatable="false">Link Speed :</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Status screen--> + <string name="scan_list_label" translatable="false">Scan results :</string> + + <!-- wifi state values--> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary --> + <string name="wifi_state_disabling" translatable="false">Disabling</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary --> + <string name="wifi_state_disabled" translatable="false">Disabled</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary --> + <string name="wifi_state_enabling" translatable="false">Enabling</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary --> + <string name="wifi_state_enabled" translatable="false">Enabled</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary --> + <string name="wifi_state_unknown" translatable="false">Unknown</string> + + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Menu item on Wifi information screen--> + <string name="wifi_config_info" translatable="false">Wifi Config</string> + <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary + Label on Wifi Configuration screen--> + <string name="config_list_label" translatable="false">Configured Networks</string> <!-- Sound and alerts settings --> - <!-- Main Settings screen setting option name to go into the sound and display settings screen --> - <string name="sound_and_display_settings">Sound & display</string> - <!-- Main Settings screen setting option name to go into the sound and display settings screen --> - <string name="sound_and_display_settings_title">Sound & display settings</string> + <!-- Main Settings screen setting option name to go into the sound settings screen --> + <string name="sound_settings_title">Sound</string> + <!-- Main Settings screen setting option name to go into the display settings screen --> + <string name="display_settings_title">Display</string> <!-- Sound settings screen heading --> <string name="sound_settings">Sound settings</string> - <!-- Main Settings screen setting option summary text for the item to go into the soudn and display settings screen--> - <string name="sound_and_display_settings_summary">Set ringtones, notifications, screen brightness</string> <!-- Sound settings screen, setting option name checkbox --> <string name="silent_mode_title">Silent mode</string> <!-- Sound settings screen, setting option summary text when going into silent mode. Media and alarms sounds WILL NOT be silenced in silent mode. --> - <string name="silent_mode_summary">All sounds except media & alarms are silenced</string> + <string name="silent_mode_summary">Silence all sounds except media & alarms</string> <!-- Sound settings screen, setting option summary text when going into silent mode. Media WILL NOT be silenced in silent mode, but alarms WILL be silenced. --> <string name="silent_mode_incl_alarm_summary">All sounds except media are silenced</string> <!-- Sound settings screen, setting option name to pick ringtone (a list dialog comes up)--> <string name="ringtone_title">Phone ringtone</string> <!-- Sound settings screen, setting option summary text --> - <string name="ringtone_summary">Set your default incoming call ringtone</string> + <string name="ringtone_summary">""</string> + <!-- Sound settings screen, volume title --> + <string name="all_volume_title">Volume</string> <!-- Sound settings screen, setting option name --> <string name="ring_volume_title">Ringer volume</string> <!-- Sound settings screen, setting option summary text --> - <string name="ring_volume_summary">Set volume for incoming calls and notifications</string> + <string name="ring_volume_summary">""</string> + <!-- Sound settings screen, setting option name checkbox --> + <string name="vibrate_in_silent_title">Vibrate when silent</string> + <!-- Sound settings screen, setting option summary text --> + <string name="vibrate_in_silent_summary">Allow vibration feedback in silent mode</string> <!-- Sound settings screen, setting option name checkbox --> - <string name="vibrate_title">Phone vibrate</string> + <string name="vibrate_title">Vibrate</string> <!-- Sound settings screen, setting option summary text --> - <string name="vibrate_summary">Vibrate phone for incoming calls</string> + <string name="vibrate_summary">Vibration feedback for calls and notifications</string> <!-- Sound settings screen, setting option name --> <string name="notification_sound_title">Notification ringtone</string> <!-- Sound settings screen, setting option summary text --> - <string name="notification_sound_summary">Set your default notification ringtone</string> + <string name="notification_sound_summary">""</string> <!-- Sound settings screen, notification light repeat pulsing title --> <string name="notification_pulse_title">Pulse notification light</string> <!-- Sound settings screen, notification light repeat pulsing summary --> <string name="notification_pulse_summary">Pulse trackball light repeatedly for new notifications</string> <!-- Sound settings screen, the title of the volume bar to adjust the incoming call volume --> - <string name="incoming_call_volume_title">Incoming call volume</string> + <string name="incoming_call_volume_title">Ringtone</string> <!-- Sound settings screen, the title of the volume bar to adjust the notification volume --> - <string name="notification_volume_title">Notification volume</string> + <string name="notification_volume_title">Notification</string> <!-- Sound settings screen, the caption of the checkbox for having the notification volume be the same as the incoming call volume. --> <string name="checkbox_notification_same_as_incoming_call">Use incoming call volume for notifications</string> <!-- Sound settings screen, setting option title--> <string name="notification_sound_dialog_title">Select notification ringtone</string> <!-- Sound settings screen, setting option name --> - <string name="media_volume_title">Media volume</string> + <string name="media_volume_title">Media</string> <!-- Sound settings screen, setting option summary text --> <string name="media_volume_summary">Set volume for music and videos</string> + <!-- Sound settings screen, alarm volume slider title --> + <string name="alarm_volume_title">Alarm</string> <!-- Sound settings screen, dock settings summary--> <string name="dock_settings_summary">Audio settings for the attached dock</string> <!-- Sound settings screen, setting check box label --> @@ -923,17 +1065,17 @@ <!-- Sound settings screen, setting option summary text when check box is clear --> <string name="sound_effects_enable_summary_off">Play sound when making screen selection</string> <!-- Sound settings screen, setting check box label --> - <string name="haptic_feedback_enable_title">Haptic feedback</string> + <string name="lock_sounds_enable_title">Screen lock sounds</string> <!-- Sound settings screen, setting option summary text when check box is selected --> - <string name="haptic_feedback_enable_summary_on">Vibrate when pressing soft keys and on certain UI interactions</string> + <string name="lock_sounds_enable_summary_on">Play sounds when locking and unlocking the screen</string> <!-- Sound settings screen, setting option summary text when check box is clear --> - <string name="haptic_feedback_enable_summary_off">Vibrate when pressing soft keys and on certain UI interactions</string> + <string name="lock_sounds_enable_summary_off">Play sounds when locking and unlocking the screen</string> <!-- Sound settings screen, setting check box label --> - <string name="play_media_notification_sounds_enable_title">SD card notifications</string> + <string name="haptic_feedback_enable_title">Haptic feedback</string> <!-- Sound settings screen, setting option summary text when check box is selected --> - <string name="play_media_notification_sounds_enable_summary_on">Play sound for SD card notifications</string> + <string name="haptic_feedback_enable_summary_on">Vibrate when pressing soft keys and on certain UI interactions</string> <!-- Sound settings screen, setting option summary text when check box is clear --> - <string name="play_media_notification_sounds_enable_summary_off">Play sound for SD card notifications</string> + <string name="haptic_feedback_enable_summary_off">Vibrate when pressing soft keys and on certain UI interactions</string> <!-- Sound settings screen, setting option name checkbox to enable/disable audio recording features that improve audio recording in noisy environments --> <string name="audio_record_proc_title">Noise cancellation</string> <!-- Sound settings screen, setting option summary text --> @@ -957,7 +1099,13 @@ <string name="dock_not_found_title">Dock not found</string> <!-- Dock not found dialog text --> <string name="dock_not_found_text">The phone must be docked to configure dock audio</string> - + <!-- Dock settings screen, dock events SFX setting check box label --> + <string name="dock_sounds_enable_title">Dock insertion sound</string> + <!-- Dock settings screen, setting option summary text when check box is selected --> + <string name="dock_sounds_enable_summary_on">Play sound when inserting or removing phone from dock</string> + <!-- Sound settings screen, setting option summary text when check box is clear --> + <string name="dock_sounds_enable_summary_off">Don\'t play sound when inserting or removing phone from dock</string> + <!-- Acounts & Sync settings screen setting option name to go into the screen for data sync settings--> <string name="sync_settings">Accounts & sync</string> <!-- Main Settings screen setting option summary text for the itme to go into the screen with data sync settings--> @@ -978,7 +1126,7 @@ <!-- Sound & display settings screen, animations option summary text when check box is clear --> <string name="animations_summary_off">Show animation when opening & closing windows</string> <!-- Sound & display settings screen, accelerometer-based rotation check box label --> - <string name="accelerometer_title">Orientation</string> + <string name="accelerometer_title">Auto-rotate screen</string> <!-- Sound & display settings screen, accelerometer-based rotation summary text when check box is selected --> <string name="accelerometer_summary_on">Switch orientation automatically when rotating phone</string> <!-- Sound & display settings screen, accelerometer-based rotation summary text when check box is clear --> @@ -1042,10 +1190,10 @@ <!-- About phone screen, list item title. Takes the user to the screen for seeing and installing system updates. --> <string name="system_update_settings_list_item_title">System updates</string> <!-- About phone screen, list item summary. Takes the user to the screen for seeing and installing system updates. --> - <string name="system_update_settings_list_item_summary">Check for system updates</string> + <string name="system_update_settings_list_item_summary">""</string> <!-- About phone screen, status item label --> - <string name="firmware_version">Firmware version</string> + <string name="firmware_version">Android version</string> <!-- About phone screen, status item label--> <string name="model_number">Model number</string> <!-- About phone screen, setting option name--> @@ -1115,6 +1263,14 @@ <string name="sd_eject">Unmount SD card</string> <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card. This will be done before the user phyiscally removes the SD card from the phone. Kind of like the "Safely remove" on some operating systems. --> <string name="sd_eject_summary">Unmount the SD card for safe removal</string> + + + <!-- SD card & phone storage settings item summary that is displayed when no SD card is inserted --> + <string name="sd_insert_summary">Insert an SD card for mounting</string> + <!-- SD card & phone storage settings item title that will result in the phone mounting the SD card. --> + <string name="sd_mount">Mount SD card</string> + <!-- SD card & phone storage settings item title that will result in the phone mounting the SD card. --> + <string name="sd_mount_summary">Mount the SD card</string> <!-- SD card & phone storage settings item title that will result in the phone formatting the SD card. --> <string name="sd_format">Format SD card</string> <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card. --> @@ -1123,6 +1279,21 @@ <string name="sd_unavailable">Unavailable</string> <!-- SD card status when it is mounted as read only --> <string name="read_only">\u0020(Read-only)</string> + <!-- SD card eject confirmation dialog title --> + <string name="dlg_confirm_unmount_title">Unmount SD card</string> + <!-- SD card eject confirmation dialog --> + <string name="dlg_confirm_unmount_text">If you unmount the SD card, some applications you are using will stop and may be unavailable until you remount the SD card.</string> + <!-- SD card eject error dialog title --> + <string name="dlg_error_unmount_title">Unmount SD card failed</string> + <!-- SD card eject error dialog text --> + <string name="dlg_error_unmount_text">Cannot unmount SD card. Try again later.</string> + <!-- SD card unmount informative text --> + <string name="unmount_inform_text">SD card will be unmounted. Check the notification area for status.</string> + <!-- SD card eject progress title --> + <string name="sd_ejecting_title">Unmounting</string> + <!-- SD card eject progress text --> + <string name="sd_ejecting_summary">Unmount in progress</string> + <!-- Phone info screen, section titles: --> <string name="battery_status_title">Battery status</string> <!-- Phone info screen, section titles: --> @@ -1191,10 +1362,10 @@ <string name="error_mnc_not23">MNC field must be 2 or 3 digits.</string> <!-- The message of dialog indicated restoring default APN settings in progress --> <string name="restore_default_apn">Restoring default APN settings</string> - <!-- APNs screen menu option to reset default APN settings --> - <string name="menu_restore">Reset to default</string> - <!-- APNs screen toast message to inform reset default APN settings is completed --> - <string name="restore_default_apn_completed">Reset default APN settings completed</string> + <!-- APNs screen menu option to reset default APN settings --> + <string name="menu_restore">Reset to default</string> + <!-- APNs screen toast message to inform reset default APN settings is completed --> + <string name="restore_default_apn_completed">Reset default APN settings completed</string> <!-- Master Clear --> <!-- SD card & phone storage settings screen, setting option name under Internal phone storage heading --> @@ -1239,6 +1410,32 @@ <!-- Main settings screen, Call settings summary for item to go into call settings --> <string name="call_settings_summary">Set up voicemail, call forwarding, call waiting, caller ID</string> + <!-- Tethering controls, item title to go into the tethering settings --> + <string name="tether_settings_title_usb">Tethering</string> + <string name="tether_settings_title_wifi">Portable hotspot</string> + <string name="tether_settings_title_both">Tethering & portable hotspot</string> + <!-- Tethering controls, the item summary for the user to go into the tethering settings --> + <string name="tether_settings_summary_usb">Share your phone\'s mobile data connection via USB</string> + <string name="tether_settings_summary_wifi">Share your phone\'s mobile connection as a portable Wi-Fi hotspot</string> + <string name="tether_settings_summary_both">Share your phone\'s mobile data connection via USB or as a portable Wi-Fi hotspot</string> + + <!-- USB Tethering options --> + <string name="usb_title">USB</string> + <string name="usb_tethering_button_text">USB tethering</string> + <!-- USB available subtext - shown when USB is connected but not currently being tethered --> + <string name="usb_tethering_available_subtext">USB connected, check to tether</string> + <!-- USB tethered subtext - shown when USB is connected and being tethered --> + <string name="usb_tethering_active_subtext">Tethered</string> + <!-- USB storage subtext - shown when tethering is disabled because USB storage is active --> + <string name="usb_tethering_storage_active_subtext">Can\'t tether when USB storage in use</string> + <!-- USB unavailable subtext - shown when USB is not connected --> + <string name="usb_tethering_unavailable_subtext">USB not connected</string> + <!-- USB errored subtext - shown when USB is broken for some reason --> + <string name="usb_tethering_errored_subtext">USB tethering error</string> + + <!-- Thethering help button - calls up a web view with general tethering info --> + <string name="tethering_help_button_text">Help</string> + <!-- Wireless controls, item title to go into the network settings --> <string name="network_settings_title">Mobile networks</string> <!-- Wireless controls, the item summary for the user to go into the network settings --> @@ -1264,17 +1461,6 @@ <string name="assisted_gps_enabled">Use server to assist GPS (uncheck to reduce network usage)</string> <!-- Security & location settings screen, setting summary when Assisted GPS check box is clear --> <string name="assisted_gps_disabled">Use server to assist GPS (uncheck to improve GPS performance)</string> - <!-- Setting title for allow sending location to google --> - <string name="use_location_title">Use My Location</string> - <!-- Setting summary for allowing Google to use location information for improved search results. --> - <string name="use_location_summary">Use My Location for Google search results and other Google services</string> - <!-- Message of dialog to user requesting use of location information --> - <string name="use_location_warning_message">Do you want to allow Google to use location for improved search results and other services?</string> - <!-- Agree --> - <string name="agree">Agree</string> - <!-- Disagree --> - <string name="disagree">Disagree</string> - <!-- About --> <skip /> <!-- Main settings screen, setting title for the user to go into the About phone screen --> @@ -1317,11 +1503,33 @@ <string name="settings_safetylegal_activity_loading">Loading\u2026</string> <!-- Lock Pattern settings --> + <!-- Header on first screen of choose password/PIN flow --> + <string name="lockpassword_choose_your_password_header">Choose your password</string> + <!-- Header on first screen of choose password/PIN flow --> + <string name="lockpassword_choose_your_pin_header">Choose your PIN</string> + <!-- Header on password confirm screen --> + <string name="lockpassword_confirm_your_password_header">Confirm your password</string> + <!-- Header on password confirm screen --> + <string name="lockpassword_confirm_your_pin_header">Confirm your PIN</string> + <!-- Header on password confirm screen if second password doesn't match the first. --> + <string name="lockpassword_confirm_passwords_dont_match">Passwords don\'t match</string> + <!-- Header on pin confirm screen if second pin doesn't match the first. --> + <string name="lockpassword_confirm_pins_dont_match">PINs don\'t match</string> + <!-- Toast shown if setting password was successful --> + <string name="lockpassword_password_set_toast">Password has been set</string> + <!-- Toast shown if setting PIN was successful --> + <string name="lockpassword_pin_set_toast">PIN has been set</string> + <!-- Toast shown if setting pattern was successful --> + <string name="lockpassword_pattern_set_toast">Pattern has been set</string> + + <!-- Lock Pattern settings --> <!-- Security & location settings screen, header --> - <string name="lock_settings_title">Screen unlock pattern</string> + <string name="lock_settings_title">Screen unlock</string> <!-- Security & location settings screen, setting option name --> <string name="lockpattern_change_lock_pattern_label">Change unlock pattern</string> <!-- Security & location settings screen, change unlock pattern screen instruction when the user chooses "Change unlock pattern". We first ask the user toe nter the current pattern, and this is the message seen --> + <string name="lockpattern_change_lock_pin_label">Change unlock PIN</string> + <!-- Security & location settings screen, change unlock pattern screen instruction when the user chooses "Change unlock pattern". We first ask the user toe nter the current pattern, and this is the message seen --> <string name="lockpattern_need_to_unlock">Confirm saved pattern</string> <!-- Do not translate. --> <string name="lockpattern_need_to_unlock_footer"></string> @@ -1385,8 +1593,8 @@ \n<font height="17">\n</font><b>3</b>\u00A0 Redraw your pattern to confirm. \n<font height="17">\n</font><b>Ready to start? Touch \u201CNext\u201D</b>. \n<font height="3">\n</font>To leave your phone unprotected, touch \u201CCancel\u201D.</font> - </string> - + </string> + <!-- ChooseLockPatternExample --> <skip /> <!-- ChooseLockPatternExample, screen title that shows an example pattern --> <string name="lock_example_title">Example pattern</string> @@ -1466,12 +1674,15 @@ <!-- Text for filter option in ManageApps screen to display all installed applications --> <string name="filter_apps_all">All</string> - <!-- Text for filter option in ManageApps screen to display third party + <!-- Text for filter option in ManageApps screen to display third party applications only --> <string name="filter_apps_third_party">Downloaded</string> <!-- Text for filter option in ManageApps screen to display list of running packages only. --> <string name="filter_apps_running">Running</string> + <!-- Text for filter option in ManageApps screen to display list of + packages installed on sdcard. --> + <string name="filter_apps_onsdcard">On SD card</string> <string name="loading">Loading\u2026</string> <!-- Manage app screen, shown when the activity is busy recomputing the size of each app --> <string name="recompute_size">Recomputing size\u2026</string> @@ -1506,6 +1717,34 @@ found in the list of installed applications.</string> <string name="empty_list_msg">You do not have any third-party applications installed.</string> <!-- Manage applications, version string displayed in app snippet --> <string name="version_text">version <xliff:g id="version_num">%1$s</xliff:g></string> + <!-- Manage applications, text for Move button --> + <string name="move_app">Move</string> + <!-- Manage applications, text for Move button to move app to internal storage --> + <string name="move_app_to_internal">Move to phone</string> + <!-- Manage applications, text for Move button to move app to sdcard --> + <string name="move_app_to_sdcard">Move to SD card</string> + <!-- Manage applications, title for dialog when killing persistent apps--> + <!-- Manage applications, text for Move button when move is in progress --> + <string name="moving">Moving</string> + + <!-- Manage applications, text for move error messages --> + <string name="insufficient_storage">There is not enough storage left.</string> + <string name="does_not_exist">The application does not exist.</string> + <string name="app_forward_locked">The application is copy-protected.</string> + <string name="invalid_location">The specified install location is not valid.</string> + <string name="system_package">System updates cannot be installed on external media.</string> + + <string name="force_stop_dlg_title">Force stop</string> + <!-- Manage applications, text for dialog when killing persistent apps--> + <string name="force_stop_dlg_text">This application will be restarted right way. Are you sure you want to force stop?</string> + <!-- Manage applications, text for dialog when moving an app --> + <string name="move_app_failed_dlg_title">Move application</string> + <!-- Manage applications, text for dialog moving an app --> + <string name="move_app_failed_dlg_text">Failed to move application. <xliff:g id="reason">%1$s</xliff:g></string> + <!-- Manage applications, application installation location title --> + <string name="app_install_location_title">Preferred install location</string> + <!-- Manage applications. application installation location summary --> + <string name="app_install_location_summary">Change the preferred installation location for new applications.</string> <!-- Services settings screen, setting option name for the user to go to the screen to view running services --> <string name="runningservices_settings_title">Running services</string> @@ -1536,7 +1775,7 @@ found in the list of installed applications.</string> <string name="service_foreground_processes">Other: <xliff:g id="memory">%2$s</xliff:g> in <xliff:g id="count">%1$d</xliff:g></string> <!-- Text to label a process entry with the process name. --> <string name="service_process_name">Process: <xliff:g id="process">%1$s</xliff:g></string> - + <!-- Language Settings --> <skip /> <!-- Title of setting on main settings screen. This item will take the user to the screen to tweak settings realted to locale and text --> <string name="language_settings">Language & keyboard</string> @@ -1549,9 +1788,9 @@ found in the list of installed applications.</string> <!-- On Text & language settings screen, heading. Inside the "Locale & text" screen, this is the header for settings that relate to text (autotext, autoreplace, autocapitalization). --> <string name="text_category">Text settings</string> <!-- On Text & language settings screen, setting option name. title of the setting to take the user to a screen to select the locale. --> - <string name="phone_language">Select locale</string> + <string name="phone_language">Select language</string> <!-- On Text & language settings screen, setting option name. summary of the setting to take the user to a screen to select the locale. --> - <string name="phone_language_summary">Select language and region</string> + <string name="phone_language_summary">""</string> <!-- On Text & language settings screen, setting option name. title of the setting to enable autoreplace of entered text. auto replace is a feature that will automatically correct mistyped words. --> <string name="auto_replace">Auto-replace</string> <!-- On Text & language settings screen, setting summary. This is the summary for the "Auto-replace" setting. --> @@ -1577,14 +1816,14 @@ found in the list of installed applications.</string> card numbers. It comes from the application <xliff:g id="ime_application_name">%1$s</xliff:g>. Use this input method?</string> - + <!-- User dictionary settings --><skip /> <!-- User dictionary settings, The titlebar text of the User dictionary settings screen. --> <string name="user_dict_settings_titlebar">User dictionary</string> <!-- User dictionary settings, The title of the list item to go into the User dictionary settings screen. --> <string name="user_dict_settings_title">User dictionary</string> <!-- User dictionary settings. The summary of the listem item to go into the User dictionary settings screen. --> - <string name="user_dict_settings_summary">Add & remove words from user dictionary</string> + <string name="user_dict_settings_summary">""</string> <!-- User dictionary settings. The title of the menu item to add a new word to the user dictionary. --> <string name="user_dict_settings_add_menu_title">Add</string> <!-- User dictionary settings. The title of the dialog to add a new word to the user dictionary. --> @@ -1669,7 +1908,7 @@ found in the list of installed applications.</string> (or other screens that can host gadgets). Note to translators: we're still determining the final name for Gadgets/Widgets, so please translate both for now. --> <string name="gadget_picker_title">Choose gadget</string> - + <!-- Title for the screen that lets the user choose a widget to add to the home screen (or other screens that can host widgets). Note to translators: we're still determining the final name for Gadgets/Widgets, so please translate both for now. --> @@ -1722,52 +1961,52 @@ found in the list of installed applications.</string> <!-- Used to head a list of packages that share a given user id BatteryHistory --> <string name="battery_history_packages_sharing_this_uid">Packages sharing this UID:</string> - + <!-- Used when no battery data available in BatteryHistory --> <string name="battery_history_no_data">No battery usage data available</string> - + <!-- Used for Sensor detail screen in BatteryHistory --> <string name="battery_history_sensor">Sensor:</string> - + <!-- Used for Wakelock detail screen in BatteryHistory --> <string name="battery_history_wakelock">Partial Wakelock:</string> - + <!-- Used for Sensor detail screen in BatteryHistory --> <string name="battery_history_used_by_packages">Sensor used by packages:</string> - + <!-- Used for Sensor detail screen in BatteryHistory --> <string name="battery_history_sensor_usage">Used <xliff:g id="count">%1$d</xliff:g> times by <xliff:g id="package">%2$s</xliff:g></string> - + <!-- Used for Sensor detail screen in BatteryHistory --> <string name="battery_history_sensor_usage_multi">Used <xliff:g id="count">%1$d</xliff:g> times by one of:</string> - + <!-- Used for label of awake bar in BatteryHistory --> <string name="battery_history_awake_label">Running</string> - + <!-- Used for label of screen on bar in BatteryHistory --> <string name="battery_history_screen_on_label">Screen on</string> - + <!-- Used for label of phone on bar in BatteryHistory --> <string name="battery_history_phone_on_label">Phone on</string> - + <!-- Used for awake time message in BatteryHistory --> <string name="battery_history_awake">Time spent without sleeping:</string> - + <!-- Used for Screen on time message in BatteryHistory --> <string name="battery_history_screen_on">Time spent with screen on:</string> - + <!-- Used for Phone on time message in BatteryHistory --> <string name="battery_history_phone_on">Time spent with phone on:</string> - + <!-- Used for Screen on time message in BatteryHistory --> <string name="battery_history_screen_on_battery">On battery:</string> - + <!-- XXX remove? Used for Screen on time message in BatteryHistory --> <string name="battery_history_screen_on_plugged">Plugged in:</string> <!-- XXX remove? Strings used for displaying usage statistics --> <string name="usage_stats_label">Usage statistics</string> - + <!-- In the Testing screen. The item title of the activity that shows usage statistics. --> <string name="testing_usage_stats">Usage statistics</string> <!-- label for text to indicate sort options --> @@ -1803,6 +2042,22 @@ found in the list of installed applications.</string> <!-- Warning about disabling accessibility displayed as a dialog message when the user selects to disable accessibility. This avoids accidental disabling. --> <string name="accessibility_service_disable_warning">Disable accessibility?</string> + <!-- Title for the prompt that lets users know that they have no accessibility related apps + installed and that they can install TalkBack from Market. --> + <string name="accessibility_service_no_apps_title">No accessibility related applications found + </string> + <!-- Message for the prompt that lets users know that they have no accessibility related apps + installed and that they can install TalkBack from Market. --> + <string name="accessibility_service_no_apps_message">You do not have any accessibility related + applications installed.\n\nYou can download a screen reader for your device from Android + Market.\n\nClick "OK" to install the screen reader.</string> + + <!-- Accessibility settings: Power button category --> + <string name="accessibility_power_button_category">Power button</string> + <!-- Accessibility settings: checkbox title for power button behavior --> + <string name="accessibility_power_button_ends_call">Power button ends call</string> + <!-- Accessibility settings: power button behavior summary text --> + <string name="accessibility_power_button_ends_call_summary">During a call, pressing Power ends call instead of turning off screen</string> <!-- App Fuel Gauge strings --> <skip/> @@ -1935,11 +2190,30 @@ found in the list of installed applications.</string> <!-- Label for mediaserver process --> <string name="process_mediaserver_label">Mediaserver</string> + <!-- Voice input/output settings --><skip /> + <!-- Title of setting on main settings screen. This item will take the user to the screen to tweak settings related to speech functionality --> + <string name="voice_input_output_settings">Voice input & output</string> + <!-- Main voice input/output settings screen title --> + <string name="voice_input_output_settings_title">Voice input & output settings</string> + <!-- Title of voice search settings list item within voice input/output settings --> + <string name="voice_search_settings_title">Voice search</string> + <!-- Title of keyboard settings list item within voice input/output settings --> + <string name="keyboard_settings_title">Android keyboard</string> + <!-- Title for the 'voice input' category of voice input/output settings --> + <string name="voice_input_category">Voice input</string> + <!-- Title for the 'voice output' category of voice input/output settings --> + <string name="voice_output_category">Voice output</string> + <!-- Title for the voice recognizer setting in voice input/output settings --> + <string name="recognizer_title">Voice recognizer</string> + <!-- Title for the link to settings for the chosen voice recognizer in voice input/output settings --> + <string name="recognizer_settings_title">Voice recognizer settings</string> + <!-- Summary for the link to settings for the chosen voice recognizer in voice input/output settings. + Would say something like, e.g., "Settings for 'Google'". --> + <string name="recognizer_settings_summary">Settings for \'<xliff:g id="recognizer_name">%s</xliff:g>\'</string> + <!-- Text-To-Speech (TTS) settings --><skip /> <!-- Title of setting on main settings screen. This item will take the user to the screen to tweak settings related to the text-to-speech functionality --> - <string name="tts_settings">Text-to-speech</string> - <!-- Summary of setting on main settings screen. This item will take the user to the screen to tweak settings related to the text-to-speech functionality --> - <string name="tts_settings_summary">Set text-to-speech options</string> + <string name="tts_settings">Text-to-speech settings</string> <!-- Main TTS Settings screen title --> <string name="tts_settings_title">Text-to-speech settings</string> <!-- On main TTS Settings screen, title for toggle used to force use of default TTS settings --> @@ -1948,6 +2222,10 @@ found in the list of installed applications.</string> <string name="use_default_tts_settings_summary">Default settings below override application settings</string> <!-- On main TTS Settings screen, section header for default TTS settings --> <string name="tts_default_settings_section">Default settings</string> + <!-- On main TTS Settings screen, in default settings section, setting default synthesis engine for synthesized voice --> + <string name="tts_default_synth_title">Default Engine</string> + <!-- On main TTS Settings screen, summary for default synthesis engine for synthesized voice --> + <string name="tts_default_synth_summary">Sets the speech synthesis engine to be used for spoken text</string> <!-- On main TTS Settings screen, in default settings section, setting default speech rate for synthesized voice --> <string name="tts_default_rate_title">Speech rate</string> <!-- On main TTS Settings screen, summary for default speech rate for synthesized voice --> @@ -1974,15 +2252,42 @@ found in the list of installed applications.</string> <string name="tts_demo">This is an example of speech synthesis.</string> <!-- Text spoken by the TTS engine when TTS settings (other than language) have been changed --> <string name="tts_settings_changed_demo">Your settings have changed. This is an example of how they sound.</string> + <!-- Error screen when a selected TTS engine can't run because it's missing components --> + <string name="tts_engine_error">The engine you selected is unable to run</string> + <!-- Button text for error screen when a selected TTS engine can't run because it's missing components --> + <string name="tts_engine_error_config">Configure</string> + <!-- Button text for error screen when a selected TTS engine can't run because it's missing components --> + <string name="tts_engine_error_reselect">Select another engine</string> + <!-- Warning message about security implications of enabling a TTS engine, displayed as a dialog + message when the user selects to enable an engine. --> + <string name="tts_engine_security_warning">This speech synthesis engine may be able to collect + all the text that will be spoken, including personal data like passwords and credit + card numbers. It comes from the <xliff:g id="tts_plugin_engine_name">%s</xliff:g> engine. + Enable the use of this speech synthesis engine?</string> + <!-- On main TTS Settings screen, text for divider under which all TTS engines are listed --> + <string name="tts_engines_section">Engines</string> + <!-- On main TTS Settings screen, text preceded by the TTS engine name, clicking this button will launch the engine settings --> + <string name="tts_engine_name_settings"><xliff:g id="tts_plugin_engine_name">%s</xliff:g> settings</string> + <!-- On main TTS Settings screen, text preceded by the TTS engine name to indicate the engine can be used by the user --> + <string name="tts_engine_name_is_enabled_summary"><xliff:g id="tts_plugin_engine_name">%s</xliff:g> is enabled</string> + <!-- On main TTS Settings screen, text preceded by the TTS engine name to indicate the engine cannot be used by the user --> + <string name="tts_engine_name_is_disabled_summary"><xliff:g id="tts_plugin_engine_name">%s</xliff:g> is disabled</string> + <!-- On Pico TTS Settings screen, text to mark the section for the various languages and voices that are available --> + <string name="pico_languages_and_voices">Languages and voices</string> + <!-- On Pico TTS Settings screen, text to mark a voice as installed --> + <string name="pico_installed">Installed</string> + <!-- On Pico TTS Settings screen, text to mark a voice as not installed --> + <string name="pico_not_installed">Not installed</string> + <!-- On Pico TTS Settings screen, summary text to indicate that a voice is female --> + <string name="pico_voice_summary_female">Female</string> + <!-- On Pico TTS Settings screen, summary text to indicate that a voice is male --> + <string name="pico_voice_summary_male">Male</string> <!-- Power Control Widget --> <string name="gadget_title">Power Control</string> <string name="gadget_toggle_wifi">Updating Wi-Fi setting</string> <string name="gadget_toggle_bluetooth">Updating Bluetooth setting</string> - <!-- credential installer title --> - <string name="credential_installer_activity_title">Credential installer</string> - <string name="vpn_settings_activity_title">VPN settings</string> <!-- Title of VPN connect dialog --> @@ -2169,25 +2474,61 @@ found in the list of installed applications.</string> <string name="emergency_tone_title">Emergency tone</string> <!-- Sound settings screen, setting option summary text --> <string name="emergency_tone_summary">Set behavior when an emergency call is placed</string> - + <!-- Privacy Settings screen --><skip/> <!-- Privacy settings menu title --> <string name="privacy_settings">Privacy</string> <!-- Privacy settings activity title --> <string name="privacy_settings_title">Privacy settings</string> - <!-- Location settings section title --> - <string name="location_section_title">Location</string> - <!-- Settings section title --> - <string name="settings_section_title">Settings</string> + <!-- Backup section title --> + <string name="backup_section_title">Backup and restore</string> <!-- Personal data section title --> <string name="personal_data_section_title">Personal data</string> - <!-- Backup settings menu title --> - <string name="backup_settings_title">Back up my settings</string> + <!-- Backup data menu title --> + <string name="backup_data_title">Back up my data</string> + <!-- Summary text of the "back up data" setting --> + <string name="backup_data_summary">Back up my settings and other application data.</string> + <!-- Auto-restore menu title --> + <string name="auto_restore_title">Automatic restore</string> + <!-- Summary text of the "automatic restore" setting --> + <string name="auto_restore_summary">If I reinstall an application, restore backed up settings or other data.</string> <!-- Dialog title for confirmation to erase backup data from server --> - <string name="backup_erase_dialog_title">Settings backup</string> + <string name="backup_erase_dialog_title">Backup</string> <!-- Dialog title for confirmation to erase backup data from server --> - <string name="backup_erase_dialog_message">Are you sure you want to stop backing up your settings and erase all copies on Google servers?</string> + <string name="backup_erase_dialog_message">Are you sure you want to stop backing up your settings and application data and erase all copies on Google servers?</string> + + <!-- Device admin settings screen --><skip/> + <!-- Device admin settings activity title --> + <string name="device_admin_settings_title">Device administration settings</string> + <!-- Label for screen showing the active device policy --> + <string name="active_device_admin_msg">Device administrator</string> + <!-- Label for button to remove the active device admin --> + <string name="remove_device_admin">Deactivate</string> + <!-- Label for screen showing to select device policy --> + <string name="select_device_admin_msg">Device administrators</string> + <!-- Message when there are no available device admins to display --> + <string name="no_device_admins">No available device administrators</string> + + <!-- Label for screen showing to add device policy --> + <string name="add_device_admin_msg">Activate device administrator?</string> + <!-- Label for button to set the active device admin --> + <string name="add_device_admin">Activate</string> + <!-- Device admin add activity title --> + <string name="device_admin_add_title">Device administrator</string> + <!-- Device admin warning message about policies an admin can use --> + <string name="device_admin_warning">Activating this administrator will allow + the application <xliff:g id="app_name">%1$s</xliff:g> to perform the + following operations:</string> + <!-- Device admin warning message about policies an admin can use --> + <string name="device_admin_status">This administrator is active and allows + the application <xliff:g id="app_name">%1$s</xliff:g> to perform the + following operations:</string> <!-- Name to assign to a Network Access Point that was saved without a name --> <string name="untitled_apn">Untitled</string> + + <string name="sound_category_sound_title">General</string> + <string name="sound_category_calls_title">Incoming calls</string> + <string name="sound_category_notification_title">Notifications</string> + <string name="sound_category_feedback_title">Feedback</string> </resources> diff --git a/res/values/styles.xml b/res/values/styles.xml index 33e43bb..a1422e1 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -44,8 +44,8 @@ <item name="android:paddingTop">10dip</item> <item name="android:paddingRight">10dip</item> <item name="android:paddingBottom">10dip</item> - <item name="android:layout_width">fill_parent</item> - <item name="android:layout_height">fill_parent</item> + <item name="android:layout_width">match_parent</item> + <item name="android:layout_height">match_parent</item> </style> <style name="entry_layout"> @@ -56,7 +56,7 @@ <style name="form_value"> <item name="android:layout_height">wrap_content</item> - <item name="android:layout_width">fill_parent</item> + <item name="android:layout_width">match_parent</item> </style> @@ -78,4 +78,8 @@ <item name="android:textStyle">normal</item> </style> + <style name="TallTitleBarTheme" parent="android:Theme.NoTitleBar"> + <item name="android:windowContentOverlay">@null</item> + </style> + </resources> diff --git a/res/xml-ar/timezones.xml b/res/xml-ar/timezones.xml index b903880..d8ee857 100644 --- a/res/xml-ar/timezones.xml +++ b/res/xml-ar/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">ماناوس</timezone> <timezone id="America/Santiago">سانتيجو</timezone> <timezone id="America/St_Johns">سانت جونس</timezone> - <timezone id="America/Araguaina">أروجوانيا</timezone> + <timezone id="America/Sao_Paulo">ساو باولو</timezone> <timezone id="America/Argentina/Buenos_Aires">بوينوس أيرس</timezone> <timezone id="America/Godthab">جودثاب</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-cs/timezones.xml b/res/xml-cs/timezones.xml index 3b7e87b..b7f0172 100644 --- a/res/xml-cs/timezones.xml +++ b/res/xml-cs/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">Newfoundlandský standardní čas (St. Johns)</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">Sao Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-da/timezones.xml b/res/xml-da/timezones.xml index 6e80e87..07efc21 100644 --- a/res/xml-da/timezones.xml +++ b/res/xml-da/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Amazonas-tid (Manaus)</timezone> <timezone id="America/Santiago">Chilensk tid (Santiago)</timezone> <timezone id="America/St_Johns">Newfoundland-tid (St. Johns)</timezone> - <timezone id="America/Araguaina">Brasiliansk tid (Araguaina)</timezone> + <timezone id="America/Sao_Paulo">Brasiliansk tid (Sao Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">Argentinsk tid (Buenos Aires)</timezone> <timezone id="America/Godthab">Vestgrønlandsk tid (Nuuk)</timezone> <timezone id="America/Montevideo">Uruguayansk tid (Montevideo)</timezone> diff --git a/res/xml-de/timezones.xml b/res/xml-de/timezones.xml index 50c6a85..6c14a27 100644 --- a/res/xml-de/timezones.xml +++ b/res/xml-de/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">Sao Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-el/timezones.xml b/res/xml-el/timezones.xml index de25148..f1c6720 100644 --- a/res/xml-el/timezones.xml +++ b/res/xml-el/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Μανάος</timezone> <timezone id="America/Santiago">Σαντιάγκο</timezone> <timezone id="America/St_Johns">Σεντ Τζονς</timezone> - <timezone id="America/Araguaina">Αραγκουάινα</timezone> + <timezone id="America/Sao_Paulo">Σάο Πάολο</timezone> <timezone id="America/Argentina/Buenos_Aires">Μπουένος Άιρες</timezone> <timezone id="America/Godthab">Γκόνθαμπ</timezone> <timezone id="America/Montevideo">Μοντεβίδεο</timezone> diff --git a/res/xml-es/timezones.xml b/res/xml-es/timezones.xml index 4fe564d..31caea5 100644 --- a/res/xml-es/timezones.xml +++ b/res/xml-es/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Hora del Amazonas (Manaus)</timezone> <timezone id="America/Santiago">Hora de Chile (Santiago)</timezone> <timezone id="America/St_Johns">Hora estándar de Newfoundland (St. John’s)</timezone> - <timezone id="America/Araguaina">Hora de Brasilia (Araguaína)</timezone> + <timezone id="America/Sao_Paulo">Hora de Brasilia (São Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">Hora de Argentina (Hora de Argentina (Buenos Aires))</timezone> <timezone id="America/Godthab">Hora de Groenlandia occidental (Godthab)</timezone> <timezone id="America/Montevideo">Hora de Uruguay (Montevideo)</timezone> diff --git a/res/xml-fi/timezones.xml b/res/xml-fi/timezones.xml index ae194a7..29d8b25 100644 --- a/res/xml-fi/timezones.xml +++ b/res/xml-fi/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">Newfoundlandin normaaliaika (St. Johns)</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">São Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthåb</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-fr/timezones.xml b/res/xml-fr/timezones.xml index d655e89..b066c0b 100644 --- a/res/xml-fr/timezones.xml +++ b/res/xml-fr/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Heure de l’Amazonie (Manaos)</timezone> <timezone id="America/Santiago">Heure du Chili (Santiago)</timezone> <timezone id="America/St_Johns">Heure de Terre-Neuve (Saint-Jean de Terre-Neuve)</timezone> - <timezone id="America/Araguaina">Heure de Brasilia (Araguaína)</timezone> + <timezone id="America/Sao_Paulo">Heure de Brasilia (São Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">Heure de l’Est argentin (Buenos Aires)</timezone> <timezone id="America/Godthab">Heure de l’Ouest du Groenland (Godthåb)</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-he/timezones.xml b/res/xml-he/timezones.xml index 9a2d9f3..4174880 100644 --- a/res/xml-he/timezones.xml +++ b/res/xml-he/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">מנאוס</timezone> <timezone id="America/Santiago">אמריקה/סנטיאגו</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">אראגואינה</timezone> + <timezone id="America/Sao_Paulo">אמריקה/סאן-פאולו</timezone> <timezone id="America/Argentina/Buenos_Aires">בואנוס איירס</timezone> <timezone id="America/Godthab">גודת'אב</timezone> <timezone id="America/Montevideo">מונטווידאו</timezone> diff --git a/res/xml-hr/timezones.xml b/res/xml-hr/timezones.xml index 9a44c47..072002d 100644 --- a/res/xml-hr/timezones.xml +++ b/res/xml-hr/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">Sao Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-hu/timezones.xml b/res/xml-hu/timezones.xml index 7266860..fc54cde 100644 --- a/res/xml-hu/timezones.xml +++ b/res/xml-hu/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Amazóniai idő (Manaus)</timezone> <timezone id="America/Santiago">Chilei idő (Santiago)</timezone> <timezone id="America/St_Johns">Új-fundlandi idő (St. John's)</timezone> - <timezone id="America/Araguaina">Brazíliai idő (Araguaína)</timezone> + <timezone id="America/Sao_Paulo">Brazíliai idő (Sao Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">Argentína idő (Buenos Aires)</timezone> <timezone id="America/Godthab">Nyugat-grönlandi idő (Godthåb)</timezone> <timezone id="America/Montevideo">Uruguayi idő (Montevideo)</timezone> diff --git a/res/xml-id/timezones.xml b/res/xml-id/timezones.xml index ee625b0..23821a6 100644 --- a/res/xml-id/timezones.xml +++ b/res/xml-id/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">Sao Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-it/timezones.xml b/res/xml-it/timezones.xml index beefbf6..ea7300c 100644 --- a/res/xml-it/timezones.xml +++ b/res/xml-it/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. Johns</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">San Paolo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-ja/timezones.xml b/res/xml-ja/timezones.xml index 168ba04..c139009 100644 --- a/res/xml-ja/timezones.xml +++ b/res/xml-ja/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">アマゾン時間 (マナウス)</timezone> <timezone id="America/Santiago">アメリカ/サンチアゴ</timezone> <timezone id="America/St_Johns">ニューファンドランド島標準時 (セントジョンズ)</timezone> - <timezone id="America/Araguaina">ブラジリア時間 (アラグァイナ)</timezone> + <timezone id="America/Sao_Paulo">ブラジリア時間 (サンパウロ)</timezone> <timezone id="America/Argentina/Buenos_Aires">アルゼンチン時間 (ブエノスアイレス)</timezone> <timezone id="America/Godthab">アメリカ/ゴッドホープ</timezone> <timezone id="America/Montevideo">モンテビデオ</timezone> diff --git a/res/xml-ko/timezones.xml b/res/xml-ko/timezones.xml index 711f732..aed7bd9 100644 --- a/res/xml-ko/timezones.xml +++ b/res/xml-ko/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">아마존 표준시 (마나우스)</timezone> <timezone id="America/Santiago">산티아고</timezone> <timezone id="America/St_Johns">뉴펀들랜드 표준시 (세인트존)</timezone> - <timezone id="America/Araguaina">브라질리아 표준시 (아라과이나)</timezone> + <timezone id="America/Sao_Paulo">브라질리아 표준시 (상파울로)</timezone> <timezone id="America/Argentina/Buenos_Aires">부에노스 아이레스</timezone> <timezone id="America/Godthab">고드호프</timezone> <timezone id="America/Montevideo">몬테비데오</timezone> diff --git a/res/xml-nb/timezones.xml b/res/xml-nb/timezones.xml index f374a34..a20b417 100644 --- a/res/xml-nb/timezones.xml +++ b/res/xml-nb/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Amazonas-tid (Manaus)</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">Brasilia-tid (Araguaína)</timezone> + <timezone id="America/Sao_Paulo">Brasilia-tid (São Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthåb</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-nl/timezones.xml b/res/xml-nl/timezones.xml index ee2453e..ecb107e 100644 --- a/res/xml-nl/timezones.xml +++ b/res/xml-nl/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">Newfoundland-standaardtijd (St. Johns)</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">São Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-pl/timezones.xml b/res/xml-pl/timezones.xml index ea0d72d..998aa75 100644 --- a/res/xml-pl/timezones.xml +++ b/res/xml-pl/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">Săo Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Grenlandia</timezone> <timezone id="America/Montevideo">Urugwaj</timezone> diff --git a/res/xml-pt/timezones.xml b/res/xml-pt/timezones.xml index 176d214..83a9a2b 100644 --- a/res/xml-pt/timezones.xml +++ b/res/xml-pt/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Horário do Amazonas (Manaus)</timezone> <timezone id="America/Santiago">Horário do Chile (Santiago)</timezone> <timezone id="America/St_Johns">Horário de Terra Nova (St. Johns)</timezone> - <timezone id="America/Araguaina">Horário de Brasília (Araguaína)</timezone> + <timezone id="America/Sao_Paulo">Horário de Brasília (São Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">Horário da Argentina (Buenos Aires)</timezone> <timezone id="America/Godthab">Horário da Groenlândia Ocidental (Godthab)</timezone> <timezone id="America/Montevideo">Horário do Uruguai (Montevidéu)</timezone> diff --git a/res/xml-ro/timezones.xml b/res/xml-ro/timezones.xml index c87d0e0..371ba75 100644 --- a/res/xml-ro/timezones.xml +++ b/res/xml-ro/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Ora Amazon (Manaus)</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">Sao Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Ora Argentinei (Buenos Aires)</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-ru/timezones.xml b/res/xml-ru/timezones.xml index e21095f..1564a6a 100644 --- a/res/xml-ru/timezones.xml +++ b/res/xml-ru/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Манаус</timezone> <timezone id="America/Santiago">Сантьяго</timezone> <timezone id="America/St_Johns">Сент-Джонс</timezone> - <timezone id="America/Araguaina">Арагуаина</timezone> + <timezone id="America/Sao_Paulo">Сан-Паулу</timezone> <timezone id="America/Argentina/Buenos_Aires">Буэнос-Айрес</timezone> <timezone id="America/Godthab">Готхоб</timezone> <timezone id="America/Montevideo">Монтевидео</timezone> diff --git a/res/xml-sk/timezones.xml b/res/xml-sk/timezones.xml index 2f4254c..bfac2f1 100644 --- a/res/xml-sk/timezones.xml +++ b/res/xml-sk/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">St. John's</timezone> - <timezone id="America/Araguaina">Araguaina</timezone> + <timezone id="America/Sao_Paulo">Sao Paulo</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Godthab</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-sr/timezones.xml b/res/xml-sr/timezones.xml index 51caf08..c966e98 100644 --- a/res/xml-sr/timezones.xml +++ b/res/xml-sr/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Амазон време (Манаус)</timezone> <timezone id="America/Santiago">Чиле време (Сантијаго)</timezone> <timezone id="America/St_Johns">Њуфаундленд време (Св. Џон)</timezone> - <timezone id="America/Araguaina">Бразилија време (Арагвајана)</timezone> + <timezone id="America/Sao_Paulo">Бразилија време (Сао Паоло)</timezone> <timezone id="America/Argentina/Buenos_Aires">Аргентина време (Буенос Аирес)</timezone> <timezone id="America/Godthab">Западни Гренланд време (Нук)</timezone> <timezone id="America/Montevideo">Уругвај време (Монтевидео)</timezone> diff --git a/res/xml-sv/timezones.xml b/res/xml-sv/timezones.xml index ecf9921..2381e2a 100644 --- a/res/xml-sv/timezones.xml +++ b/res/xml-sv/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Amazonastid (Manaus)</timezone> <timezone id="America/Santiago">Chilensk tid (Santiago)</timezone> <timezone id="America/St_Johns">Newfoundland, normaltid (St. Johns)</timezone> - <timezone id="America/Araguaina">Brasiliansk tid (Araguaina)</timezone> + <timezone id="America/Sao_Paulo">Brasiliansk tid (São Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">östargentinsk tid (Buenos Aires)</timezone> <timezone id="America/Godthab">Godthåb</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml-th/timezones.xml b/res/xml-th/timezones.xml index f2fdabc..05f3793 100644 --- a/res/xml-th/timezones.xml +++ b/res/xml-th/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">มาเนาส์</timezone> <timezone id="America/Santiago">ซันติอาโก</timezone> <timezone id="America/St_Johns">เซนต์จอนส์</timezone> - <timezone id="America/Araguaina">อารากัวนา</timezone> + <timezone id="America/Sao_Paulo">เซาเปาลู</timezone> <timezone id="America/Argentina/Buenos_Aires">บัวโนสไอเรส</timezone> <timezone id="America/Godthab">กอดแธบ</timezone> <timezone id="America/Montevideo">มอนเตวิเดโอ</timezone> diff --git a/res/xml-tr/timezones.xml b/res/xml-tr/timezones.xml index 18a341e..0184606 100644 --- a/res/xml-tr/timezones.xml +++ b/res/xml-tr/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Amazon Saati (Manaus)</timezone> <timezone id="America/Santiago">Şili Saati (Santiago)</timezone> <timezone id="America/St_Johns">Newfoundland Saati (St. John's)</timezone> - <timezone id="America/Araguaina">Brasilia Saati (Araguaina)</timezone> + <timezone id="America/Sao_Paulo">Brasilia Saati (Sao Paulo)</timezone> <timezone id="America/Argentina/Buenos_Aires">Arjantin Saati (Buenos Aires)</timezone> <timezone id="America/Godthab">Batı Grönland Saati (Godthab)</timezone> <timezone id="America/Montevideo">Uruguay Saati (Montevideo)</timezone> diff --git a/res/xml-uk/timezones.xml b/res/xml-uk/timezones.xml index 2337570..2658f31 100644 --- a/res/xml-uk/timezones.xml +++ b/res/xml-uk/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Манаус</timezone> <timezone id="America/Santiago">Сантьяго</timezone> <timezone id="America/St_Johns">Сент-Джонс</timezone> - <timezone id="America/Araguaina">Арагуайна</timezone> + <timezone id="America/Sao_Paulo">Сан-Паулу</timezone> <timezone id="America/Argentina/Buenos_Aires">Буенос-Айрес</timezone> <timezone id="America/Godthab">Готхоб</timezone> <timezone id="America/Montevideo">Монтевідео</timezone> diff --git a/res/xml-zh-rTW/timezones.xml b/res/xml-zh-rTW/timezones.xml new file mode 100644 index 0000000..2ab820c --- /dev/null +++ b/res/xml-zh-rTW/timezones.xml @@ -0,0 +1,85 @@ +<timezones> + <timezone id="Pacific/Majuro">馬朱諾</timezone> + <timezone id="Pacific/Midway">中途島</timezone> + <timezone id="Pacific/Honolulu">檀香山</timezone> + <timezone id="America/Anchorage">安克里治</timezone> + <timezone id="America/Los_Angeles">太平洋時間 (洛杉磯)</timezone> + <timezone id="America/Tijuana">太平洋時間 (提華納)</timezone> + <timezone id="America/Phoenix">山區時間 (鳳凰城)</timezone> + <timezone id="America/Chihuahua">奇華華</timezone> + <timezone id="America/Denver">山區時間 (丹佛)</timezone> + <timezone id="America/Costa_Rica">中部時間 (哥斯大黎加)</timezone> + <timezone id="America/Chicago">中部時間 (芝加哥)</timezone> + <timezone id="America/Mexico_City">中部時間 (墨西哥市)</timezone> + <timezone id="America/Regina">中部時間 (利宅那)</timezone> + <timezone id="America/Bogota">哥倫比亞</timezone> + <timezone id="America/New_York">東部時間 (紐約)</timezone> + <timezone id="America/Caracas">卡拉卡斯</timezone> + <timezone id="America/Barbados">大西洋時間 (巴貝多)</timezone> + <timezone id="America/Manaus">亞馬遜時間 (瑪瑙斯)</timezone> + <timezone id="America/Santiago">聖地牙哥</timezone> + <timezone id="America/St_Johns">紐芬蘭標準時間 (St. John's)</timezone> + <timezone id="America/Araguaina">阿拉圭那</timezone> + <timezone id="America/Argentina/Buenos_Aires">阿根廷時間 (布宜諾斯艾利斯)</timezone> + <timezone id="America/Godthab">高特哈市</timezone> + <timezone id="America/Montevideo">烏拉圭</timezone> + <timezone id="Atlantic/South_Georgia">南喬治亞與南三明治島</timezone> + <timezone id="Atlantic/Azores">亞速爾群島</timezone> + <timezone id="Atlantic/Cape_Verde">維德角</timezone> + <timezone id="Africa/Casablanca">卡薩布蘭卡</timezone> + <timezone id="Europe/London">格林威治標準時間 (倫敦)</timezone> + <timezone id="Europe/Amsterdam">中歐標準時間 (荷蘭)</timezone> + <timezone id="Europe/Belgrade">中歐標準時間 (塞爾維亞)</timezone> + <timezone id="Europe/Brussels">中歐標準時間 (布魯塞爾)</timezone> + <timezone id="Europe/Sarajevo">中歐標準時間 (沙拉耶佛)</timezone> + <timezone id="Africa/Windhoek">溫荷克</timezone> + <timezone id="Africa/Brazzaville">西非時間 (剛果共和國)</timezone> + <timezone id="Asia/Amman">東歐標準時間 (約旦)</timezone> + <timezone id="Europe/Athens">東歐標準時間 (希臘)</timezone> + <timezone id="Asia/Beirut">東歐標準時間 (貝鲁特特)</timezone> + <timezone id="Africa/Cairo">東歐標準時間 (埃及)</timezone> + <timezone id="Europe/Helsinki">東歐標準時間 (芬蘭)</timezone> + <timezone id="Asia/Jerusalem">以色列標準時間 (耶路撒冷)</timezone> + <timezone id="Europe/Minsk">白俄羅斯</timezone> + <timezone id="Africa/Harare">中非時間 (辛巴威)</timezone> + <timezone id="Asia/Baghdad">阿拉伯時間 (伊拉克)</timezone> + <timezone id="Europe/Moscow">莫斯科</timezone> + <timezone id="Asia/Kuwait">阿拉伯時間 (科威特)</timezone> + <timezone id="Africa/Nairobi">東非時間 (奈洛比)</timezone> + <timezone id="Asia/Tehran">伊朗</timezone> + <timezone id="Asia/Baku">亞塞拜然</timezone> + <timezone id="Asia/Tbilisi">喬治亞</timezone> + <timezone id="Asia/Yerevan">亞美尼亞</timezone> + <timezone id="Asia/Dubai">GT (杜拜)</timezone> + <timezone id="Asia/Kabul">阿富汗</timezone> + <timezone id="Asia/Karachi">喀拉蚩</timezone> + <timezone id="Asia/Oral">奧拉爾</timezone> + <timezone id="Asia/Yekaterinburg">葉卡捷林堡</timezone> + <timezone id="Asia/Calcutta">印度</timezone> + <timezone id="Asia/Colombo">可倫坡</timezone> + <timezone id="Asia/Katmandu">尼泊爾</timezone> + <timezone id="Asia/Almaty">阿拉木圖</timezone> + <timezone id="Asia/Rangoon">緬甸</timezone> + <timezone id="Asia/Krasnoyarsk">克拉斯諾雅斯克</timezone> + <timezone id="Asia/Bangkok">泰國</timezone> + <timezone id="Asia/Shanghai">中國標準時間 (上海)</timezone> + <timezone id="Asia/Hong_Kong">中華人民共和國香港特別行政區</timezone> + <timezone id="Asia/Irkutsk">伊爾庫次克</timezone> + <timezone id="Asia/Kuala_Lumpur">吉隆坡</timezone> + <timezone id="Australia/Perth">伯斯</timezone> + <timezone id="Asia/Taipei">台北標準時間 (台北)</timezone> + <timezone id="Asia/Seoul">首爾</timezone> + <timezone id="Asia/Tokyo">日本標準時間 (東京)</timezone> + <timezone id="Asia/Yakutsk">雅庫次克</timezone> + <timezone id="Australia/Adelaide">阿得雷德</timezone> + <timezone id="Australia/Darwin">達爾文</timezone> + <timezone id="Australia/Brisbane">布利斯班</timezone> + <timezone id="Australia/Hobart">荷巴特</timezone> + <timezone id="Australia/Sydney">雪梨</timezone> + <timezone id="Asia/Vladivostok">海參崴</timezone> + <timezone id="Pacific/Guam">關島</timezone> + <timezone id="Asia/Magadan">馬加丹</timezone> + <timezone id="Pacific/Auckland">奧克蘭</timezone> + <timezone id="Pacific/Fiji">斐濟</timezone> + <timezone id="Pacific/Tongatapu">東加</timezone> +</timezones> diff --git a/res/xml-zh/timezones.xml b/res/xml-zh/timezones.xml index 1129e7c..be269d1 100644 --- a/res/xml-zh/timezones.xml +++ b/res/xml-zh/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">亚马逊标准时间 (马瑙斯)</timezone> <timezone id="America/Santiago">圣地亚哥</timezone> <timezone id="America/St_Johns">纽芬兰时间 (圣约翰)</timezone> - <timezone id="America/Araguaina">阿拉瓜伊纳</timezone> + <timezone id="America/Sao_Paulo">圣保罗</timezone> <timezone id="America/Argentina/Buenos_Aires">布宜诺斯艾利斯</timezone> <timezone id="America/Godthab">戈特霍布</timezone> <timezone id="America/Montevideo">乌拉圭时间 (蒙得维的亚)</timezone> diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml index 3606f04..7beab15 100644 --- a/res/xml/accessibility_settings.xml +++ b/res/xml/accessibility_settings.xml @@ -25,4 +25,13 @@ <PreferenceCategory android:key="accessibility_services_category" android:title="@string/accessibility_services_category" /> + <PreferenceCategory android:key="power_button_category" + android:title="@string/accessibility_power_button_category"> + <CheckBoxPreference + android:key="power_button_ends_call" + android:title="@string/accessibility_power_button_ends_call" + android:summary="@string/accessibility_power_button_ends_call_summary" + android:persistent="false" /> + </PreferenceCategory> + </PreferenceScreen> diff --git a/res/xml/application_settings.xml b/res/xml/application_settings.xml index b5418e8..4df21da 100644 --- a/res/xml/application_settings.xml +++ b/res/xml/application_settings.xml @@ -25,7 +25,15 @@ android:summaryOff="@string/install_unknown_applications" android:summaryOn="@string/install_unknown_applications" android:persistent="false" /> - + + <ListPreference + android:key="app_install_location" + android:title="@string/app_install_location_title" + android:summary="@string/app_install_location_summary" + android:persistent="false" + android:entries="@array/app_install_location_entries" + android:entryValues="@array/app_install_location_values"/> + <PreferenceScreen android:key="quick_launch" android:title="@string/quick_launch_title" diff --git a/res/xml/device_info_memory.xml b/res/xml/device_info_memory.xml index febd00f..785fded 100644 --- a/res/xml/device_info_memory.xml +++ b/res/xml/device_info_memory.xml @@ -25,7 +25,7 @@ style="?android:attr/preferenceInformationStyle" android:title="@string/memory_available" android:summary="00"/> - <Preference android:key="memory_sd_unmount" + <Preference android:key="memory_sd_mount_toggle" android:title="@string/sd_eject" android:summary="@string/sd_eject_summary"/> <Preference android:key="memory_sd_format" diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml new file mode 100644 index 0000000..7fe7f76 --- /dev/null +++ b/res/xml/display_settings.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/display_settings" + xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> + + <com.android.settings.BrightnessPreference + android:key="brightness" + android:title="@string/brightness" + android:dialogTitle="@string/brightness" /> + + <CheckBoxPreference + android:key="accelerometer" + android:title="@string/accelerometer_title"/> + + <ListPreference + android:key="animations" + android:title="@string/animations_title" + android:persistent="false" + android:entries="@array/animations_entries" + android:entryValues="@array/animations_values" /> + + <ListPreference + android:key="screen_timeout" + android:title="@string/screen_timeout" + android:summary="@string/screen_timeout_summary" + android:persistent="false" + android:entries="@array/screen_timeout_entries" + android:entryValues="@array/screen_timeout_values" /> +</PreferenceScreen> diff --git a/res/xml/dock_settings.xml b/res/xml/dock_settings.xml index 43e9fa5..d3d6e43 100644 --- a/res/xml/dock_settings.xml +++ b/res/xml/dock_settings.xml @@ -26,4 +26,11 @@ android:summary="@string/dock_settings_summary" android:widgetLayout="@*android:layout/preference_dialog" /> -</PreferenceScreen>
\ No newline at end of file + <CheckBoxPreference + android:key="dock_sounds" + android:title="@string/dock_sounds_enable_title" + android:summaryOn="@string/dock_sounds_enable_summary_on" + android:summaryOff="@string/dock_sounds_enable_summary_off" + android:defaultValue="false" /> + +</PreferenceScreen> diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml index 47eb795..d3c0e02 100644 --- a/res/xml/language_settings.xml +++ b/res/xml/language_settings.xml @@ -18,8 +18,8 @@ xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> <PreferenceScreen - android:title="@string/phone_language" - android:summary="@string/phone_language_summary"> + android:key="phone_language" + android:title="@string/phone_language"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" android:targetClass="com.android.settings.LocalePicker"/> diff --git a/res/xml/privacy_settings.xml b/res/xml/privacy_settings.xml index 92955a5..7ac14dc 100644 --- a/res/xml/privacy_settings.xml +++ b/res/xml/privacy_settings.xml @@ -16,22 +16,18 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> - <PreferenceCategory android:key="location_category" - android:title="@string/location_section_title"> - <!-- Share location with Google --> - <CheckBoxPreference - android:key="use_location" - android:title="@string/use_location_title" - android:persistent="false" - android:summary="@string/use_location_summary"/> - </PreferenceCategory> - - <PreferenceCategory android:key="settings_category" - android:title="@string/settings_section_title"> + <PreferenceCategory android:key="backup_category" + android:title="@string/backup_section_title"> <!-- Backup settings --> <CheckBoxPreference - android:key="backup_settings" - android:title="@string/backup_settings_title" + android:key="backup_data" + android:title="@string/backup_data_title" + android:summary="@string/backup_data_summary" + android:persistent="false" /> + <CheckBoxPreference + android:key="auto_restore" + android:title="@string/auto_restore_title" + android:summary="@string/auto_restore_summary" android:persistent="false" /> </PreferenceCategory> diff --git a/res/xml/security_settings.xml b/res/xml/security_settings.xml index 1b73584..29244f7 100644 --- a/res/xml/security_settings.xml +++ b/res/xml/security_settings.xml @@ -4,9 +4,9 @@ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -19,15 +19,15 @@ <PreferenceCategory android:key="location_category" android:title="@string/location_title"> - - <CheckBoxPreference - android:key="location_network" + + <CheckBoxPreference + android:key="location_network" android:title="@string/location_network_based" android:summaryOn="@string/location_neighborhood_level" android:summaryOff="@string/location_networks_disabled"/> - - <CheckBoxPreference - android:key="location_gps" + + <CheckBoxPreference + android:key="location_gps" android:title="@string/location_gps" android:summaryOn="@string/location_street_level" android:summaryOff="@string/location_gps_disabled"/> @@ -42,5 +42,5 @@ --> </PreferenceCategory> - + </PreferenceScreen> diff --git a/res/xml/security_settings_chooser.xml b/res/xml/security_settings_chooser.xml new file mode 100644 index 0000000..095c69f --- /dev/null +++ b/res/xml/security_settings_chooser.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + + <PreferenceCategory + android:key="security_category" + android:title="@string/lock_settings_title"> + + <PreferenceScreen + android:key="unlock_set_or_change" + android:title="@string/unlock_set_unlock_launch_picker_title" + android:summary="@string/unlock_set_unlock_launch_picker_summary" + android:persistent="false"/> + + </PreferenceCategory> + +</PreferenceScreen> diff --git a/res/xml/security_settings_password.xml b/res/xml/security_settings_password.xml new file mode 100644 index 0000000..ac06711 --- /dev/null +++ b/res/xml/security_settings_password.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + + <PreferenceCategory + android:key="security_category" + android:title="@string/lock_settings_title"> + + <PreferenceScreen + android:key="unlock_set_or_change" + android:title="@string/unlock_set_unlock_launch_picker_change_title" + android:summary="@string/unlock_set_unlock_launch_picker_change_summary" + android:persistent="false"/> + + <CheckBoxPreference + android:key="unlock_tactile_feedback" + android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/> + + </PreferenceCategory> + +</PreferenceScreen> diff --git a/res/xml/security_settings_pattern.xml b/res/xml/security_settings_pattern.xml new file mode 100644 index 0000000..095828a --- /dev/null +++ b/res/xml/security_settings_pattern.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + + <PreferenceCategory + android:key="security_category" + android:title="@string/lock_settings_title"> + + <PreferenceScreen + android:key="unlock_set_or_change" + android:title="@string/unlock_set_unlock_launch_picker_change_title" + android:summary="@string/unlock_set_unlock_launch_picker_change_summary" + android:persistent="false"/> + + <CheckBoxPreference + android:key="visiblepattern" + android:title="@string/lockpattern_settings_enable_visible_pattern_title"/> + + <CheckBoxPreference + android:key="unlock_tactile_feedback" + android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/> + + </PreferenceCategory> + +</PreferenceScreen> diff --git a/res/xml/security_settings_picker.xml b/res/xml/security_settings_picker.xml new file mode 100644 index 0000000..cbed209 --- /dev/null +++ b/res/xml/security_settings_picker.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + + <PreferenceCategory + android:key="security_picker_category" + android:title="@string/lock_settings_picker_title"> + + <PreferenceScreen + android:key="unlock_set_none" + android:title="@string/unlock_set_unlock_none_title" + android:summary="@string/unlock_set_unlock_none_summary" + android:persistent="false"/> + + <PreferenceScreen + android:key="unlock_set_pattern" + android:title="@string/unlock_set_unlock_pattern_title" + android:summary="@string/unlock_set_unlock_pattern_summary" + android:persistent="false"/> + + <PreferenceScreen + android:key="unlock_set_pin" + android:title="@string/unlock_set_unlock_pin_title" + android:summary="@string/unlock_set_unlock_pin_summary" + android:persistent="false"/> + + <PreferenceScreen + android:key="unlock_set_password" + android:title="@string/unlock_set_unlock_password_title" + android:summary="@string/unlock_set_unlock_password_summary" + android:persistent="false"/> + + </PreferenceCategory> + +</PreferenceScreen> diff --git a/res/xml/security_settings_pin.xml b/res/xml/security_settings_pin.xml new file mode 100644 index 0000000..ac06711 --- /dev/null +++ b/res/xml/security_settings_pin.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + + <PreferenceCategory + android:key="security_category" + android:title="@string/lock_settings_title"> + + <PreferenceScreen + android:key="unlock_set_or_change" + android:title="@string/unlock_set_unlock_launch_picker_change_title" + android:summary="@string/unlock_set_unlock_launch_picker_change_summary" + android:persistent="false"/> + + <CheckBoxPreference + android:key="unlock_tactile_feedback" + android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/> + + </PreferenceCategory> + +</PreferenceScreen> diff --git a/res/xml/settings.xml b/res/xml/settings.xml index add38da..326c494 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -53,15 +53,26 @@ android:targetClass="com.android.phone.CallFeaturesSetting" /> </com.android.settings.IconPreferenceScreen> - <!-- Sound and Display --> + <!-- Sound --> <com.android.settings.IconPreferenceScreen - settings:icon="@drawable/ic_settings_sound_display" - android:title="@string/sound_and_display_settings"> + settings:icon="@drawable/ic_settings_sound" + android:title="@string/sound_settings_title"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.SoundAndDisplaySettings" /> + android:targetClass="com.android.settings.SoundSettings" /> + </com.android.settings.IconPreferenceScreen> + + <!-- Display --> + + <com.android.settings.IconPreferenceScreen + settings:icon="@drawable/ic_settings_display" + android:title="@string/display_settings_title"> + <intent + android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.DisplaySettings" /> </com.android.settings.IconPreferenceScreen> <!-- Security & Location --> @@ -147,16 +158,15 @@ android:targetClass="com.android.settings.LanguageSettings" /> </com.android.settings.IconPreferenceScreen> - <!-- Dock --> + <!-- Voice input & output --> <com.android.settings.IconPreferenceScreen - android:key="dock_settings" - settings:icon="@drawable/ic_settings_dock" - android:title="@string/dock_settings"> + settings:icon="@drawable/ic_settings_speech" + android:title="@string/voice_input_output_settings"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.DockSettings" /> + android:targetClass="com.android.settings.VoiceInputOutputSettings" /> </com.android.settings.IconPreferenceScreen> <!-- Accessibility feedback --> @@ -170,15 +180,16 @@ android:targetClass="com.android.settings.AccessibilitySettings" /> </com.android.settings.IconPreferenceScreen> - <!-- Text-To-Speech --> + <!-- Dock --> <com.android.settings.IconPreferenceScreen - settings:icon="@drawable/ic_settings_speech" - android:title="@string/tts_settings"> + android:key="dock_settings" + settings:icon="@drawable/ic_settings_dock" + android:title="@string/dock_settings"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.TextToSpeechSettings" /> + android:targetClass="com.android.settings.DockSettings" /> </com.android.settings.IconPreferenceScreen> <!-- Date & Time --> diff --git a/res/xml/sound_and_display_settings.xml b/res/xml/sound_and_display_settings.xml deleted file mode 100644 index 657a340..0000000 --- a/res/xml/sound_and_display_settings.xml +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> - - <PreferenceCategory android:key="sound_settings" - android:title="@string/sound_settings"> - - <CheckBoxPreference - android:key="silent" - android:title="@string/silent_mode_title" - android:summary="@string/silent_mode_summary" - android:persistent="false" - android:order="1" - android:disableDependentsState="true" /> - - <com.android.settings.RingerVolumePreference - android:key="ring_volume" - android:title="@string/ring_volume_title" - android:summary="@string/ring_volume_summary" - android:dialogTitle="@string/ring_volume_title" - android:persistent="false" - android:dependency="silent" - android:order="2" - android:streamType="ring" /> - - <VolumePreference - android:key="media_volume" - android:title="@string/media_volume_title" - android:summary="@string/media_volume_summary" - android:dialogTitle="@string/media_volume_title" - android:persistent="false" - android:order="3" - android:streamType="music" /> - - <com.android.settings.DefaultRingtonePreference - android:key="ringtone" - android:title="@string/ringtone_title" - android:summary="@string/ringtone_summary" - android:dialogTitle="@string/ringtone_title" - android:persistent="false" - android:dependency="silent" - android:order="5" - android:ringtoneType="ringtone" /> - - <CheckBoxPreference - android:key="vibrate" - android:title="@string/vibrate_title" - android:summary="@string/vibrate_summary" - android:order="6" - android:persistent="false" /> - - <com.android.settings.DefaultRingtonePreference - android:key="notification_sound" - android:title="@string/notification_sound_title" - android:summary="@string/notification_sound_summary" - android:dialogTitle="@string/notification_sound_dialog_title" - android:dependency="silent" - android:persistent="false" - android:order="7" - android:ringtoneType="notification" /> - - <CheckBoxPreference - android:key="notification_pulse" - android:title="@string/notification_pulse_title" - android:summary="@string/notification_pulse_summary" - android:order="8" - android:persistent="false" /> - - <CheckBoxPreference - android:key="dtmf_tone" - android:title="@string/dtmf_tone_enable_title" - android:summaryOn="@string/dtmf_tone_enable_summary_on" - android:summaryOff="@string/dtmf_tone_enable_summary_off" - android:dependency="silent" - android:order="9" - android:defaultValue="true" /> - - <CheckBoxPreference - android:key="sound_effects" - android:title="@string/sound_effects_enable_title" - android:summaryOn="@string/sound_effects_enable_summary_on" - android:summaryOff="@string/sound_effects_enable_summary_off" - android:dependency="silent" - android:order="10" - android:defaultValue="true" /> - - <CheckBoxPreference - android:key="haptic_feedback" - android:title="@string/haptic_feedback_enable_title" - android:summaryOn="@string/haptic_feedback_enable_summary_on" - android:summaryOff="@string/haptic_feedback_enable_summary_off" - android:dependency="silent" - android:order="11" - android:defaultValue="true" /> - - <CheckBoxPreference - android:key="play_media_notification_sounds" - android:title="@string/play_media_notification_sounds_enable_title" - android:summaryOn="@string/play_media_notification_sounds_enable_summary_on" - android:summaryOff="@string/play_media_notification_sounds_enable_summary_off" - android:dependency="silent" - android:order="12" - android:defaultValue="true" /> - - </PreferenceCategory> - - <ListPreference - android:key="emergency_tone" - android:title="@string/emergency_tone_title" - android:summary="@string/emergency_tone_summary" - android:entries="@array/emergency_tone_entries" - android:entryValues="@array/emergency_tone_values" /> - - <PreferenceCategory - android:title="@string/display_settings"> - - <CheckBoxPreference - android:key="accelerometer" - android:title="@string/accelerometer_title" - android:summaryOn="@string/accelerometer_summary_on" - android:summaryOff="@string/accelerometer_summary_off"/> - - <ListPreference - android:key="animations" - android:title="@string/animations_title" - android:persistent="false" - android:entries="@array/animations_entries" - android:entryValues="@array/animations_values" /> - - <com.android.settings.BrightnessPreference - android:key="brightness" - android:title="@string/brightness" - android:summary="@string/brightness_summary" - android:dialogIcon="@drawable/ic_popup_brightness" - android:dialogTitle="@string/brightness" /> - - <ListPreference - android:key="screen_timeout" - android:title="@string/screen_timeout" - android:summary="@string/screen_timeout_summary" - android:persistent="false" - android:entries="@array/screen_timeout_entries" - android:entryValues="@array/screen_timeout_values" /> - </PreferenceCategory> - -</PreferenceScreen> diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml new file mode 100644 index 0000000..b800d62 --- /dev/null +++ b/res/xml/sound_settings.xml @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/sound_settings" + android:key="sound_settings" + xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> + + <PreferenceCategory + android:title="@string/sound_category_sound_title"/> + + <CheckBoxPreference + android:key="silent" + android:title="@string/silent_mode_title" + android:summary="@string/silent_mode_summary" + android:persistent="false" + android:disableDependentsState="true" /> + + <ListPreference + android:key="vibrate" + android:title="@string/vibrate_title" + android:summary="@string/vibrate_summary" + android:entries="@array/vibrate_entries" + android:entryValues="@array/vibrate_values" /> + + <com.android.settings.RingerVolumePreference + android:key="ring_volume" + android:dependency="silent" + android:title="@string/all_volume_title" + android:summary="@string/ring_volume_summary" + android:dialogTitle="@string/all_volume_title" + android:persistent="false" + android:streamType="ring" /> + + <PreferenceCategory + android:title="@string/sound_category_calls_title"/> + + <com.android.settings.DefaultRingtonePreference + android:key="ringtone" + android:title="@string/ringtone_title" + android:summary="@string/ringtone_summary" + android:dialogTitle="@string/ringtone_title" + android:persistent="false" + android:ringtoneType="ringtone" /> + + <PreferenceCategory + android:title="@string/sound_category_notification_title"/> + + <!-- Do not nest these, or removals in code will break --> + + <com.android.settings.DefaultRingtonePreference + android:key="notification_sound" + android:title="@string/notification_sound_title" + android:summary="@string/notification_sound_summary" + android:dialogTitle="@string/notification_sound_dialog_title" + android:persistent="false" + android:ringtoneType="notification" /> + + <CheckBoxPreference + android:key="notification_pulse" + android:title="@string/notification_pulse_title" + android:summary="@string/notification_pulse_summary" + android:persistent="false" /> + + <PreferenceCategory + android:title="@string/sound_category_feedback_title"/> + + <!-- Do not nest these, or removals in code will break --> + + <CheckBoxPreference + android:key="dtmf_tone" + android:title="@string/dtmf_tone_enable_title" + android:summaryOn="@string/dtmf_tone_enable_summary_on" + android:summaryOff="@string/dtmf_tone_enable_summary_off" + android:defaultValue="true" /> + + <CheckBoxPreference + android:key="sound_effects" + android:title="@string/sound_effects_enable_title" + android:summaryOn="@string/sound_effects_enable_summary_on" + android:summaryOff="@string/sound_effects_enable_summary_off" + android:defaultValue="true" /> + + <CheckBoxPreference + android:key="lock_sounds" + android:title="@string/lock_sounds_enable_title" + android:summaryOn="@string/lock_sounds_enable_summary_on" + android:summaryOff="@string/lock_sounds_enable_summary_off" + android:defaultValue="true" /> + + <CheckBoxPreference + android:key="haptic_feedback" + android:title="@string/haptic_feedback_enable_title" + android:summaryOn="@string/haptic_feedback_enable_summary_on" + android:summaryOff="@string/haptic_feedback_enable_summary_off" + android:defaultValue="true" /> + + <ListPreference + android:key="emergency_tone" + android:title="@string/emergency_tone_title" + android:summary="@string/emergency_tone_summary" + android:entries="@array/emergency_tone_entries" + android:entryValues="@array/emergency_tone_values" /> + +</PreferenceScreen> diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml index 87c9cf8..4b3ea0b 100644 --- a/res/xml/testing_settings.xml +++ b/res/xml/testing_settings.xml @@ -45,6 +45,15 @@ android:targetPackage="com.android.settings" android:targetClass="com.android.settings.UsageStats" /> </PreferenceScreen> + + <PreferenceScreen + android:title="@string/testing_wifi_info" > + <intent + android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.wifi.WifiInfo" /> + </PreferenceScreen> + <!-- <PreferenceScreen android:title="@string/testing_sim_toolkit"> diff --git a/res/xml/testing_wifi_settings.xml b/res/xml/testing_wifi_settings.xml new file mode 100644 index 0000000..7844aaa --- /dev/null +++ b/res/xml/testing_wifi_settings.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2009 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<PreferenceScreen +xmlns:android="http://schemas.android.com/apk/res/android" +android:title="@string/testing_wifi_info" +android:key="parent"> + + <Preference + android:title="@string/wifi_api_test" > + <intent + android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.wifi.WifiAPITest" /> + </Preference> + + <Preference + android:title="@string/wifi_config_info" > + <intent + android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.wifi.WifiConfigInfo" /> + </Preference> + + <Preference + android:title="@string/wifi_status_test" > + <intent + android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.wifi.WifiStatusTest" /> + </Preference> + +</PreferenceScreen> diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml new file mode 100644 index 0000000..6e3d062 --- /dev/null +++ b/res/xml/tether_prefs.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + + <CheckBoxPreference + android:key="usb_tether_settings" + android:title="@string/usb_tethering_button_text" + android:persistent="false" /> + + <CheckBoxPreference + android:key="enable_wifi_ap" + android:title="@string/wifi_tether_checkbox_text" + android:persistent="false" /> + + <PreferenceScreen + android:key="wifi_ap_settings" + android:dependency="enable_wifi_ap" + android:title="@string/wifi_tether_settings_text" + android:summary="@string/wifi_tether_settings_subtext" > + <intent + android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.wifi.WifiApSettings" /> + </PreferenceScreen> + + <PreferenceScreen + android:key="tethering_help" + android:title="@string/tethering_help_button_text" > + </PreferenceScreen> + +</PreferenceScreen> diff --git a/res/xml/timezones.xml b/res/xml/timezones.xml index c9667b8..9c7bd56 100644 --- a/res/xml/timezones.xml +++ b/res/xml/timezones.xml @@ -19,7 +19,7 @@ <timezone id="America/Manaus">Manaus</timezone> <timezone id="America/Santiago">Santiago</timezone> <timezone id="America/St_Johns">Newfoundland</timezone> - <timezone id="America/Araguaina">Brasilia</timezone> + <timezone id="America/Sao_Paulo">Brasilia</timezone> <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone> <timezone id="America/Godthab">Greenland</timezone> <timezone id="America/Montevideo">Montevideo</timezone> diff --git a/res/xml/tts_settings.xml b/res/xml/tts_settings.xml index d94d575..c378f64 100644 --- a/res/xml/tts_settings.xml +++ b/res/xml/tts_settings.xml @@ -22,12 +22,6 @@ android:persistent="false" android:title="@string/tts_play_example_title" android:summary="@string/tts_play_example_summary" /> - - <Preference - android:key="tts_install_data" - android:persistent="false" - android:title="@string/tts_install_data_title" - android:summary="@string/tts_install_data_summary" /> <CheckBoxPreference android:key="toggle_use_default_tts_settings" @@ -37,7 +31,20 @@ <PreferenceCategory android:title="@string/tts_default_settings_section"> - + <ListPreference + android:key="tts_default_synth" + android:title="@string/tts_default_synth_title" + android:summary="@string/tts_default_synth_summary" + android:persistent="false" + android:entries="@array/tts_engine_entries" + android:entryValues="@array/tts_engine_values" /> + + <Preference + android:key="tts_install_data" + android:persistent="false" + android:title="@string/tts_install_data_title" + android:summary="@string/tts_install_data_summary" /> + <ListPreference android:key="tts_default_rate" android:title="@string/tts_default_rate_title" @@ -45,7 +52,7 @@ android:persistent="false" android:entries="@array/tts_rate_entries" android:entryValues="@array/tts_rate_values" /> - + <ListPreference android:key="tts_default_lang" android:title="@string/tts_default_lang_title" @@ -56,5 +63,8 @@ </PreferenceCategory> + <PreferenceCategory android:key="tts_engines_section" + android:title="@string/tts_engines_section" /> + </PreferenceScreen> diff --git a/res/xml/voice_input_output_settings.xml b/res/xml/voice_input_output_settings.xml new file mode 100644 index 0000000..5781a5c --- /dev/null +++ b/res/xml/voice_input_output_settings.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/voice_input_output_settings_title" + android:key="parent"> + + <PreferenceCategory android:key="voice_input_category" + android:title="@string/voice_input_category" /> + + <!-- entries, entryValues, and defaultValue will be populated programmatically. --> + <ListPreference + android:key="recognizer" + android:title="@string/recognizer_title" + android:dialogTitle="@string/recognizer_title" /> + + <!-- An intent for this preference will be populated programmatically. --> + <PreferenceScreen android:key="recognizer_settings" + android:title="@string/recognizer_settings_title" /> + + <PreferenceCategory android:key="voice_output_category" + android:title="@string/voice_output_category" /> + + <PreferenceScreen android:key="tts_settings" + android:title="@string/tts_settings_title"> + <intent android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.TextToSpeechSettings" /> + </PreferenceScreen> + +</PreferenceScreen>
\ No newline at end of file diff --git a/res/xml/wifi_access_points.xml b/res/xml/wifi_access_points.xml index 281093c..48104dd 100644 --- a/res/xml/wifi_access_points.xml +++ b/res/xml/wifi_access_points.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2010 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -23,8 +23,8 @@ android:persistent="false" /> <Preference - android:key="add_other_network" - android:title="@string/wifi_add_other_network" + android:key="add_network" + android:title="@string/wifi_add_network" android:persistent="false" /> </PreferenceScreen> diff --git a/res/xml/wifi_ap_settings.xml b/res/xml/wifi_ap_settings.xml new file mode 100644 index 0000000..ad21714 --- /dev/null +++ b/res/xml/wifi_ap_settings.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2010 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" + android:title="@string/wifi_tether_settings_title"> + + <CheckBoxPreference + android:key="enable_wifi_ap" + android:title="@string/wifi_tether_checkbox_text" + android:persistent="false" /> + + <Preference + android:key="wifi_ap_ssid_and_security" + android:dependency="enable_wifi_ap" + android:title="@string/wifi_tether_configure_ap_text" + android:persistent="false" /> + +</PreferenceScreen> diff --git a/res/xml/wifi_settings.xml b/res/xml/wifi_settings.xml index 8a76674..9433c05 100644 --- a/res/xml/wifi_settings.xml +++ b/res/xml/wifi_settings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project +<!-- Copyright (C) 2010 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,28 +18,28 @@ android:title="@string/wifi_settings_category"> <CheckBoxPreference - android:key="wifi_enabled" - android:title="@string/wifi" + android:key="enable_wifi" + android:title="@string/wifi_quick_toggle_title" android:summary="@string/wifi_quick_toggle_summary" android:persistent="false" /> <CheckBoxPreference - android:key="open_network_notifications_enabled" - android:dependency="wifi_enabled" + android:key="notify_open_networks" + android:dependency="enable_wifi" android:title="@string/wifi_notify_open_networks" android:summary="@string/wifi_notify_open_networks_summary" android:persistent="false" /> <com.android.settings.ProgressCategory android:key="access_points" - android:dependency="wifi_enabled" + android:dependency="enable_wifi" android:title="@string/wifi_access_points" android:persistent="false" /> <Preference - android:key="add_other_network" - android:dependency="wifi_enabled" - android:title="@string/wifi_add_other_network" + android:key="add_network" + android:dependency="enable_wifi" + android:title="@string/wifi_add_network" android:persistent="false" /> </PreferenceScreen> diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml index 1bb55ef..7c91d50 100644 --- a/res/xml/wireless_settings.xml +++ b/res/xml/wireless_settings.xml @@ -44,14 +44,12 @@ android:key="toggle_bluetooth" android:title="@string/bluetooth_quick_toggle_title" android:summary="@string/bluetooth_quick_toggle_summary" - android:persistent="false" - android:dependency="toggle_airplane" /> + android:persistent="false" /> <PreferenceScreen android:key="bt_settings" android:title="@string/bluetooth_settings_title" - android:summary="@string/bluetooth_settings_summary" - android:dependency="toggle_airplane"> + android:summary="@string/bluetooth_settings_summary"> <intent android:action="android.intent.action.MAIN" android:targetPackage="com.android.settings" @@ -59,6 +57,16 @@ </PreferenceScreen> <PreferenceScreen + android:key="tether_settings" + android:title="@string/tether_settings_title_both" + android:summary="@string/tether_settings_summary_both"> + <intent + android:action="android.intent.action.MAIN" + android:targetPackage="com.android.settings" + android:targetClass="com.android.settings.TetherSettings" /> + </PreferenceScreen> + + <PreferenceScreen android:key="vpn_settings" android:title="@string/vpn_settings_title" android:summary="@string/vpn_settings_summary" > diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java index 6199e50..d78d2d8 100644 --- a/src/com/android/settings/AccessibilitySettings.java +++ b/src/com/android/settings/AccessibilitySettings.java @@ -19,15 +19,24 @@ package com.android.settings; import android.app.AlertDialog; import android.app.Service; import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ServiceInfo; +import android.net.Uri; import android.os.Bundle; +import android.os.SystemProperties; import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceActivity; +import android.preference.PreferenceCategory; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.provider.Settings; import android.text.TextUtils; +import android.view.KeyCharacterMap; +import android.view.KeyEvent; import android.view.accessibility.AccessibilityManager; import java.util.HashSet; @@ -39,14 +48,26 @@ import java.util.Map; * Activity with the accessibility settings. */ public class AccessibilitySettings extends PreferenceActivity { + private static final String DEFAULT_SCREENREADER_MARKET_LINK = + "market://search?q=pname:com.google.android.marvin.talkback"; + private final String TOGGLE_ACCESSIBILITY_SERVICE_CHECKBOX = "toggle_accessibility_service_checkbox"; private static final String ACCESSIBILITY_SERVICES_CATEGORY = "accessibility_services_category"; + private static final String POWER_BUTTON_CATEGORY = + "power_button_category"; + + private final String POWER_BUTTON_ENDS_CALL_CHECKBOX = + "power_button_ends_call"; + private CheckBoxPreference mToggleCheckBox; + private PreferenceCategory mPowerButtonCategory; + private CheckBoxPreference mPowerButtonEndsCallCheckBox; + private Map<String, ServiceInfo> mAccessibilityServices = new LinkedHashMap<String, ServiceInfo>(); @@ -63,6 +84,10 @@ public class AccessibilitySettings extends PreferenceActivity { mToggleCheckBox = (CheckBoxPreference) findPreference( TOGGLE_ACCESSIBILITY_SERVICE_CHECKBOX); + mPowerButtonCategory = (PreferenceCategory) findPreference(POWER_BUTTON_CATEGORY); + mPowerButtonEndsCallCheckBox = (CheckBoxPreference) findPreference( + POWER_BUTTON_ENDS_CALL_CHECKBOX); + addAccessibilitServicePreferences(); } @@ -105,9 +130,27 @@ public class AccessibilitySettings extends PreferenceActivity { // no service and accessibility is enabled => disable Settings.Secure.putInt(getContentResolver(), Settings.Secure.ACCESSIBILITY_ENABLED, 0); - setAccessibilityServicePreferencesState(false); } mToggleCheckBox.setEnabled(false); + // Notify user that they do not have any accessibility apps + // installed and direct them to Market to get TalkBack + displayNoAppsAlert(); + } + + if (KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER)) { + int incallPowerBehavior = Settings.Secure.getInt(getContentResolver(), + Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, + Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT); + // The checkbox is labeled "Power button ends call"; thus the in-call + // Power button behavior is INCALL_POWER_BUTTON_BEHAVIOR_HANGUP if + // checked, and INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF if unchecked. + boolean powerButtonCheckboxEnabled = + (incallPowerBehavior == Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP); + mPowerButtonEndsCallCheckBox.setChecked(powerButtonCheckboxEnabled); + mPowerButtonEndsCallCheckBox.setEnabled(true); + } else { + // No POWER key on the current device; this entire category is irrelevant. + getPreferenceScreen().removePreference(mPowerButtonCategory); } } @@ -119,7 +162,8 @@ public class AccessibilitySettings extends PreferenceActivity { } /** - * Sets the state of the preferences for enabling/disabling AccessibilityServices. + * Sets the state of the preferences for enabling/disabling + * AccessibilityServices. * * @param isEnabled If to enable or disable the preferences. */ @@ -132,9 +176,6 @@ public class AccessibilitySettings extends PreferenceActivity { for (int i = 0; i < count; i++) { Preference pref = mAccessibilityServicesCategory.getPreference(i); pref.setEnabled(isEnabled); - if (!isEnabled){ - ((CheckBoxPreference) pref).setChecked(false); - } } } @@ -145,6 +186,15 @@ public class AccessibilitySettings extends PreferenceActivity { if (TOGGLE_ACCESSIBILITY_SERVICE_CHECKBOX.equals(key)) { boolean isChecked = ((CheckBoxPreference) preference).isChecked(); handleEnableAccessibilityStateChange((CheckBoxPreference) preference); + } else if (POWER_BUTTON_ENDS_CALL_CHECKBOX.equals(key)) { + boolean isChecked = ((CheckBoxPreference) preference).isChecked(); + // The checkbox is labeled "Power button ends call"; thus the in-call + // Power button behavior is INCALL_POWER_BUTTON_BEHAVIOR_HANGUP if + // checked, and INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF if unchecked. + Settings.Secure.putInt(getContentResolver(), + Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, + (isChecked ? Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP + : Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF)); } else if (preference instanceof CheckBoxPreference) { handleEnableAccessibilityServiceStateChange((CheckBoxPreference) preference); } @@ -274,4 +324,43 @@ public class AccessibilitySettings extends PreferenceActivity { mAccessibilityServicesCategory.addPreference(preference); } } + + /** + * Displays a message telling the user that they do not have any accessibility + * related apps installed and that they can get TalkBack (Google's free screen + * reader) from Market. + */ + private void displayNoAppsAlert() { + try { + PackageManager pm = getPackageManager(); + ApplicationInfo info = pm.getApplicationInfo("com.android.vending", 0); + } catch (NameNotFoundException e) { + // This is a no-op if the user does not have Android Market + return; + } + AlertDialog.Builder noAppsAlert = new AlertDialog.Builder(this); + noAppsAlert.setTitle(R.string.accessibility_service_no_apps_title); + noAppsAlert.setMessage(R.string.accessibility_service_no_apps_message); + + noAppsAlert.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + String screenreaderMarketLink = + SystemProperties.get("ro.screenreader.market", + DEFAULT_SCREENREADER_MARKET_LINK); + Uri marketUri = Uri.parse(screenreaderMarketLink); + Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); + startActivity(marketIntent); + finish(); + } + }); + + noAppsAlert.setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + } + }); + + noAppsAlert.show(); + } } diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index 4b0469c..d984adb 100644 --- a/src/com/android/settings/ActivityPicker.java +++ b/src/com/android/settings/ActivityPicker.java @@ -16,6 +16,7 @@ package com.android.settings; +import android.graphics.ColorFilter; import android.util.DisplayMetrics; import com.android.internal.app.AlertActivity; import com.android.internal.app.AlertController; @@ -349,68 +350,124 @@ public class ActivityPicker extends AlertActivity implements int width = mIconWidth; int height = mIconHeight; - if (icon instanceof PaintDrawable) { - PaintDrawable painter = (PaintDrawable) icon; - painter.setIntrinsicWidth(width); - painter.setIntrinsicHeight(height); - } else if (icon instanceof BitmapDrawable) { - // Ensure the bitmap has a density. - BitmapDrawable bitmapDrawable = (BitmapDrawable) icon; - Bitmap bitmap = bitmapDrawable.getBitmap(); - if (bitmap.getDensity() == Bitmap.DENSITY_NONE) { - bitmapDrawable.setTargetDensity(mMetrics); - } + if (icon == null) { + return new EmptyDrawable(width, height); } - int iconWidth = icon.getIntrinsicWidth(); - int iconHeight = icon.getIntrinsicHeight(); - - if (iconWidth > 0 && iconHeight > 0) { - if (width < iconWidth || height < iconHeight) { - final float ratio = (float) iconWidth / iconHeight; - - if (iconWidth > iconHeight) { - height = (int) (width / ratio); - } else if (iconHeight > iconWidth) { - width = (int) (height * ratio); + + try { + if (icon instanceof PaintDrawable) { + PaintDrawable painter = (PaintDrawable) icon; + painter.setIntrinsicWidth(width); + painter.setIntrinsicHeight(height); + } else if (icon instanceof BitmapDrawable) { + // Ensure the bitmap has a density. + BitmapDrawable bitmapDrawable = (BitmapDrawable) icon; + Bitmap bitmap = bitmapDrawable.getBitmap(); + if (bitmap.getDensity() == Bitmap.DENSITY_NONE) { + bitmapDrawable.setTargetDensity(mMetrics); } - - final Bitmap.Config c = icon.getOpacity() != PixelFormat.OPAQUE ? - Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; - final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c); - final Canvas canvas = mCanvas; - canvas.setBitmap(thumb); - // Copy the old bounds to restore them later - // If we were to do oldBounds = icon.getBounds(), - // the call to setBounds() that follows would - // change the same instance and we would lose the - // old bounds - mOldBounds.set(icon.getBounds()); - final int x = (mIconWidth - width) / 2; - final int y = (mIconHeight - height) / 2; - icon.setBounds(x, y, x + width, y + height); - icon.draw(canvas); - icon.setBounds(mOldBounds); - //noinspection deprecation - icon = new BitmapDrawable(thumb); - ((BitmapDrawable) icon).setTargetDensity(mMetrics); - } else if (iconWidth < width && iconHeight < height) { - final Bitmap.Config c = Bitmap.Config.ARGB_8888; - final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c); - final Canvas canvas = mCanvas; - canvas.setBitmap(thumb); - mOldBounds.set(icon.getBounds()); - final int x = (width - iconWidth) / 2; - final int y = (height - iconHeight) / 2; - icon.setBounds(x, y, x + iconWidth, y + iconHeight); - icon.draw(canvas); - icon.setBounds(mOldBounds); - //noinspection deprecation - icon = new BitmapDrawable(thumb); - ((BitmapDrawable) icon).setTargetDensity(mMetrics); } + int iconWidth = icon.getIntrinsicWidth(); + int iconHeight = icon.getIntrinsicHeight(); + + if (iconWidth > 0 && iconHeight > 0) { + if (width < iconWidth || height < iconHeight) { + final float ratio = (float) iconWidth / iconHeight; + + if (iconWidth > iconHeight) { + height = (int) (width / ratio); + } else if (iconHeight > iconWidth) { + width = (int) (height * ratio); + } + + final Bitmap.Config c = icon.getOpacity() != PixelFormat.OPAQUE ? + Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; + final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c); + final Canvas canvas = mCanvas; + canvas.setBitmap(thumb); + // Copy the old bounds to restore them later + // If we were to do oldBounds = icon.getBounds(), + // the call to setBounds() that follows would + // change the same instance and we would lose the + // old bounds + mOldBounds.set(icon.getBounds()); + final int x = (mIconWidth - width) / 2; + final int y = (mIconHeight - height) / 2; + icon.setBounds(x, y, x + width, y + height); + icon.draw(canvas); + icon.setBounds(mOldBounds); + //noinspection deprecation + icon = new BitmapDrawable(thumb); + ((BitmapDrawable) icon).setTargetDensity(mMetrics); + } else if (iconWidth < width && iconHeight < height) { + final Bitmap.Config c = Bitmap.Config.ARGB_8888; + final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c); + final Canvas canvas = mCanvas; + canvas.setBitmap(thumb); + mOldBounds.set(icon.getBounds()); + final int x = (width - iconWidth) / 2; + final int y = (height - iconHeight) / 2; + icon.setBounds(x, y, x + iconWidth, y + iconHeight); + icon.draw(canvas); + icon.setBounds(mOldBounds); + //noinspection deprecation + icon = new BitmapDrawable(thumb); + ((BitmapDrawable) icon).setTargetDensity(mMetrics); + } + } + + } catch (Throwable t) { + icon = new EmptyDrawable(width, height); } return icon; } } + + private static class EmptyDrawable extends Drawable { + private final int mWidth; + private final int mHeight; + + EmptyDrawable(int width, int height) { + mWidth = width; + mHeight = height; + } + + @Override + public int getIntrinsicWidth() { + return mWidth; + } + + @Override + public int getIntrinsicHeight() { + return mHeight; + } + + @Override + public int getMinimumWidth() { + return mWidth; + } + + @Override + public int getMinimumHeight() { + return mHeight; + } + + @Override + public void draw(Canvas canvas) { + } + + @Override + public void setAlpha(int alpha) { + } + + @Override + public void setColorFilter(ColorFilter cf) { + } + + @Override + public int getOpacity() { + return PixelFormat.TRANSLUCENT; + } + } } diff --git a/src/com/android/settings/AppWidgetPickActivity.java b/src/com/android/settings/AppWidgetPickActivity.java index cddc687..176ac80 100644 --- a/src/com/android/settings/AppWidgetPickActivity.java +++ b/src/com/android/settings/AppWidgetPickActivity.java @@ -167,6 +167,7 @@ public class AppWidgetPickActivity extends ActivityPicker { */ void putAppWidgetItems(List<AppWidgetProviderInfo> appWidgets, List<Bundle> customExtras, List<PickAdapter.Item> items) { + if (appWidgets == null) return; final int size = appWidgets.size(); for (int i = 0; i < size; i++) { AppWidgetProviderInfo info = appWidgets.get(i); diff --git a/src/com/android/settings/ApplicationSettings.java b/src/com/android/settings/ApplicationSettings.java index 1df85dc..a919ae8 100644 --- a/src/com/android/settings/ApplicationSettings.java +++ b/src/com/android/settings/ApplicationSettings.java @@ -21,21 +21,35 @@ import android.content.DialogInterface; import android.content.res.Configuration; import android.os.Bundle; import android.preference.CheckBoxPreference; +import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; +import android.preference.Preference.OnPreferenceChangeListener; import android.provider.Settings; public class ApplicationSettings extends PreferenceActivity implements DialogInterface.OnClickListener { private static final String KEY_TOGGLE_INSTALL_APPLICATIONS = "toggle_install_applications"; + private static final String KEY_APP_INSTALL_LOCATION = "app_install_location"; private static final String KEY_QUICK_LAUNCH = "quick_launch"; - private CheckBoxPreference mToggleAppInstallation; + // App installation location. Default is ask the user. + private static final int APP_INSTALL_AUTO = 0; + private static final int APP_INSTALL_DEVICE = 1; + private static final int APP_INSTALL_SDCARD = 2; - private DialogInterface mWarnInstallApps; + private static final String APP_INSTALL_DEVICE_ID = "device"; + private static final String APP_INSTALL_SDCARD_ID = "sdcard"; + private static final String APP_INSTALL_AUTO_ID = "auto"; + private CheckBoxPreference mToggleAppInstallation; + + private ListPreference mInstallLocation; + + private DialogInterface mWarnInstallApps; + @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -45,6 +59,23 @@ public class ApplicationSettings extends PreferenceActivity implements mToggleAppInstallation = (CheckBoxPreference) findPreference(KEY_TOGGLE_INSTALL_APPLICATIONS); mToggleAppInstallation.setChecked(isNonMarketAppsAllowed()); + mInstallLocation = (ListPreference) findPreference(KEY_APP_INSTALL_LOCATION); + // Is app default install location set? + boolean userSetInstLocation = (Settings.System.getInt(getContentResolver(), + Settings.Secure.SET_INSTALL_LOCATION, 0) != 0); + if (!userSetInstLocation) { + getPreferenceScreen().removePreference(mInstallLocation); + } else { + mInstallLocation.setValue(getAppInstallLocation()); + mInstallLocation.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + public boolean onPreferenceChange(Preference preference, Object newValue) { + String value = (String) newValue; + handleUpdateAppInstallLocation(value); + return false; + } + }); + } + if (getResources().getConfiguration().keyboard == Configuration.KEYBOARD_NOKEYS) { // No hard keyboard, remove the setting for quick launch Preference quickLaunchSetting = findPreference(KEY_QUICK_LAUNCH); @@ -52,6 +83,24 @@ public class ApplicationSettings extends PreferenceActivity implements } } + protected void handleUpdateAppInstallLocation(final String value) { + if(APP_INSTALL_DEVICE_ID.equals(value)) { + Settings.System.putInt(getContentResolver(), + Settings.Secure.DEFAULT_INSTALL_LOCATION, APP_INSTALL_DEVICE); + } else if (APP_INSTALL_SDCARD_ID.equals(value)) { + Settings.System.putInt(getContentResolver(), + Settings.Secure.DEFAULT_INSTALL_LOCATION, APP_INSTALL_SDCARD); + } else if (APP_INSTALL_AUTO_ID.equals(value)) { + Settings.System.putInt(getContentResolver(), + Settings.Secure.DEFAULT_INSTALL_LOCATION, APP_INSTALL_AUTO); + } else { + // Should not happen, default to prompt... + Settings.System.putInt(getContentResolver(), + Settings.Secure.DEFAULT_INSTALL_LOCATION, APP_INSTALL_AUTO); + } + mInstallLocation.setValue(value); + } + @Override protected void onDestroy() { super.onDestroy(); @@ -70,7 +119,7 @@ public class ApplicationSettings extends PreferenceActivity implements setNonMarketAppsAllowed(false); } } - + return super.onPreferenceTreeClick(preferenceScreen, preference); } @@ -92,6 +141,21 @@ public class ApplicationSettings extends PreferenceActivity implements Settings.Secure.INSTALL_NON_MARKET_APPS, 0) > 0; } + private String getAppInstallLocation() { + int selectedLocation = Settings.System.getInt(getContentResolver(), + Settings.Secure.DEFAULT_INSTALL_LOCATION, APP_INSTALL_AUTO); + if (selectedLocation == APP_INSTALL_DEVICE) { + return APP_INSTALL_DEVICE_ID; + } else if (selectedLocation == APP_INSTALL_SDCARD) { + return APP_INSTALL_SDCARD_ID; + } else if (selectedLocation == APP_INSTALL_AUTO) { + return APP_INSTALL_AUTO_ID; + } else { + // Default value, should not happen. + return APP_INSTALL_AUTO_ID; + } + } + private void warnAppInstallation() { mWarnInstallApps = new AlertDialog.Builder(this) .setTitle(getString(R.string.error_title)) @@ -101,6 +165,4 @@ public class ApplicationSettings extends PreferenceActivity implements .setNegativeButton(android.R.string.no, null) .show(); } - - } diff --git a/src/com/android/settings/BandMode.java b/src/com/android/settings/BandMode.java index a8c7833..4c7663e 100644 --- a/src/com/android/settings/BandMode.java +++ b/src/com/android/settings/BandMode.java @@ -62,7 +62,7 @@ public class BandMode extends Activity { setContentView(R.layout.band_mode); setTitle(getString(R.string.band_mode_title)); - getWindow().setLayout(WindowManager.LayoutParams.FILL_PARENT, + getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); mPhone = PhoneFactory.getDefaultPhone(); diff --git a/src/com/android/settings/BrightnessPreference.java b/src/com/android/settings/BrightnessPreference.java index fe3b997..7494e2f 100644 --- a/src/com/android/settings/BrightnessPreference.java +++ b/src/com/android/settings/BrightnessPreference.java @@ -55,6 +55,7 @@ public class BrightnessPreference extends SeekBarPreference implements com.android.internal.R.bool.config_automatic_brightness_available); setDialogLayoutResource(R.layout.preference_dialog_brightness); + setDialogIcon(R.drawable.ic_settings_display); } @Override diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java new file mode 100644 index 0000000..0672ad9 --- /dev/null +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -0,0 +1,198 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import com.android.internal.widget.LockPatternUtils; + +import android.app.admin.DevicePolicyManager; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceActivity; +import android.preference.PreferenceCategory; +import android.preference.PreferenceScreen; + +public class ChooseLockGeneric extends PreferenceActivity { + private static final int MIN_PASSWORD_LENGTH = 4; + private static final String KEY_UNLOCK_SET_NONE = "unlock_set_none"; + private static final String KEY_UNLOCK_SET_PIN = "unlock_set_pin"; + private static final String KEY_UNLOCK_SET_PASSWORD = "unlock_set_password"; + private static final String KEY_UNLOCK_SET_PATTERN = "unlock_set_pattern"; + private static final int CONFIRM_EXISTING_REQUEST = 100; + private static final String PASSWORD_CONFIRMED = "password_confirmed"; + private static final String CONFIRM_CREDENTIALS = "confirm_credentials"; + + private ChooseLockSettingsHelper mChooseLockSettingsHelper; + private DevicePolicyManager mDPM; + private boolean mPasswordConfirmed = false; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); + mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this); + + if (savedInstanceState != null) { + mPasswordConfirmed = savedInstanceState.getBoolean(PASSWORD_CONFIRMED); + } + + if (!mPasswordConfirmed) { + ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(this); + if (!helper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST, null, null)) { + mPasswordConfirmed = true; // no password set, so no need to confirm + updatePreferencesOrFinish(); + } + } else { + updatePreferencesOrFinish(); + } + } + + @Override + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, + Preference preference) { + final String key = preference.getKey(); + boolean handled = true; + if (KEY_UNLOCK_SET_NONE.equals(key)) { + updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED); + } else if (KEY_UNLOCK_SET_PATTERN.equals(key)) { + updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING); + } else if (KEY_UNLOCK_SET_PIN.equals(key)) { + updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC); + } else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) { + updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC); + } else { + handled = false; + } + return handled; + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == CONFIRM_EXISTING_REQUEST && resultCode == RESULT_OK) { + mPasswordConfirmed = true; + updatePreferencesOrFinish(); + } else { + setResult(RESULT_CANCELED); + finish(); + } + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + // Saved so we don't force user to re-enter their password if configuration changes + outState.putBoolean(PASSWORD_CONFIRMED, mPasswordConfirmed); + } + + private void updatePreferencesOrFinish() { + int quality = getIntent().getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, -1); + if (quality == -1) { + // If caller didn't specify password quality, show the UI and allow the user to choose. + quality = mChooseLockSettingsHelper.utils().getKeyguardStoredPasswordQuality(); + final PreferenceScreen prefScreen = getPreferenceScreen(); + if (prefScreen != null) { + prefScreen.removeAll(); + } + addPreferencesFromResource(R.xml.security_settings_picker); + disableUnusablePreferences(mDPM.getPasswordQuality(null)); + } else { + updateUnlockMethodAndFinish(quality); + } + } + + /*** + * Disables preferences that are less secure than required quality. + * + * @param quality the requested quality. + */ + private void disableUnusablePreferences(final int quality) { + final Preference picker = getPreferenceScreen().findPreference("security_picker_category"); + final PreferenceCategory cat = (PreferenceCategory) picker; + final int preferenceCount = cat.getPreferenceCount(); + for (int i = 0; i < preferenceCount; i++) { + Preference pref = cat.getPreference(i); + if (pref instanceof PreferenceScreen) { + final String key = ((PreferenceScreen) pref).getKey(); + boolean enabled = true; + if (KEY_UNLOCK_SET_NONE.equals(key)) { + enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; + } else if (KEY_UNLOCK_SET_PATTERN.equals(key)) { + enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING; + } else if (KEY_UNLOCK_SET_PIN.equals(key)) { + enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC; + } else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) { + enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC; + } + if (!enabled) { + pref.setSummary(R.string.unlock_set_unlock_disabled_summary); + pref.setEnabled(false); + } + } + } + } + + /** + * Invokes an activity to change the user's pattern, password or PIN based on given quality + * and minimum quality specified by DevicePolicyManager. If quality is + * {@link DevicePolicyManager#PASSWORD_QUALITY_UNSPECIFIED}, password is cleared. + * + * @param quality the desired quality. Ignored if DevicePolicyManager requires more security. + */ + void updateUnlockMethodAndFinish(int quality) { + // Sanity check. We should never get here without confirming user's existing password first. + if (!mPasswordConfirmed) { + throw new IllegalStateException("Tried to update password without confirming first"); + } + + // Compare minimum allowed password quality and launch appropriate security setting method + int minQuality = mDPM.getPasswordQuality(null); + if (quality < minQuality) { + quality = minQuality; + } + if (quality >= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC) { + int minLength = mDPM.getPasswordMinimumLength(null); + if (minLength < MIN_PASSWORD_LENGTH) { + minLength = MIN_PASSWORD_LENGTH; + } + final int maxLength = mDPM.getPasswordMaximumLength(quality); + Intent intent = new Intent().setClass(this, ChooseLockPassword.class); + intent.putExtra(LockPatternUtils.PASSWORD_TYPE_KEY, quality); + intent.putExtra(ChooseLockPassword.PASSWORD_MIN_KEY, minLength); + intent.putExtra(ChooseLockPassword.PASSWORD_MAX_KEY, maxLength); + intent.putExtra(CONFIRM_CREDENTIALS, false); + intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); + startActivity(intent); + } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING) { + boolean showTutorial = !mChooseLockSettingsHelper.utils().isPatternEverChosen(); + Intent intent = new Intent(); + intent.setClass(this, showTutorial + ? ChooseLockPatternTutorial.class + : ChooseLockPattern.class); + intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); + intent.putExtra("key_lock_method", "pattern"); + intent.putExtra(CONFIRM_CREDENTIALS, false); + startActivity(intent); + } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) { + mChooseLockSettingsHelper.utils().clearLock(); + setResult(RESULT_OK); + } + finish(); + } +} diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java new file mode 100644 index 0000000..b5e72d7 --- /dev/null +++ b/src/com/android/settings/ChooseLockPassword.java @@ -0,0 +1,360 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import com.android.internal.widget.LockPatternUtils; +import com.android.internal.widget.PasswordEntryKeyboardHelper; +import com.android.internal.widget.PasswordEntryKeyboardView; + +import android.app.Activity; +import android.app.admin.DevicePolicyManager; +import android.content.Intent; +import android.inputmethodservice.KeyboardView; +import android.os.Bundle; +import android.os.Handler; +import android.text.Editable; +import android.text.Selection; +import android.text.Spannable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.KeyEvent; +import android.view.View; +import android.view.WindowManager; +import android.view.View.OnClickListener; +import android.view.inputmethod.EditorInfo; +import android.widget.Button; +import android.widget.TextView; +import android.widget.TextView.OnEditorActionListener; + + +public class ChooseLockPassword extends Activity implements OnClickListener, OnEditorActionListener, + TextWatcher { + private static final String KEY_FIRST_PIN = "first_pin"; + private static final String KEY_UI_STAGE = "ui_stage"; + private TextView mPasswordEntry; + private int mPasswordMinLength = 4; + private int mPasswordMaxLength = 16; + private LockPatternUtils mLockPatternUtils; + private int mRequestedQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC; + private ChooseLockSettingsHelper mChooseLockSettingsHelper; + private com.android.settings.ChooseLockPassword.Stage mUiStage = Stage.Introduction; + private TextView mHeaderText; + private String mFirstPin; + private KeyboardView mKeyboardView; + private PasswordEntryKeyboardHelper mKeyboardHelper; + private boolean mIsAlphaMode; + private Button mCancelButton; + private Button mNextButton; + public static final String PASSWORD_MIN_KEY = "lockscreen.password_min"; + public static final String PASSWORD_MAX_KEY = "lockscreen.password_max"; + private static Handler mHandler = new Handler(); + private static final int CONFIRM_EXISTING_REQUEST = 58; + static final int RESULT_FINISHED = RESULT_FIRST_USER; + private static final long ERROR_MESSAGE_TIMEOUT = 3000; + + /** + * Keep track internally of where the user is in choosing a pattern. + */ + protected enum Stage { + + Introduction(R.string.lockpassword_choose_your_password_header, + R.string.lockpassword_choose_your_pin_header, + R.string.lockpassword_continue_label), + + NeedToConfirm(R.string.lockpassword_confirm_your_password_header, + R.string.lockpassword_confirm_your_pin_header, + R.string.lockpassword_ok_label), + + ConfirmWrong(R.string.lockpassword_confirm_passwords_dont_match, + R.string.lockpassword_confirm_pins_dont_match, + R.string.lockpassword_continue_label); + + /** + * @param headerMessage The message displayed at the top. + */ + Stage(int hintInAlpha, int hintInNumeric, int nextButtonText) { + this.alphaHint = hintInAlpha; + this.numericHint = hintInNumeric; + this.buttonText = nextButtonText; + } + + public final int alphaHint; + public final int numericHint; + public final int buttonText; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + mLockPatternUtils = new LockPatternUtils(this); + mRequestedQuality = getIntent().getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, mRequestedQuality); + mPasswordMinLength = getIntent().getIntExtra(PASSWORD_MIN_KEY, mPasswordMinLength); + mPasswordMaxLength = getIntent().getIntExtra(PASSWORD_MAX_KEY, mPasswordMaxLength); + + final boolean confirmCredentials = getIntent().getBooleanExtra("confirm_credentials", true); + int minMode = mLockPatternUtils.getRequestedPasswordQuality(); + if (mRequestedQuality < minMode) { + mRequestedQuality = minMode; + } + int minLength = mLockPatternUtils.getRequestedMinimumPasswordLength(); + if (mPasswordMinLength < minLength) { + mPasswordMinLength = minLength; + } + initViews(); + mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this); + if (savedInstanceState == null) { + updateStage(Stage.Introduction); + if (confirmCredentials) { + mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST, + null, null); + } + } + } + + private void initViews() { + setContentView(R.layout.choose_lock_password); + // Disable IME on our window since we provide our own keyboard + getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, + WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + + mCancelButton = (Button) findViewById(R.id.cancel_button); + mCancelButton.setOnClickListener(this); + mNextButton = (Button) findViewById(R.id.next_button); + mNextButton.setOnClickListener(this); + + mKeyboardView = (PasswordEntryKeyboardView) findViewById(R.id.keyboard); + mPasswordEntry = (TextView) findViewById(R.id.password_entry); + mPasswordEntry.setOnEditorActionListener(this); + mPasswordEntry.addTextChangedListener(this); + + mIsAlphaMode = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == mRequestedQuality + || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == mRequestedQuality; + mKeyboardHelper = new PasswordEntryKeyboardHelper(this, mKeyboardView, mPasswordEntry); + mKeyboardHelper.setKeyboardMode(mIsAlphaMode ? + PasswordEntryKeyboardHelper.KEYBOARD_MODE_ALPHA + : PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC); + + mHeaderText = (TextView) findViewById(R.id.headerText); + mKeyboardView.requestFocus(); + } + + @Override + protected void onResume() { + super.onResume(); + updateStage(mUiStage); + mKeyboardView.requestFocus(); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putString(KEY_UI_STAGE, mUiStage.name()); + outState.putString(KEY_FIRST_PIN, mFirstPin); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + String state = savedInstanceState.getString(KEY_UI_STAGE); + mFirstPin = savedInstanceState.getString(KEY_FIRST_PIN); + if (state != null) { + mUiStage = Stage.valueOf(state); + updateStage(mUiStage); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, + Intent data) { + super.onActivityResult(requestCode, resultCode, data); + switch (requestCode) { + case CONFIRM_EXISTING_REQUEST: + if (resultCode != Activity.RESULT_OK) { + setResult(RESULT_FINISHED); + finish(); + } + break; + } + } + + protected void updateStage(Stage stage) { + mUiStage = stage; + updateUi(); + } + + /** + * Validates PIN and returns a message to display if PIN fails test. + * @param password the raw password the user typed in + * @return error message to show to user or null if password is OK + */ + private String validatePassword(String password) { + if (password.length() < mPasswordMinLength) { + return getString(mIsAlphaMode ? + R.string.lockpassword_password_too_short + : R.string.lockpassword_pin_too_short, mPasswordMinLength); + } + if (password.length() > mPasswordMaxLength) { + return getString(mIsAlphaMode ? + R.string.lockpassword_password_too_long + : R.string.lockpassword_pin_too_long, mPasswordMaxLength); + } + boolean hasAlpha = false; + boolean hasDigit = false; + boolean hasSymbol = false; + for (int i = 0; i < password.length(); i++) { + char c = password.charAt(i); + // allow non white space Latin-1 characters only + if (c <= 32 || c > 127) { + return getString(R.string.lockpassword_illegal_character); + } + if (c >= '0' && c <= '9') { + hasDigit = true; + } else if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) { + hasAlpha = true; + } else { + hasSymbol = true; + } + } + if (DevicePolicyManager.PASSWORD_QUALITY_NUMERIC == mRequestedQuality + && (hasAlpha | hasSymbol)) { + // This shouldn't be possible unless user finds some way to bring up soft keyboard + return getString(R.string.lockpassword_pin_contains_non_digits); + } else { + final boolean alphabetic = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC + == mRequestedQuality; + final boolean alphanumeric = DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC + == mRequestedQuality; + final boolean symbolic = false; // not yet + if ((alphabetic || alphanumeric) && !hasAlpha) { + return getString(R.string.lockpassword_password_requires_alpha); + } + if (alphanumeric && !hasDigit) { + return getString(R.string.lockpassword_password_requires_digit); + } + if (symbolic && !hasSymbol) { + return getString(R.string.lockpassword_password_requires_symbol); + } + } + return null; + } + + private void handleNext() { + final String pin = mPasswordEntry.getText().toString(); + if (TextUtils.isEmpty(pin)) { + return; + } + String errorMsg = null; + if (mUiStage == Stage.Introduction) { + errorMsg = validatePassword(pin); + if (errorMsg == null) { + mFirstPin = pin; + updateStage(Stage.NeedToConfirm); + mPasswordEntry.setText(""); + } + } else if (mUiStage == Stage.NeedToConfirm) { + if (mFirstPin.equals(pin)) { + mLockPatternUtils.clearLock(); + mLockPatternUtils.saveLockPassword(pin, mRequestedQuality); + finish(); + } else { + updateStage(Stage.ConfirmWrong); + CharSequence tmp = mPasswordEntry.getText(); + if (tmp != null) { + Selection.setSelection((Spannable) tmp, 0, tmp.length()); + } + } + } + if (errorMsg != null) { + showError(errorMsg, mUiStage); + } + } + + public void onClick(View v) { + switch (v.getId()) { + case R.id.next_button: + handleNext(); + break; + + case R.id.cancel_button: + finish(); + break; + } + } + + private void showError(String msg, final Stage next) { + mHeaderText.setText(msg); + mHandler.postDelayed(new Runnable() { + public void run() { + updateStage(next); + } + }, ERROR_MESSAGE_TIMEOUT); + } + + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + // Check if this was the result of hitting the enter key + if (actionId == EditorInfo.IME_NULL) { + handleNext(); + return true; + } + return false; + } + + /** + * Update the hint based on current Stage and length of password entry + */ + private void updateUi() { + String password = mPasswordEntry.getText().toString(); + final int length = password.length(); + if (mUiStage == Stage.Introduction && length > 0) { + if (length < mPasswordMinLength) { + String msg = getString(mIsAlphaMode ? R.string.lockpassword_password_too_short + : R.string.lockpassword_pin_too_short, mPasswordMinLength); + mHeaderText.setText(msg); + mNextButton.setEnabled(false); + } else { + String error = validatePassword(password); + if (error != null) { + mHeaderText.setText(error); + mNextButton.setEnabled(false); + } else { + mHeaderText.setText(R.string.lockpassword_press_continue); + mNextButton.setEnabled(true); + } + } + } else { + mHeaderText.setText(mIsAlphaMode ? mUiStage.alphaHint : mUiStage.numericHint); + mNextButton.setEnabled(length > 0); + } + mNextButton.setText(mUiStage.buttonText); + } + + public void afterTextChanged(Editable s) { + // Changing the text while error displayed resets to NeedToConfirm state + if (mUiStage == Stage.ConfirmWrong) { + mUiStage = Stage.NeedToConfirm; + } + updateUi(); + } + + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } +} diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java index f103c6b..b5c0e80 100644 --- a/src/com/android/settings/ChooseLockPattern.java +++ b/src/com/android/settings/ChooseLockPattern.java @@ -45,7 +45,6 @@ import java.util.List; * - saves chosen password when confirmed */ public class ChooseLockPattern extends Activity implements View.OnClickListener{ - /** * Used by the choose lock pattern wizard to indicate the wizard is * finished, and each activity in the wizard should finish. @@ -56,7 +55,9 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ * result. */ static final int RESULT_FINISHED = RESULT_FIRST_USER; - + + public static final int CONFIRM_EXISTING_REQUEST = 55; + // how long after a confirmation message is shown before moving on static final int INFORMATION_MSG_TIMEOUT_MS = 3000; @@ -65,29 +66,38 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ private static final int ID_EMPTY_MESSAGE = -1; - protected TextView mHeaderText; protected LockPatternView mLockPatternView; protected TextView mFooterText; private TextView mFooterLeftButton; private TextView mFooterRightButton; - protected List<LockPatternView.Cell> mChosenPattern = null; - protected LockPatternUtils mLockPatternUtils; - /** * The patten used during the help screen to show how to draw a pattern. */ private final List<LockPatternView.Cell> mAnimatePattern = - Collections.unmodifiableList( - Lists.newArrayList( - LockPatternView.Cell.of(0, 0), - LockPatternView.Cell.of(0, 1), - LockPatternView.Cell.of(1, 1), - LockPatternView.Cell.of(2, 1) - )); + Collections.unmodifiableList(Lists.newArrayList( + LockPatternView.Cell.of(0, 0), + LockPatternView.Cell.of(0, 1), + LockPatternView.Cell.of(1, 1), + LockPatternView.Cell.of(2, 1) + )); + @Override + protected void onActivityResult(int requestCode, int resultCode, + Intent data) { + super.onActivityResult(requestCode, resultCode, data); + switch (requestCode) { + case CONFIRM_EXISTING_REQUEST: + if (resultCode != Activity.RESULT_OK) { + setResult(RESULT_FINISHED); + finish(); + } + updateStage(Stage.Introduction); + break; + } + } /** * The pattern listener that responds according to a user choosing a new @@ -125,7 +135,7 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ } } - public void onPatternCellAdded(List<Cell> pattern) { + public void onPatternCellAdded(List<Cell> pattern) { } @@ -250,19 +260,19 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ } }; + private ChooseLockSettingsHelper mChooseLockSettingsHelper; + private static final String KEY_UI_STAGE = "uiStage"; private static final String KEY_PATTERN_CHOICE = "chosenPattern"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - - mLockPatternUtils = new LockPatternUtils(getContentResolver()); - + mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this); requestWindowFeature(Window.FEATURE_NO_TITLE); setupViews(); - + // make it so unhandled touch events within the unlock screen go to the // lock pattern view. final LinearLayoutWithDefaultTouchRecepient topLayout @@ -270,12 +280,22 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ R.id.topLayout); topLayout.setDefaultTouchRecepient(mLockPatternView); + final boolean confirmCredentials = getIntent().getBooleanExtra("confirm_credentials", true); + if (savedInstanceState == null) { - // first launch - updateStage(Stage.Introduction); - if (mLockPatternUtils.savedPatternExists()) { - confirmPattern(); - } + if (confirmCredentials) { + // first launch. As a security measure, we're in NeedToConfirm mode until we know + // there isn't an existing password or the user confirms their password. + updateStage(Stage.NeedToConfirm); + boolean launchedConfirmationActivity = + mChooseLockSettingsHelper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST, + null, null); + if (!launchedConfirmationActivity) { + updateStage(Stage.Introduction); + } + } else { + updateStage(Stage.Introduction); + } } else { // restore from previous state final String patternString = savedInstanceState.getString(KEY_PATTERN_CHOICE); @@ -285,19 +305,20 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ updateStage(Stage.values()[savedInstanceState.getInt(KEY_UI_STAGE)]); } } - + /** * Keep all "find view" related stuff confined to this function since in * case someone needs to subclass and customize. */ protected void setupViews() { setContentView(R.layout.choose_lock_pattern); - + mHeaderText = (TextView) findViewById(R.id.headerText); mLockPatternView = (LockPatternView) findViewById(R.id.lockPattern); mLockPatternView.setOnPatternListener(mChooseNewLockPatternListener); - mLockPatternView.setTactileFeedbackEnabled(mLockPatternUtils.isTactileFeedbackEnabled()); + mLockPatternView.setTactileFeedbackEnabled( + mChooseLockSettingsHelper.utils().isTactileFeedbackEnabled()); mFooterText = (TextView) findViewById(R.id.footerText); @@ -364,35 +385,6 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ return super.onKeyDown(keyCode, event); } - /** - * Launch screen to confirm the existing lock pattern. - * @see #onActivityResult(int, int, android.content.Intent) - */ - protected void confirmPattern() { - final Intent intent = new Intent(); - intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern"); - startActivityForResult(intent, 55); - } - - /** - * @see #confirmPattern - */ - @Override - protected void onActivityResult(int requestCode, int resultCode, - Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - if (requestCode != 55) { - return; - } - - if (resultCode != Activity.RESULT_OK) { - setResult(RESULT_FINISHED); - finish(); - } - updateStage(Stage.Introduction); - } - @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); @@ -414,7 +406,7 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ mUiStage = stage; - // header text, footer text, visibility and + // header text, footer text, visibility and // enabled state all known from the stage if (stage == Stage.ChoiceTooShort) { mHeaderText.setText( @@ -486,16 +478,17 @@ public class ChooseLockPattern extends Activity implements View.OnClickListener{ } private void saveChosenPatternAndFinish() { - final boolean lockVirgin = !mLockPatternUtils.isPatternEverChosen(); + LockPatternUtils utils = mChooseLockSettingsHelper.utils(); + final boolean lockVirgin = !utils.isPatternEverChosen(); - mLockPatternUtils.saveLockPattern(mChosenPattern); - mLockPatternUtils.setLockPatternEnabled(true); + utils.saveLockPattern(mChosenPattern); + utils.setLockPatternEnabled(true); if (lockVirgin) { - mLockPatternUtils.setVisiblePatternEnabled(true); - mLockPatternUtils.setTactileFeedbackEnabled(false); + utils.setVisiblePatternEnabled(true); + utils.setTactileFeedbackEnabled(false); } - + setResult(RESULT_FINISHED); finish(); } diff --git a/src/com/android/settings/ChooseLockPatternExample.java b/src/com/android/settings/ChooseLockPatternExample.java index 77517b9..cba88b0 100644 --- a/src/com/android/settings/ChooseLockPatternExample.java +++ b/src/com/android/settings/ChooseLockPatternExample.java @@ -25,7 +25,6 @@ import android.view.View; import android.widget.ImageView; public class ChooseLockPatternExample extends Activity implements View.OnClickListener { - private static final int REQUESTCODE_CHOOSE = 1; private static final long START_DELAY = 1000; protected static final String TAG = "Settings"; private View mNextButton; @@ -38,26 +37,26 @@ public class ChooseLockPatternExample extends Activity implements View.OnClickLi startAnimation(mAnimation); } }; - + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.choose_lock_pattern_example); initViews(); } - + @Override protected void onResume() { super.onResume(); mHandler.postDelayed(mRunnable, START_DELAY); } - + @Override protected void onPause() { super.onPause(); stopAnimation(mAnimation); } - + public void onClick(View v) { if (v == mSkipButton) { // Canceling, so finish all @@ -66,37 +65,31 @@ public class ChooseLockPatternExample extends Activity implements View.OnClickLi } else if (v == mNextButton) { stopAnimation(mAnimation); Intent intent = new Intent(this, ChooseLockPattern.class); - startActivityForResult(intent, REQUESTCODE_CHOOSE); - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == REQUESTCODE_CHOOSE && resultCode == ChooseLockPattern.RESULT_FINISHED) { - setResult(resultCode); + intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); + startActivity(intent); finish(); } } - + private void initViews() { mNextButton = findViewById(R.id.next_button); mNextButton.setOnClickListener(this); - + mSkipButton = findViewById(R.id.skip_button); mSkipButton.setOnClickListener(this); - + mImageView = (ImageView) findViewById(R.id.lock_anim); mImageView.setBackgroundResource(R.drawable.lock_anim); mImageView.setOnClickListener(this); mAnimation = (AnimationDrawable) mImageView.getBackground(); } - + protected void startAnimation(final AnimationDrawable animation) { if (animation != null && !animation.isRunning()) { animation.run(); } } - + protected void stopAnimation(final AnimationDrawable animation) { if (animation != null && animation.isRunning()) animation.stop(); } diff --git a/src/com/android/settings/ChooseLockPatternTutorial.java b/src/com/android/settings/ChooseLockPatternTutorial.java index 6e92ca8..ee0019f 100644 --- a/src/com/android/settings/ChooseLockPatternTutorial.java +++ b/src/com/android/settings/ChooseLockPatternTutorial.java @@ -24,26 +24,24 @@ import android.os.Bundle; import android.view.View; public class ChooseLockPatternTutorial extends Activity implements View.OnClickListener { - private static final int REQUESTCODE_EXAMPLE = 1; - private View mNextButton; private View mSkipButton; - + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Don't show the tutorial if the user has seen it before. - LockPatternUtils lockPatternUtils = new LockPatternUtils(getContentResolver()); + LockPatternUtils lockPatternUtils = new LockPatternUtils(this); if (savedInstanceState == null && lockPatternUtils.isPatternEverChosen()) { - Intent intent = new Intent(); - intent.setClassName("com.android.settings", "com.android.settings.ChooseLockPattern"); + Intent intent = new Intent(this, ChooseLockPattern.class); + intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(intent); finish(); } else { initViews(); } } - + private void initViews() { setContentView(R.layout.choose_lock_pattern_tutorial); mNextButton = findViewById(R.id.next_button); @@ -58,18 +56,11 @@ public class ChooseLockPatternTutorial extends Activity implements View.OnClickL setResult(ChooseLockPattern.RESULT_FINISHED); finish(); } else if (v == mNextButton) { - startActivityForResult(new Intent(this, ChooseLockPatternExample.class), - REQUESTCODE_EXAMPLE); - } - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == REQUESTCODE_EXAMPLE && resultCode == ChooseLockPattern.RESULT_FINISHED) { - setResult(resultCode); + Intent intent = new Intent(this, ChooseLockPatternExample.class); + intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); + startActivity(intent); finish(); } } - } diff --git a/src/com/android/settings/ChooseLockSettingsHelper.java b/src/com/android/settings/ChooseLockSettingsHelper.java new file mode 100644 index 0000000..ba83f8e --- /dev/null +++ b/src/com/android/settings/ChooseLockSettingsHelper.java @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import android.app.Activity; +import android.app.admin.DevicePolicyManager; +import android.content.Intent; + +import com.android.internal.widget.LockPatternUtils; + +public class ChooseLockSettingsHelper { + private LockPatternUtils mLockPatternUtils; + private Activity mActivity; + + public ChooseLockSettingsHelper(Activity activity) { + mActivity = activity; + mLockPatternUtils = new LockPatternUtils(activity); + } + + public LockPatternUtils utils() { + return mLockPatternUtils; + } + + /** + * If a pattern, password or PIN exists, prompt the user before allowing them to change it. + * @param message optional message to display about the action about to be done + * @param details optional detail message to display + * @return true if one exists and we launched an activity to confirm it + * @see #onActivityResult(int, int, android.content.Intent) + */ + protected boolean launchConfirmationActivity(int request, + CharSequence message, CharSequence details) { + boolean launched = false; + switch (mLockPatternUtils.getKeyguardStoredPasswordQuality()) { + case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING: + launched = confirmPattern(request, message, details); + break; + case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC: + case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC: + case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC: + // TODO: update UI layout for ConfirmPassword to show message and details + launched = confirmPassword(request); + break; + } + return launched; + } + + /** + * Launch screen to confirm the existing lock pattern. + * @param message shown in header of ConfirmLockPattern if not null + * @param details shown in footer of ConfirmLockPattern if not null + * @see #onActivityResult(int, int, android.content.Intent) + * @return true if we launched an activity to confirm pattern + */ + private boolean confirmPattern(int request, CharSequence message, CharSequence details) { + if (!mLockPatternUtils.isLockPatternEnabled() || !mLockPatternUtils.savedPatternExists()) { + return false; + } + final Intent intent = new Intent(); + // supply header and footer text in the intent + intent.putExtra(ConfirmLockPattern.HEADER_TEXT, message); + intent.putExtra(ConfirmLockPattern.FOOTER_TEXT, details); + intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern"); + mActivity.startActivityForResult(intent, request); + return true; + } + + /** + * Launch screen to confirm the existing lock password. + * @see #onActivityResult(int, int, android.content.Intent) + * @return true if we launched an activity to confirm password + */ + private boolean confirmPassword(int request) { + if (!mLockPatternUtils.isLockPasswordEnabled()) return false; + final Intent intent = new Intent(); + intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPassword"); + mActivity.startActivityForResult(intent, request); + return true; + } + + +} diff --git a/src/com/android/settings/ConfirmLockPassword.java b/src/com/android/settings/ConfirmLockPassword.java new file mode 100644 index 0000000..6bc135b --- /dev/null +++ b/src/com/android/settings/ConfirmLockPassword.java @@ -0,0 +1,131 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import com.android.internal.widget.LockPatternUtils; +import com.android.internal.widget.PasswordEntryKeyboardHelper; +import com.android.internal.widget.PasswordEntryKeyboardView; + +import android.app.Activity; +import android.app.admin.DevicePolicyManager; +import android.os.Bundle; +import android.os.Handler; +import android.text.Editable; +import android.view.KeyEvent; +import android.view.View; +import android.view.WindowManager; +import android.view.View.OnClickListener; +import android.view.inputmethod.EditorInfo; +import android.widget.Button; +import android.widget.TextView; +import android.widget.TextView.OnEditorActionListener; + +public class ConfirmLockPassword extends Activity implements OnClickListener, + OnEditorActionListener { + private static final long ERROR_MESSAGE_TIMEOUT = 3000; + private TextView mPasswordEntry; + private LockPatternUtils mLockPatternUtils; + private TextView mHeaderText; + private Handler mHandler = new Handler(); + private PasswordEntryKeyboardHelper mKeyboardHelper; + private PasswordEntryKeyboardView mKeyboardView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + mLockPatternUtils = new LockPatternUtils(this); + initViews(); + } + + private void initViews() { + final int storedQuality = mLockPatternUtils.getKeyguardStoredPasswordQuality(); + setContentView(R.layout.confirm_lock_password); + // Disable IME on our window since we provide our own keyboard + getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, + WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + + findViewById(R.id.cancel_button).setOnClickListener(this); + findViewById(R.id.next_button).setOnClickListener(this); + mPasswordEntry = (TextView) findViewById(R.id.password_entry); + mPasswordEntry.setOnEditorActionListener(this); + mKeyboardView = (PasswordEntryKeyboardView) findViewById(R.id.keyboard); + mHeaderText = (TextView) findViewById(R.id.headerText); + final boolean isAlpha = DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC == storedQuality + || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == storedQuality; + mHeaderText.setText(isAlpha ? R.string.lockpassword_confirm_your_password_header + : R.string.lockpassword_confirm_your_pin_header); + mKeyboardHelper = new PasswordEntryKeyboardHelper(this, mKeyboardView, mPasswordEntry); + mKeyboardHelper.setKeyboardMode(isAlpha ? PasswordEntryKeyboardHelper.KEYBOARD_MODE_ALPHA + : PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC); + mKeyboardView.requestFocus(); + } + + @Override + protected void onPause() { + super.onPause(); + mKeyboardView.requestFocus(); + } + + @Override + protected void onResume() { + // TODO Auto-generated method stub + super.onResume(); + mKeyboardView.requestFocus(); + } + + private void handleNext() { + final String pin = mPasswordEntry.getText().toString(); + if (mLockPatternUtils.checkPassword(pin)) { + setResult(RESULT_OK); + finish(); + } else { + showError(R.string.lockpattern_need_to_unlock_wrong); + } + } + + public void onClick(View v) { + switch (v.getId()) { + case R.id.next_button: + handleNext(); + break; + + case R.id.cancel_button: + setResult(RESULT_CANCELED); + finish(); + break; + } + } + + private void showError(int msg) { + mHeaderText.setText(msg); + mPasswordEntry.setText(null); + mHandler.postDelayed(new Runnable() { + public void run() { + mHeaderText.setText(R.string.lockpassword_confirm_your_password_header); + } + }, ERROR_MESSAGE_TIMEOUT); + } + + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + // Check if this was the result of hitting the enter key + if (actionId == EditorInfo.IME_NULL) { + handleNext(); + return true; + } + return false; + } +} diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java index a91b45f..eb9a4d8 100644 --- a/src/com/android/settings/ConfirmLockPattern.java +++ b/src/com/android/settings/ConfirmLockPattern.java @@ -80,7 +80,7 @@ public class ConfirmLockPattern extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mLockPatternUtils = new LockPatternUtils(getContentResolver()); + mLockPatternUtils = new LockPatternUtils(this); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.confirm_lock_pattern); @@ -94,7 +94,7 @@ public class ConfirmLockPattern extends Activity { final LinearLayoutWithDefaultTouchRecepient topLayout = (LinearLayoutWithDefaultTouchRecepient) findViewById( R.id.topLayout); - topLayout.setDefaultTouchRecepient(mLockPatternView); + topLayout.setDefaultTouchRecepient(mLockPatternView); Intent intent = getIntent(); if (intent != null) { @@ -161,7 +161,7 @@ public class ConfirmLockPattern extends Activity { } else { mFooterTextView.setText(R.string.lockpattern_need_to_unlock_footer); } - + mLockPatternView.setEnabled(true); mLockPatternView.enableInput(); break; @@ -176,7 +176,7 @@ public class ConfirmLockPattern extends Activity { } else { mFooterTextView.setText(R.string.lockpattern_need_to_unlock_wrong_footer); } - + mLockPatternView.setDisplayMode(LockPatternView.DisplayMode.Wrong); mLockPatternView.setEnabled(true); mLockPatternView.enableInput(); diff --git a/src/com/android/settings/CredentialInstaller.java b/src/com/android/settings/CredentialInstaller.java index 5a457d7..7c63b1c 100644 --- a/src/com/android/settings/CredentialInstaller.java +++ b/src/com/android/settings/CredentialInstaller.java @@ -32,6 +32,7 @@ import android.util.Log; */ public class CredentialInstaller extends Activity { private static final String TAG = "CredentialInstaller"; + private static final String UNLOCKING = "ulck"; private KeyStore mKeyStore = KeyStore.getInstance(); private boolean mUnlocking = false; @@ -42,15 +43,26 @@ public class CredentialInstaller extends Activity { if (!"com.android.certinstaller".equals(getCallingPackage())) finish(); - if (!isKeyStoreLocked()) { + if (isKeyStoreUnlocked()) { install(); - finish(); } else if (!mUnlocking) { mUnlocking = true; Credentials.getInstance().unlock(this); - } else { - finish(); + return; } + finish(); + } + + @Override + protected void onSaveInstanceState(Bundle outStates) { + super.onSaveInstanceState(outStates); + outStates.putBoolean(UNLOCKING, mUnlocking); + } + + @Override + protected void onRestoreInstanceState(Bundle savedStates) { + super.onRestoreInstanceState(savedStates); + mUnlocking = savedStates.getBoolean(UNLOCKING); } private void install() { @@ -61,13 +73,13 @@ public class CredentialInstaller extends Activity { byte[] data = bundle.getByteArray(key); if (data == null) continue; boolean success = mKeyStore.put(key.getBytes(), data); - Log.v(TAG, "install " + key + ": " + data.length + " success? " + success); + Log.d(TAG, "install " + key + ": " + data.length + " success? " + success); if (!success) return; } setResult(RESULT_OK); } - private boolean isKeyStoreLocked() { - return (mKeyStore.test() != KeyStore.NO_ERROR); + private boolean isKeyStoreUnlocked() { + return (mKeyStore.test() == KeyStore.NO_ERROR); } } diff --git a/src/com/android/settings/DeviceAdminAdd.java b/src/com/android/settings/DeviceAdminAdd.java new file mode 100644 index 0000000..4760277 --- /dev/null +++ b/src/com/android/settings/DeviceAdminAdd.java @@ -0,0 +1,284 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import org.xmlpull.v1.XmlPullParserException; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.admin.DeviceAdminInfo; +import android.app.admin.DeviceAdminReceiver; +import android.app.admin.DevicePolicyManager; +import android.content.ComponentName; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.RemoteCallback; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AppSecurityPermissions; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; + +import java.io.IOException; +import java.util.ArrayList; + +public class DeviceAdminAdd extends Activity { + static final String TAG = "DeviceAdminAdd"; + + static final int DIALOG_WARNING = 1; + + Handler mHandler; + + DevicePolicyManager mDPM; + DeviceAdminInfo mDeviceAdmin; + CharSequence mAddMsgText; + + TextView mTitle; + ImageView mAdminIcon; + TextView mAdminName; + TextView mAdminDescription; + TextView mAddMsg; + TextView mAdminWarning; + ViewGroup mAdminPolicies; + Button mActionButton; + Button mCancelButton; + + View mSelectLayout; + + final ArrayList<View> mAddingPolicies = new ArrayList<View>(); + final ArrayList<View> mActivePolicies = new ArrayList<View>(); + + boolean mAdding; + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + + mHandler = new Handler(getMainLooper()); + + mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); + + if ((getIntent().getFlags()&Intent.FLAG_ACTIVITY_NEW_TASK) != 0) { + Log.w(TAG, "Can now start ADD_DEVICE_ADMIN as a new task"); + finish(); + return; + } + + ComponentName cn = (ComponentName)getIntent().getParcelableExtra( + DevicePolicyManager.EXTRA_DEVICE_ADMIN); + if (cn == null) { + Log.w(TAG, "No component specified in " + getIntent().getAction()); + finish(); + return; + } + if (DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN.equals(getIntent().getAction())) { + // If this was an add request, then just exit immediately if the + // given component is already added. + if (mDPM.isAdminActive(cn)) { + setResult(Activity.RESULT_OK); + finish(); + return; + } + } + + ActivityInfo ai; + try { + ai = getPackageManager().getReceiverInfo(cn, + PackageManager.GET_META_DATA); + } catch (PackageManager.NameNotFoundException e) { + Log.w(TAG, "Unable to retrieve device policy " + cn, e); + finish(); + return; + } + + ResolveInfo ri = new ResolveInfo(); + ri.activityInfo = ai; + try { + mDeviceAdmin= new DeviceAdminInfo(this, ri); + } catch (XmlPullParserException e) { + Log.w(TAG, "Unable to retrieve device policy " + cn, e); + finish(); + return; + } catch (IOException e) { + Log.w(TAG, "Unable to retrieve device policy " + cn, e); + finish(); + return; + } + + mAddMsgText = getIntent().getCharSequenceExtra( + DevicePolicyManager.EXTRA_ADD_EXPLANATION); + + setContentView(R.layout.device_admin_add); + + mTitle = (TextView)findViewById(R.id.title); + mAdminIcon = (ImageView)findViewById(R.id.admin_icon); + mAdminName = (TextView)findViewById(R.id.admin_name); + mAdminDescription = (TextView)findViewById(R.id.admin_description); + mAddMsg = (TextView)findViewById(R.id.add_msg); + mAdminWarning = (TextView)findViewById(R.id.admin_warning); + mAdminPolicies = (ViewGroup)findViewById(R.id.admin_policies); + mCancelButton = (Button)findViewById(R.id.cancel_button); + mCancelButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + finish(); + } + }); + mActionButton = (Button)findViewById(R.id.action_button); + mActionButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + if (mAdding) { + try { + mDPM.setActiveAdmin(mDeviceAdmin.getComponent()); + setResult(Activity.RESULT_OK); + } catch (RuntimeException e) { + // Something bad happened... could be that it was + // already set, though. + Log.w(TAG, "Exception trying to activate admin " + + mDeviceAdmin.getComponent(), e); + if (mDPM.isAdminActive(mDeviceAdmin.getComponent())) { + setResult(Activity.RESULT_OK); + } + } + finish(); + } else { + mDPM.getRemoveWarning(mDeviceAdmin.getComponent(), + new RemoteCallback(mHandler) { + @Override + protected void onResult(Bundle bundle) { + CharSequence msg = bundle != null + ? bundle.getCharSequence( + DeviceAdminReceiver.EXTRA_DISABLE_WARNING) + : null; + if (msg == null) { + mDPM.removeActiveAdmin(mDeviceAdmin.getComponent()); + finish(); + } else { + Bundle args = new Bundle(); + args.putCharSequence( + DeviceAdminReceiver.EXTRA_DISABLE_WARNING, msg); + showDialog(DIALOG_WARNING, args); + } + } + }); + } + } + }); + } + + @Override + protected void onResume() { + super.onResume(); + updateInterface(); + } + + @Override + protected Dialog onCreateDialog(int id, Bundle args) { + switch (id) { + case DIALOG_WARNING: { + CharSequence msg = args.getCharSequence(DeviceAdminReceiver.EXTRA_DISABLE_WARNING); + AlertDialog.Builder builder = new AlertDialog.Builder( + DeviceAdminAdd.this); + builder.setMessage(msg); + builder.setPositiveButton(R.string.dlg_ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + mDPM.removeActiveAdmin(mDeviceAdmin.getComponent()); + finish(); + } + }); + builder.setNegativeButton(R.string.dlg_cancel, null); + return builder.create(); + } + default: + return super.onCreateDialog(id, args); + + } + } + + static void setViewVisibility(ArrayList<View> views, int visibility) { + final int N = views.size(); + for (int i=0; i<N; i++) { + views.get(i).setVisibility(visibility); + } + } + + void updateInterface() { + mAdminIcon.setImageDrawable(mDeviceAdmin.loadIcon(getPackageManager())); + mAdminName.setText(mDeviceAdmin.loadLabel(getPackageManager())); + try { + mAdminDescription.setText( + mDeviceAdmin.loadDescription(getPackageManager())); + mAdminDescription.setVisibility(View.VISIBLE); + } catch (Resources.NotFoundException e) { + mAdminDescription.setVisibility(View.GONE); + } + if (mAddMsgText != null) { + mAddMsg.setText(mAddMsgText); + mAddMsg.setVisibility(View.VISIBLE); + } else { + mAddMsg.setVisibility(View.GONE); + } + if (mDPM.isAdminActive(mDeviceAdmin.getComponent())) { + if (mActivePolicies.size() == 0) { + ArrayList<DeviceAdminInfo.PolicyInfo> policies = mDeviceAdmin.getUsedPolicies(); + for (int i=0; i<policies.size(); i++) { + DeviceAdminInfo.PolicyInfo pi = policies.get(i); + View view = AppSecurityPermissions.getPermissionItemView( + this, getText(pi.label), "", true); + mActivePolicies.add(view); + mAdminPolicies.addView(view); + } + } + setViewVisibility(mActivePolicies, View.VISIBLE); + setViewVisibility(mAddingPolicies, View.GONE); + mAdminWarning.setText(getString(R.string.device_admin_status, + mDeviceAdmin.getActivityInfo().applicationInfo.loadLabel(getPackageManager()))); + mTitle.setText(getText(R.string.active_device_admin_msg)); + mActionButton.setText(getText(R.string.remove_device_admin)); + mAdding = false; + } else { + if (mAddingPolicies.size() == 0) { + ArrayList<DeviceAdminInfo.PolicyInfo> policies = mDeviceAdmin.getUsedPolicies(); + for (int i=0; i<policies.size(); i++) { + DeviceAdminInfo.PolicyInfo pi = policies.get(i); + View view = AppSecurityPermissions.getPermissionItemView( + this, getText(pi.label), getText(pi.description), true); + mAddingPolicies.add(view); + mAdminPolicies.addView(view); + } + } + setViewVisibility(mAddingPolicies, View.VISIBLE); + setViewVisibility(mActivePolicies, View.GONE); + mAdminWarning.setText(getString(R.string.device_admin_warning, + mDeviceAdmin.getActivityInfo().applicationInfo.loadLabel(getPackageManager()))); + mTitle.setText(getText(R.string.add_device_admin_msg)); + mActionButton.setText(getText(R.string.add_device_admin)); + mAdding = true; + } + } + +} diff --git a/src/com/android/settings/DeviceAdminSettings.java b/src/com/android/settings/DeviceAdminSettings.java new file mode 100644 index 0000000..c3c74b6 --- /dev/null +++ b/src/com/android/settings/DeviceAdminSettings.java @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import org.xmlpull.v1.XmlPullParserException; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.ListActivity; +import android.app.admin.DeviceAdminInfo; +import android.app.admin.DeviceAdminReceiver; +import android.app.admin.DevicePolicyManager; +import android.content.ComponentName; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.res.Resources; +import android.os.Bundle; +import android.os.Handler; +import android.os.RemoteCallback; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.CheckBox; +import android.widget.ImageView; +import android.widget.ListView; +import android.widget.TextView; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; + +public class DeviceAdminSettings extends ListActivity { + static final String TAG = "DeviceAdminSettings"; + + static final int DIALOG_WARNING = 1; + + DevicePolicyManager mDPM; + final HashSet<ComponentName> mActiveAdmins = new HashSet<ComponentName>(); + final ArrayList<DeviceAdminInfo> mAvailableAdmins = new ArrayList<DeviceAdminInfo>(); + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + + mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); + + setContentView(R.layout.device_admin_settings); + } + + @Override + protected void onResume() { + super.onResume(); + updateList(); + } + + void updateList() { + mActiveAdmins.clear(); + List<ComponentName> cur = mDPM.getActiveAdmins(); + if (cur != null) { + for (int i=0; i<cur.size(); i++) { + mActiveAdmins.add(cur.get(i)); + } + } + + mAvailableAdmins.clear(); + List<ResolveInfo> avail = getPackageManager().queryBroadcastReceivers( + new Intent(DeviceAdminReceiver.ACTION_DEVICE_ADMIN_ENABLED), + PackageManager.GET_META_DATA); + int count = avail == null ? 0 : avail.size(); + for (int i=0; i<count; i++) { + ResolveInfo ri = avail.get(i); + try { + DeviceAdminInfo dpi = new DeviceAdminInfo(this, ri); + if (dpi.isVisible() || mActiveAdmins.contains(dpi.getComponent())) { + mAvailableAdmins.add(dpi); + } + } catch (XmlPullParserException e) { + Log.w(TAG, "Skipping " + ri.activityInfo, e); + } catch (IOException e) { + Log.w(TAG, "Skipping " + ri.activityInfo, e); + } + } + + getListView().setAdapter(new PolicyListAdapter()); + } + + @Override + protected void onListItemClick(ListView l, View v, int position, long id) { + DeviceAdminInfo dpi = (DeviceAdminInfo)l.getAdapter().getItem(position); + Intent intent = new Intent(); + intent.setClass(this, DeviceAdminAdd.class); + intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, dpi.getComponent()); + startActivity(intent); + } + + static class ViewHolder { + ImageView icon; + TextView name; + CheckBox checkbox; + TextView description; + } + + class PolicyListAdapter extends BaseAdapter { + final LayoutInflater mInflater; + + PolicyListAdapter() { + mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); + } + + public boolean hasStableIds() { + return true; + } + + public int getCount() { + return mAvailableAdmins.size(); + } + + public Object getItem(int position) { + return mAvailableAdmins.get(position); + } + + public long getItemId(int position) { + return position; + } + + public boolean areAllItemsEnabled() { + return false; + } + + public boolean isEnabled(int position) { + return true; + } + + public View getView(int position, View convertView, ViewGroup parent) { + View v; + if (convertView == null) { + v = newView(parent); + } else { + v = convertView; + } + bindView(v, position); + return v; + } + + public View newView(ViewGroup parent) { + View v = mInflater.inflate(R.layout.device_admin_item, parent, false); + ViewHolder h = new ViewHolder(); + h.icon = (ImageView)v.findViewById(R.id.icon); + h.name = (TextView)v.findViewById(R.id.name); + h.checkbox = (CheckBox)v.findViewById(R.id.checkbox); + h.description = (TextView)v.findViewById(R.id.description); + v.setTag(h); + return v; + } + + public void bindView(View view, int position) { + ViewHolder vh = (ViewHolder) view.getTag(); + DeviceAdminInfo item = mAvailableAdmins.get(position); + vh.icon.setImageDrawable(item.loadIcon(getPackageManager())); + vh.name.setText(item.loadLabel(getPackageManager())); + vh.checkbox.setChecked(mActiveAdmins.contains(item.getComponent())); + try { + vh.description.setText(item.loadDescription(getPackageManager())); + } catch (Resources.NotFoundException e) { + } + } + } +} diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java index 82b7f28..a769c38 100644 --- a/src/com/android/settings/DeviceInfoSettings.java +++ b/src/com/android/settings/DeviceInfoSettings.java @@ -140,7 +140,7 @@ public class DeviceInfoSettings extends PreferenceActivity { "\\w+\\s+" + /* ignore: version */ "([^\\s]+)\\s+" + /* group 1: 2.6.22-omap1 */ "\\(([^\\s@]+(?:@[^\\s.]+)?)[^)]*\\)\\s+" + /* group 2: (xxxxxx@xxxxx.constant) */ - "\\(.*?(?:\\(.*?\\)).*?\\)\\s+" + /* ignore: (gcc ..) */ + "\\((?:[^(]*\\([^)]*\\))?[^)]*\\)\\s+" + /* ignore: (gcc ..) */ "([^\\s]+)\\s+" + /* group 3: #26 */ "(?:PREEMPT\\s+)?" + /* ignore: PREEMPT (optional) */ "(.+)"; /* group 4: date */ diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java new file mode 100644 index 0000000..fbb07c1 --- /dev/null +++ b/src/com/android/settings/DisplaySettings.java @@ -0,0 +1,205 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; + +import java.util.ArrayList; + +import android.app.admin.DevicePolicyManager; +import android.content.ContentResolver; +import android.content.Context; +import android.os.Bundle; +import android.os.RemoteException; +import android.os.ServiceManager; +import android.preference.CheckBoxPreference; +import android.preference.ListPreference; +import android.preference.Preference; +import android.preference.PreferenceActivity; +import android.preference.PreferenceScreen; +import android.provider.Settings; +import android.util.Log; +import android.view.IWindowManager; + +public class DisplaySettings extends PreferenceActivity implements + Preference.OnPreferenceChangeListener { + private static final String TAG = "DisplaySettings"; + + /** If there is no setting in the provider, use this. */ + private static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000; + + private static final String KEY_SCREEN_TIMEOUT = "screen_timeout"; + private static final String KEY_ANIMATIONS = "animations"; + private static final String KEY_ACCELEROMETER = "accelerometer"; + + private ListPreference mAnimations; + private CheckBoxPreference mAccelerometer; + private float[] mAnimationScales; + + private IWindowManager mWindowManager; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + ContentResolver resolver = getContentResolver(); + mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window")); + + addPreferencesFromResource(R.xml.display_settings); + + mAnimations = (ListPreference) findPreference(KEY_ANIMATIONS); + mAnimations.setOnPreferenceChangeListener(this); + mAccelerometer = (CheckBoxPreference) findPreference(KEY_ACCELEROMETER); + mAccelerometer.setPersistent(false); + + ListPreference screenTimeoutPreference = + (ListPreference) findPreference(KEY_SCREEN_TIMEOUT); + screenTimeoutPreference.setValue(String.valueOf(Settings.System.getInt( + resolver, SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE))); + screenTimeoutPreference.setOnPreferenceChangeListener(this); + disableUnusableTimeouts(screenTimeoutPreference); + } + + private void disableUnusableTimeouts(ListPreference screenTimeoutPreference) { + final DevicePolicyManager dpm = + (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); + final long maxTimeout = dpm != null ? dpm.getMaximumTimeToLock(null) : 0; + if (maxTimeout == 0) { + return; // policy not enforced + } + final CharSequence[] entries = screenTimeoutPreference.getEntries(); + final CharSequence[] values = screenTimeoutPreference.getEntryValues(); + ArrayList<CharSequence> revisedEntries = new ArrayList<CharSequence>(); + ArrayList<CharSequence> revisedValues = new ArrayList<CharSequence>(); + for (int i = 0; i < values.length; i++) { + long timeout = Long.valueOf(values[i].toString()); + if (timeout <= maxTimeout) { + revisedEntries.add(entries[i]); + revisedValues.add(values[i]); + } + } + if (revisedEntries.size() != entries.length || revisedValues.size() != values.length) { + screenTimeoutPreference.setEntries( + revisedEntries.toArray(new CharSequence[revisedEntries.size()])); + screenTimeoutPreference.setEntryValues( + revisedValues.toArray(new CharSequence[revisedValues.size()])); + final int userPreference = Integer.valueOf(screenTimeoutPreference.getValue()); + if (userPreference <= maxTimeout) { + screenTimeoutPreference.setValue(String.valueOf(userPreference)); + } else { + // There will be no highlighted selection since nothing in the list matches + // maxTimeout. The user can still select anything less than maxTimeout. + // TODO: maybe append maxTimeout to the list and mark selected. + } + } + screenTimeoutPreference.setEnabled(revisedEntries.size() > 0); + } + + @Override + protected void onResume() { + super.onResume(); + + updateState(true); + } + + private void updateState(boolean force) { + int animations = 0; + try { + mAnimationScales = mWindowManager.getAnimationScales(); + } catch (RemoteException e) { + } + if (mAnimationScales != null) { + if (mAnimationScales.length >= 1) { + animations = ((int)(mAnimationScales[0]+.5f)) % 10; + } + if (mAnimationScales.length >= 2) { + animations += (((int)(mAnimationScales[1]+.5f)) & 0x7) * 10; + } + } + int idx = 0; + int best = 0; + CharSequence[] aents = mAnimations.getEntryValues(); + for (int i=0; i<aents.length; i++) { + int val = Integer.parseInt(aents[i].toString()); + if (val <= animations && val > best) { + best = val; + idx = i; + } + } + mAnimations.setValueIndex(idx); + updateAnimationsSummary(mAnimations.getValue()); + mAccelerometer.setChecked(Settings.System.getInt( + getContentResolver(), + Settings.System.ACCELEROMETER_ROTATION, 0) != 0); + } + + private void updateAnimationsSummary(Object value) { + CharSequence[] summaries = getResources().getTextArray(R.array.animations_summaries); + CharSequence[] values = mAnimations.getEntryValues(); + for (int i=0; i<values.length; i++) { + //Log.i("foo", "Comparing entry "+ values[i] + " to current " + // + mAnimations.getValue()); + if (values[i].equals(value)) { + mAnimations.setSummary(summaries[i]); + break; + } + } + } + + @Override + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + if (preference == mAccelerometer) { + Settings.System.putInt(getContentResolver(), + Settings.System.ACCELEROMETER_ROTATION, + mAccelerometer.isChecked() ? 1 : 0); + } + return true; + } + + public boolean onPreferenceChange(Preference preference, Object objValue) { + final String key = preference.getKey(); + if (KEY_ANIMATIONS.equals(key)) { + try { + int value = Integer.parseInt((String) objValue); + if (mAnimationScales.length >= 1) { + mAnimationScales[0] = value%10; + } + if (mAnimationScales.length >= 2) { + mAnimationScales[1] = (value/10)%10; + } + try { + mWindowManager.setAnimationScales(mAnimationScales); + } catch (RemoteException e) { + } + updateAnimationsSummary(objValue); + } catch (NumberFormatException e) { + Log.e(TAG, "could not persist animation setting", e); + } + + } + if (KEY_SCREEN_TIMEOUT.equals(key)) { + int value = Integer.parseInt((String) objValue); + try { + Settings.System.putInt(getContentResolver(), + SCREEN_OFF_TIMEOUT, value); + } catch (NumberFormatException e) { + Log.e(TAG, "could not persist screen timeout setting", e); + } + } + + return true; + } +} diff --git a/src/com/android/settings/DockSettings.java b/src/com/android/settings/DockSettings.java index fe9aeb7..0d46ce9 100644 --- a/src/com/android/settings/DockSettings.java +++ b/src/com/android/settings/DockSettings.java @@ -18,15 +18,18 @@ package com.android.settings; import android.app.AlertDialog; import android.app.Dialog; +import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; +import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; +import android.provider.Settings; import com.android.settings.bluetooth.DockEventReceiver; @@ -34,7 +37,9 @@ public class DockSettings extends PreferenceActivity { private static final int DIALOG_NOT_DOCKED = 1; private static final String KEY_AUDIO_SETTINGS = "dock_audio"; + private static final String KEY_DOCK_SOUNDS = "dock_sounds"; private Preference mAudioSettings; + private CheckBoxPreference mDockSounds; private Intent mDockIntent; private BroadcastReceiver mReceiver = new BroadcastReceiver() { @@ -71,28 +76,47 @@ public class DockSettings extends PreferenceActivity { } private void initDockSettings() { + ContentResolver resolver = getContentResolver(); + mAudioSettings = findPreference(KEY_AUDIO_SETTINGS); if (mAudioSettings != null) { mAudioSettings.setSummary(R.string.dock_audio_summary_none); } + + mDockSounds = (CheckBoxPreference) findPreference(KEY_DOCK_SOUNDS); + mDockSounds.setPersistent(false); + mDockSounds.setChecked(Settings.System.getInt(resolver, + Settings.System.DOCK_SOUNDS_ENABLED, 0) != 0); } private void handleDockChange(Intent intent) { if (mAudioSettings != null) { int dockState = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, 0); - mDockIntent = intent; - int resId = R.string.dock_audio_summary_unknown; - switch (dockState) { - case Intent.EXTRA_DOCK_STATE_CAR: - resId = R.string.dock_audio_summary_car; - break; - case Intent.EXTRA_DOCK_STATE_DESK: - resId = R.string.dock_audio_summary_desk; - break; - case Intent.EXTRA_DOCK_STATE_UNDOCKED: - resId = R.string.dock_audio_summary_none; + + boolean isBluetooth = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) != null; + + if (!isBluetooth) { + // No dock audio if not on Bluetooth. + mAudioSettings.setEnabled(false); + mAudioSettings.setSummary(R.string.dock_audio_summary_unknown); + } else { + mAudioSettings.setEnabled(true); + + mDockIntent = intent; + int resId = R.string.dock_audio_summary_unknown; + switch (dockState) { + case Intent.EXTRA_DOCK_STATE_CAR: + resId = R.string.dock_audio_summary_car; + break; + case Intent.EXTRA_DOCK_STATE_DESK: + resId = R.string.dock_audio_summary_desk; + break; + case Intent.EXTRA_DOCK_STATE_UNDOCKED: + resId = R.string.dock_audio_summary_none; + } + mAudioSettings.setSummary(resId); } - mAudioSettings.setSummary(resId); + if (dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED) { // remove undocked dialog if currently showing. try { @@ -118,6 +142,9 @@ public class DockSettings extends PreferenceActivity { i.setClass(this, DockEventReceiver.class); sendBroadcast(i); } + } else if (preference == mDockSounds) { + Settings.System.putInt(getContentResolver(), Settings.System.DOCK_SOUNDS_ENABLED, + mDockSounds.isChecked() ? 1 : 0); } return true; diff --git a/src/com/android/settings/InstalledAppDetails.java b/src/com/android/settings/InstalledAppDetails.java index d05014b..0ca35b8 100644 --- a/src/com/android/settings/InstalledAppDetails.java +++ b/src/com/android/settings/InstalledAppDetails.java @@ -18,30 +18,36 @@ package com.android.settings; +import com.android.internal.content.PackageHelper; import com.android.settings.R; import android.app.Activity; import android.app.ActivityManager; import android.app.AlertDialog; import android.app.Dialog; +import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageDataObserver; -import android.content.pm.IPackageDeleteObserver; +import android.content.pm.IPackageManager; +import android.content.pm.IPackageMoveObserver; import android.content.pm.IPackageStatsObserver; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.content.pm.PackageParser; import android.content.pm.PackageStats; import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; import android.os.Bundle; import android.os.Handler; +import android.os.IBinder; import android.os.Message; import android.os.RemoteException; +import android.os.ServiceManager; +import android.os.storage.IMountService; import android.text.format.Formatter; -import android.util.Config; import android.util.Log; import java.util.ArrayList; import java.util.List; @@ -62,11 +68,13 @@ import android.widget.TextView; * For non-system applications, there is no option to clear data. Instead there is an option to * uninstall the application. */ -public class InstalledAppDetails extends Activity implements View.OnClickListener, DialogInterface.OnClickListener { +public class InstalledAppDetails extends Activity implements View.OnClickListener { private static final String TAG="InstalledAppDetails"; private static final int _UNKNOWN_APP=R.string.unknown; private ApplicationInfo mAppInfo; - private Button mAppButton; + private Button mUninstallButton; + private boolean mMoveInProgress = false; + private boolean mUpdatedSysApp = false; private Button mActivitiesButton; private boolean localLOGV = false; private TextView mAppVersion; @@ -76,15 +84,17 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene private PkgSizeObserver mSizeObserver; private ClearUserDataObserver mClearDataObserver; // Views related to cache info - private View mCachePanel; private TextView mCacheSize; private Button mClearCacheButton; private ClearCacheObserver mClearCacheObserver; private Button mForceStopButton; + private Button mClearDataButton; + private Button mMoveAppButton; + private int mMoveErrorCode; PackageStats mSizeInfo; - private Button mManageSpaceButton; private PackageManager mPm; + private PackageMoveObserver mPackageMoveObserver; //internal constants used in Handler private static final int OP_SUCCESSFUL = 1; @@ -92,6 +102,7 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene private static final int CLEAR_USER_DATA = 1; private static final int GET_PKG_SIZE = 2; private static final int CLEAR_CACHE = 3; + private static final int PACKAGE_MOVE = 4; private static final String ATTR_PACKAGE_STATS="PackageStats"; // invalid size value used initially and also when size retrieval through PackageManager @@ -101,7 +112,6 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene // Resource strings private CharSequence mInvalidSizeStr; private CharSequence mComputingStr; - private CharSequence mAppButtonText; // Dialog identifiers used in showDialog private static final int DLG_BASE = 0; @@ -109,18 +119,15 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene private static final int DLG_FACTORY_RESET = DLG_BASE + 2; private static final int DLG_APP_NOT_FOUND = DLG_BASE + 3; private static final int DLG_CANNOT_CLEAR_DATA = DLG_BASE + 4; - - // Possible btn states - private enum AppButtonStates { - CLEAR_DATA, - UNINSTALL, - FACTORY_RESET, - NONE - } - private AppButtonStates mAppButtonState; + private static final int DLG_FORCE_STOP = DLG_BASE + 5; + private static final int DLG_MOVE_FAILED = DLG_BASE + 6; private Handler mHandler = new Handler() { public void handleMessage(Message msg) { + // If the activity is gone, don't process any more messages. + if (isFinishing()) { + return; + } switch (msg.what) { case CLEAR_USER_DATA: processClearMsg(msg); @@ -132,6 +139,9 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene // Refresh size info mPm.getPackageSizeInfo(mAppInfo.packageName, mSizeObserver); break; + case PACKAGE_MOVE: + processMoveMsg(msg); + break; default: break; } @@ -147,7 +157,6 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene } class PkgSizeObserver extends IPackageStatsObserver.Stub { - public int idx; public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) { Message msg = mHandler.obtainMessage(GET_PKG_SIZE); Bundle data = new Bundle(); @@ -161,10 +170,18 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene class ClearCacheObserver extends IPackageDataObserver.Stub { public void onRemoveCompleted(final String packageName, final boolean succeeded) { final Message msg = mHandler.obtainMessage(CLEAR_CACHE); - msg.arg1 = succeeded?OP_SUCCESSFUL:OP_FAILED; + msg.arg1 = succeeded ? OP_SUCCESSFUL:OP_FAILED; mHandler.sendMessage(msg); } } + + class PackageMoveObserver extends IPackageMoveObserver.Stub { + public void packageMoved(String packageName, int returnCode) throws RemoteException { + final Message msg = mHandler.obtainMessage(PACKAGE_MOVE); + msg.arg1 = returnCode; + mHandler.sendMessage(msg); + } + } private String getSizeStr(long size) { if (size == SIZE_INVALID) { @@ -173,31 +190,142 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene return Formatter.formatFileSize(this, size); } + private void initDataButtons() { + if (mAppInfo.manageSpaceActivityName != null) { + mClearDataButton.setText(R.string.manage_space_text); + } else { + mClearDataButton.setText(R.string.clear_user_data_text); + } + mClearDataButton.setOnClickListener(this); + } + + private CharSequence getMoveErrMsg(int errCode) { + switch (errCode) { + case PackageManager.MOVE_FAILED_INSUFFICIENT_STORAGE: + return getString(R.string.insufficient_storage); + case PackageManager.MOVE_FAILED_DOESNT_EXIST: + return getString(R.string.does_not_exist); + case PackageManager.MOVE_FAILED_FORWARD_LOCKED: + return getString(R.string.app_forward_locked); + case PackageManager.MOVE_FAILED_INVALID_LOCATION: + return getString(R.string.invalid_location); + case PackageManager.MOVE_FAILED_SYSTEM_PACKAGE: + return getString(R.string.system_package); + case PackageManager.MOVE_FAILED_INTERNAL_ERROR: + return ""; + } + return ""; + } + + private void initMoveButton() { + String pkgName = mAppInfo.packageName; + boolean dataOnly = false; + ApplicationInfo info1 = null; + PackageInfo pkgInfo = null; + + try { + info1 = mPm.getApplicationInfo(pkgName, 0); + pkgInfo = mPm.getPackageInfo(mAppInfo.packageName, + PackageManager.GET_UNINSTALLED_PACKAGES); + } catch (NameNotFoundException e) { + } + dataOnly = (info1 == null) && (mAppInfo != null); + boolean moveDisable = true; + if (dataOnly) { + mMoveAppButton.setText(R.string.move_app); + } else if ((mAppInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) { + mMoveAppButton.setText(R.string.move_app_to_internal); + // Always let apps move to internal storage from sdcard. + moveDisable = false; + } else { + mMoveAppButton.setText(R.string.move_app_to_sdcard); + if ((mAppInfo.flags & ApplicationInfo.FLAG_FORWARD_LOCK) == 0 && + (mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0 && + pkgInfo != null) { + if (pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL || + pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_AUTO) { + moveDisable = false; + } else if (pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_UNSPECIFIED) { + IPackageManager ipm = IPackageManager.Stub.asInterface( + ServiceManager.getService("package")); + int loc; + try { + loc = ipm.getInstallLocation(); + } catch (RemoteException e) { + Log.e(TAG, "Is Pakage Manager running?"); + return; + } + if (loc == PackageHelper.APP_INSTALL_EXTERNAL) { + // For apps with no preference and the default value set + // to install on sdcard. + moveDisable = false; + } + } + } + } + if (moveDisable) { + mMoveAppButton.setEnabled(false); + } else { + mMoveAppButton.setOnClickListener(this); + mMoveAppButton.setEnabled(true); + } + } + + private void initUninstallButtons() { + mUpdatedSysApp = (mAppInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0; + boolean enabled = true; + if (mUpdatedSysApp) { + mUninstallButton.setText(R.string.app_factory_reset); + } else { + if ((mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0){ + // Disable button for system applications. + enabled = false; + } + mUninstallButton.setText(R.string.uninstall_text); + } + mUninstallButton.setEnabled(enabled); + if (enabled) { + // Register listener + mUninstallButton.setOnClickListener(this); + } + } + + private boolean initAppInfo(String packageName) { + try { + mAppInfo = mPm.getApplicationInfo(packageName, + PackageManager.GET_UNINSTALLED_PACKAGES); + return true; + } catch (NameNotFoundException e) { + Log.e(TAG, "Exception when retrieving package: " + packageName, e); + showDialogInner(DLG_APP_NOT_FOUND); + return false; + } + } + /** Called when the activity is first created. */ @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); + // Get package manager mPm = getPackageManager(); + // Get application's name from intent Intent intent = getIntent(); final String packageName = intent.getStringExtra(ManageApplications.APP_PKG_NAME); - mComputingStr = getText(R.string.computing_size); + if (! initAppInfo(packageName)) { + return; // could not find package, finish called + } + // Try retrieving package stats again CharSequence totalSizeStr, appSizeStr, dataSizeStr; + mComputingStr = getText(R.string.computing_size); totalSizeStr = appSizeStr = dataSizeStr = mComputingStr; if(localLOGV) Log.i(TAG, "Have to compute package sizes"); mSizeObserver = new PkgSizeObserver(); - try { - mAppInfo = mPm.getApplicationInfo(packageName, - PackageManager.GET_UNINSTALLED_PACKAGES); - } catch (NameNotFoundException e) { - Log.e(TAG, "Exception when retrieving package:"+packageName, e); - showDialogInner(DLG_APP_NOT_FOUND); - return; - } setContentView(R.layout.installed_app_details); //TODO download str and download url + // Set default values on sizes mTotalSize = (TextView)findViewById(R.id.total_size_text); mTotalSize.setText(totalSizeStr); @@ -205,24 +333,28 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene mAppSize.setText(appSizeStr); mDataSize = (TextView)findViewById(R.id.data_size_text); mDataSize.setText(dataSizeStr); - // Get AppButton - mAppButton = ((Button)findViewById(R.id.uninstall_button)); - // Get ManageSpaceButton - mManageSpaceButton = (Button)findViewById(R.id.manage_space_button); - if(mAppInfo.manageSpaceActivityName != null) { - mManageSpaceButton.setVisibility(View.VISIBLE); - mManageSpaceButton.setOnClickListener(this); - } + + // Get Control button panel + View btnPanel = findViewById(R.id.control_buttons_panel); + mForceStopButton = (Button) btnPanel.findViewById(R.id.left_button); + mForceStopButton.setText(R.string.force_stop); + mUninstallButton = (Button)btnPanel.findViewById(R.id.right_button); + mForceStopButton.setEnabled(false); + + // Initialize clear data and move install location buttons + View data_buttons_panel = findViewById(R.id.data_buttons_panel); + mClearDataButton = (Button) data_buttons_panel.findViewById(R.id.left_button); + mMoveAppButton = (Button) data_buttons_panel.findViewById(R.id.right_button); + // Cache section - mCachePanel = findViewById(R.id.cache_panel); mCacheSize = (TextView) findViewById(R.id.cache_size_text); mCacheSize.setText(mComputingStr); mClearCacheButton = (Button) findViewById(R.id.clear_cache_button); - mForceStopButton = (Button) findViewById(R.id.force_stop_button); - mForceStopButton.setOnClickListener(this); + // Get list of preferred activities mActivitiesButton = (Button)findViewById(R.id.clear_activities_button); List<ComponentName> prefActList = new ArrayList<ComponentName>(); + // Intent list cannot be null. so pass empty list List<IntentFilter> intentList = new ArrayList<IntentFilter>(); mPm.getPreferredActivities(intentList, prefActList, packageName); @@ -250,95 +382,65 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene permsView.setVisibility(View.GONE); } } - - private void refreshAppAttributes(PackageInfo pkgInfo) { - setAppLabelAndIcon(); - // Version number of application - setAppVersion(pkgInfo); - setAppBtnState(); - // Refresh size info - if (mAppInfo != null && mAppInfo.packageName != null) { - mPm.getPackageSizeInfo(mAppInfo.packageName, mSizeObserver); - } - } - + // Utility method to set applicaiton label and icon. - private void setAppLabelAndIcon() { - ((ImageView)findViewById(R.id.app_icon)).setImageDrawable(mAppInfo.loadIcon(mPm)); - //set application name TODO version - CharSequence appName = mAppInfo.loadLabel(mPm); - if(appName == null) { - appName = getString(_UNKNOWN_APP); - } - ((TextView)findViewById(R.id.app_name)).setText(appName); - } - - // Utility method to set application version - private void setAppVersion(PackageInfo pkgInfo) { + private void setAppLabelAndIcon(PackageInfo pkgInfo) { + View appSnippet = findViewById(R.id.app_snippet); + ImageView icon = (ImageView) appSnippet.findViewById(R.id.app_icon); + icon.setImageDrawable(mAppInfo.loadIcon(mPm)); + // Set application name. + TextView label = (TextView) appSnippet.findViewById(R.id.app_name); + label.setText(mAppInfo.loadLabel(mPm)); // Version number of application - mAppVersion = ((TextView)findViewById(R.id.app_version)); - if (pkgInfo != null) { + mAppVersion = (TextView) appSnippet.findViewById(R.id.app_size); + + if (pkgInfo != null && pkgInfo.versionName != null) { mAppVersion.setVisibility(View.VISIBLE); mAppVersion.setText(getString(R.string.version_text, - String.valueOf(pkgInfo.versionCode))); + String.valueOf(pkgInfo.versionName))); } else { - mAppVersion.setVisibility(View.GONE); + mAppVersion.setVisibility(View.INVISIBLE); } } - // Utility method to set button state - private void setAppBtnState() { - boolean visible = true; - if ((mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { - if ((mAppInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) { - mAppButtonState = AppButtonStates.FACTORY_RESET; - mAppButtonText = getText(R.string.app_factory_reset); - } else { - if ((mAppInfo.flags & ApplicationInfo.FLAG_ALLOW_CLEAR_USER_DATA) == 0) { - // Hide button if diableClearUserData is set - mAppButtonState = AppButtonStates.NONE; - visible = false; - } else { - mAppButtonState = AppButtonStates.CLEAR_DATA; - mAppButtonText = getText(R.string.clear_user_data_text); - } - } - } else { - mAppButtonState = AppButtonStates.UNINSTALL; - mAppButtonText = getText(R.string.uninstall_text); + @Override + public void onResume() { + super.onResume(); + + if (mAppInfo == null) { + setIntentAndFinish(true, true); + return; // onCreate must have failed, make sure to exit } - if(visible) { - mAppButton.setText(mAppButtonText); - mAppButton.setVisibility(View.VISIBLE); - } else { - mAppButton.setVisibility(View.GONE); + if (! initAppInfo(mAppInfo.packageName)) { + return; // could not find package, finish called } - } - - @Override - public void onStart() { - super.onStart(); - PackageInfo pkgInfo; + + PackageInfo pkgInfo = null; // Get application info again to refresh changed properties of application try { - mAppInfo = mPm.getApplicationInfo(mAppInfo.packageName, - PackageManager.GET_UNINSTALLED_PACKAGES); pkgInfo = mPm.getPackageInfo(mAppInfo.packageName, PackageManager.GET_UNINSTALLED_PACKAGES); } catch (NameNotFoundException e) { Log.e(TAG, "Exception when retrieving package:" + mAppInfo.packageName, e); showDialogInner(DLG_APP_NOT_FOUND); - return; + return; // could not find package, finish called + } + + checkForceStop(); + setAppLabelAndIcon(pkgInfo); + refreshButtons(); + + // Refresh size info + if (mAppInfo != null && mAppInfo.packageName != null) { + mPm.getPackageSizeInfo(mAppInfo.packageName, mSizeObserver); } - refreshAppAttributes(pkgInfo); } - + private void setIntentAndFinish(boolean finish, boolean appChanged) { if(localLOGV) Log.i(TAG, "appChanged="+appChanged); Intent intent = new Intent(); intent.putExtra(ManageApplications.APP_CHG, appChanged); setResult(ManageApplications.RESULT_OK, intent); - mAppButton.setEnabled(false); if(finish) { finish(); } @@ -383,18 +485,11 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene mSizeInfo = newPs; } } - - long data = mSizeInfo.dataSize; - // Disable button if data is 0 - if(mAppButtonState != AppButtonStates.NONE){ - mAppButton.setText(mAppButtonText); - if((mAppButtonState == AppButtonStates.CLEAR_DATA) && (data == 0)) { - mAppButton.setEnabled(false); - } else { - mAppButton.setEnabled(true); - mAppButton.setOnClickListener(this); - } + // If data size is zero disable clear data button + if (newPs.dataSize == 0) { + mClearDataButton.setEnabled(false); } + long data = mSizeInfo.dataSize; refreshCacheInfo(newPs.cacheSize); } @@ -415,24 +510,57 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene private void processClearMsg(Message msg) { int result = msg.arg1; String packageName = mAppInfo.packageName; + mClearDataButton.setText(R.string.clear_user_data_text); if(result == OP_SUCCESSFUL) { - Log.i(TAG, "Cleared user data for system package:"+packageName); + Log.i(TAG, "Cleared user data for package : "+packageName); mPm.getPackageSizeInfo(packageName, mSizeObserver); } else { - mAppButton.setText(R.string.clear_user_data_text); - mAppButton.setEnabled(true); + mClearDataButton.setEnabled(true); } } - + + private void refreshButtons() { + if (!mMoveInProgress) { + initUninstallButtons(); + initDataButtons(); + initMoveButton(); + } else { + mMoveAppButton.setText(R.string.moving); + mMoveAppButton.setEnabled(false); + mUninstallButton.setEnabled(false); + } + } + + private void processMoveMsg(Message msg) { + int result = msg.arg1; + String packageName = mAppInfo.packageName; + // Refresh the button attributes. + mMoveInProgress = false; + if(result == PackageManager.MOVE_SUCCEEDED) { + Log.i(TAG, "Moved resources for " + packageName); + // Refresh size information again. + mPm.getPackageSizeInfo(packageName, mSizeObserver); + } else { + mMoveErrorCode = result; + showDialogInner(DLG_MOVE_FAILED); + } + + if (! initAppInfo(packageName)) { + return; // could not find package, finish called + } + + refreshButtons(); + } + /* * Private method to initiate clearing user data when the user clicks the clear data * button for a system package */ - private void initiateClearUserDataForSysPkg() { - mAppButton.setEnabled(false); - //invoke uninstall or clear user data based on sysPackage + private void initiateClearUserData() { + mClearDataButton.setEnabled(false); + // Invoke uninstall or clear user data based on sysPackage String packageName = mAppInfo.packageName; - Log.i(TAG, "Clearing user data for system package"); + Log.i(TAG, "Clearing user data for package : " + packageName); if(mClearDataObserver == null) { mClearDataObserver = new ClearUserDataObserver(); } @@ -443,7 +571,7 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene Log.i(TAG, "Couldnt clear application user data for package:"+packageName); showDialogInner(DLG_CANNOT_CLEAR_DATA); } else { - mAppButton.setText(R.string.recompute_size); + mClearDataButton.setText(R.string.recompute_size); } } @@ -453,23 +581,35 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene } @Override - public Dialog onCreateDialog(int id) { + public Dialog onCreateDialog(int id, Bundle args) { switch (id) { case DLG_CLEAR_DATA: return new AlertDialog.Builder(this) .setTitle(getString(R.string.clear_data_dlg_title)) .setIcon(android.R.drawable.ic_dialog_alert) .setMessage(getString(R.string.clear_data_dlg_text)) - .setPositiveButton(R.string.dlg_ok, this) - .setNegativeButton(R.string.dlg_cancel, this) + .setPositiveButton(R.string.dlg_ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + // Clear user data here + initiateClearUserData(); + } + }) + .setNegativeButton(R.string.dlg_cancel, null) .create(); case DLG_FACTORY_RESET: return new AlertDialog.Builder(this) .setTitle(getString(R.string.app_factory_reset_dlg_title)) .setIcon(android.R.drawable.ic_dialog_alert) .setMessage(getString(R.string.app_factory_reset_dlg_text)) - .setPositiveButton(R.string.dlg_ok, this) - .setNegativeButton(R.string.dlg_cancel, this) + .setPositiveButton(R.string.dlg_ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + // Clear user data here + uninstallPkg(mAppInfo.packageName); + } + }) + .setNegativeButton(R.string.dlg_cancel, null) .create(); case DLG_APP_NOT_FOUND: return new AlertDialog.Builder(this) @@ -492,11 +632,35 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene .setNeutralButton(R.string.dlg_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { + mClearDataButton.setEnabled(false); //force to recompute changed value setIntentAndFinish(false, false); } }) .create(); + case DLG_FORCE_STOP: + return new AlertDialog.Builder(this) + .setTitle(getString(R.string.force_stop_dlg_title)) + .setIcon(android.R.drawable.ic_dialog_alert) + .setMessage(getString(R.string.force_stop_dlg_text)) + .setPositiveButton(R.string.dlg_ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + // Force stop + forceStopPackage(mAppInfo.packageName); + } + }) + .setNegativeButton(R.string.dlg_cancel, null) + .create(); + case DLG_MOVE_FAILED: + CharSequence msg = getString(R.string.move_app_failed_dlg_text, + getMoveErrMsg(mMoveErrorCode)); + return new AlertDialog.Builder(this) + .setTitle(getString(R.string.move_app_failed_dlg_title)) + .setIcon(android.R.drawable.ic_dialog_alert) + .setMessage(msg) + .setNeutralButton(R.string.dlg_ok, null) + .create(); } return null; } @@ -509,27 +673,53 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene setIntentAndFinish(true, true); } + private void forceStopPackage(String pkgName) { + ActivityManager am = (ActivityManager)getSystemService( + Context.ACTIVITY_SERVICE); + am.forceStopPackage(pkgName); + checkForceStop(); + } + + private final BroadcastReceiver mCheckKillProcessesReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + mForceStopButton.setEnabled(getResultCode() != RESULT_CANCELED); + mForceStopButton.setOnClickListener(InstalledAppDetails.this); + } + }; + + private void checkForceStop() { + Intent intent = new Intent(Intent.ACTION_QUERY_PACKAGE_RESTART, + Uri.fromParts("package", mAppInfo.packageName, null)); + intent.putExtra(Intent.EXTRA_PACKAGES, new String[] { mAppInfo.packageName }); + intent.putExtra(Intent.EXTRA_UID, mAppInfo.uid); + sendOrderedBroadcast(intent, null, mCheckKillProcessesReceiver, null, + Activity.RESULT_CANCELED, null, null); + } + /* * Method implementing functionality of buttons clicked * @see android.view.View.OnClickListener#onClick(android.view.View) */ public void onClick(View v) { String packageName = mAppInfo.packageName; - if(v == mAppButton) { - if (mAppButtonState == AppButtonStates.CLEAR_DATA) { - showDialogInner(DLG_CLEAR_DATA); - } else if (mAppButtonState == AppButtonStates.FACTORY_RESET) { + if(v == mUninstallButton) { + if (mUpdatedSysApp) { showDialogInner(DLG_FACTORY_RESET); - } else if (mAppButtonState == AppButtonStates.UNINSTALL) { + } else { uninstallPkg(packageName); } } else if(v == mActivitiesButton) { mPm.clearPackagePreferredActivities(packageName); mActivitiesButton.setEnabled(false); - } else if(v == mManageSpaceButton) { - Intent intent = new Intent(Intent.ACTION_DEFAULT); - intent.setClassName(mAppInfo.packageName, mAppInfo.manageSpaceActivityName); - startActivityForResult(intent, -1); + } else if(v == mClearDataButton) { + if (mAppInfo.manageSpaceActivityName != null) { + Intent intent = new Intent(Intent.ACTION_DEFAULT); + intent.setClassName(mAppInfo.packageName, mAppInfo.manageSpaceActivityName); + startActivityForResult(intent, -1); + } else { + showDialogInner(DLG_CLEAR_DATA); + } } else if (v == mClearCacheButton) { // Lazy initialization of observer if (mClearCacheObserver == null) { @@ -537,23 +727,16 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene } mPm.deleteApplicationCacheFiles(packageName, mClearCacheObserver); } else if (v == mForceStopButton) { - ActivityManager am = (ActivityManager)getSystemService( - Context.ACTIVITY_SERVICE); - am.restartPackage(packageName); - } - } - - public void onClick(DialogInterface dialog, int which) { - if(which == AlertDialog.BUTTON_POSITIVE) { - if (mAppButtonState == AppButtonStates.CLEAR_DATA) { - // Invoke uninstall or clear user data based on sysPackage - initiateClearUserDataForSysPkg(); - } else if (mAppButtonState == AppButtonStates.FACTORY_RESET) { - // Initiate package installer to delete package - uninstallPkg(mAppInfo.packageName); + forceStopPackage(mAppInfo.packageName); + } else if (v == mMoveAppButton) { + if (mPackageMoveObserver == null) { + mPackageMoveObserver = new PackageMoveObserver(); } - } else { - //cancel do nothing just retain existing screen + int moveFlags = (mAppInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0 ? + PackageManager.MOVE_INTERNAL : PackageManager.MOVE_EXTERNAL_MEDIA; + mMoveInProgress = true; + refreshButtons(); + mPm.movePackage(mAppInfo.packageName, mPackageMoveObserver, moveFlags); } } } diff --git a/src/com/android/settings/LanguageSettings.java b/src/com/android/settings/LanguageSettings.java index 1b9f0c1..91d260c 100644 --- a/src/com/android/settings/LanguageSettings.java +++ b/src/com/android/settings/LanguageSettings.java @@ -43,10 +43,12 @@ import java.util.List; public class LanguageSettings extends PreferenceActivity { + private static final String KEY_PHONE_LANGUAGE = "phone_language"; private boolean mHaveHardKeyboard; private List<InputMethodInfo> mInputMethodProperties; private List<CheckBoxPreference> mCheckboxes; + private Preference mLanguagePref; final TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter(':'); @@ -67,6 +69,8 @@ public class LanguageSettings extends PreferenceActivity { if (getAssets().getLocales().length == 1) { getPreferenceScreen(). removePreference(findPreference("language_category")); + } else { + mLanguagePref = findPreference(KEY_PHONE_LANGUAGE); } Configuration config = getResources().getConfiguration(); @@ -116,7 +120,11 @@ public class LanguageSettings extends PreferenceActivity { // If setting activity is available, add a setting screen entry. if (null != property.getSettingsActivity()) { PreferenceScreen prefScreen = new PreferenceScreen(this, null); - prefScreen.setKey(property.getSettingsActivity()); + String settingsActivity = property.getSettingsActivity(); + if (settingsActivity.lastIndexOf("/") < 0) { + settingsActivity = property.getPackageName() + "/" + settingsActivity; + } + prefScreen.setKey(settingsActivity); prefScreen.setTitle(label); if (N == 1) { prefScreen.setSummary(getString(R.string.onscreen_keyboard_settings_summary)); @@ -156,6 +164,15 @@ public class LanguageSettings extends PreferenceActivity { } } mLastTickedInputMethodId = null; + + if (mLanguagePref != null) { + Configuration conf = getResources().getConfiguration(); + String locale = conf.locale.getDisplayName(conf.locale); + if (locale != null && locale.length() > 1) { + locale = Character.toUpperCase(locale.charAt(0)) + locale.substring(1); + mLanguagePref.setSummary(locale); + } + } } @Override @@ -163,7 +180,8 @@ public class LanguageSettings extends PreferenceActivity { super.onPause(); StringBuilder builder = new StringBuilder(256); - + StringBuilder disabledSysImes = new StringBuilder(256); + int firstEnabled = -1; int N = mInputMethodProperties.size(); for (int i = 0; i < N; ++i) { @@ -182,6 +200,12 @@ public class LanguageSettings extends PreferenceActivity { } else if (hasIt) { mLastInputMethodId = mLastTickedInputMethodId; } + // If it's a disabled system ime, add it to the disabled list so that it + // doesn't get enabled automatically on any changes to the package list + if (pref != null && !pref.isChecked() && systemIme && mHaveHardKeyboard) { + if (disabledSysImes.length() > 0) disabledSysImes.append(":"); + disabledSysImes.append(id); + } } // If the last input method is unset, set it as the first enabled one. @@ -196,6 +220,8 @@ public class LanguageSettings extends PreferenceActivity { Settings.Secure.putString(getContentResolver(), Settings.Secure.ENABLED_INPUT_METHODS, builder.toString()); Settings.Secure.putString(getContentResolver(), + Settings.Secure.DISABLED_SYSTEM_INPUT_METHODS, disabledSysImes.toString()); + Settings.Secure.putString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD, mLastInputMethodId != null ? mLastInputMethodId : ""); } @@ -261,6 +287,11 @@ public class LanguageSettings extends PreferenceActivity { String activityName = pref.getKey(); String packageName = activityName.substring(0, activityName .lastIndexOf(".")); + int slash = activityName.indexOf("/"); + if (slash > 0) { + packageName = activityName.substring(0, slash); + activityName = activityName.substring(slash + 1); + } if (activityName.length() > 0) { Intent i = new Intent(Intent.ACTION_MAIN); i.setClassName(packageName, activityName); diff --git a/src/com/android/settings/LauncherAppWidgetBinder.java b/src/com/android/settings/LauncherAppWidgetBinder.java deleted file mode 100644 index 98ea246..0000000 --- a/src/com/android/settings/LauncherAppWidgetBinder.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings; - -import android.app.Activity; -import android.appwidget.AppWidgetManager; -import android.content.ContentResolver; -import android.content.ContentUris; -import android.content.ContentValues; -import android.content.Intent; -import android.content.ComponentName; -import android.database.Cursor; -import android.database.SQLException; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.net.Uri; -import android.os.Bundle; -import android.provider.BaseColumns; -import android.util.Log; - -import java.util.ArrayList; - -public class LauncherAppWidgetBinder extends Activity { - private static final String TAG = "LauncherAppWidgetBinder"; - private static final boolean LOGD = true; - - static final String AUTHORITY = "com.android.launcher.settings"; - static final String TABLE_FAVORITES = "favorites"; - - static final String EXTRA_BIND_SOURCES = "com.android.launcher.settings.bindsources"; - static final String EXTRA_BIND_TARGETS = "com.android.launcher.settings.bindtargets"; - - static final String EXTRA_APPWIDGET_BITMAPS = "com.android.camera.appwidgetbitmaps"; - - /** - * {@link ContentProvider} constants pulled over from Launcher - */ - static final class LauncherProvider implements BaseColumns { - static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/" + TABLE_FAVORITES); - - static final String ITEM_TYPE = "itemType"; - static final String APPWIDGET_ID = "appWidgetId"; - static final String ICON = "icon"; - - static final int ITEM_TYPE_APPWIDGET = 4; - static final int ITEM_TYPE_WIDGET_CLOCK = 1000; - static final int ITEM_TYPE_WIDGET_SEARCH = 1001; - static final int ITEM_TYPE_WIDGET_PHOTO_FRAME = 1002; - } - - static final String[] BIND_PROJECTION = new String[] { - LauncherProvider._ID, - LauncherProvider.ITEM_TYPE, - LauncherProvider.APPWIDGET_ID, - LauncherProvider.ICON, - }; - - static final int INDEX_ID = 0; - static final int INDEX_ITEM_TYPE = 1; - static final int INDEX_APPWIDGET_ID = 2; - static final int INDEX_ICON = 3; - - static final ComponentName BIND_PHOTO_APPWIDGET = new ComponentName("com.android.camera", - "com.android.camera.PhotoAppWidgetBind"); - - @Override - protected void onCreate(Bundle icicle) { - super.onCreate(icicle); - finish(); - - // This helper reaches into the Launcher database and binds any unlinked - // widgets. If will remove any items that can't be bound successfully. - // We protect this binder at the manifest level by asserting the caller - // has the Launcher WRITE_SETTINGS permission. - - final Intent intent = getIntent(); - final Bundle extras = intent.getExtras(); - - int[] bindSources = null; - ArrayList<ComponentName> bindTargets = null; - Exception exception = null; - - try { - bindSources = extras.getIntArray(EXTRA_BIND_SOURCES); - bindTargets = intent.getParcelableArrayListExtra(EXTRA_BIND_TARGETS); - } catch (ClassCastException ex) { - exception = ex; - } - - if (exception != null || bindSources == null || bindTargets == null || - bindSources.length != bindTargets.size()) { - Log.w(TAG, "Problem reading incoming bind request, or invalid request", exception); - return; - } - - final String selectWhere = buildOrWhereString(LauncherProvider.ITEM_TYPE, bindSources); - - final ContentResolver resolver = getContentResolver(); - final AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this); - - boolean foundPhotoAppWidgets = false; - final ArrayList<Integer> photoAppWidgetIds = new ArrayList<Integer>(); - final ArrayList<Bitmap> photoBitmaps = new ArrayList<Bitmap>(); - - Cursor c = null; - - try { - c = resolver.query(LauncherProvider.CONTENT_URI, - BIND_PROJECTION, selectWhere, null, null); - - if (LOGD) Log.d(TAG, "found bind cursor count="+c.getCount()); - - final ContentValues values = new ContentValues(); - while (c != null && c.moveToNext()) { - long favoriteId = c.getLong(INDEX_ID); - int itemType = c.getInt(INDEX_ITEM_TYPE); - int appWidgetId = c.getInt(INDEX_APPWIDGET_ID); - byte[] iconData = c.getBlob(INDEX_ICON); - - // Find the binding target for this type - ComponentName targetAppWidget = null; - for (int i = 0; i < bindSources.length; i++) { - if (bindSources[i] == itemType) { - targetAppWidget = bindTargets.get(i); - break; - } - } - - if (LOGD) Log.d(TAG, "found matching targetAppWidget="+targetAppWidget.toString()+" for favoriteId="+favoriteId); - - boolean bindSuccess = false; - try { - appWidgetManager.bindAppWidgetId(appWidgetId, targetAppWidget); - bindSuccess = true; - } catch (RuntimeException ex) { - Log.w(TAG, "Problem binding widget", ex); - } - - // Handle special case of photo widget by loading bitmap and - // preparing for later binding - if (bindSuccess && iconData != null && - itemType == LauncherProvider.ITEM_TYPE_WIDGET_PHOTO_FRAME) { - Bitmap bitmap = BitmapFactory.decodeByteArray(iconData, 0, iconData.length); - - photoAppWidgetIds.add(appWidgetId); - photoBitmaps.add(bitmap); - foundPhotoAppWidgets = true; - } - - if (LOGD) Log.d(TAG, "after finished, success="+bindSuccess); - - // Depending on success, update launcher or remove item - Uri favoritesUri = ContentUris.withAppendedId(LauncherProvider.CONTENT_URI, favoriteId); - if (bindSuccess) { - values.clear(); - values.put(LauncherProvider.ITEM_TYPE, LauncherProvider.ITEM_TYPE_APPWIDGET); - values.putNull(LauncherProvider.ICON); - resolver.update(favoritesUri, values, null, null); - } else { - resolver.delete(favoritesUri, null, null); - } - - } - } catch (SQLException ex) { - Log.w(TAG, "Problem while binding appWidgetIds for Launcher", ex); - } finally { - if (c != null) { - c.close(); - } - } - - if (foundPhotoAppWidgets) { - // Convert appWidgetIds into int[] - final int N = photoAppWidgetIds.size(); - final int[] photoAppWidgetIdsArray = new int[N]; - for (int i = 0; i < N; i++) { - photoAppWidgetIdsArray[i] = photoAppWidgetIds.get(i); - } - - // Launch intent over to handle bitmap binding, but we don't need to - // wait around for the result. - final Intent bindIntent = new Intent(); - bindIntent.setComponent(BIND_PHOTO_APPWIDGET); - - final Bundle bindExtras = new Bundle(); - bindExtras.putIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS, photoAppWidgetIdsArray); - bindExtras.putParcelableArrayList(EXTRA_APPWIDGET_BITMAPS, photoBitmaps); - bindIntent.putExtras(bindExtras); - - startActivity(bindIntent); - } - - if (LOGD) Log.d(TAG, "completely finished with binding for Launcher"); - } - - /** - * Build a query string that will match any row where the column matches - * anything in the values list. - */ - static String buildOrWhereString(String column, int[] values) { - StringBuilder selectWhere = new StringBuilder(); - for (int i = values.length - 1; i >= 0; i--) { - selectWhere.append(column).append("=").append(values[i]); - if (i > 0) { - selectWhere.append(" OR "); - } - } - return selectWhere.toString(); - } - -} diff --git a/src/com/android/settings/LocalePicker.java b/src/com/android/settings/LocalePicker.java index d31e82c..dcd6141 100644 --- a/src/com/android/settings/LocalePicker.java +++ b/src/com/android/settings/LocalePicker.java @@ -19,7 +19,7 @@ package com.android.settings; import android.app.ActivityManagerNative; import android.app.IActivityManager; import android.app.ListActivity; -import android.backup.BackupManager; +import android.app.backup.BackupManager; import android.content.res.Configuration; import android.os.Bundle; import android.os.RemoteException; @@ -37,6 +37,7 @@ import java.util.Locale; public class LocalePicker extends ListActivity { private static final String TAG = "LocalePicker"; + private static final boolean DEBUG = false; Loc[] mLocales; String[] mSpecialLocaleCodes; @@ -90,8 +91,9 @@ public class LocalePicker extends ListActivity { Locale l = new Locale(language, country); if (finalSize == 0) { - Log.v(TAG, "adding initial "+ - toTitleCase(l.getDisplayLanguage(l))); + if (DEBUG) { + Log.v(TAG, "adding initial "+ toTitleCase(l.getDisplayLanguage(l))); + } preprocess[finalSize++] = new Loc(toTitleCase(l.getDisplayLanguage(l)), l); } else { @@ -101,13 +103,16 @@ public class LocalePicker extends ListActivity { // diff lang -> insert ours with lang-only name if (preprocess[finalSize-1].locale.getLanguage().equals( language)) { - Log.v(TAG, "backing up and fixing "+ - preprocess[finalSize-1].label+" to "+ - getDisplayName(preprocess[finalSize-1].locale)); + if (DEBUG) { + Log.v(TAG, "backing up and fixing "+ + preprocess[finalSize-1].label+" to "+ + getDisplayName(preprocess[finalSize-1].locale)); + } preprocess[finalSize-1].label = toTitleCase( getDisplayName(preprocess[finalSize-1].locale)); - Log.v(TAG, " and adding "+ - toTitleCase(getDisplayName(l))); + if (DEBUG) { + Log.v(TAG, " and adding "+ toTitleCase(getDisplayName(l))); + } preprocess[finalSize++] = new Loc(toTitleCase(getDisplayName(l)), l); } else { @@ -117,7 +122,9 @@ public class LocalePicker extends ListActivity { } else { displayName = toTitleCase(l.getDisplayLanguage(l)); } - Log.v(TAG, "adding "+displayName); + if (DEBUG) { + Log.v(TAG, "adding "+displayName); + } preprocess[finalSize++] = new Loc(displayName, l); } } diff --git a/src/com/android/settings/ManageApplications.java b/src/com/android/settings/ManageApplications.java index 9cd6e23..dfff8c9 100644 --- a/src/com/android/settings/ManageApplications.java +++ b/src/com/android/settings/ManageApplications.java @@ -17,11 +17,11 @@ package com.android.settings; import com.android.settings.R; + import android.app.ActivityManager; -import android.app.AlertDialog; import android.app.Dialog; -import android.app.ListActivity; import android.app.ProgressDialog; +import android.app.TabActivity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; @@ -42,7 +42,6 @@ import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.text.format.Formatter; -import android.util.Config; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -56,6 +55,7 @@ import android.widget.Filter; import android.widget.Filterable; import android.widget.ImageView; import android.widget.ListView; +import android.widget.TabHost; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; @@ -81,42 +81,46 @@ import java.util.concurrent.CountDownLatch; * options to uninstall/delete user data for system applications. This activity * can be launched through Settings or via the ACTION_MANAGE_PACKAGE_STORAGE * intent. - * Initially a compute in progress message is displayed while the application retrieves - * the list of application information from the PackageManager. The size information - * for each package is refreshed to the screen. The resource(app description and - * icon) information for each package is not available yet, so some default values for size - * icon and descriptions are used initially. Later the resource information for each - * application is retrieved and dynamically updated on the screen. - * A Broadcast receiver registers for package additions or deletions when the activity is - * in focus. If the user installs or deletes packages when the activity has focus, the receiver - * gets notified and proceeds to add/delete these packages from the list on the screen. - * This is an unlikely scenario but could happen. The entire list gets created every time - * the activity's onStart gets invoked. This is to avoid having the receiver for the entire - * life cycle of the application. - * The applications can be sorted either alphabetically or - * based on size(descending). If this activity gets launched under low memory - * situations(A low memory notification dispatches intent - * ACTION_MANAGE_PACKAGE_STORAGE) the list is sorted per size. - * If the user selects an application, extended info(like size, uninstall/clear data options, - * permissions info etc.,) is displayed via the InstalledAppDetails activity. + * + * Initially a compute in progress message is displayed while the application retrieves + * the list of application information from the PackageManager. The size information + * for each package is refreshed to the screen. The resource (app description and + * icon) information for each package is not available yet, so some default values for size + * icon and descriptions are used initially. Later the resource information for each + * application is retrieved and dynamically updated on the screen. + * + * A Broadcast receiver registers for package additions or deletions when the activity is + * in focus. If the user installs or deletes packages when the activity has focus, the receiver + * gets notified and proceeds to add/delete these packages from the list on the screen. + * This is an unlikely scenario but could happen. The entire list gets created every time + * the activity's onStart gets invoked. This is to avoid having the receiver for the entire + * life cycle of the application. + * + * The applications can be sorted either alphabetically or + * based on size (descending). If this activity gets launched under low memory + * situations (a low memory notification dispatches intent + * ACTION_MANAGE_PACKAGE_STORAGE) the list is sorted per size. + * + * If the user selects an application, extended info (like size, uninstall/clear data options, + * permissions info etc.,) is displayed via the InstalledAppDetails activity. */ -public class ManageApplications extends ListActivity implements +public class ManageApplications extends TabActivity implements OnItemClickListener, DialogInterface.OnCancelListener, - DialogInterface.OnClickListener { + TabHost.TabContentFactory, + TabHost.OnTabChangeListener { // TAG for this activity private static final String TAG = "ManageApplications"; private static final String PREFS_NAME = "ManageAppsInfo.prefs"; private static final String PREF_DISABLE_CACHE = "disableCache"; // Log information boolean - private boolean localLOGV = Config.LOGV || false; + private boolean localLOGV = false; private static final boolean DEBUG_SIZE = false; private static final boolean DEBUG_TIME = false; // attributes used as keys when passing values to InstalledAppDetails activity - public static final String APP_PKG_PREFIX = "com.android.settings."; - public static final String APP_PKG_NAME = APP_PKG_PREFIX+"ApplicationPkgName"; - public static final String APP_CHG = APP_PKG_PREFIX+"changed"; + public static final String APP_PKG_NAME = "pkg"; + public static final String APP_CHG = "chg"; // attribute name used in receiver for tagging names of added/deleted packages private static final String ATTR_PKG_NAME="p"; @@ -138,11 +142,10 @@ public class ManageApplications extends ListActivity implements public static final int FILTER_APPS_ALL = MENU_OPTIONS_BASE + 0; public static final int FILTER_APPS_RUNNING = MENU_OPTIONS_BASE + 1; public static final int FILTER_APPS_THIRD_PARTY = MENU_OPTIONS_BASE + 2; - public static final int FILTER_OPTIONS = MENU_OPTIONS_BASE + 3; + public static final int FILTER_APPS_SDCARD = MENU_OPTIONS_BASE + 3; + public static final int SORT_ORDER_ALPHA = MENU_OPTIONS_BASE + 4; public static final int SORT_ORDER_SIZE = MENU_OPTIONS_BASE + 5; - // Alert Dialog presented to user to find out the filter option - private AlertDialog mAlertDlg; // sort order private int mSortOrder = SORT_ORDER_ALPHA; // Filter value @@ -174,7 +177,7 @@ public class ManageApplications extends ListActivity implements private PackageIntentReceiver mReceiver; // atomic variable used to track if computing pkg sizes is in progress. should be volatile? - private boolean mComputeSizes = false; + private boolean mComputeSizesFinished = false; // default icon thats used when displaying applications initially before resource info is // retrieved private static Drawable mDefaultAppIcon; @@ -207,13 +210,13 @@ public class ManageApplications extends ListActivity implements ResourceLoaderThread mResourceThread; private TaskRunner mSizeComputor; - String mCurrentPkgName; + private String mCurrentPkgName; // Cache application attributes private AppInfoCache mCache = new AppInfoCache(); // Boolean variables indicating state - private boolean mLoadLabels = false; + private boolean mLoadLabelsFinished = false; private boolean mSizesFirst = false; // ListView used to display list private ListView mListView; @@ -225,33 +228,38 @@ public class ManageApplications extends ListActivity implements private boolean mSetListViewLater = true; /* - * Handler class to handle messages for various operations + * Handler class to handle messages for various operations. * Most of the operations that effect Application related data * are posted as messages to the handler to avoid synchronization * when accessing these structures. + * * When the size retrieval gets kicked off for the first time, a COMPUTE_PKG_SIZE_START - * message is posted to the handler which invokes the getSizeInfo for the pkg at index 0 + * message is posted to the handler which invokes the getSizeInfo for the pkg at index 0. + * * When the PackageManager's asynchronous call back through * PkgSizeObserver.onGetStatsCompleted gets invoked, the application resources like - * label, description, icon etc., is loaded in the same thread and these values are - * set on the observer. The observer then posts a COMPUTE_PKG_SIZE_DONE message - * to the handler. This information is updated on the AppInfoAdapter associated with + * label, description, icon etc., are loaded in the same thread and these values are + * set on the observer. The observer then posts a COMPUTE_PKG_SIZE_DONE message + * to the handler. This information is updated on the AppInfoAdapter associated with * the list view of this activity and size info retrieval is initiated for the next package as - * indicated by mComputeIndex + * indicated by mComputeIndex. + * * When a package gets added while the activity has focus, the PkgSizeObserver posts * ADD_PKG_START message to the handler. If the computation is not in progress, the size * is retrieved for the newly added package through the observer object and the newly - * installed app info is updated on the screen. If the computation is still in progress + * installed app info is updated on the screen. If the computation is still in progress * the package is added to an internal structure and action deferred till the computation - * is done for all the packages. + * is done for all the packages. + * * When a package gets deleted, REMOVE_PKG is posted to the handler - * if computation is not in progress(as indicated by - * mDoneIniting), the package is deleted from the displayed list of apps. If computation is + * if computation is not in progress (as indicated by + * mDoneIniting), the package is deleted from the displayed list of apps. If computation is * still in progress the package is added to an internal structure and action deferred till * the computation is done for all packages. + * * When the sizes of all packages is computed, the newly * added or removed packages are processed in order. - * If the user changes the order in which these applications are viewed by hitting the + * If the user changes the order in which these applications are viewed by hitting the * menu key, REORDER_LIST message is posted to the handler. this sorts the list * of items based on the sort order. */ @@ -293,8 +301,8 @@ public class ManageApplications extends ListActivity implements } mAppInfoAdapter.bulkUpdateSizes(pkgs, sizes, formatted); break; - case COMPUTE_END : - mComputeSizes = true; + case COMPUTE_END: + mComputeSizesFinished = true; mFirst = true; mHandler.sendEmptyMessage(NEXT_LOAD_STEP); break; @@ -304,7 +312,7 @@ public class ManageApplications extends ListActivity implements Log.w(TAG, "Ignoring message:REMOVE_PKG for null pkgName"); break; } - if (!mComputeSizes) { + if (!mComputeSizesFinished) { Boolean currB = mAddRemoveMap.get(pkgName); if (currB == null || (currB.equals(Boolean.TRUE))) { mAddRemoveMap.put(pkgName, Boolean.FALSE); @@ -344,7 +352,7 @@ public class ManageApplications extends ListActivity implements Log.w(TAG, "Ignoring message:ADD_PKG_START for null pkgName"); break; } - if (!mComputeSizes || !mLoadLabels) { + if (!mComputeSizesFinished || !mLoadLabelsFinished) { Boolean currB = mAddRemoveMap.get(pkgName); if (currB == null || (currB.equals(Boolean.FALSE))) { mAddRemoveMap.put(pkgName, Boolean.TRUE); @@ -389,7 +397,7 @@ public class ManageApplications extends ListActivity implements } break; case REFRESH_DONE: - mLoadLabels = true; + mLoadLabelsFinished = true; mHandler.sendEmptyMessage(NEXT_LOAD_STEP); break; case NEXT_LOAD_STEP: @@ -399,7 +407,7 @@ public class ManageApplications extends ListActivity implements mSetListViewLater = false; mFirst = true; } - if (mComputeSizes && mLoadLabels) { + if (mComputeSizesFinished && mLoadLabelsFinished) { doneLoadingData(); // Check for added/removed packages Set<String> keys = mAddRemoveMap.keySet(); @@ -413,7 +421,7 @@ public class ManageApplications extends ListActivity implements } } mAddRemoveMap.clear(); - } else if (!mComputeSizes && !mLoadLabels) { + } else if (!mComputeSizesFinished && !mLoadLabelsFinished) { // Either load the package labels or initiate get size info if (mSizesFirst) { initComputeSizes(); @@ -426,9 +434,9 @@ public class ManageApplications extends ListActivity implements initListView(); mSetListViewLater = false; } - if (!mComputeSizes) { + if (!mComputeSizesFinished) { initComputeSizes(); - } else if (!mLoadLabels) { + } else if (!mLoadLabelsFinished) { initResourceThread(); } } @@ -612,7 +620,16 @@ public class ManageApplications extends ListActivity implements if (installedAppList == null) { return new ArrayList<ApplicationInfo> (); } - if (filterOption == FILTER_APPS_THIRD_PARTY) { + if (filterOption == FILTER_APPS_SDCARD) { + List<ApplicationInfo> appList =new ArrayList<ApplicationInfo> (); + for (ApplicationInfo appInfo : installedAppList) { + if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) { + // App on sdcard + appList.add(appInfo); + } + } + return appList; + } else if (filterOption == FILTER_APPS_THIRD_PARTY) { List<ApplicationInfo> appList =new ArrayList<ApplicationInfo> (); for (ApplicationInfo appInfo : installedAppList) { boolean flag = false; @@ -680,7 +697,21 @@ public class ManageApplications extends ListActivity implements if(pAppList == null) { return retList; } - if (filterOption == FILTER_APPS_THIRD_PARTY) { + if (filterOption == FILTER_APPS_SDCARD) { + for (ApplicationInfo appInfo : pAppList) { + boolean flag = false; + if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) { + // App on sdcard + flag = true; + } + if (flag) { + if (matchFilter(filter, filterMap, appInfo.packageName)) { + retList.add(appInfo); + } + } + } + return retList; + } else if (filterOption == FILTER_APPS_THIRD_PARTY) { for (ApplicationInfo appInfo : pAppList) { boolean flag = false; if ((appInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) { @@ -740,8 +771,8 @@ public class ManageApplications extends ListActivity implements // Some initialization code used when kicking off the size computation private void initAppList(List<ApplicationInfo> appList, int filterOption) { setProgressBarIndeterminateVisibility(true); - mComputeSizes = false; - mLoadLabels = false; + mComputeSizesFinished = false; + mLoadLabelsFinished = false; // Initialize lists mAddRemoveMap = new TreeMap<String, Boolean>(); mAppInfoAdapter.initMapFromList(appList, filterOption); @@ -769,7 +800,7 @@ public class ManageApplications extends ListActivity implements if ((appList != null) && (appList.size()) > 0) { mSizeComputor = new TaskRunner(appList); } else { - mComputeSizes = true; + mComputeSizesFinished = true; } } @@ -862,8 +893,8 @@ public class ManageApplications extends ListActivity implements static private class AppInfo { public String pkgName; int index; - public CharSequence appName; - public Drawable appIcon; + public CharSequence appName; + public Drawable appIcon; public CharSequence appSize; long size; @@ -1085,7 +1116,7 @@ public class ManageApplications extends ListActivity implements Log.w(TAG, "Invalid view position:"+position+", actual size is:"+mAppLocalList.size()); return null; } - // A ViewHolder keeps references to children views to avoid unneccessary calls + // A ViewHolder keeps references to children views to avoid unnecessary calls // to findViewById() on each row. AppViewHolder holder; @@ -1243,6 +1274,10 @@ public class ManageApplications extends ListActivity implements } else if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) { return true; } + } else if (filterOption == FILTER_APPS_SDCARD) { + if ((info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) { + return true; + } } else { return true; } @@ -1529,20 +1564,42 @@ public class ManageApplications extends ListActivity implements filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addDataScheme("package"); ManageApplications.this.registerReceiver(this, filter); + // Register for events related to sdcard installation. + IntentFilter sdFilter = new IntentFilter(); + sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE); + sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE); + ManageApplications.this.registerReceiver(this, sdFilter); + } + @Override + public void onReceive(Context context, Intent intent) { + String actionStr = intent.getAction(); + if (Intent.ACTION_PACKAGE_ADDED.equals(actionStr) || + Intent.ACTION_PACKAGE_REMOVED.equals(actionStr)) { + Uri data = intent.getData(); + String pkgName = data.getEncodedSchemeSpecificPart(); + updatePackageList(actionStr, pkgName); + } else if (Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr) || + Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(actionStr)) { + // When applications become available or unavailable (perhaps because + // the SD card was inserted or ejected) we need to refresh the + // AppInfo with new label, icon and size information as appropriate + // given the newfound (un)availability of the application. + // A simple way to do that is to treat the refresh as a package + // removal followed by a package addition. + String pkgList[] = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST); + if (pkgList == null || pkgList.length == 0) { + // Ignore + return; + } + for (String pkgName : pkgList) { + updatePackageList(Intent.ACTION_PACKAGE_REMOVED, pkgName); + updatePackageList(Intent.ACTION_PACKAGE_ADDED, pkgName); + } + } } - @Override - public void onReceive(Context context, Intent intent) { - String actionStr = intent.getAction(); - Uri data = intent.getData(); - String pkgName = data.getEncodedSchemeSpecificPart(); - if (localLOGV) Log.i(TAG, "action:"+actionStr+", for package:"+pkgName); - updatePackageList(actionStr, pkgName); - } } - + private void updatePackageList(String actionStr, String pkgName) { - // technically we dont have to invoke handler since onReceive is invoked on - // the main thread but doing it here for better clarity if (Intent.ACTION_PACKAGE_ADDED.equalsIgnoreCase(actionStr)) { Bundle data = new Bundle(); data.putString(ATTR_PKG_NAME, pkgName); @@ -1554,6 +1611,11 @@ public class ManageApplications extends ListActivity implements } } + static final String TAB_DOWNLOADED = "Downloaded"; + static final String TAB_RUNNING = "Running"; + static final String TAB_ALL = "All"; + static final String TAB_SDCARD = "OnSdCard"; + private View mRootView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -1564,9 +1626,11 @@ public class ManageApplications extends ListActivity implements } Intent intent = getIntent(); String action = intent.getAction(); + String defaultTabTag = TAB_DOWNLOADED; if (action.equals(Intent.ACTION_MANAGE_PACKAGE_STORAGE)) { mSortOrder = SORT_ORDER_SIZE; mFilterApps = FILTER_APPS_ALL; + defaultTabTag = TAB_ALL; mSizesFirst = true; } mPm = getPackageManager(); @@ -1574,20 +1638,20 @@ public class ManageApplications extends ListActivity implements requestWindowFeature(Window.FEATURE_RIGHT_ICON); requestWindowFeature(Window.FEATURE_PROGRESS); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); - setContentView(R.layout.compute_sizes); showLoadingMsg(); - mDefaultAppIcon =Resources.getSystem().getDrawable( + mDefaultAppIcon = Resources.getSystem().getDrawable( com.android.internal.R.drawable.sym_def_app_icon); mInvalidSizeStr = getText(R.string.invalid_size_value); mComputingSizeStr = getText(R.string.computing_size); // initialize the inflater mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); + mRootView = mInflater.inflate(R.layout.compute_sizes, null); mReceiver = new PackageIntentReceiver(); mObserver = new PkgSizeObserver(); // Create adapter and list view here - List<ApplicationInfo> appList = getInstalledApps(mSortOrder); + List<ApplicationInfo> appList = getInstalledApps(FILTER_APPS_ALL); mAppInfoAdapter = new AppInfoAdapter(this, appList); - ListView lv= (ListView) findViewById(android.R.id.list); + ListView lv = (ListView) mRootView.findViewById(android.R.id.list); lv.setOnItemClickListener(this); lv.setSaveEnabled(true); lv.setItemsCanFocus(true); @@ -1607,8 +1671,29 @@ public class ManageApplications extends ListActivity implements if (DEBUG_TIME) { Log.i(TAG, "Took " + (SystemClock.elapsedRealtime()-sStart) + " ms to init cache"); } + + final TabHost tabHost = getTabHost(); + tabHost.addTab(tabHost.newTabSpec(TAB_DOWNLOADED) + .setIndicator(getString(R.string.filter_apps_third_party), + getResources().getDrawable(R.drawable.ic_tab_download)) + .setContent(this)); + tabHost.addTab(tabHost.newTabSpec(TAB_RUNNING) + .setIndicator(getString(R.string.filter_apps_running), + getResources().getDrawable(R.drawable.ic_tab_running)) + .setContent(this)); + tabHost.addTab(tabHost.newTabSpec(TAB_ALL) + .setIndicator(getString(R.string.filter_apps_all), + getResources().getDrawable(R.drawable.ic_tab_all)) + .setContent(this)); + tabHost.addTab(tabHost.newTabSpec(TAB_SDCARD) + .setIndicator(getString(R.string.filter_apps_onsdcard), + getResources().getDrawable(R.drawable.ic_tab_sdcard)) + .setContent(this)); + tabHost.setCurrentTabByTag(defaultTabTag); + tabHost.setOnTabChangedListener(this); } + @Override protected void onDestroy() { // Persist values in cache mCache.updateCache(); @@ -1616,7 +1701,7 @@ public class ManageApplications extends ListActivity implements } @Override - public Dialog onCreateDialog(int id) { + public Dialog onCreateDialog(int id, Bundle args) { if (id == DLG_LOADING) { ProgressDialog dlg = new ProgressDialog(this); dlg.setProgressStyle(ProgressDialog.STYLE_SPINNER); @@ -1700,7 +1785,7 @@ public class ManageApplications extends ListActivity implements err = true; break; } - // Buffer length cannot be great then max. + // Buffer length cannot be greater than max. fis.read(byteBuff, 0, buffLen); String buffStr = new String(byteBuff); if (DEBUG_CACHE) { @@ -1922,8 +2007,6 @@ public class ManageApplications extends ListActivity implements .setIcon(android.R.drawable.ic_menu_sort_alphabetically); menu.add(0, SORT_ORDER_SIZE, 2, R.string.sort_order_size) .setIcon(android.R.drawable.ic_menu_sort_by_size); - menu.add(0, FILTER_OPTIONS, 3, R.string.filter) - .setIcon(R.drawable.ic_menu_filter_settings); return true; } @@ -1932,7 +2015,6 @@ public class ManageApplications extends ListActivity implements if (mFirst) { menu.findItem(SORT_ORDER_ALPHA).setVisible(mSortOrder != SORT_ORDER_ALPHA); menu.findItem(SORT_ORDER_SIZE).setVisible(mSortOrder != SORT_ORDER_SIZE); - menu.findItem(FILTER_OPTIONS).setVisible(true); return true; } return false; @@ -1943,20 +2025,6 @@ public class ManageApplications extends ListActivity implements int menuId = item.getItemId(); if ((menuId == SORT_ORDER_ALPHA) || (menuId == SORT_ORDER_SIZE)) { sendMessageToHandler(REORDER_LIST, menuId); - } else if (menuId == FILTER_OPTIONS) { - // Pick up the selection value from the list of added choice items. - int selection = mFilterApps - MENU_OPTIONS_BASE; - if (mAlertDlg == null) { - mAlertDlg = new AlertDialog.Builder(this). - setTitle(R.string.filter_dlg_title). - setNeutralButton(R.string.cancel, this). - setSingleChoiceItems(new CharSequence[] {getText(R.string.filter_apps_all), - getText(R.string.filter_apps_running), - getText(R.string.filter_apps_third_party)}, - selection, this). - create(); - } - mAlertDlg.show(); } return true; } @@ -1973,22 +2041,41 @@ public class ManageApplications extends ListActivity implements finish(); } - public void onClick(DialogInterface dialog, int which) { + public View createTabContent(String tag) { + return mRootView; + } + + public void onTabChanged(String tabId) { int newOption; - switch (which) { - // Make sure that values of 0, 1, 2 match options all, running, third_party when - // created via the AlertDialog.Builder - case FILTER_APPS_ALL: - break; - case FILTER_APPS_RUNNING: - break; - case FILTER_APPS_THIRD_PARTY: - break; - default: + if (TAB_DOWNLOADED.equalsIgnoreCase(tabId)) { + newOption = FILTER_APPS_THIRD_PARTY; + } else if (TAB_RUNNING.equalsIgnoreCase(tabId)) { + newOption = FILTER_APPS_RUNNING; + } else if (TAB_ALL.equalsIgnoreCase(tabId)) { + newOption = FILTER_APPS_ALL; + } else if (TAB_SDCARD.equalsIgnoreCase(tabId)) { + newOption = FILTER_APPS_SDCARD; + } else { + // Invalid option. Do nothing return; } - newOption = which; - mAlertDlg.dismiss(); sendMessageToHandler(REORDER_LIST, newOption); } + + @Override + protected void onActivityResult(int requestCode, int resultCode, + Intent data) { + if (requestCode == INSTALLED_APP_DETAILS && mCurrentPkgName != null) { + // Refresh package attributes + try { + ApplicationInfo info = mPm.getApplicationInfo(mCurrentPkgName, + PackageManager.GET_UNINSTALLED_PACKAGES); + } catch (NameNotFoundException e) { + Bundle rData = new Bundle(); + rData.putString(ATTR_PKG_NAME, mCurrentPkgName); + sendMessageToHandler(REMOVE_PKG, rData); + mCurrentPkgName = null; + } + } + } } diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java index fd4a411..4de0e44 100644 --- a/src/com/android/settings/MasterClear.java +++ b/src/com/android/settings/MasterClear.java @@ -23,7 +23,6 @@ import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.os.ICheckinService; import android.os.ServiceManager; import android.os.SystemProperties; import android.text.TextUtils; @@ -53,59 +52,33 @@ public class MasterClear extends Activity { private View mFinalView; private Button mFinalButton; - /** + /** * The user has gone through the multiple confirmation, so now we go ahead * and invoke the Checkin Service to reset the device to its factory-default * state (rebooting in the process). */ private Button.OnClickListener mFinalClickListener = new Button.OnClickListener() { public void onClick(View v) { - if (Utils.isMonkeyRunning()) { return; } - ICheckinService service = - ICheckinService.Stub.asInterface(ServiceManager.getService("checkin")); - if (service != null) { - try { - // This RPC should never return - service.masterClear(); - } catch (android.os.RemoteException e) { - // Intentionally blank - there's nothing we can do here - Log.w("MasterClear", "Unable to invoke ICheckinService.masterClear()"); - } - } else { - Log.w("MasterClear", "Unable to locate ICheckinService"); - } - - /* If we reach this point, the master clear didn't happen -- the - * service might have been unregistered with the ServiceManager, - * the RPC might have thrown an exception, or for some reason - * the implementation of masterClear() may have returned instead - * of resetting the device. - */ - new AlertDialog.Builder(MasterClear.this) - .setMessage(getText(R.string.master_clear_failed)) - .setPositiveButton(getText(android.R.string.ok), null) - .show(); + sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); + // Intent handling is asynchronous -- assume it will happen soon. } }; /** - * Keyguard validation is run using the standard {@link ConfirmLockPattern} + * Keyguard validation is run using the standard {@link ConfirmLockPattern} * component as a subactivity + * @param request the request code to be returned once confirmation finishes + * @return true if confirmation launched */ - private void runKeyguardConfirmation() { - final Intent intent = new Intent(); - intent.setClassName("com.android.settings", - "com.android.settings.ConfirmLockPattern"); - // supply header and footer text in the intent - intent.putExtra(ConfirmLockPattern.HEADER_TEXT, - getText(R.string.master_clear_gesture_prompt)); - intent.putExtra(ConfirmLockPattern.FOOTER_TEXT, - getText(R.string.master_clear_gesture_explanation)); - startActivityForResult(intent, KEYGUARD_REQUEST); + private boolean runKeyguardConfirmation(int request) { + return new ChooseLockSettingsHelper(this) + .launchConfirmationActivity(request, + getText(R.string.master_clear_gesture_prompt), + getText(R.string.master_clear_gesture_explanation)); } @Override @@ -120,6 +93,8 @@ public class MasterClear extends Activity { // confirmation prompt; otherwise, go back to the initial state. if (resultCode == Activity.RESULT_OK) { establishFinalConfirmationState(); + } else if (resultCode == Activity.RESULT_CANCELED) { + finish(); } else { establishInitialState(); } @@ -132,9 +107,7 @@ public class MasterClear extends Activity { */ private Button.OnClickListener mInitiateListener = new Button.OnClickListener() { public void onClick(View v) { - if (mLockUtils.isLockPatternEnabled()) { - runKeyguardConfirmation(); - } else { + if (!runKeyguardConfirmation(KEYGUARD_REQUEST)) { establishFinalConfirmationState(); } } @@ -159,7 +132,7 @@ public class MasterClear extends Activity { * click in order to initiate a confirmation sequence. This method is * called from various other points in the code to reset the activity to * this base state. - * + * * <p>Reinflating views from resources is expensive and prevents us from * caching widget pointers, so we use a single-inflate pattern: we lazy- * inflate each view, caching all of the widget pointers we'll need at the @@ -184,7 +157,7 @@ public class MasterClear extends Activity { mInitialView = null; mFinalView = null; mInflater = LayoutInflater.from(this); - mLockUtils = new LockPatternUtils(getContentResolver()); + mLockUtils = new LockPatternUtils(this); establishInitialState(); } diff --git a/src/com/android/settings/MediaFormat.java b/src/com/android/settings/MediaFormat.java index e0d9af6..b78ff62 100644 --- a/src/com/android/settings/MediaFormat.java +++ b/src/com/android/settings/MediaFormat.java @@ -23,7 +23,7 @@ import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.os.IMountService; +import android.os.storage.IMountService; import android.os.ServiceManager; import android.os.SystemProperties; import android.os.Environment; @@ -64,15 +64,19 @@ public class MediaFormat extends Activity { if (Utils.isMonkeyRunning()) { return; } - IMountService service = + final IMountService service = IMountService.Stub.asInterface(ServiceManager.getService("mount")); if (service != null) { - try { - service.formatMedia(Environment.getExternalStorageDirectory().toString()); - } catch (android.os.RemoteException e) { - // Intentionally blank - there's nothing we can do here - Log.w("MediaFormat", "Unable to invoke IMountService.formatMedia()"); - } + new Thread() { + public void run() { + try { + service.formatVolume(Environment.getExternalStorageDirectory().toString()); + } catch (Exception e) { + // Intentionally blank - there's nothing we can do here + Log.w("MediaFormat", "Unable to invoke IMountService.formatMedia()"); + } + } + }.start(); } else { Log.w("MediaFormat", "Unable to locate IMountService"); } @@ -84,16 +88,11 @@ public class MediaFormat extends Activity { * Keyguard validation is run using the standard {@link ConfirmLockPattern} * component as a subactivity */ - private void runKeyguardConfirmation() { - final Intent intent = new Intent(); - intent.setClassName("com.android.settings", - "com.android.settings.ConfirmLockPattern"); - // supply header and footer text in the intent - intent.putExtra(ConfirmLockPattern.HEADER_TEXT, - getText(R.string.media_format_gesture_prompt)); - intent.putExtra(ConfirmLockPattern.FOOTER_TEXT, - getText(R.string.media_format_gesture_explanation)); - startActivityForResult(intent, KEYGUARD_REQUEST); + private boolean runKeyguardConfirmation(int request) { + return new ChooseLockSettingsHelper(this) + .launchConfirmationActivity(request, + getText(R.string.media_format_gesture_prompt), + getText(R.string.media_format_gesture_explanation)); } @Override @@ -108,6 +107,8 @@ public class MediaFormat extends Activity { // confirmation prompt; otherwise, go back to the initial state. if (resultCode == Activity.RESULT_OK) { establishFinalConfirmationState(); + } else if (resultCode == Activity.RESULT_CANCELED) { + finish(); } else { establishInitialState(); } @@ -120,9 +121,7 @@ public class MediaFormat extends Activity { */ private Button.OnClickListener mInitiateListener = new Button.OnClickListener() { public void onClick(View v) { - if (mLockUtils.isLockPatternEnabled()) { - runKeyguardConfirmation(); - } else { + if (!runKeyguardConfirmation(KEYGUARD_REQUEST)) { establishFinalConfirmationState(); } } @@ -147,7 +146,7 @@ public class MediaFormat extends Activity { * click in order to initiate a confirmation sequence. This method is * called from various other points in the code to reset the activity to * this base state. - * + * * <p>Reinflating views from resources is expensive and prevents us from * caching widget pointers, so we use a single-inflate pattern: we lazy- * inflate each view, caching all of the widget pointers we'll need at the @@ -172,7 +171,7 @@ public class MediaFormat extends Activity { mInitialView = null; mFinalView = null; mInflater = LayoutInflater.from(this); - mLockUtils = new LockPatternUtils(getContentResolver()); + mLockUtils = new LockPatternUtils(this); establishInitialState(); } diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java index 2edb328..29deacf 100644 --- a/src/com/android/settings/PrivacySettings.java +++ b/src/com/android/settings/PrivacySettings.java @@ -18,7 +18,7 @@ package com.android.settings; import android.app.AlertDialog; import android.app.Dialog; -import android.backup.IBackupManager; +import android.app.backup.IBackupManager; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; @@ -39,24 +39,17 @@ import android.widget.TextView; * Gesture lock pattern settings. */ public class PrivacySettings extends PreferenceActivity implements - DialogInterface.OnDismissListener, DialogInterface.OnClickListener { - - private static final String PREFS_NAME = "location_prefs"; - private static final String PREFS_USE_LOCATION = "use_location"; + DialogInterface.OnClickListener { // Vendor specific - private static final String GSETTINGS_PROVIDER = "com.google.android.providers.settings"; - private static final String LOCATION_CATEGORY = "location_category"; - private static final String SETTINGS_CATEGORY = "settings_category"; - private static final String USE_LOCATION = "use_location"; - private static final String BACKUP_SETTINGS = "backup_settings"; - private static final String KEY_DONE_USE_LOCATION = "doneLocation"; - private CheckBoxPreference mUseLocation; + private static final String GSETTINGS_PROVIDER = "com.google.settings"; + private static final String BACKUP_CATEGORY = "backup_category"; + private static final String BACKUP_DATA = "backup_data"; + private static final String AUTO_RESTORE = "auto_restore"; private CheckBoxPreference mBackup; - private boolean mOkClicked; + private CheckBoxPreference mAutoRestore; private Dialog mConfirmDialog; - private static final int DIALOG_USE_LOCATION = 1; private static final int DIALOG_ERASE_BACKUP = 2; private int mDialogType; @@ -64,27 +57,16 @@ public class PrivacySettings extends PreferenceActivity implements protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.privacy_settings); + final PreferenceScreen screen = getPreferenceScreen(); - mUseLocation = (CheckBoxPreference) getPreferenceScreen().findPreference(USE_LOCATION); - mBackup = (CheckBoxPreference) getPreferenceScreen().findPreference(BACKUP_SETTINGS); + mBackup = (CheckBoxPreference) screen.findPreference(BACKUP_DATA); + mAutoRestore = (CheckBoxPreference) screen.findPreference(AUTO_RESTORE); // Vendor specific - try { - if (mUseLocation != null) { - getPackageManager().getPackageInfo(GSETTINGS_PROVIDER, 0); - } - } catch (NameNotFoundException nnfe) { - getPreferenceScreen().removePreference(findPreference(LOCATION_CATEGORY)); - getPreferenceScreen().removePreference(findPreference(SETTINGS_CATEGORY)); + if (getPackageManager().resolveContentProvider(GSETTINGS_PROVIDER, 0) == null) { + screen.removePreference(findPreference(BACKUP_CATEGORY)); } updateToggles(); - - boolean doneUseLocation = savedInstanceState == null - ? false : savedInstanceState.getBoolean(KEY_DONE_USE_LOCATION, true); - if (!doneUseLocation && (getIntent().getBooleanExtra("SHOW_USE_LOCATION", false) - || savedInstanceState != null)) { - showUseLocationDialog(true); - } } @Override @@ -98,63 +80,32 @@ public class PrivacySettings extends PreferenceActivity implements } @Override - public void onSaveInstanceState(Bundle icicle) { - if (mConfirmDialog != null && mConfirmDialog.isShowing() - && mDialogType == DIALOG_USE_LOCATION) { - icicle.putBoolean(KEY_DONE_USE_LOCATION, false); - } - super.onSaveInstanceState(icicle); - } - - @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - if (preference == mUseLocation) { - //normally called on the toggle click - if (mUseLocation.isChecked()) { - showUseLocationDialog(false); - } else { - updateUseLocation(); - } - } else if (preference == mBackup) { + if (preference == mBackup) { if (!mBackup.isChecked()) { showEraseBackupDialog(); } else { setBackupEnabled(true); } + } else if (preference == mAutoRestore) { + IBackupManager bm = IBackupManager.Stub.asInterface( + ServiceManager.getService(Context.BACKUP_SERVICE)); + if (bm != null) { + // TODO: disable via the backup manager interface + boolean curState = mAutoRestore.isChecked(); + try { + bm.setAutoRestore(curState); + } catch (RemoteException e) { + mAutoRestore.setChecked(!curState); + } + } } return false; } - private void showUseLocationDialog(boolean force) { - // Show a warning to the user that location data will be shared - mOkClicked = false; - if (force) { - mUseLocation.setChecked(true); - } - - if (hasAgreedToUseLocation()) { - updateUseLocation(); - return; - } - - mDialogType = DIALOG_USE_LOCATION; - CharSequence msg = getResources().getText(R.string.use_location_warning_message); - mConfirmDialog = new AlertDialog.Builder(this).setMessage(msg) - .setTitle(R.string.use_location_title) - .setIcon(android.R.drawable.ic_dialog_alert) - .setPositiveButton(R.string.agree, this) - .setNegativeButton(R.string.disagree, this) - .show(); - ((TextView)mConfirmDialog.findViewById(android.R.id.message)) - .setMovementMethod(LinkMovementMethod.getInstance()); - mConfirmDialog.setOnDismissListener(this); - } - private void showEraseBackupDialog() { - // Show a warning to the user that location data will be shared - mOkClicked = false; mBackup.setChecked(true); mDialogType = DIALOG_ERASE_BACKUP; @@ -165,7 +116,6 @@ public class PrivacySettings extends PreferenceActivity implements .setPositiveButton(android.R.string.ok, this) .setNegativeButton(android.R.string.cancel, this) .show(); - mConfirmDialog.setOnDismissListener(this); } /* @@ -173,72 +123,31 @@ public class PrivacySettings extends PreferenceActivity implements */ private void updateToggles() { ContentResolver res = getContentResolver(); - mUseLocation.setChecked(Settings.Secure.getInt(res, - Settings.Secure.USE_LOCATION_FOR_SERVICES, 2) == 1); - mBackup.setChecked(Settings.Secure.getInt(res, - Settings.Secure.BACKUP_ENABLED, 0) == 1); - } - private void updateUseLocation() { - boolean use = mUseLocation.isChecked(); - Settings.Secure.putInt(getContentResolver(), - Settings.Secure.USE_LOCATION_FOR_SERVICES, use ? 1 : 0); + final boolean backupEnabled = Settings.Secure.getInt(res, + Settings.Secure.BACKUP_ENABLED, 0) == 1; + mBackup.setChecked(backupEnabled); + + mAutoRestore.setChecked(Settings.Secure.getInt(res, + Settings.Secure.BACKUP_AUTO_RESTORE, 1) == 1); + mAutoRestore.setEnabled(backupEnabled); } public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_POSITIVE) { //updateProviders(); - mOkClicked = true; - if (mDialogType == DIALOG_USE_LOCATION) { - setAgreedToUseLocation(true); - } else if (mDialogType == DIALOG_ERASE_BACKUP) { + if (mDialogType == DIALOG_ERASE_BACKUP) { setBackupEnabled(false); } } else { - if (mDialogType == DIALOG_USE_LOCATION) { - // Reset the toggle - mUseLocation.setChecked(false); - } else if (mDialogType == DIALOG_ERASE_BACKUP) { + if (mDialogType == DIALOG_ERASE_BACKUP) { mBackup.setChecked(true); + mAutoRestore.setEnabled(true); } } - updateUseLocation(); mDialogType = 0; } - public void onDismiss(DialogInterface dialog) { - // Assuming that onClick gets called first - if (!mOkClicked) { - if (mDialogType == DIALOG_USE_LOCATION) { - mUseLocation.setChecked(false); - } - } - } - - /** - * Checks if the user has agreed to the dialog in the past. - */ - private boolean hasAgreedToUseLocation() { - SharedPreferences sp = getSharedPreferences(PREFS_NAME, 0); - if (sp == null) { - return false; - } - return sp.getBoolean(PREFS_USE_LOCATION, false); - } - - /** - * Notes that the user has agreed to the dialog and won't need to be prompted in the - * future. - */ - private void setAgreedToUseLocation(boolean agreed) { - if (agreed) { - SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); - SharedPreferences.Editor editor = settings.edit(); - editor.putBoolean(PREFS_USE_LOCATION, true); - editor.commit(); - } - } - /** * Informs the BackupManager of a change in backup state - if backup is disabled, * the data on the server will be erased. @@ -252,9 +161,11 @@ public class PrivacySettings extends PreferenceActivity implements bm.setBackupEnabled(enable); } catch (RemoteException e) { mBackup.setChecked(!enable); + mAutoRestore.setEnabled(!enable); return; } } mBackup.setChecked(enable); + mAutoRestore.setEnabled(enable); } } diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java index ce236fd..f0fcdd7 100644 --- a/src/com/android/settings/RadioInfo.java +++ b/src/com/android/settings/RadioInfo.java @@ -20,6 +20,8 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.content.SharedPreferences; import android.content.res.Resources; import android.net.Uri; @@ -57,8 +59,7 @@ import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneFactory; import com.android.internal.telephony.PhoneStateIntentReceiver; import com.android.internal.telephony.TelephonyProperties; -import com.android.internal.telephony.gsm.GSMPhone; -import com.android.internal.telephony.gsm.PdpConnection; +import com.android.internal.telephony.gsm.GsmDataConnection; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; @@ -72,6 +73,8 @@ import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; +import android.util.Log; + public class RadioInfo extends Activity { private final String TAG = "phone"; @@ -83,8 +86,6 @@ public class RadioInfo extends Activity { private static final int EVENT_QUERY_PREFERRED_TYPE_DONE = 1000; private static final int EVENT_SET_PREFERRED_TYPE_DONE = 1001; private static final int EVENT_QUERY_NEIGHBORING_CIDS_DONE = 1002; - private static final int EVENT_SET_QXDMLOG_DONE = 1003; - private static final int EVENT_SET_CIPHER_DONE = 1004; private static final int EVENT_QUERY_SMSC_DONE = 1005; private static final int EVENT_UPDATE_SMSC_DONE = 1006; @@ -94,7 +95,9 @@ public class RadioInfo extends Activity { private static final int MENU_ITEM_VIEW_SDN = 3; private static final int MENU_ITEM_GET_PDP_LIST = 4; private static final int MENU_ITEM_TOGGLE_DATA = 5; - private static final int MENU_ITEM_TOGGLE_DATA_ON_BOOT = 6; + + static final String ENABLE_DATA_STR = "Enable data connection"; + static final String DISABLE_DATA_STR = "Disable data connection"; private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA private TextView number; @@ -119,16 +122,14 @@ public class RadioInfo extends Activity { private TextView mPingIpAddr; private TextView mPingHostname; private TextView mHttpClientTest; - private TextView cipherState; private TextView dnsCheckState; private EditText smsc; private Button radioPowerButton; - private Button qxdmLogButton; - private Button cipherToggleButton; private Button dnsCheckToggleButton; private Button pingTestButton; private Button updateSmscButton; private Button refreshSmscButton; + private Button oemInfoButton; private Spinner preferredNetworkType; private TelephonyManager mTelephonyManager; @@ -136,11 +137,6 @@ public class RadioInfo extends Activity { private PhoneStateIntentReceiver mPhoneStateReceiver; private INetStatService netstat; - private OemCommands mOem = null; - private boolean mQxdmLogEnabled; - // The requested cipher state - private boolean mCipherOn; - private String mPingIpAddrResult; private String mPingHostnameResult; private String mHttpClientTestResult; @@ -220,22 +216,6 @@ public class RadioInfo extends Activity { mNeighboringCids.setText("unknown"); } break; - case EVENT_SET_QXDMLOG_DONE: - ar= (AsyncResult) msg.obj; - if (ar.exception == null) { - mQxdmLogEnabled = !mQxdmLogEnabled; - - updateQxdmState(mQxdmLogEnabled); - displayQxdmEnableResult(); - } - break; - case EVENT_SET_CIPHER_DONE: - ar= (AsyncResult) msg.obj; - if (ar.exception == null) { - setCiphPref(mCipherOn); - } - updateCiphState(); - break; case EVENT_QUERY_SMSC_DONE: ar= (AsyncResult) msg.obj; if (ar.exception != null) { @@ -258,116 +238,6 @@ public class RadioInfo extends Activity { } }; - static private class OemCommands { - - public static final int OEM_QXDM_SDLOG_DEFAULT_FILE_SIZE = 32; - public static final int OEM_QXDM_SDLOG_DEFAULT_MASK = 0; - public static final int OEM_QXDM_SDLOG_DEFAULT_MAX_INDEX = 8; - - static final int SIZE_OF_INT = 4; - static final int OEM_FEATURE_ENABLE = 1; - static final int OEM_FEATURE_DISABLE = 0; - static final int OEM_SIMPE_FEAUTURE_LEN = 1; - - static final int OEM_QXDM_SDLOG_FUNCTAG = 0x00010000; - static final int OEM_QXDM_SDLOG_LEN = 4; - static final int OEM_PS_AUTO_ATTACH_FUNCTAG = 0x00020000; - static final int OEM_CIPHERING_FUNCTAG = 0x00020001; - - /** - * The OEM interface to store QXDM to SD. - * - * To start/stop logging QXDM logs to SD card, use tag - * OEM_RIL_HOOK_QXDM_SD_LOG_SETUP 0x00010000 - * - * "data" is a const oem_ril_hook_qxdm_sdlog_setup_data_st * - * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->head.func_tag - * should be OEM_RIL_HOOK_QXDM_SD_LOG_SETUP - * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->head.len - * should be "sizeof(unsigned int) * 4" - * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->mode - * could be 0 for 'stop logging', or 1 for 'start logging' - * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->log_file_size - * will assign the size of each log file, and it could be a value between - * 1 and 512 (in megabytes, default value is recommended to set as 32). - * This value will be ignored when mode == 0. - * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->log_mask will - * assign the rule to filter logs, and it is a bitmask (bit0 is for MsgAll, - * bit1 is for LogAll, and bit2 is for EventAll) recommended to be set as 0 - * by default. This value will be ignored when mode == 0. - * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->log_max_fileindex - * set the how many logfiles will storted before roll over. This value will - * be ignored when mode == 0. - * - * "response" is NULL - * - * typedef struct _oem_ril_hook_raw_head_st { - * unsigned int func_tag; - * unsigned int len; - * } oem_ril_hook_raw_head_st; - * - * typedef struct _oem_ril_hook_qxdm_sdlog_setup_data_st { - * oem_ril_hook_raw_head_st head; - * unsigned int mode; - * unsigned int log_file_size; - * unsigned int log_mask; - * unsigned int log_max_fileindex; - * } oem_ril_hook_qxdm_sdlog_setup_data_st; - * - * @param enable set true to start logging QXDM in SD card - * @param fileSize is the log file size in MB - * @param mask is the log mask to filter - * @param maxIndex is the maximum roll-over file number - * @return byteArray to use in RIL RAW command - */ - byte[] getQxdmSdlogData(boolean enable, int fileSize, int mask, int maxIndex) { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - DataOutputStream dos = new DataOutputStream(bos); - try { - writeIntLittleEndian(dos, OEM_QXDM_SDLOG_FUNCTAG); - writeIntLittleEndian(dos, OEM_QXDM_SDLOG_LEN * SIZE_OF_INT); - writeIntLittleEndian(dos, enable ? - OEM_FEATURE_ENABLE : OEM_FEATURE_DISABLE); - writeIntLittleEndian(dos, fileSize); - writeIntLittleEndian(dos, mask); - writeIntLittleEndian(dos, maxIndex); - } catch (IOException e) { - return null; - } - return bos.toByteArray(); - } - - byte[] getPsAutoAttachData(boolean enable) { - return getSimpleFeatureData(OEM_PS_AUTO_ATTACH_FUNCTAG, enable); - } - - byte[] getCipheringData(boolean enable) { - return getSimpleFeatureData(OEM_CIPHERING_FUNCTAG, enable); - } - - private byte[] getSimpleFeatureData(int tag, boolean enable) { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - DataOutputStream dos = new DataOutputStream(bos); - try { - writeIntLittleEndian(dos, tag); - writeIntLittleEndian(dos, OEM_SIMPE_FEAUTURE_LEN * SIZE_OF_INT); - writeIntLittleEndian(dos, enable ? - OEM_FEATURE_ENABLE : OEM_FEATURE_DISABLE); - } catch (IOException e) { - return null; - } - return bos.toByteArray(); - } - - private void writeIntLittleEndian(DataOutputStream dos, int val) - throws IOException { - dos.writeByte(val); - dos.writeByte(val >> 8); - dos.writeByte(val >> 16); - dos.writeByte(val >> 24); - } - } - @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -398,7 +268,6 @@ public class RadioInfo extends Activity { sentSinceReceived = (TextView) findViewById(R.id.sentSinceReceived); sent = (TextView) findViewById(R.id.sent); received = (TextView) findViewById(R.id.received); - cipherState = (TextView) findViewById(R.id.ciphState); smsc = (EditText) findViewById(R.id.smsc); dnsCheckState = (TextView) findViewById(R.id.dnsCheckState); @@ -416,11 +285,6 @@ public class RadioInfo extends Activity { radioPowerButton = (Button) findViewById(R.id.radio_power); radioPowerButton.setOnClickListener(mPowerButtonHandler); - qxdmLogButton = (Button) findViewById(R.id.qxdm_log); - qxdmLogButton.setOnClickListener(mQxdmButtonHandler); - - cipherToggleButton = (Button) findViewById(R.id.ciph_toggle); - cipherToggleButton.setOnClickListener(mCipherButtonHandler); pingTestButton = (Button) findViewById(R.id.ping_test); pingTestButton.setOnClickListener(mPingButtonHandler); updateSmscButton = (Button) findViewById(R.id.update_smsc); @@ -430,14 +294,20 @@ public class RadioInfo extends Activity { dnsCheckToggleButton = (Button) findViewById(R.id.dns_check_toggle); dnsCheckToggleButton.setOnClickListener(mDnsCheckButtonHandler); + oemInfoButton = (Button) findViewById(R.id.oem_info); + oemInfoButton.setOnClickListener(mOemInfoButtonHandler); + PackageManager pm = getPackageManager(); + Intent oemInfoIntent = new Intent("com.android.settings.OEM_RADIO_INFO"); + List<ResolveInfo> oemInfoIntentList = pm.queryIntentActivities(oemInfoIntent, 0); + if (oemInfoIntentList.size() == 0) { + oemInfoButton.setEnabled(false); + } + mPhoneStateReceiver = new PhoneStateIntentReceiver(this, mHandler); mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED); mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED); mPhoneStateReceiver.notifyPhoneCallState(EVENT_PHONE_STATE_CHANGED); - updateQxdmState(null); - mOem = new OemCommands(); - phone.getPreferredNetworkType( mHandler.obtainMessage(EVENT_QUERY_PREFERRED_TYPE_DONE)); phone.getNeighboringCids( @@ -462,9 +332,7 @@ public class RadioInfo extends Activity { updateDataStats(); updateDataStats2(); updatePowerState(); - updateQxdmState(null); updateProperties(); - updateCiphState(); updateDnsCheckState(); Log.i(TAG, "[RadioInfo] onResume: register phone & data intents"); @@ -502,14 +370,10 @@ public class RadioInfo extends Activity { menu.add(1, MENU_ITEM_GET_PDP_LIST, 0, R.string.radioInfo_menu_getPDP).setOnMenuItemClickListener(mGetPdpList); menu.add(1, MENU_ITEM_TOGGLE_DATA, - 0, R.string.radioInfo_menu_disableData).setOnMenuItemClickListener(mToggleData); - menu.add(1, MENU_ITEM_TOGGLE_DATA_ON_BOOT, - 0, R.string.radioInfo_menu_disableDataOnBoot).setOnMenuItemClickListener( - mToggleDataOnBoot); + 0, DISABLE_DATA_STR).setOnMenuItemClickListener(mToggleData); return true; } - @Override public boolean onPrepareOptionsMenu(Menu menu) { // Get the TOGGLE DATA menu item in the right state. @@ -520,26 +384,16 @@ public class RadioInfo extends Activity { switch (state) { case TelephonyManager.DATA_CONNECTED: case TelephonyManager.DATA_SUSPENDED: - item.setTitle(R.string.radioInfo_menu_disableData); + item.setTitle(DISABLE_DATA_STR); break; case TelephonyManager.DATA_DISCONNECTED: - item.setTitle(R.string.radioInfo_menu_enableData); + item.setTitle(ENABLE_DATA_STR); break; default: visible = false; break; } item.setVisible(visible); - - // Get the toggle-data-on-boot menu item in the right state. - item = menu.findItem(MENU_ITEM_TOGGLE_DATA_ON_BOOT); - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext()); - boolean value = sp.getBoolean(GSMPhone.DATA_DISABLED_ON_BOOT_KEY, false); - if (value) { - item.setTitle(R.string.radioInfo_menu_enableDataOnBoot); - } else { - item.setTitle(R.string.radioInfo_menu_disableDataOnBoot); - } return true; } @@ -554,42 +408,6 @@ public class RadioInfo extends Activity { radioPowerButton.setText(buttonText); } - private void updateQxdmState(Boolean newQxdmStatus) { - SharedPreferences sp = - PreferenceManager.getDefaultSharedPreferences(phone.getContext()); - mQxdmLogEnabled = sp.getBoolean("qxdmstatus", false); - // This is called from onCreate, onResume, and the handler when the status - // is updated. - if (newQxdmStatus != null) { - SharedPreferences.Editor editor = sp.edit(); - editor.putBoolean("qxdmstatus", newQxdmStatus); - editor.commit(); - mQxdmLogEnabled = newQxdmStatus; - } - - String buttonText = mQxdmLogEnabled ? - getString(R.string.turn_off_qxdm) : - getString(R.string.turn_on_qxdm); - qxdmLogButton.setText(buttonText); - } - - private void setCiphPref(boolean value) { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext()); - SharedPreferences.Editor editor = sp.edit(); - editor.putBoolean(GSMPhone.CIPHERING_KEY, value); - editor.commit(); - } - - private boolean getCiphPref() { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext()); - boolean ret = sp.getBoolean(GSMPhone.CIPHERING_KEY, true); - return ret; - } - - private void updateCiphState() { - cipherState.setText(getCiphPref() ? "Ciphering ON" : "Ciphering OFF"); - } - private void updateDnsCheckState() { dnsCheckState.setText(phone.isDnsCheckDisabled() ? "0.0.0.0 allowed" :"0.0.0.0 not allowed"); @@ -942,8 +760,8 @@ public class RadioInfo extends Activity { List<DataConnection> dcs = phone.getCurrentDataConnectionList(); for (DataConnection dc : dcs) { - sb.append(" State: ").append(dc.getState().toString()).append("\n"); - if (dc.getState().isActive()) { + sb.append(" State: ").append(dc.getStateAsString()).append("\n"); + if (dc.isActive()) { long timeElapsed = (System.currentTimeMillis() - dc.getConnectionTime())/1000; sb.append(" connected at ") @@ -951,8 +769,8 @@ public class RadioInfo extends Activity { .append(" and elapsed ") .append(DateUtils.formatElapsedTime(timeElapsed)); - if (dc instanceof PdpConnection) { - PdpConnection pdp = (PdpConnection)dc; + if (dc instanceof GsmDataConnection) { + GsmDataConnection pdp = (GsmDataConnection)dc; sb.append("\n to ") .append(pdp.getApn().toString()); } @@ -966,14 +784,14 @@ public class RadioInfo extends Activity { if (dns != null) { sb.append("\ndns: ").append(dns[0]).append(", ").append(dns[1]); } - } else if (dc.getState().isInactive()) { + } else if (dc.isInactive()) { sb.append(" disconnected with last try at ") .append(DateUtils.timeString(dc.getLastFailTime())) .append("\n fail because ") .append(dc.getLastFailCause().toString()); } else { - if (dc instanceof PdpConnection) { - PdpConnection pdp = (PdpConnection)dc; + if (dc instanceof GsmDataConnection) { + GsmDataConnection pdp = (GsmDataConnection)dc; sb.append(" is connecting to ") .append(pdp.getApn().toString()); } else { @@ -987,19 +805,6 @@ public class RadioInfo extends Activity { disconnects.setText(sb.toString()); } - private void displayQxdmEnableResult() { - String status = mQxdmLogEnabled ? "Start QXDM Log" : "Stop QXDM Log"; - - new AlertDialog.Builder(this).setMessage(status).show(); - - mHandler.postDelayed( - new Runnable() { - public void run() { - finish(); - } - }, 2000); - } - private MenuItem.OnMenuItemClickListener mViewADNCallback = new MenuItem.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { Intent intent = new Intent(Intent.ACTION_VIEW); @@ -1046,24 +851,18 @@ public class RadioInfo extends Activity { } }; - private void toggleDataDisabledOnBoot() { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext()); - SharedPreferences.Editor editor = sp.edit(); - boolean value = sp.getBoolean(GSMPhone.DATA_DISABLED_ON_BOOT_KEY, false); - editor.putBoolean(GSMPhone.DATA_DISABLED_ON_BOOT_KEY, !value); - byte[] data = mOem.getPsAutoAttachData(value); - if (data == null) { - // don't commit - return; + private MenuItem.OnMenuItemClickListener mGetPdpList = new MenuItem.OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + phone.getDataCallList(null); + return true; } + }; - editor.commit(); - phone.invokeOemRilRequestRaw(data, null); - } - - private MenuItem.OnMenuItemClickListener mToggleDataOnBoot = new MenuItem.OnMenuItemClickListener() { + private MenuItem.OnMenuItemClickListener mSelectBandCallback = new MenuItem.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { - toggleDataDisabledOnBoot(); + Intent intent = new Intent(); + intent.setClass(RadioInfo.this, BandMode.class); + startActivity(intent); return true; } }; @@ -1086,22 +885,6 @@ public class RadioInfo extends Activity { } }; - private MenuItem.OnMenuItemClickListener mGetPdpList = new MenuItem.OnMenuItemClickListener() { - public boolean onMenuItemClick(MenuItem item) { - phone.getDataCallList(null); - return true; - } - }; - - private MenuItem.OnMenuItemClickListener mSelectBandCallback = new MenuItem.OnMenuItemClickListener() { - public boolean onMenuItemClick(MenuItem item) { - Intent intent = new Intent(); - intent.setClass(RadioInfo.this, BandMode.class); - startActivity(intent); - return true; - } - }; - OnClickListener mPowerButtonHandler = new OnClickListener() { public void onClick(View v) { //log("toggle radio power: currently " + (isRadioOn()?"on":"off")); @@ -1109,24 +892,23 @@ public class RadioInfo extends Activity { } }; - OnClickListener mCipherButtonHandler = new OnClickListener() { + OnClickListener mDnsCheckButtonHandler = new OnClickListener() { public void onClick(View v) { - mCipherOn = !getCiphPref(); - byte[] data = mOem.getCipheringData(mCipherOn); - - if (data == null) - return; - - cipherState.setText("Setting..."); - phone.invokeOemRilRequestRaw(data, - mHandler.obtainMessage(EVENT_SET_CIPHER_DONE)); + phone.disableDnsCheck(!phone.isDnsCheckDisabled()); + updateDnsCheckState(); } }; - OnClickListener mDnsCheckButtonHandler = new OnClickListener() { + OnClickListener mOemInfoButtonHandler = new OnClickListener() { public void onClick(View v) { - phone.disableDnsCheck(!phone.isDnsCheckDisabled()); - updateDnsCheckState(); + Intent intent = new Intent("com.android.settings.OEM_RADIO_INFO"); + try { + startActivity(intent); + } catch (android.content.ActivityNotFoundException ex) { + Log.d(TAG, "OEM-specific Info/Settings Activity Not Found : " + ex); + // If the activity does not exist, there are no OEM + // settings, and so we can just do nothing... + } } }; @@ -1150,22 +932,6 @@ public class RadioInfo extends Activity { } }; - OnClickListener mQxdmButtonHandler = new OnClickListener() { - public void onClick(View v) { - byte[] data = mOem.getQxdmSdlogData( - !mQxdmLogEnabled, - mOem.OEM_QXDM_SDLOG_DEFAULT_FILE_SIZE, - mOem.OEM_QXDM_SDLOG_DEFAULT_MASK, - mOem.OEM_QXDM_SDLOG_DEFAULT_MAX_INDEX); - - if (data == null) - return; - - phone.invokeOemRilRequestRaw(data, - mHandler.obtainMessage(EVENT_SET_QXDMLOG_DONE)); - } - }; - AdapterView.OnItemSelectedListener mPreferredNetworkHandler = new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView parent, View v, int pos, long id) { diff --git a/src/com/android/settings/RingerVolumePreference.java b/src/com/android/settings/RingerVolumePreference.java index 0d01965..3ecd819 100644 --- a/src/com/android/settings/RingerVolumePreference.java +++ b/src/com/android/settings/RingerVolumePreference.java @@ -39,35 +39,49 @@ public class RingerVolumePreference extends VolumePreference implements private static final String TAG = "RingerVolumePreference"; private CheckBox mNotificationsUseRingVolumeCheckbox; - private SeekBarVolumizer mNotificationSeekBarVolumizer; + private SeekBarVolumizer [] mSeekBarVolumizer; + private static final int[] SEEKBAR_ID = new int[] { + R.id.notification_volume_seekbar, + R.id.media_volume_seekbar, + R.id.alarm_volume_seekbar + }; + private static final int[] SEEKBAR_TYPE = new int[] { + AudioManager.STREAM_NOTIFICATION, + AudioManager.STREAM_MUSIC, + AudioManager.STREAM_ALARM + }; + //private SeekBarVolumizer mNotificationSeekBarVolumizer; private TextView mNotificationVolumeTitle; - + public RingerVolumePreference(Context context, AttributeSet attrs) { super(context, attrs); // The always visible seekbar is for ring volume setStreamType(AudioManager.STREAM_RING); - + setDialogLayoutResource(R.layout.preference_dialog_ringervolume); + setDialogIcon(R.drawable.ic_settings_sound); + + mSeekBarVolumizer = new SeekBarVolumizer[SEEKBAR_ID.length]; } @Override protected void onBindDialogView(View view) { super.onBindDialogView(view); - + + for (int i = 0; i < SEEKBAR_ID.length; i++) { + SeekBar seekBar = (SeekBar) view.findViewById(SEEKBAR_ID[i]); + mSeekBarVolumizer[i] = new SeekBarVolumizer(getContext(), seekBar, + SEEKBAR_TYPE[i]); + } + + mNotificationVolumeTitle = (TextView) view.findViewById(R.id.notification_volume_title); mNotificationsUseRingVolumeCheckbox = (CheckBox) view.findViewById(R.id.same_notification_volume); mNotificationsUseRingVolumeCheckbox.setOnCheckedChangeListener(this); mNotificationsUseRingVolumeCheckbox.setChecked(Settings.System.getInt( getContext().getContentResolver(), Settings.System.NOTIFICATIONS_USE_RING_VOLUME, 1) == 1); - - final SeekBar seekBar = (SeekBar) view.findViewById(R.id.notification_volume_seekbar); - mNotificationSeekBarVolumizer = new SeekBarVolumizer(getContext(), seekBar, - AudioManager.STREAM_NOTIFICATION); - - mNotificationVolumeTitle = (TextView) view.findViewById(R.id.notification_volume_title); - setNotificationVolumeVisibility(!mNotificationsUseRingVolumeCheckbox.isChecked()); } @@ -75,10 +89,11 @@ public class RingerVolumePreference extends VolumePreference implements protected void onDialogClosed(boolean positiveResult) { super.onDialogClosed(positiveResult); - if (!positiveResult && mNotificationSeekBarVolumizer != null) { - mNotificationSeekBarVolumizer.revertVolume(); - } - + if (!positiveResult) { + for (SeekBarVolumizer vol : mSeekBarVolumizer) { + if (vol != null) vol.revertVolume(); + } + } cleanup(); } @@ -107,29 +122,30 @@ public class RingerVolumePreference extends VolumePreference implements @Override protected void onSampleStarting(SeekBarVolumizer volumizer) { super.onSampleStarting(volumizer); - - if (mNotificationSeekBarVolumizer != null && volumizer != mNotificationSeekBarVolumizer) { - mNotificationSeekBarVolumizer.stopSample(); + for (SeekBarVolumizer vol : mSeekBarVolumizer) { + if (vol != null && vol != volumizer) vol.stopSample(); } } private void setNotificationVolumeVisibility(boolean visible) { - if (mNotificationSeekBarVolumizer != null) { - mNotificationSeekBarVolumizer.getSeekBar().setVisibility( + if (mSeekBarVolumizer[0] != null) { + mSeekBarVolumizer[0].getSeekBar().setVisibility( visible ? View.VISIBLE : View.GONE); - mNotificationVolumeTitle.setVisibility(visible ? View.VISIBLE : View.GONE); } + mNotificationVolumeTitle.setVisibility(visible ? View.VISIBLE : View.GONE); } - + private void cleanup() { - if (mNotificationSeekBarVolumizer != null) { - Dialog dialog = getDialog(); - if (dialog != null && dialog.isShowing()) { - // Stopped while dialog was showing, revert changes - mNotificationSeekBarVolumizer.revertVolume(); + for (int i = 0; i < SEEKBAR_ID.length; i++) { + if (mSeekBarVolumizer[i] != null) { + Dialog dialog = getDialog(); + if (dialog != null && dialog.isShowing()) { + // Stopped while dialog was showing, revert changes + mSeekBarVolumizer[i].revertVolume(); + } + mSeekBarVolumizer[i].stop(); + mSeekBarVolumizer[i] = null; } - mNotificationSeekBarVolumizer.stop(); - mNotificationSeekBarVolumizer = null; } } @@ -142,8 +158,12 @@ public class RingerVolumePreference extends VolumePreference implements } final SavedState myState = new SavedState(superState); - if (mNotificationSeekBarVolumizer != null) { - mNotificationSeekBarVolumizer.onSaveInstanceState(myState.getVolumeStore()); + VolumeStore[] volumeStore = myState.getVolumeStore(SEEKBAR_ID.length); + for (int i = 0; i < SEEKBAR_ID.length; i++) { + SeekBarVolumizer vol = mSeekBarVolumizer[i]; + if (vol != null) { + vol.onSaveInstanceState(volumeStore[i]); + } } return myState; } @@ -158,28 +178,44 @@ public class RingerVolumePreference extends VolumePreference implements SavedState myState = (SavedState) state; super.onRestoreInstanceState(myState.getSuperState()); - if (mNotificationSeekBarVolumizer != null) { - mNotificationSeekBarVolumizer.onRestoreInstanceState(myState.getVolumeStore()); + VolumeStore[] volumeStore = myState.getVolumeStore(SEEKBAR_ID.length); + for (int i = 0; i < SEEKBAR_ID.length; i++) { + SeekBarVolumizer vol = mSeekBarVolumizer[i]; + if (vol != null) { + vol.onRestoreInstanceState(volumeStore[i]); + } } } private static class SavedState extends BaseSavedState { - VolumeStore mVolumeStore = new VolumeStore(); + VolumeStore [] mVolumeStore; public SavedState(Parcel source) { super(source); - mVolumeStore.volume = source.readInt(); - mVolumeStore.originalVolume = source.readInt(); + mVolumeStore = new VolumeStore[SEEKBAR_ID.length]; + for (int i = 0; i < SEEKBAR_ID.length; i++) { + mVolumeStore[i] = new VolumeStore(); + mVolumeStore[i].volume = source.readInt(); + mVolumeStore[i].originalVolume = source.readInt(); + } } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); - dest.writeInt(mVolumeStore.volume); - dest.writeInt(mVolumeStore.originalVolume); + for (int i = 0; i < SEEKBAR_ID.length; i++) { + dest.writeInt(mVolumeStore[i].volume); + dest.writeInt(mVolumeStore[i].originalVolume); + } } - VolumeStore getVolumeStore() { + VolumeStore[] getVolumeStore(int count) { + if (mVolumeStore == null || mVolumeStore.length != count) { + mVolumeStore = new VolumeStore[count]; + for (int i = 0; i < count; i++) { + mVolumeStore[i] = new VolumeStore(); + } + } return mVolumeStore; } diff --git a/src/com/android/settings/RunningServices.java b/src/com/android/settings/RunningServices.java index 6c11ea0..e67adf0 100644 --- a/src/com/android/settings/RunningServices.java +++ b/src/com/android/settings/RunningServices.java @@ -35,9 +35,14 @@ import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; import android.os.Bundle; import android.os.Debug; import android.os.Handler; +import android.os.HandlerThread; +import android.os.Looper; import android.os.Message; import android.os.RemoteException; import android.os.SystemClock; @@ -53,11 +58,14 @@ import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.BaseAdapter; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import java.io.FileInputStream; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -72,6 +80,7 @@ public class RunningServices extends ListActivity static final int MSG_UPDATE_TIMES = 1; static final int MSG_UPDATE_CONTENTS = 2; + static final int MSG_REFRESH_UI = 3; static final long TIME_UPDATE_DELAY = 1000; static final long CONTENTS_UPDATE_DELAY = 2000; @@ -93,13 +102,16 @@ public class RunningServices extends ListActivity int mProcessBgColor; + LinearColorBar mColorBar; TextView mBackgroundProcessText; TextView mForegroundProcessText; int mLastNumBackgroundProcesses = -1; int mLastNumForegroundProcesses = -1; + int mLastNumServiceProcesses = -1; long mLastBackgroundProcessMemory = -1; long mLastForegroundProcessMemory = -1; + long mLastServiceProcessMemory = -1; long mLastAvailMemory = -1; Dialog mCurDialog; @@ -179,6 +191,11 @@ public class RunningServices extends ListActivity int mRunningSeq; ActivityManager.RunningAppProcessInfo mRunningProcessInfo; + // Purely for sorting. + boolean mIsSystem; + boolean mIsStarted; + long mActiveSince; + public ProcessItem(Context context, int uid, String processName) { super(true); mDescription = context.getResources().getString( @@ -372,26 +389,56 @@ public class RunningServices extends ListActivity } } + static class ServiceProcessComparator implements Comparator<ProcessItem> { + public int compare(ProcessItem object1, ProcessItem object2) { + if (object1.mIsStarted != object2.mIsStarted) { + // Non-started processes go last. + return object1.mIsStarted ? -1 : 1; + } + if (object1.mIsSystem != object2.mIsSystem) { + // System processes go below non-system. + return object1.mIsSystem ? 1 : -1; + } + if (object1.mActiveSince != object2.mActiveSince) { + // Remaining ones are sorted with the longest running + // services last. + return (object1.mActiveSince > object2.mActiveSince) ? -1 : 1; + } + return 0; + } + } + static class State { final SparseArray<HashMap<String, ProcessItem>> mProcesses = new SparseArray<HashMap<String, ProcessItem>>(); final SparseArray<ProcessItem> mActiveProcesses = new SparseArray<ProcessItem>(); + final ServiceProcessComparator mServiceProcessComparator + = new ServiceProcessComparator(); // Temporary for finding process dependencies. final SparseArray<ProcessItem> mRunningProcesses = new SparseArray<ProcessItem>(); - final ArrayList<BaseItem> mItems = new ArrayList<BaseItem>(); final ArrayList<ProcessItem> mProcessItems = new ArrayList<ProcessItem>(); final ArrayList<ProcessItem> mAllProcessItems = new ArrayList<ProcessItem>(); int mSequence = 0; + // ----- following protected by mLock ----- + + // Lock for protecting the state that will be shared between the + // background update thread and the UI thread. + final Object mLock = new Object(); + + ArrayList<BaseItem> mItems = new ArrayList<BaseItem>(); + int mNumBackgroundProcesses; long mBackgroundProcessMemory; int mNumForegroundProcesses; long mForegroundProcessMemory; + int mNumServiceProcesses; + long mServiceProcessMemory; boolean update(Context context, ActivityManager am) { final PackageManager pm = context.getPackageManager(); @@ -547,35 +594,65 @@ public class RunningServices extends ListActivity } if (changed) { - mItems.clear(); - mProcessItems.clear(); + // First determine an order for the services. + ArrayList<ProcessItem> sortedProcesses = new ArrayList<ProcessItem>(); for (int i=0; i<mProcesses.size(); i++) { for (ProcessItem pi : mProcesses.valueAt(i).values()) { - pi.mNeedDivider = false; - // First add processes we are dependent on. - pi.addDependentProcesses(mItems, mProcessItems); - // And add the process itself. - mItems.add(pi); - if (pi.mPid > 0) { - mProcessItems.add(pi); - } - // And finally the services running in it. - boolean needDivider = false; + pi.mIsSystem = false; + pi.mIsStarted = true; + pi.mActiveSince = Long.MAX_VALUE; for (ServiceItem si : pi.mServices.values()) { - si.mNeedDivider = needDivider; - needDivider = true; - mItems.add(si); + if (si.mServiceInfo != null + && (si.mServiceInfo.applicationInfo.flags + & ApplicationInfo.FLAG_SYSTEM) != 0) { + pi.mIsSystem = true; + } + if (si.mRunningService != null + && si.mRunningService.clientLabel != 0) { + pi.mIsStarted = false; + if (pi.mActiveSince > si.mRunningService.activeSince) { + pi.mActiveSince = si.mRunningService.activeSince; + } + } } + sortedProcesses.add(pi); } } + + Collections.sort(sortedProcesses, mServiceProcessComparator); + + ArrayList<BaseItem> newItems = new ArrayList<BaseItem>(); + mProcessItems.clear(); + for (int i=0; i<sortedProcesses.size(); i++) { + ProcessItem pi = sortedProcesses.get(i); + pi.mNeedDivider = false; + // First add processes we are dependent on. + pi.addDependentProcesses(newItems, mProcessItems); + // And add the process itself. + newItems.add(pi); + if (pi.mPid > 0) { + mProcessItems.add(pi); + } + // And finally the services running in it. + boolean needDivider = false; + for (ServiceItem si : pi.mServices.values()) { + si.mNeedDivider = needDivider; + needDivider = true; + newItems.add(si); + } + } + synchronized (mLock) { + mItems = newItems; + } } // Count number of interesting other (non-active) processes, and // build a list of all processes we will retrieve memory for. mAllProcessItems.clear(); mAllProcessItems.addAll(mProcessItems); - mNumBackgroundProcesses = 0; - mNumForegroundProcesses = 0; + int numBackgroundProcesses = 0; + int numForegroundProcesses = 0; + int numServiceProcesses = 0; NRP = mRunningProcesses.size(); for (int i=0; i<NRP; i++) { ProcessItem proc = mRunningProcesses.valueAt(i); @@ -584,19 +661,25 @@ public class RunningServices extends ListActivity // of our active ones, so add it up if needed. if (proc.mRunningProcessInfo.importance >= ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) { - mNumBackgroundProcesses++; + numBackgroundProcesses++; mAllProcessItems.add(proc); } else if (proc.mRunningProcessInfo.importance <= ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) { - mNumForegroundProcesses++; + numForegroundProcesses++; mAllProcessItems.add(proc); + } else { + Log.i(TAG, "Unknown non-service process: " + + proc.mProcessName + " #" + proc.mPid); } + } else { + numServiceProcesses++; } } + long backgroundProcessMemory = 0; + long foregroundProcessMemory = 0; + long serviceProcessMemory = 0; try { - mBackgroundProcessMemory = 0; - mForegroundProcessMemory = 0; final int numProc = mAllProcessItems.size(); int[] pids = new int[numProc]; for (int i=0; i<numProc; i++) { @@ -608,21 +691,35 @@ public class RunningServices extends ListActivity ProcessItem proc = mAllProcessItems.get(i); changed |= proc.updateSize(context, mem[i], mSequence); if (proc.mCurSeq == mSequence) { - continue; - } - if (proc.mRunningProcessInfo.importance >= + serviceProcessMemory += proc.mSize; + } else if (proc.mRunningProcessInfo.importance >= ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) { - mBackgroundProcessMemory += proc.mSize; + backgroundProcessMemory += proc.mSize; } else if (proc.mRunningProcessInfo.importance <= ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) { - mForegroundProcessMemory += proc.mSize; + foregroundProcessMemory += proc.mSize; } } } catch (RemoteException e) { } + synchronized (mLock) { + mNumBackgroundProcesses = numBackgroundProcesses; + mNumForegroundProcesses = numForegroundProcesses; + mNumServiceProcesses = numServiceProcesses; + mBackgroundProcessMemory = backgroundProcessMemory; + mForegroundProcessMemory = foregroundProcessMemory; + mServiceProcessMemory = serviceProcessMemory; + } + return changed; } + + ArrayList<BaseItem> getCurrentItems() { + synchronized (mLock) { + return mItems; + } + } } static class TimeTicker extends TextView { @@ -642,26 +739,38 @@ public class RunningServices extends ListActivity class ServiceListAdapter extends BaseAdapter { final State mState; final LayoutInflater mInflater; + ArrayList<BaseItem> mItems; ServiceListAdapter(State state) { mState = state; mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); + refreshItems(); } + void refreshItems() { + ArrayList<BaseItem> newItems = mState.getCurrentItems(); + if (mItems != newItems) { + mItems = newItems; + } + if (mItems == null) { + mItems = new ArrayList<BaseItem>(); + } + } + public boolean hasStableIds() { return true; } public int getCount() { - return mState.mItems.size(); + return mItems.size(); } public Object getItem(int position) { - return mState.mItems.get(position); + return mItems.get(position); } public long getItemId(int position) { - return position; + return mItems.get(position).hashCode(); } public boolean areAllItemsEnabled() { @@ -669,7 +778,7 @@ public class RunningServices extends ListActivity } public boolean isEnabled(int position) { - return !mState.mItems.get(position).mIsProcess; + return !mItems.get(position).mIsProcess; } public View getView(int position, View convertView, ViewGroup parent) { @@ -696,35 +805,126 @@ public class RunningServices extends ListActivity } public void bindView(View view, int position) { - ViewHolder vh = (ViewHolder) view.getTag(); - BaseItem item = mState.mItems.get(position); - vh.name.setText(item.mDisplayLabel); - vh.separator.setVisibility(item.mNeedDivider - ? View.VISIBLE : View.INVISIBLE); - ActiveItem ai = new ActiveItem(); - ai.mRootView = view; - ai.mItem = item; - ai.mHolder = vh; - ai.mFirstRunTime = item.mActiveSince; - vh.description.setText(item.mDescription); - if (item.mIsProcess) { - view.setBackgroundColor(mProcessBgColor); - vh.icon.setImageDrawable(null); - vh.icon.setVisibility(View.GONE); - vh.description.setText(item.mDescription); - item.mCurSizeStr = null; - } else { - view.setBackgroundDrawable(null); - vh.icon.setImageDrawable(item.mPackageInfo.loadIcon(getPackageManager())); - vh.icon.setVisibility(View.VISIBLE); - vh.description.setText(item.mDescription); + synchronized (mState.mLock) { + ViewHolder vh = (ViewHolder) view.getTag(); + if (position >= mItems.size()) { + // List must have changed since we last reported its + // size... ignore here, we will be doing a data changed + // to refresh the entire list. + return; + } + BaseItem item = mItems.get(position); + vh.name.setText(item.mDisplayLabel); + vh.separator.setVisibility(item.mNeedDivider + ? View.VISIBLE : View.INVISIBLE); + ActiveItem ai = new ActiveItem(); + ai.mRootView = view; + ai.mItem = item; + ai.mHolder = vh; ai.mFirstRunTime = item.mActiveSince; + vh.description.setText(item.mDescription); + if (item.mIsProcess) { + view.setBackgroundColor(mProcessBgColor); + vh.icon.setImageDrawable(null); + vh.icon.setVisibility(View.GONE); + vh.description.setText(item.mDescription); + item.mCurSizeStr = null; + } else { + view.setBackgroundDrawable(null); + vh.icon.setImageDrawable(item.mPackageInfo.loadIcon(getPackageManager())); + vh.icon.setVisibility(View.VISIBLE); + vh.description.setText(item.mDescription); + ai.mFirstRunTime = item.mActiveSince; + } + ai.updateTime(RunningServices.this); + mActiveItems.put(view, ai); + } + } + } + + public static class LinearColorBar extends LinearLayout { + private float mRedRatio; + private float mYellowRatio; + private float mGreenRatio; + + final Rect mRect = new Rect(); + final Paint mPaint = new Paint(); + + public LinearColorBar(Context context, AttributeSet attrs) { + super(context, attrs); + setWillNotDraw(false); + mPaint.setStyle(Paint.Style.FILL); + } + + public void setRatios(float red, float yellow, float green) { + mRedRatio = red; + mYellowRatio = yellow; + mGreenRatio = green; + invalidate(); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + + int width = getWidth(); + mRect.top = 0; + mRect.bottom = getHeight(); + + int left = 0; + + int right = left + (int)(width*mRedRatio); + if (left < right) { + mRect.left = left; + mRect.right = right; + mPaint.setColor(0xffff8080); + canvas.drawRect(mRect, mPaint); + width -= (right-left); + left = right; + } + + right = left + (int)(width*mYellowRatio); + if (left < right) { + mRect.left = left; + mRect.right = right; + mPaint.setColor(0xffffff00); + canvas.drawRect(mRect, mPaint); + width -= (right-left); + left = right; + } + + right = left + width; + if (left < right) { + mRect.left = left; + mRect.right = right; + mPaint.setColor(0xff80ff80); + canvas.drawRect(mRect, mPaint); } - ai.updateTime(RunningServices.this); - mActiveItems.put(view, ai); } } + HandlerThread mBackgroundThread; + final class BackgroundHandler extends Handler { + public BackgroundHandler(Looper looper) { + super(looper); + } + + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case MSG_UPDATE_CONTENTS: + Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI); + cmd.arg1 = mState.update(RunningServices.this, mAm) ? 1 : 0; + mHandler.sendMessage(cmd); + removeMessages(MSG_UPDATE_CONTENTS); + msg = obtainMessage(MSG_UPDATE_CONTENTS); + sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY); + break; + } + } + }; + BackgroundHandler mBackgroundHandler; + final Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { @@ -744,11 +944,8 @@ public class RunningServices extends ListActivity msg = obtainMessage(MSG_UPDATE_TIMES); sendMessageDelayed(msg, TIME_UPDATE_DELAY); break; - case MSG_UPDATE_CONTENTS: - updateList(); - removeMessages(MSG_UPDATE_CONTENTS); - msg = obtainMessage(MSG_UPDATE_CONTENTS); - sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY); + case MSG_REFRESH_UI: + refreshUi(msg.arg1 != 0); break; } } @@ -823,6 +1020,7 @@ public class RunningServices extends ListActivity setContentView(R.layout.running_services); getListView().setDivider(null); getListView().setAdapter(new ServiceListAdapter(mState)); + mColorBar = (LinearColorBar)findViewById(R.id.color_bar); mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText); mForegroundProcessText = (TextView)findViewById(R.id.foregroundText); @@ -831,9 +1029,11 @@ public class RunningServices extends ListActivity Integer.valueOf(SystemProperties.get("ro.SECONDARY_SERVER_MEM"))*PAGE_SIZE; } - void updateList() { - if (mState.update(this, mAm)) { - ((ServiceListAdapter)(getListView().getAdapter())).notifyDataSetChanged(); + void refreshUi(boolean dataChanged) { + if (dataChanged) { + ServiceListAdapter adapter = (ServiceListAdapter)(getListView().getAdapter()); + adapter.refreshItems(); + adapter.notifyDataSetChanged(); } // This is the amount of available memory until we start killing @@ -843,26 +1043,36 @@ public class RunningServices extends ListActivity availMem = 0; } - if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses - || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory - || mLastAvailMemory != availMem) { - mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses; - mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory; - mLastAvailMemory = availMem; - String availStr = availMem != 0 - ? Formatter.formatShortFileSize(this, availMem) : "0"; - String sizeStr = Formatter.formatShortFileSize(this, mLastBackgroundProcessMemory); - mBackgroundProcessText.setText(getResources().getString( - R.string.service_background_processes, - mLastNumBackgroundProcesses, availStr, sizeStr)); - } - if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses - || mLastForegroundProcessMemory != mState.mForegroundProcessMemory) { - mLastNumForegroundProcesses = mState.mNumForegroundProcesses; - mLastForegroundProcessMemory = mState.mForegroundProcessMemory; - String sizeStr = Formatter.formatShortFileSize(this, mLastForegroundProcessMemory); - mForegroundProcessText.setText(getResources().getString( - R.string.service_foreground_processes, mLastNumForegroundProcesses, sizeStr)); + synchronized (mState.mLock) { + if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses + || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory + || mLastAvailMemory != availMem) { + mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses; + mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory; + mLastAvailMemory = availMem; + String availStr = availMem != 0 + ? Formatter.formatShortFileSize(this, availMem) : "0"; + String sizeStr = Formatter.formatShortFileSize(this, mLastBackgroundProcessMemory); + mBackgroundProcessText.setText(getResources().getString( + R.string.service_background_processes, + mLastNumBackgroundProcesses, availStr, sizeStr)); + } + if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses + || mLastForegroundProcessMemory != mState.mForegroundProcessMemory) { + mLastNumForegroundProcesses = mState.mNumForegroundProcesses; + mLastForegroundProcessMemory = mState.mForegroundProcessMemory; + String sizeStr = Formatter.formatShortFileSize(this, mLastForegroundProcessMemory); + mForegroundProcessText.setText(getResources().getString( + R.string.service_foreground_processes, mLastNumForegroundProcesses, sizeStr)); + } + mLastNumServiceProcesses = mState.mNumServiceProcesses; + mLastServiceProcessMemory = mState.mServiceProcessMemory; + + float totalMem = availMem + mLastBackgroundProcessMemory + + mLastForegroundProcessMemory + mLastServiceProcessMemory; + mColorBar.setRatios(mLastForegroundProcessMemory/totalMem, + mLastServiceProcessMemory/totalMem, + (availMem+mLastBackgroundProcessMemory)/totalMem); } } @@ -911,7 +1121,9 @@ public class RunningServices extends ListActivity if (mCurSelected != null) { stopService(new Intent().setComponent( ((ServiceItem)mCurSelected).mRunningService.service)); - updateList(); + if (mBackgroundHandler != null) { + mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS); + } } } @@ -919,19 +1131,26 @@ public class RunningServices extends ListActivity protected void onPause() { super.onPause(); mHandler.removeMessages(MSG_UPDATE_TIMES); - mHandler.removeMessages(MSG_UPDATE_CONTENTS); + if (mBackgroundThread != null) { + mBackgroundThread.quit(); + mBackgroundThread = null; + mBackgroundHandler = null; + } } @Override protected void onResume() { super.onResume(); - updateList(); + refreshUi(mState.update(this, mAm)); + mBackgroundThread = new HandlerThread("RunningServices"); + mBackgroundThread.start(); + mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper()); mHandler.removeMessages(MSG_UPDATE_TIMES); Message msg = mHandler.obtainMessage(MSG_UPDATE_TIMES); mHandler.sendMessageDelayed(msg, TIME_UPDATE_DELAY); - mHandler.removeMessages(MSG_UPDATE_CONTENTS); - msg = mHandler.obtainMessage(MSG_UPDATE_CONTENTS); - mHandler.sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY); + mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS); + msg = mBackgroundHandler.obtainMessage(MSG_UPDATE_CONTENTS); + mBackgroundHandler.sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY); } @Override diff --git a/src/com/android/settings/SdCardIntentReceiver.java b/src/com/android/settings/SdCardIntentReceiver.java deleted file mode 100644 index 9648ec1..0000000 --- a/src/com/android/settings/SdCardIntentReceiver.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings; - -import android.app.Notification; -import android.app.NotificationManager; -import android.content.Context; -import android.content.Intent; -import android.content.BroadcastReceiver; -import android.util.Config; -import android.util.Log; - -/** - * - */ -public class SdCardIntentReceiver extends BroadcastReceiver { - - private static final int SDCARD_STATUS = 1; - private static final String TAG = "SdCardIntentReceiver"; - - @Override - public void onReceive(Context context, Intent intent) { - NotificationManager nm = (NotificationManager) context - .getSystemService(Context.NOTIFICATION_SERVICE); - String action = intent.getAction(); - if (Config.LOGD) Log.d(TAG, "onReceiveIntent " + action); - - if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) { - nm.cancel(SDCARD_STATUS); - - Intent statusIntent = new Intent(Intent.ACTION_MAIN, null); - statusIntent.setClass(context, SdCardSettings.class); - nm.notify(SDCARD_STATUS, new Notification(context, - android.R.drawable.stat_notify_sdcard, - null, - System.currentTimeMillis(), - context.getText(R.string.sdcard_setting), - null, - statusIntent)); - } else if (action.equals(Intent.ACTION_MEDIA_REMOVED)) { - nm.cancel(SDCARD_STATUS); - } else if (action.equals(Intent.ACTION_MEDIA_SHARED)) { - nm.cancel(SDCARD_STATUS); - - Intent statusIntent = new Intent(Intent.ACTION_MAIN, null); - statusIntent.setClass(context, SdCardSettings.class); - nm.notify(SDCARD_STATUS, new Notification(context, - android.R.drawable.stat_notify_sdcard_usb, - null, - System.currentTimeMillis(), - "SD Card", - null, - statusIntent)); - } - } -} diff --git a/src/com/android/settings/SdCardSettings.java b/src/com/android/settings/SdCardSettings.java deleted file mode 100644 index 67f3550..0000000 --- a/src/com/android/settings/SdCardSettings.java +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings; - -import android.app.Activity; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.os.Bundle; -import android.os.RemoteException; -import android.os.Environment; -import android.os.IMountService; -import android.os.ServiceManager; -import android.os.StatFs; -import android.text.format.Formatter; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.CheckBox; -import android.widget.TextView; - -import java.io.File; - - -public class SdCardSettings extends Activity -{ - @Override - public void onCreate(Bundle icicle) { - super.onCreate(icicle); - - setContentView(R.layout.sdcard_settings_screen); - - mMountService = IMountService.Stub.asInterface(ServiceManager.getService("mount")); - - mRemovedLayout = findViewById(R.id.removed); - mMountedLayout = findViewById(R.id.mounted); - mUnmountedLayout = findViewById(R.id.unmounted); - mScanningLayout = findViewById(R.id.scanning); - mSharedLayout = findViewById(R.id.shared); - mBadRemovalLayout = findViewById(R.id.bad_removal); - mReadOnlyStatus = findViewById(R.id.read_only); - - mMassStorage = (CheckBox)findViewById(R.id.mass_storage); - mMassStorage.setOnClickListener(mMassStorageListener); - - Button unmountButton = (Button)findViewById(R.id.sdcard_unmount); - unmountButton.setOnClickListener(mUnmountButtonHandler); - - Button formatButton = (Button)findViewById(R.id.sdcard_format); - formatButton.setOnClickListener(mFormatButtonHandler); - - mTotalSize = (TextView)findViewById(R.id.total); - mUsedSize = (TextView)findViewById(R.id.used); - mAvailableSize = (TextView)findViewById(R.id.available); - - // install an intent filter to receive SD card related events. - IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_REMOVED); - intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); - intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED); - intentFilter.addAction(Intent.ACTION_MEDIA_SHARED); - intentFilter.addAction(Intent.ACTION_MEDIA_CHECKING); - intentFilter.addAction(Intent.ACTION_MEDIA_NOFS); - intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL); - intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED); - intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED); - intentFilter.addDataScheme("file"); - registerReceiver(mReceiver, intentFilter); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - } - - @Override - public void onResume() { - super.onResume(); - update(); - } - - private void setLayout(View layout) { - mRemovedLayout.setVisibility(layout == mRemovedLayout ? View.VISIBLE : View.GONE); - mMountedLayout.setVisibility(layout == mMountedLayout ? View.VISIBLE : View.GONE); - mUnmountedLayout.setVisibility(layout == mUnmountedLayout ? View.VISIBLE : View.GONE); - mScanningLayout.setVisibility(layout == mScanningLayout ? View.VISIBLE : View.GONE); - mSharedLayout.setVisibility(layout == mSharedLayout ? View.VISIBLE : View.GONE); - mBadRemovalLayout.setVisibility(layout == mBadRemovalLayout ? View.VISIBLE : View.GONE); - } - - private void update() { - try { - mMassStorage.setChecked(mMountService.getMassStorageEnabled()); - } catch (RemoteException ex) { - } - - String status = Environment.getExternalStorageState(); - boolean readOnly = false; - - if (status.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) { - status = Environment.MEDIA_MOUNTED; - readOnly = true; - } - - if (status.equals(Environment.MEDIA_MOUNTED)) { - try { - File path = Environment.getExternalStorageDirectory(); - StatFs stat = new StatFs(path.getPath()); - long blockSize = stat.getBlockSize(); - long totalBlocks = stat.getBlockCount(); - long availableBlocks = stat.getAvailableBlocks(); - - mTotalSize.setText(formatSize(totalBlocks * blockSize)); - mUsedSize.setText(formatSize((totalBlocks - availableBlocks) * blockSize)); - mAvailableSize.setText(formatSize(availableBlocks * blockSize)); - } catch (IllegalArgumentException e) { - // this can occur if the SD card is removed, but we haven't received the - // ACTION_MEDIA_REMOVED Intent yet. - status = Environment.MEDIA_REMOVED; - } - - mReadOnlyStatus.setVisibility(readOnly ? View.VISIBLE : View.GONE); - setLayout(mMountedLayout); - } else if (status.equals(Environment.MEDIA_UNMOUNTED)) { - setLayout(mUnmountedLayout); - } else if (status.equals(Environment.MEDIA_REMOVED)) { - setLayout(mRemovedLayout); - } else if (status.equals(Environment.MEDIA_SHARED)) { - setLayout(mSharedLayout); - } else if (status.equals(Environment.MEDIA_BAD_REMOVAL)) { - setLayout(mBadRemovalLayout); - } - } - - private String formatSize(long size) { - return Formatter.formatFileSize(this, size); - } - - OnClickListener mMassStorageListener = new OnClickListener() { - public void onClick(View v) { - try { - mMountService.setMassStorageEnabled(mMassStorage.isChecked()); - } catch (RemoteException ex) { - } - } - }; - - private final BroadcastReceiver mReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - update(); - } - }; - - OnClickListener mUnmountButtonHandler = new OnClickListener() { - public void onClick(View v) { - try { - mMountService.unmountMedia(Environment.getExternalStorageDirectory().toString()); - } catch (RemoteException ex) { - } - } - }; - - OnClickListener mFormatButtonHandler = new OnClickListener() { - public void onClick(View v) { - try { - mMountService.formatMedia(Environment.getExternalStorageDirectory().toString()); - } catch (RemoteException ex) { - } - } - }; - - private IMountService mMountService; - - private CheckBox mMassStorage; - - private TextView mTotalSize; - private TextView mUsedSize; - private TextView mAvailableSize; - - private View mRemovedLayout; - private View mMountedLayout; - private View mUnmountedLayout; - private View mScanningLayout; - private View mSharedLayout; - private View mBadRemovalLayout; - private View mReadOnlyStatus; -} diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index fcacccc..1348d48 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -17,92 +17,81 @@ package com.android.settings; +import java.util.Observable; +import java.util.Observer; + import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; +import android.app.admin.DevicePolicyManager; import android.content.ContentQueryMap; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.SharedPreferences; -import android.content.pm.PackageManager.NameNotFoundException; import android.database.Cursor; import android.location.LocationManager; import android.os.Bundle; +import android.os.SystemProperties; import android.preference.CheckBoxPreference; -import android.preference.EditTextPreference; +import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceCategory; -import android.preference.PreferenceGroup; +import android.preference.PreferenceManager; import android.preference.PreferenceScreen; +import android.preference.Preference.OnPreferenceChangeListener; import android.provider.Settings; import android.security.Credentials; import android.security.KeyStore; -import android.text.Html; -import android.text.TextUtils; -import android.text.method.LinkMovementMethod; +import android.telephony.TelephonyManager; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast; import com.android.internal.widget.LockPatternUtils; -import android.telephony.TelephonyManager; - -import java.util.ArrayList; -import java.util.List; -import java.util.Observable; -import java.util.Observer; /** * Gesture lock pattern settings. */ public class SecuritySettings extends PreferenceActivity { + private static final String KEY_UNLOCK_SET_OR_CHANGE = "unlock_set_or_change"; // Lock Settings + private static final String PACKAGE = "com.android.settings"; + private static final String ICC_LOCK_SETTINGS = PACKAGE + ".IccLockSettings"; private static final String KEY_LOCK_ENABLED = "lockenabled"; private static final String KEY_VISIBLE_PATTERN = "visiblepattern"; - private static final String KEY_TACTILE_FEEDBACK_ENABLED = "tactilefeedback"; - private static final int CONFIRM_PATTERN_THEN_DISABLE_AND_CLEAR_REQUEST_CODE = 55; - - private static final String PREFS_NAME = "location_prefs"; - private static final String PREFS_USE_LOCATION = "use_location"; + private static final String KEY_TACTILE_FEEDBACK_ENABLED = "unlock_tactile_feedback"; - private LockPatternUtils mLockPatternUtils; - private CheckBoxPreference mLockEnabled; private CheckBoxPreference mVisiblePattern; private CheckBoxPreference mTactileFeedback; - private Preference mChoosePattern; private CheckBoxPreference mShowPassword; // Location Settings - private static final String LOCATION_CATEGORY = "location_category"; private static final String LOCATION_NETWORK = "location_network"; private static final String LOCATION_GPS = "location_gps"; private static final String ASSISTED_GPS = "assisted_gps"; + private static final int SET_OR_CHANGE_LOCK_METHOD_REQUEST = 123; // Credential storage - private static final int CSTOR_MIN_PASSWORD_LENGTH = 8; - - private static final int CSTOR_INIT_DIALOG = 1; - private static final int CSTOR_CHANGE_PASSWORD_DIALOG = 2; - private static final int CSTOR_UNLOCK_DIALOG = 3; - private static final int CSTOR_RESET_DIALOG = 4; - private CredentialStorage mCredentialStorage = new CredentialStorage(); private CheckBoxPreference mNetwork; private CheckBoxPreference mGps; private CheckBoxPreference mAssistedGps; + DevicePolicyManager mDPM; + // These provide support for receiving notification when Location Manager settings change. // This is necessary because the Network Location Provider can change settings // if the user does not confirm enabling the provider. private ContentQueryMap mContentQueryMap; + private ChooseLockSettingsHelper mChooseLockSettingsHelper; + private LockPatternUtils mLockPatternUtils; private final class SettingsObserver implements Observer { public void update(Observable o, Object arg) { updateToggles(); @@ -112,15 +101,14 @@ public class SecuritySettings extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.security_settings); - mLockPatternUtils = new LockPatternUtils(getContentResolver()); + mLockPatternUtils = new LockPatternUtils(this); - createPreferenceHierarchy(); + mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); - mNetwork = (CheckBoxPreference) getPreferenceScreen().findPreference(LOCATION_NETWORK); - mGps = (CheckBoxPreference) getPreferenceScreen().findPreference(LOCATION_GPS); - mAssistedGps = (CheckBoxPreference) getPreferenceScreen().findPreference(ASSISTED_GPS); + mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this); + + createPreferenceHierarchy(); updateToggles(); @@ -131,45 +119,48 @@ public class SecuritySettings extends PreferenceActivity { null); mContentQueryMap = new ContentQueryMap(settingsCursor, Settings.System.NAME, true, null); mContentQueryMap.addObserver(new SettingsObserver()); - - mCredentialStorage.handleIntent(getIntent()); } private PreferenceScreen createPreferenceHierarchy() { - // Root PreferenceScreen root = this.getPreferenceScreen(); + if (root != null) { + root.removeAll(); + } + addPreferencesFromResource(R.xml.security_settings); + root = this.getPreferenceScreen(); + + mNetwork = (CheckBoxPreference) getPreferenceScreen().findPreference(LOCATION_NETWORK); + mGps = (CheckBoxPreference) getPreferenceScreen().findPreference(LOCATION_GPS); + mAssistedGps = (CheckBoxPreference) getPreferenceScreen().findPreference(ASSISTED_GPS); + + PreferenceManager pm = getPreferenceManager(); + + // Lock screen + if (!mLockPatternUtils.isSecure()) { + addPreferencesFromResource(R.xml.security_settings_chooser); + } else { + switch (mLockPatternUtils.getKeyguardStoredPasswordQuality()) { + case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING: + addPreferencesFromResource(R.xml.security_settings_pattern); + break; + case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC: + addPreferencesFromResource(R.xml.security_settings_pin); + break; + case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC: + case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC: + addPreferencesFromResource(R.xml.security_settings_password); + break; + } + } - // Inline preferences - PreferenceCategory inlinePrefCat = new PreferenceCategory(this); - inlinePrefCat.setTitle(R.string.lock_settings_title); - root.addPreference(inlinePrefCat); - - // change pattern lock - Intent intent = new Intent(); - intent.setClassName("com.android.settings", - "com.android.settings.ChooseLockPatternTutorial"); - mChoosePattern = getPreferenceManager().createPreferenceScreen(this); - mChoosePattern.setIntent(intent); - inlinePrefCat.addPreference(mChoosePattern); - - // autolock toggle - mLockEnabled = new LockEnabledPref(this); - mLockEnabled.setTitle(R.string.lockpattern_settings_enable_title); - mLockEnabled.setSummary(R.string.lockpattern_settings_enable_summary); - mLockEnabled.setKey(KEY_LOCK_ENABLED); - inlinePrefCat.addPreference(mLockEnabled); + // set or change current. Should be common to all unlock preference screens + // mSetOrChange = (PreferenceScreen) pm.findPreference(KEY_UNLOCK_SET_OR_CHANGE); // visible pattern - mVisiblePattern = new CheckBoxPreference(this); - mVisiblePattern.setKey(KEY_VISIBLE_PATTERN); - mVisiblePattern.setTitle(R.string.lockpattern_settings_enable_visible_pattern_title); - inlinePrefCat.addPreference(mVisiblePattern); + mVisiblePattern = (CheckBoxPreference) pm.findPreference(KEY_VISIBLE_PATTERN); - // tactile feedback - mTactileFeedback = new CheckBoxPreference(this); - mTactileFeedback.setKey(KEY_TACTILE_FEEDBACK_ENABLED); - mTactileFeedback.setTitle(R.string.lockpattern_settings_enable_tactile_feedback_title); - inlinePrefCat.addPreference(mTactileFeedback); + // tactile feedback. Should be common to all unlock preference screens. + mTactileFeedback = (CheckBoxPreference) pm.findPreference(KEY_TACTILE_FEEDBACK_ENABLED); int activePhoneType = TelephonyManager.getDefault().getPhoneType(); @@ -180,10 +171,7 @@ public class SecuritySettings extends PreferenceActivity { .createPreferenceScreen(this); simLockPreferences.setTitle(R.string.sim_lock_settings_category); // Intent to launch SIM lock settings - intent = new Intent(); - intent.setClassName("com.android.settings", "com.android.settings.IccLockSettings"); - simLockPreferences.setIntent(intent); - + simLockPreferences.setIntent(new Intent().setClassName(PACKAGE, ICC_LOCK_SETTINGS)); PreferenceCategory simLockCat = new PreferenceCategory(this); simLockCat.setTitle(R.string.sim_lock_settings_title); root.addPreference(simLockCat); @@ -202,11 +190,24 @@ public class SecuritySettings extends PreferenceActivity { showPassword.setPersistent(false); passwordsCat.addPreference(showPassword); + // Device policies + PreferenceCategory devicePoliciesCat = new PreferenceCategory(this); + devicePoliciesCat.setTitle(R.string.device_admin_title); + root.addPreference(devicePoliciesCat); + + Preference deviceAdminButton = new Preference(this); + deviceAdminButton.setTitle(R.string.manage_device_admin); + deviceAdminButton.setSummary(R.string.manage_device_admin_summary); + Intent deviceAdminIntent = new Intent(); + deviceAdminIntent.setClass(this, DeviceAdminSettings.class); + deviceAdminButton.setIntent(deviceAdminIntent); + devicePoliciesCat.addPreference(deviceAdminButton); + // Credential storage PreferenceCategory credentialsCat = new PreferenceCategory(this); credentialsCat.setTitle(R.string.credentials_category); root.addPreference(credentialsCat); - mCredentialStorage.createPreferences(credentialsCat); + mCredentialStorage.createPreferences(credentialsCat, CredentialStorage.TYPE_KEYSTORE); return root; } @@ -215,19 +216,13 @@ public class SecuritySettings extends PreferenceActivity { protected void onResume() { super.onResume(); - boolean patternExists = mLockPatternUtils.savedPatternExists(); - mLockEnabled.setEnabled(patternExists); - mVisiblePattern.setEnabled(patternExists); - mTactileFeedback.setEnabled(patternExists); - - mLockEnabled.setChecked(mLockPatternUtils.isLockPatternEnabled()); - mVisiblePattern.setChecked(mLockPatternUtils.isVisiblePatternEnabled()); - mTactileFeedback.setChecked(mLockPatternUtils.isTactileFeedbackEnabled()); - - int chooseStringRes = mLockPatternUtils.savedPatternExists() ? - R.string.lockpattern_settings_change_lock_pattern : - R.string.lockpattern_settings_choose_lock_pattern; - mChoosePattern.setTitle(chooseStringRes); + final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils(); + if (mVisiblePattern != null) { + mVisiblePattern.setChecked(lockPatternUtils.isVisiblePatternEnabled()); + } + if (mTactileFeedback != null) { + mTactileFeedback.setChecked(lockPatternUtils.isTactileFeedbackEnabled()); + } mShowPassword.setChecked(Settings.System.getInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD, 1) != 0); @@ -240,12 +235,16 @@ public class SecuritySettings extends PreferenceActivity { Preference preference) { final String key = preference.getKey(); - if (KEY_LOCK_ENABLED.equals(key)) { - mLockPatternUtils.setLockPatternEnabled(isToggled(preference)); + final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils(); + if (KEY_UNLOCK_SET_OR_CHANGE.equals(key)) { + Intent intent = new Intent(this, ChooseLockGeneric.class); + startActivityForResult(intent, SET_OR_CHANGE_LOCK_METHOD_REQUEST); + } else if (KEY_LOCK_ENABLED.equals(key)) { + lockPatternUtils.setLockPatternEnabled(isToggled(preference)); } else if (KEY_VISIBLE_PATTERN.equals(key)) { - mLockPatternUtils.setVisiblePatternEnabled(isToggled(preference)); + lockPatternUtils.setVisiblePatternEnabled(isToggled(preference)); } else if (KEY_TACTILE_FEEDBACK_ENABLED.equals(key)) { - mLockPatternUtils.setTactileFeedbackEnabled(isToggled(preference)); + lockPatternUtils.setTactileFeedbackEnabled(isToggled(preference)); } else if (preference == mShowPassword) { Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD, mShowPassword.isChecked() ? 1 : 0); @@ -267,11 +266,6 @@ public class SecuritySettings extends PreferenceActivity { return false; } - private void showPrivacyPolicy() { - Intent intent = new Intent("android.settings.TERMS"); - startActivity(intent); - } - /* * Creates toggles for each available location provider */ @@ -294,102 +288,56 @@ public class SecuritySettings extends PreferenceActivity { } /** - * For the user to disable keyguard, we first make them verify their - * existing pattern. - */ - private class LockEnabledPref extends CheckBoxPreference { - - public LockEnabledPref(Context context) { - super(context); - } - - @Override - protected void onClick() { - if (mLockPatternUtils.savedPatternExists() && isChecked()) { - confirmPatternThenDisableAndClear(); - } else { - super.onClick(); - } - } - } - - /** - * Launch screen to confirm the existing lock pattern. - * @see #onActivityResult(int, int, android.content.Intent) - */ - private void confirmPatternThenDisableAndClear() { - final Intent intent = new Intent(); - intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern"); - startActivityForResult(intent, CONFIRM_PATTERN_THEN_DISABLE_AND_CLEAR_REQUEST_CODE); - } - - /** * @see #confirmPatternThenDisableAndClear */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - - final boolean resultOk = resultCode == Activity.RESULT_OK; - - if ((requestCode == CONFIRM_PATTERN_THEN_DISABLE_AND_CLEAR_REQUEST_CODE) - && resultOk) { - mLockPatternUtils.setLockPatternEnabled(false); - mLockPatternUtils.saveLockPattern(null); - } - } - - @Override - protected Dialog onCreateDialog(int id) { - return mCredentialStorage.createDialog(id); + createPreferenceHierarchy(); } private class CredentialStorage implements DialogInterface.OnClickListener, DialogInterface.OnDismissListener, Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener { private static final int MINIMUM_PASSWORD_LENGTH = 8; - private static final int UNLOCK_DIALOG = 1; - private static final int PASSWORD_DIALOG = 2; - private static final int RESET_DIALOG = 3; + + private static final int TYPE_KEYSTORE = 0; + + // Dialog identifiers + private static final int DLG_BASE = 0; + private static final int DLG_UNLOCK = DLG_BASE + 1; + private static final int DLG_PASSWORD = DLG_UNLOCK + 1; + private static final int DLG_RESET = DLG_PASSWORD + 1; private KeyStore mKeyStore = KeyStore.getInstance(); - private int mState = mKeyStore.test(); - private int mDialogId; - private boolean mSubmit; + private int mState; + private boolean mSubmit = false; + private boolean mExternal = false; + + private int mShowingDialog = 0; + // Key Store controls private CheckBoxPreference mAccessCheckBox; private Preference mInstallButton; private Preference mPasswordButton; private Preference mResetButton; - private Intent mExternalIntent; - - void handleIntent(Intent intent) { - if (intent != null) { - if (Credentials.UNLOCK_ACTION.equals(intent.getAction())) { - mExternalIntent = intent; - showDialog((mState == KeyStore.UNINITIALIZED) ? - PASSWORD_DIALOG : UNLOCK_DIALOG); - } - } - } - void resume() { mState = mKeyStore.test(); updatePreferences(mState); - } - Dialog createDialog(int id) { - mDialogId = id; - switch (id) { - case UNLOCK_DIALOG: - return createUnlockDialog(); - case PASSWORD_DIALOG: - return createPasswordDialog(); - case RESET_DIALOG: - return createResetDialog(); + Intent intent = getIntent(); + if (!mExternal && intent != null && + Credentials.UNLOCK_ACTION.equals(intent.getAction())) { + mExternal = true; + if (mState == KeyStore.UNINITIALIZED) { + showPasswordDialog(); + } else if (mState == KeyStore.LOCKED) { + showUnlockDialog(); + } else { + finish(); + } } - return null; } private void initialize(String password) { @@ -420,23 +368,22 @@ public class SecuritySettings extends PreferenceActivity { public boolean onPreferenceChange(Preference preference, Object value) { if (preference == mAccessCheckBox) { if ((Boolean) value) { - showDialog((mState == KeyStore.UNINITIALIZED) ? - PASSWORD_DIALOG : UNLOCK_DIALOG); + showUnlockDialog(); } else { lock(); } return true; } - return false; + return true; } public boolean onPreferenceClick(Preference preference) { if (preference == mInstallButton) { Credentials.getInstance().installFromSdCard(SecuritySettings.this); } else if (preference == mPasswordButton) { - showDialog(PASSWORD_DIALOG); + showPasswordDialog(); } else if (preference == mResetButton) { - showDialog(RESET_DIALOG); + showResetDialog(); } else { return false; } @@ -454,14 +401,12 @@ public class SecuritySettings extends PreferenceActivity { if (mSubmit && !isFinishing()) { mSubmit = false; if (!checkPassword((Dialog) dialog)) { - showDialog(mDialogId); + ((Dialog) dialog).show(); return; } } - removeDialog(mDialogId); updatePreferences(mState); - if (mExternalIntent != null) { - mExternalIntent = null; + if (mExternal) { finish(); } } @@ -534,36 +479,44 @@ public class SecuritySettings extends PreferenceActivity { } } - private void createPreferences(PreferenceCategory category) { - mAccessCheckBox = new CheckBoxPreference(SecuritySettings.this); - mAccessCheckBox.setTitle(R.string.credentials_access); - mAccessCheckBox.setSummary(R.string.credentials_access_summary); - mAccessCheckBox.setOnPreferenceChangeListener(this); - category.addPreference(mAccessCheckBox); - - mInstallButton = new Preference(SecuritySettings.this); - mInstallButton.setTitle(R.string.credentials_install_certificates); - mInstallButton.setSummary(R.string.credentials_install_certificates_summary); - mInstallButton.setOnPreferenceClickListener(this); - category.addPreference(mInstallButton); - - mPasswordButton = new Preference(SecuritySettings.this); - mPasswordButton.setTitle(R.string.credentials_set_password); - mPasswordButton.setSummary(R.string.credentials_set_password_summary); - mPasswordButton.setOnPreferenceClickListener(this); - category.addPreference(mPasswordButton); - - mResetButton = new Preference(SecuritySettings.this); - mResetButton.setTitle(R.string.credentials_reset); - mResetButton.setSummary(R.string.credentials_reset_summary); - mResetButton.setOnPreferenceClickListener(this); - category.addPreference(mResetButton); + private void createPreferences(PreferenceCategory category, int type) { + switch(type) { + case TYPE_KEYSTORE: + mAccessCheckBox = new CheckBoxPreference(SecuritySettings.this); + mAccessCheckBox.setTitle(R.string.credentials_access); + mAccessCheckBox.setSummary(R.string.credentials_access_summary); + mAccessCheckBox.setOnPreferenceChangeListener(this); + category.addPreference(mAccessCheckBox); + + mInstallButton = new Preference(SecuritySettings.this); + mInstallButton.setTitle(R.string.credentials_install_certificates); + mInstallButton.setSummary(R.string.credentials_install_certificates_summary); + mInstallButton.setOnPreferenceClickListener(this); + category.addPreference(mInstallButton); + + mPasswordButton = new Preference(SecuritySettings.this); + mPasswordButton.setTitle(R.string.credentials_set_password); + mPasswordButton.setSummary(R.string.credentials_set_password_summary); + mPasswordButton.setOnPreferenceClickListener(this); + category.addPreference(mPasswordButton); + + mResetButton = new Preference(SecuritySettings.this); + mResetButton.setTitle(R.string.credentials_reset); + mResetButton.setSummary(R.string.credentials_reset_summary); + mResetButton.setOnPreferenceClickListener(this); + category.addPreference(mResetButton); + break; + + } } private void updatePreferences(int state) { - mAccessCheckBox.setEnabled(state != KeyStore.UNINITIALIZED); mAccessCheckBox.setChecked(state == KeyStore.NO_ERROR); + mResetButton.setEnabled(state != KeyStore.UNINITIALIZED); + mAccessCheckBox.setEnabled(state != KeyStore.UNINITIALIZED); + + // Encrypted File system preferences // Show a toast message if the state is changed. if (mState == state) { @@ -581,12 +534,12 @@ public class SecuritySettings extends PreferenceActivity { mState = state; } - private Dialog createUnlockDialog() { + private void showUnlockDialog() { View view = View.inflate(SecuritySettings.this, R.layout.credentials_unlock_dialog, null); - // show extra hint only when the action comes from outside - if (mExternalIntent != null) { + // Show extra hint only when the action comes from outside. + if (mExternal) { view.findViewById(R.id.hint).setVisibility(View.VISIBLE); } @@ -597,10 +550,11 @@ public class SecuritySettings extends PreferenceActivity { .setNegativeButton(android.R.string.cancel, this) .create(); dialog.setOnDismissListener(this); - return dialog; + mShowingDialog = DLG_UNLOCK; + dialog.show(); } - private Dialog createPasswordDialog() { + private void showPasswordDialog() { View view = View.inflate(SecuritySettings.this, R.layout.credentials_password_dialog, null); @@ -618,17 +572,19 @@ public class SecuritySettings extends PreferenceActivity { .setNegativeButton(android.R.string.cancel, this) .create(); dialog.setOnDismissListener(this); - return dialog; + mShowingDialog = DLG_PASSWORD; + dialog.show(); } - private Dialog createResetDialog() { - return new AlertDialog.Builder(SecuritySettings.this) + private void showResetDialog() { + mShowingDialog = DLG_RESET; + new AlertDialog.Builder(SecuritySettings.this) .setTitle(android.R.string.dialog_alert_title) .setIcon(android.R.drawable.ic_dialog_alert) .setMessage(R.string.credentials_reset_hint) .setNeutralButton(getString(android.R.string.ok), this) .setNegativeButton(getString(android.R.string.cancel), this) - .create(); + .create().show(); } } } diff --git a/src/com/android/settings/SettingsSafetyLegalActivity.java b/src/com/android/settings/SettingsSafetyLegalActivity.java index 619dc94..0c51928 100644 --- a/src/com/android/settings/SettingsSafetyLegalActivity.java +++ b/src/com/android/settings/SettingsSafetyLegalActivity.java @@ -58,7 +58,11 @@ public class SettingsSafetyLegalActivity extends AlertActivity // Begin accessing mWebView.getSettings().setJavaScriptEnabled(true); - mWebView.loadUrl(userSafetylegalUrl); + if (savedInstanceState == null) { + mWebView.loadUrl(userSafetylegalUrl); + } else { + mWebView.restoreState(savedInstanceState); + } mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { @@ -110,4 +114,10 @@ public class SettingsSafetyLegalActivity extends AlertActivity public void onCancel(DialogInterface dialog) { finish(); } + + @Override + public void onSaveInstanceState(Bundle icicle) { + mWebView.saveState(icicle); + super.onSaveInstanceState(icicle); + } } diff --git a/src/com/android/settings/SoundAndDisplaySettings.java b/src/com/android/settings/SoundSettings.java index 29eb878..bfb5566 100644 --- a/src/com/android/settings/SoundAndDisplaySettings.java +++ b/src/com/android/settings/SoundSettings.java @@ -25,7 +25,6 @@ import android.content.Intent; import android.content.IntentFilter; import android.media.AudioManager; import android.os.Bundle; -import android.os.IMountService; import android.os.RemoteException; import android.os.ServiceManager; import android.preference.CheckBoxPreference; @@ -40,7 +39,7 @@ import android.telephony.TelephonyManager; import android.util.Log; import android.view.IWindowManager; -public class SoundAndDisplaySettings extends PreferenceActivity implements +public class SoundSettings extends PreferenceActivity implements Preference.OnPreferenceChangeListener { private static final String TAG = "SoundAndDisplaysSettings"; @@ -50,23 +49,20 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements private static final String KEY_SILENT = "silent"; private static final String KEY_VIBRATE = "vibrate"; - private static final String KEY_SCREEN_TIMEOUT = "screen_timeout"; private static final String KEY_DTMF_TONE = "dtmf_tone"; private static final String KEY_SOUND_EFFECTS = "sound_effects"; private static final String KEY_HAPTIC_FEEDBACK = "haptic_feedback"; - private static final String KEY_ANIMATIONS = "animations"; - private static final String KEY_ACCELEROMETER = "accelerometer"; - private static final String KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS = - "play_media_notification_sounds"; private static final String KEY_EMERGENCY_TONE = "emergency_tone"; private static final String KEY_SOUND_SETTINGS = "sound_settings"; private static final String KEY_NOTIFICATION_PULSE = "notification_pulse"; + private static final String KEY_LOCK_SOUNDS = "lock_sounds"; - private CheckBoxPreference mSilent; - - private CheckBoxPreference mPlayMediaNotificationSounds; + private static final String VALUE_VIBRATE_NEVER = "never"; + private static final String VALUE_VIBRATE_ALWAYS = "always"; + private static final String VALUE_VIBRATE_ONLY_SILENT = "silent"; + private static final String VALUE_VIBRATE_UNLESS_SILENT = "notsilent"; - private IMountService mMountService = null; + private CheckBoxPreference mSilent; /* * If we are currently in one of the silent modes (the ringer mode is set to either @@ -75,19 +71,15 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements * Otherwise, it will adjust the normal ringer mode's ring or ring+vibrate * setting. */ - private CheckBoxPreference mVibrate; + private ListPreference mVibrate; private CheckBoxPreference mDtmfTone; private CheckBoxPreference mSoundEffects; private CheckBoxPreference mHapticFeedback; - private ListPreference mAnimations; - private CheckBoxPreference mAccelerometer; private CheckBoxPreference mNotificationPulse; - private float[] mAnimationScales; + private CheckBoxPreference mLockSounds; private AudioManager mAudioManager; - private IWindowManager mWindowManager; - private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -106,11 +98,8 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements int activePhoneType = TelephonyManager.getDefault().getPhoneType(); mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); - mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window")); - mMountService = IMountService.Stub.asInterface(ServiceManager.getService("mount")); - - addPreferencesFromResource(R.xml.sound_and_display_settings); + addPreferencesFromResource(R.xml.sound_settings); if (TelephonyManager.PHONE_TYPE_CDMA != activePhoneType) { // device is not CDMA, do not display CDMA emergency_tone @@ -118,9 +107,10 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } mSilent = (CheckBoxPreference) findPreference(KEY_SILENT); - mPlayMediaNotificationSounds = (CheckBoxPreference) findPreference(KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS); - mVibrate = (CheckBoxPreference) findPreference(KEY_VIBRATE); + mVibrate = (ListPreference) findPreference(KEY_VIBRATE); + mVibrate.setOnPreferenceChangeListener(this); + mDtmfTone = (CheckBoxPreference) findPreference(KEY_DTMF_TONE); mDtmfTone.setPersistent(false); mDtmfTone.setChecked(Settings.System.getInt(resolver, @@ -133,16 +123,10 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements mHapticFeedback.setPersistent(false); mHapticFeedback.setChecked(Settings.System.getInt(resolver, Settings.System.HAPTIC_FEEDBACK_ENABLED, 0) != 0); - mAnimations = (ListPreference) findPreference(KEY_ANIMATIONS); - mAnimations.setOnPreferenceChangeListener(this); - mAccelerometer = (CheckBoxPreference) findPreference(KEY_ACCELEROMETER); - mAccelerometer.setPersistent(false); - - ListPreference screenTimeoutPreference = - (ListPreference) findPreference(KEY_SCREEN_TIMEOUT); - screenTimeoutPreference.setValue(String.valueOf(Settings.System.getInt( - resolver, SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE))); - screenTimeoutPreference.setOnPreferenceChangeListener(this); + mLockSounds = (CheckBoxPreference) findPreference(KEY_LOCK_SOUNDS); + mLockSounds.setPersistent(false); + mLockSounds.setChecked(Settings.System.getInt(resolver, + Settings.System.LOCKSCREEN_SOUNDS_ENABLED, 1) != 0); if (TelephonyManager.PHONE_TYPE_CDMA == activePhoneType) { ListPreference emergencyTonePreference = @@ -187,8 +171,85 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements unregisterReceiver(mReceiver); } + private String getPhoneVibrateSettingValue() { + boolean vibeInSilent = (Settings.System.getInt( + getContentResolver(), + Settings.System.VIBRATE_IN_SILENT, + 1) == 1); + + // Control phone vibe independent of silent mode + int callsVibrateSetting = + mAudioManager.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER); + + if (vibeInSilent) { + if (callsVibrateSetting == AudioManager.VIBRATE_SETTING_OFF) { + // this state does not make sense; fix it up for the user + mAudioManager.setVibrateSetting( + AudioManager.VIBRATE_TYPE_RINGER, + AudioManager.VIBRATE_SETTING_ONLY_SILENT); + } + if (callsVibrateSetting == AudioManager.VIBRATE_SETTING_ON) { + return VALUE_VIBRATE_ALWAYS; + } else { + return VALUE_VIBRATE_ONLY_SILENT; + } + } else { + if (callsVibrateSetting == AudioManager.VIBRATE_SETTING_ONLY_SILENT) { + // this state does not make sense; fix it up + mAudioManager.setVibrateSetting( + AudioManager.VIBRATE_TYPE_RINGER, + AudioManager.VIBRATE_SETTING_OFF); + } + if (callsVibrateSetting == AudioManager.VIBRATE_SETTING_ON) { + return VALUE_VIBRATE_UNLESS_SILENT; + } else { + return VALUE_VIBRATE_NEVER; + } + } + } + + private void setPhoneVibrateSettingValue(String value) { + boolean vibeInSilent; + int callsVibrateSetting; + + if (value.equals(VALUE_VIBRATE_UNLESS_SILENT)) { + callsVibrateSetting = AudioManager.VIBRATE_SETTING_ON; + vibeInSilent = false; + } else if (value.equals(VALUE_VIBRATE_NEVER)) { + callsVibrateSetting = AudioManager.VIBRATE_SETTING_OFF; + vibeInSilent = false; + } else if (value.equals(VALUE_VIBRATE_ONLY_SILENT)) { + callsVibrateSetting = AudioManager.VIBRATE_SETTING_ONLY_SILENT; + vibeInSilent = true; + } else { //VALUE_VIBRATE_ALWAYS + callsVibrateSetting = AudioManager.VIBRATE_SETTING_ON; + vibeInSilent = true; + } + + Settings.System.putInt(getContentResolver(), + Settings.System.VIBRATE_IN_SILENT, + vibeInSilent ? 1 : 0); + + // might need to switch the ringer mode from one kind of "silent" to + // another + if (mSilent.isChecked()) { + mAudioManager.setRingerMode( + vibeInSilent ? AudioManager.RINGER_MODE_VIBRATE + : AudioManager.RINGER_MODE_SILENT); + } + + mAudioManager.setVibrateSetting( + AudioManager.VIBRATE_TYPE_RINGER, + callsVibrateSetting); + } + + // updateState in fact updates the UI to reflect the system state private void updateState(boolean force) { final int ringerMode = mAudioManager.getRingerMode(); + + // NB: in the UI we now simply call this "silent mode". A separate + // setting controls whether we're in RINGER_MODE_SILENT or + // RINGER_MODE_VIBRATE. final boolean silentOrVibrateMode = ringerMode != AudioManager.RINGER_MODE_NORMAL; @@ -196,21 +257,12 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements mSilent.setChecked(silentOrVibrateMode); } - try { - mPlayMediaNotificationSounds.setChecked(mMountService.getPlayNotificationSounds()); - } catch (RemoteException e) { - } + String phoneVibrateSetting = getPhoneVibrateSettingValue(); - boolean vibrateSetting; - if (silentOrVibrateMode) { - vibrateSetting = ringerMode == AudioManager.RINGER_MODE_VIBRATE; - } else { - vibrateSetting = mAudioManager.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER) - == AudioManager.VIBRATE_SETTING_ON; - } - if (vibrateSetting != mVibrate.isChecked() || force) { - mVibrate.setChecked(vibrateSetting); + if (! phoneVibrateSetting.equals(mVibrate.getValue()) || force) { + mVibrate.setValue(phoneVibrateSetting); } + mVibrate.setSummary(mVibrate.getEntry()); int silentModeStreams = Settings.System.getInt(getContentResolver(), Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0); @@ -218,72 +270,23 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements mSilent.setSummary(isAlarmInclSilentMode ? R.string.silent_mode_incl_alarm_summary : R.string.silent_mode_summary); - - int animations = 0; - try { - mAnimationScales = mWindowManager.getAnimationScales(); - } catch (RemoteException e) { - } - if (mAnimationScales != null) { - if (mAnimationScales.length >= 1) { - animations = ((int)(mAnimationScales[0]+.5f)) % 10; - } - if (mAnimationScales.length >= 2) { - animations += (((int)(mAnimationScales[1]+.5f)) & 0x7) * 10; - } - } - int idx = 0; - int best = 0; - CharSequence[] aents = mAnimations.getEntryValues(); - for (int i=0; i<aents.length; i++) { - int val = Integer.parseInt(aents[i].toString()); - if (val <= animations && val > best) { - best = val; - idx = i; - } - } - mAnimations.setValueIndex(idx); - updateAnimationsSummary(mAnimations.getValue()); - mAccelerometer.setChecked(Settings.System.getInt( - getContentResolver(), - Settings.System.ACCELEROMETER_ROTATION, 0) != 0); - } - - private void updateAnimationsSummary(Object value) { - CharSequence[] summaries = getResources().getTextArray(R.array.animations_summaries); - CharSequence[] values = mAnimations.getEntryValues(); - for (int i=0; i<values.length; i++) { - //Log.i("foo", "Comparing entry "+ values[i] + " to current " - // + mAnimations.getValue()); - if (values[i].equals(value)) { - mAnimations.setSummary(summaries[i]); - break; - } - } - } - - private void setRingerMode(boolean silent, boolean vibrate) { - if (silent) { - mAudioManager.setRingerMode(vibrate ? AudioManager.RINGER_MODE_VIBRATE : - AudioManager.RINGER_MODE_SILENT); - } else { - mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); - mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, - vibrate ? AudioManager.VIBRATE_SETTING_ON - : AudioManager.VIBRATE_SETTING_OFF); - } } @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - if (preference == mSilent || preference == mVibrate) { - setRingerMode(mSilent.isChecked(), mVibrate.isChecked()); - if (preference == mSilent) updateState(false); - } else if (preference == mPlayMediaNotificationSounds) { - try { - mMountService.setPlayNotificationSounds(mPlayMediaNotificationSounds.isChecked()); - } catch (RemoteException e) { + if (preference == mSilent) { + if (mSilent.isChecked()) { + boolean vibeInSilent = (1 == Settings.System.getInt( + getContentResolver(), + Settings.System.VIBRATE_IN_SILENT, + 1)); + mAudioManager.setRingerMode( + vibeInSilent ? AudioManager.RINGER_MODE_VIBRATE + : AudioManager.RINGER_MODE_SILENT); + } else { + mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); } + updateState(false); } else if (preference == mDtmfTone) { Settings.System.putInt(getContentResolver(), Settings.System.DTMF_TONE_WHEN_DIALING, mDtmfTone.isChecked() ? 1 : 0); @@ -301,10 +304,10 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements Settings.System.putInt(getContentResolver(), Settings.System.HAPTIC_FEEDBACK_ENABLED, mHapticFeedback.isChecked() ? 1 : 0); - } else if (preference == mAccelerometer) { - Settings.System.putInt(getContentResolver(), - Settings.System.ACCELEROMETER_ROTATION, - mAccelerometer.isChecked() ? 1 : 0); + } else if (preference == mLockSounds) { + Settings.System.putInt(getContentResolver(), Settings.System.LOCKSCREEN_SOUNDS_ENABLED, + mLockSounds.isChecked() ? 1 : 0); + } else if (preference == mNotificationPulse) { boolean value = mNotificationPulse.isChecked(); Settings.System.putInt(getContentResolver(), @@ -316,34 +319,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements public boolean onPreferenceChange(Preference preference, Object objValue) { final String key = preference.getKey(); - if (KEY_ANIMATIONS.equals(key)) { - try { - int value = Integer.parseInt((String) objValue); - if (mAnimationScales.length >= 1) { - mAnimationScales[0] = value%10; - } - if (mAnimationScales.length >= 2) { - mAnimationScales[1] = (value/10)%10; - } - try { - mWindowManager.setAnimationScales(mAnimationScales); - } catch (RemoteException e) { - } - updateAnimationsSummary(objValue); - } catch (NumberFormatException e) { - Log.e(TAG, "could not persist animation setting", e); - } - - } - if (KEY_SCREEN_TIMEOUT.equals(key)) { - int value = Integer.parseInt((String) objValue); - try { - Settings.System.putInt(getContentResolver(), - SCREEN_OFF_TIMEOUT, value); - } catch (NumberFormatException e) { - Log.e(TAG, "could not persist screen timeout setting", e); - } - } else if (KEY_EMERGENCY_TONE.equals(key)) { + if (KEY_EMERGENCY_TONE.equals(key)) { int value = Integer.parseInt((String) objValue); try { Settings.System.putInt(getContentResolver(), @@ -351,6 +327,9 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } catch (NumberFormatException e) { Log.e(TAG, "could not persist emergency tone setting", e); } + } else if (preference == mVibrate) { + setPhoneVibrateSettingValue(objValue.toString()); + updateState(false); } return true; diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java new file mode 100644 index 0000000..9eee4e0 --- /dev/null +++ b/src/com/android/settings/TetherSettings.java @@ -0,0 +1,322 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import com.android.settings.wifi.WifiApEnabler; + +import android.app.AlertDialog; +import android.app.Dialog; +import android.os.Bundle; +import android.os.SystemProperties; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.res.AssetManager; +import android.net.ConnectivityManager; +import android.os.Environment; +import android.preference.CheckBoxPreference; +import android.preference.Preference; +import android.preference.PreferenceActivity; +import android.preference.PreferenceScreen; +import android.provider.Settings; +import android.util.Log; +import android.webkit.WebView; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Locale; + +/* + * Displays preferences for Tethering. + */ +public class TetherSettings extends PreferenceActivity { + private static final String USB_TETHER_SETTINGS = "usb_tether_settings"; + private static final String ENABLE_WIFI_AP = "enable_wifi_ap"; + private static final String WIFI_AP_SETTINGS = "wifi_ap_settings"; + private static final String TETHERING_HELP = "tethering_help"; + private static final String USB_HELP_MODIFIER = "usb_"; + private static final String WIFI_HELP_MODIFIER = "wifi_"; + private static final String HELP_URL = "file:///android_asset/html/%y%z/tethering_%xhelp.html"; + private static final String HELP_PATH = "html/%y%z/tethering_help.html"; + + private static final int DIALOG_TETHER_HELP = 1; + + private WebView mView; + private CheckBoxPreference mUsbTether; + + private CheckBoxPreference mEnableWifiAp; + private PreferenceScreen mWifiApSettings; + private WifiApEnabler mWifiApEnabler; + private PreferenceScreen mTetherHelp; + + private BroadcastReceiver mTetherChangeReceiver; + + private String[] mUsbRegexs; + private ArrayList mUsbIfaces; + + private String[] mWifiRegexs; + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + + addPreferencesFromResource(R.xml.tether_prefs); + + mEnableWifiAp = (CheckBoxPreference) findPreference(ENABLE_WIFI_AP); + mWifiApSettings = (PreferenceScreen) findPreference(WIFI_AP_SETTINGS); + mUsbTether = (CheckBoxPreference) findPreference(USB_TETHER_SETTINGS); + mTetherHelp = (PreferenceScreen) findPreference(TETHERING_HELP); + + ConnectivityManager cm = + (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); + + mUsbRegexs = cm.getTetherableUsbRegexs(); + if (mUsbRegexs.length == 0) { + getPreferenceScreen().removePreference(mUsbTether); + + setTitle(R.string.tether_settings_title_wifi); + } + + mWifiRegexs = cm.getTetherableWifiRegexs(); + if (mWifiRegexs.length == 0) { + getPreferenceScreen().removePreference(mEnableWifiAp); + getPreferenceScreen().removePreference(mWifiApSettings); + + setTitle(R.string.tether_settings_title_usb); + } else if (mUsbRegexs.length != 0) { + // have both + setTitle(R.string.tether_settings_title_both); + } + mWifiApEnabler = new WifiApEnabler(this, mEnableWifiAp); + mView = new WebView(this); + } + + @Override + protected Dialog onCreateDialog(int id) { + if (id == DIALOG_TETHER_HELP) { + Locale locale = Locale.getDefault(); + + // check for the full language + country resource, if not there, try just language + AssetManager am = getAssets(); + String path = HELP_PATH.replace("%y", locale.getLanguage().toLowerCase()); + path = path.replace("%z", "_"+locale.getCountry().toLowerCase()); + boolean useCountry = true; + InputStream is = null; + try { + is = am.open(path); + } catch (Exception e) { + useCountry = false; + } finally { + if (is != null) { + try { + is.close(); + } catch (Exception e) {} + } + } + String url = HELP_URL.replace("%y", locale.getLanguage().toLowerCase()); + url = url.replace("%z", (useCountry ? "_"+locale.getCountry().toLowerCase() : "")); + if ((mUsbRegexs.length != 0) && (mWifiRegexs.length == 0)) { + url = url.replace("%x", USB_HELP_MODIFIER); + } else if ((mWifiRegexs.length != 0) && (mUsbRegexs.length == 0)) { + url = url.replace("%x", WIFI_HELP_MODIFIER); + } else { + // could assert that both wifi and usb have regexs, but the default + // is to use this anyway so no check is needed + url = url.replace("%x", ""); + } + + mView.loadUrl(url); + + return new AlertDialog.Builder(this) + .setCancelable(true) + .setTitle(R.string.tethering_help_button_text) + .setView(mView) + .create(); + } + return null; + } + + private class TetherChangeReceiver extends BroadcastReceiver { + public void onReceive(Context content, Intent intent) { + if (intent.getAction().equals(ConnectivityManager.ACTION_TETHER_STATE_CHANGED)) { + // TODO - this should understand the interface types + ArrayList<String> available = intent.getStringArrayListExtra( + ConnectivityManager.EXTRA_AVAILABLE_TETHER); + ArrayList<String> active = intent.getStringArrayListExtra( + ConnectivityManager.EXTRA_ACTIVE_TETHER); + ArrayList<String> errored = intent.getStringArrayListExtra( + ConnectivityManager.EXTRA_ERRORED_TETHER); + updateState(available.toArray(), active.toArray(), errored.toArray()); + } else if (intent.getAction().equals(Intent.ACTION_MEDIA_SHARED) || + intent.getAction().equals(Intent.ACTION_MEDIA_UNSHARED)) { + updateState(); + } + } + } + + @Override + protected void onResume() { + super.onResume(); + + IntentFilter filter = new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED); + mTetherChangeReceiver = new TetherChangeReceiver(); + Intent intent = registerReceiver(mTetherChangeReceiver, filter); + + filter = new IntentFilter(); + filter.addAction(Intent.ACTION_MEDIA_SHARED); + filter.addAction(Intent.ACTION_MEDIA_UNSHARED); + filter.addDataScheme("file"); + registerReceiver(mTetherChangeReceiver, filter); + + if (intent != null) mTetherChangeReceiver.onReceive(this, intent); + mWifiApEnabler.resume(); + } + + @Override + protected void onPause() { + super.onPause(); + unregisterReceiver(mTetherChangeReceiver); + mTetherChangeReceiver = null; + mWifiApEnabler.pause(); + } + + private void updateState() { + ConnectivityManager cm = + (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); + + String[] available = cm.getTetherableIfaces(); + String[] tethered = cm.getTetheredIfaces(); + String[] errored = cm.getTetheringErroredIfaces(); + updateState(available, tethered, errored); + } + + private void updateState(Object[] available, Object[] tethered, + Object[] errored) { + ConnectivityManager cm = + (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); + boolean usbTethered = false; + boolean usbAvailable = false; + int usbError = ConnectivityManager.TETHER_ERROR_NO_ERROR; + boolean usbErrored = false; + boolean massStorageActive = + Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState()); + for (Object o : available) { + String s = (String)o; + for (String regex : mUsbRegexs) { + if (s.matches(regex)) { + usbAvailable = true; + if (usbError == ConnectivityManager.TETHER_ERROR_NO_ERROR) { + usbError = cm.getLastTetherError(s); + } + } + } + } + for (Object o : tethered) { + String s = (String)o; + for (String regex : mUsbRegexs) { + if (s.matches(regex)) usbTethered = true; + } + } + for (Object o: errored) { + String s = (String)o; + for (String regex : mUsbRegexs) { + if (s.matches(regex)) usbErrored = true; + } + } + + if (usbTethered) { + mUsbTether.setSummary(R.string.usb_tethering_active_subtext); + mUsbTether.setEnabled(true); + mUsbTether.setChecked(true); + } else if (usbAvailable) { + if (usbError == ConnectivityManager.TETHER_ERROR_NO_ERROR) { + mUsbTether.setSummary(R.string.usb_tethering_available_subtext); + } else { + mUsbTether.setSummary(R.string.usb_tethering_errored_subtext); + } + mUsbTether.setEnabled(true); + mUsbTether.setChecked(false); + } else if (usbErrored) { + mUsbTether.setSummary(R.string.usb_tethering_errored_subtext); + mUsbTether.setEnabled(false); + mUsbTether.setChecked(false); + } else if (massStorageActive) { + mUsbTether.setSummary(R.string.usb_tethering_storage_active_subtext); + mUsbTether.setEnabled(false); + mUsbTether.setChecked(false); + } else { + mUsbTether.setSummary(R.string.usb_tethering_unavailable_subtext); + mUsbTether.setEnabled(false); + mUsbTether.setChecked(false); + } + } + + @Override + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + if (preference == mUsbTether) { + boolean newState = mUsbTether.isChecked(); + + ConnectivityManager cm = + (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); + + if (newState) { + String[] available = cm.getTetherableIfaces(); + + String usbIface = findIface(available, mUsbRegexs); + if (usbIface == null) { + updateState(); + return true; + } + if (cm.tether(usbIface) != ConnectivityManager.TETHER_ERROR_NO_ERROR) { + mUsbTether.setChecked(false); + mUsbTether.setSummary(R.string.usb_tethering_errored_subtext); + return true; + } + mUsbTether.setSummary(""); + } else { + String [] tethered = cm.getTetheredIfaces(); + + String usbIface = findIface(tethered, mUsbRegexs); + if (usbIface == null) { + updateState(); + return true; + } + if (cm.untether(usbIface) != ConnectivityManager.TETHER_ERROR_NO_ERROR) { + mUsbTether.setSummary(R.string.usb_tethering_errored_subtext); + return true; + } + mUsbTether.setSummary(""); + } + } else if (preference == mTetherHelp) { + + showDialog(DIALOG_TETHER_HELP); + } + return false; + } + + private String findIface(String[] ifaces, String[] regexes) { + for (String iface : ifaces) { + for (String regex : regexes) { + if (iface.matches(regex)) { + return iface; + } + } + } + return null; + } +} diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java index f60d0f2..89a4641 100644 --- a/src/com/android/settings/TextToSpeechSettings.java +++ b/src/com/android/settings/TextToSpeechSettings.java @@ -22,8 +22,11 @@ import static android.provider.Settings.Secure.TTS_DEFAULT_LANG; import static android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY; import static android.provider.Settings.Secure.TTS_DEFAULT_VARIANT; import static android.provider.Settings.Secure.TTS_DEFAULT_SYNTH; +import static android.provider.Settings.Secure.TTS_ENABLED_PLUGINS; +import android.app.AlertDialog; import android.content.ContentResolver; +import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; @@ -31,13 +34,17 @@ import android.content.pm.ResolveInfo; import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; +import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceActivity; +import android.preference.PreferenceGroup; +import android.preference.PreferenceScreen; import android.preference.CheckBoxPreference; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.speech.tts.TextToSpeech; import android.util.Log; +import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.StringTokenizer; @@ -48,6 +55,7 @@ public class TextToSpeechSettings extends PreferenceActivity implements private static final String TAG = "TextToSpeechSettings"; + private static final String SYSTEM_TTS = "com.svox.pico"; private static final String KEY_TTS_PLAY_EXAMPLE = "tts_play_example"; private static final String KEY_TTS_INSTALL_DATA = "tts_install_data"; private static final String KEY_TTS_USE_DEFAULT = "toggle_use_default_tts_settings"; @@ -55,6 +63,11 @@ public class TextToSpeechSettings extends PreferenceActivity implements private static final String KEY_TTS_DEFAULT_LANG = "tts_default_lang"; private static final String KEY_TTS_DEFAULT_COUNTRY = "tts_default_country"; private static final String KEY_TTS_DEFAULT_VARIANT = "tts_default_variant"; + private static final String KEY_TTS_DEFAULT_SYNTH = "tts_default_synth"; + + private static final String KEY_PLUGIN_ENABLED_PREFIX = "ENABLED_"; + private static final String KEY_PLUGIN_SETTINGS_PREFIX = "SETTINGS_"; + // TODO move default Locale values to TextToSpeech.Engine private static final String DEFAULT_LANG_VAL = "eng"; private static final String DEFAULT_COUNTRY_VAL = "USA"; @@ -70,6 +83,7 @@ public class TextToSpeechSettings extends PreferenceActivity implements private CheckBoxPreference mUseDefaultPref = null; private ListPreference mDefaultRatePref = null; private ListPreference mDefaultLocPref = null; + private ListPreference mDefaultSynthPref = null; private String mDefaultLanguage = null; private String mDefaultCountry = null; private String mDefaultLocVariant = null; @@ -82,14 +96,17 @@ public class TextToSpeechSettings extends PreferenceActivity implements private int mDemoStringIndex = 0; private boolean mEnableDemo = false; + private boolean mVoicesMissing = false; private TextToSpeech mTts = null; + private boolean mTtsStarted = false; /** * Request code (arbitrary value) for voice data check through * startActivityForResult. */ private static final int VOICE_DATA_INTEGRITY_CHECK = 1977; + private static final int GET_SAMPLE_TEXT = 1983; @Override protected void onCreate(Bundle savedInstanceState) { @@ -97,25 +114,35 @@ public class TextToSpeechSettings extends PreferenceActivity implements addPreferencesFromResource(R.xml.tts_settings); + addEngineSpecificSettings(); + mDemoStrings = getResources().getStringArray(R.array.tts_demo_strings); setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM); mEnableDemo = false; - initClickers(); - initDefaultSettings(); + mTtsStarted = false; + + Locale currentLocale = Locale.getDefault(); + mDefaultLanguage = currentLocale.getISO3Language(); + mDefaultCountry = currentLocale.getISO3Country(); + mDefaultLocVariant = currentLocale.getVariant(); + + mTts = new TextToSpeech(this, this); } @Override protected void onStart() { super.onStart(); - // whenever we return to this screen, we don't know the state of the - // system, so we have to recheck that we can play the demo, or it must be disabled. - // TODO make the TTS service listen to "changes in the system", i.e. sd card un/mount - initClickers(); - updateWidgetState(); - checkVoiceData(); + if (mTtsStarted){ + // whenever we return to this screen, we don't know the state of the + // system, so we have to recheck that we can play the demo, or it must be disabled. + // TODO make the TTS service listen to "changes in the system", i.e. sd card un/mount + initClickers(); + updateWidgetState(); + checkVoiceData(); + } } @@ -127,6 +154,70 @@ public class TextToSpeechSettings extends PreferenceActivity implements } } + @Override + protected void onPause() { + super.onPause(); + if ((mDefaultRatePref != null) && (mDefaultRatePref.getDialog() != null)) { + mDefaultRatePref.getDialog().dismiss(); + } + if ((mDefaultLocPref != null) && (mDefaultLocPref.getDialog() != null)) { + mDefaultLocPref.getDialog().dismiss(); + } + if ((mDefaultSynthPref != null) && (mDefaultSynthPref.getDialog() != null)) { + mDefaultSynthPref.getDialog().dismiss(); + } + } + + + + private void addEngineSpecificSettings() { + PreferenceGroup enginesCategory = (PreferenceGroup) findPreference("tts_engines_section"); + Intent intent = new Intent("android.intent.action.START_TTS_ENGINE"); + ResolveInfo[] enginesArray = new ResolveInfo[0]; + PackageManager pm = getPackageManager(); + enginesArray = pm.queryIntentActivities(intent, 0).toArray(enginesArray); + for (int i = 0; i < enginesArray.length; i++) { + String prefKey = ""; + final String pluginPackageName = enginesArray[i].activityInfo.packageName; + if (!enginesArray[i].activityInfo.packageName.equals(SYSTEM_TTS)) { + CheckBoxPreference chkbxPref = new CheckBoxPreference(this); + prefKey = KEY_PLUGIN_ENABLED_PREFIX + pluginPackageName; + chkbxPref.setKey(prefKey); + chkbxPref.setTitle(enginesArray[i].loadLabel(pm)); + enginesCategory.addPreference(chkbxPref); + } + if (pluginHasSettings(pluginPackageName)) { + Preference pref = new Preference(this); + prefKey = KEY_PLUGIN_SETTINGS_PREFIX + pluginPackageName; + pref.setKey(prefKey); + pref.setTitle(enginesArray[i].loadLabel(pm)); + CharSequence settingsLabel = getResources().getString( + R.string.tts_engine_name_settings, enginesArray[i].loadLabel(pm)); + pref.setSummary(settingsLabel); + pref.setOnPreferenceClickListener(new OnPreferenceClickListener(){ + public boolean onPreferenceClick(Preference preference){ + Intent i = new Intent(); + i.setClassName(pluginPackageName, + pluginPackageName + ".EngineSettings"); + startActivity(i); + return true; + } + }); + enginesCategory.addPreference(pref); + } + } + } + + private boolean pluginHasSettings(String pluginPackageName) { + PackageManager pm = getPackageManager(); + Intent i = new Intent(); + i.setClassName(pluginPackageName, pluginPackageName + ".EngineSettings"); + if (pm.resolveActivity(i, PackageManager.MATCH_DEFAULT_ONLY) != null){ + return true; + } + return false; + } + private void initClickers() { mPlayExample = findPreference(KEY_TTS_PLAY_EXAMPLE); @@ -156,7 +247,10 @@ public class TextToSpeechSettings extends PreferenceActivity implements mUseDefaultPref.setChecked(useDefault == 1); mUseDefaultPref.setOnPreferenceChangeListener(this); - // Default engine + // Default synthesis engine + mDefaultSynthPref = (ListPreference) findPreference(KEY_TTS_DEFAULT_SYNTH); + loadEngines(); + mDefaultSynthPref.setOnPreferenceChangeListener(this); String engine = Settings.Secure.getString(resolver, TTS_DEFAULT_SYNTH); if (engine == null) { // TODO move FALLBACK_TTS_DEFAULT_SYNTH to TextToSpeech @@ -225,16 +319,54 @@ public class TextToSpeechSettings extends PreferenceActivity implements } } + /** + * Ask the current default engine to return a string of sample text to be + * spoken to the user. + */ + private void getSampleText() { + PackageManager pm = getPackageManager(); + Intent intent = new Intent(); + // TODO (clchen): Replace Intent string with the actual + // Intent defined in the list of platform Intents. + intent.setAction("android.speech.tts.engine.GET_SAMPLE_TEXT"); + intent.putExtra("language", mDefaultLanguage); + intent.putExtra("country", mDefaultCountry); + intent.putExtra("variant", mDefaultLocVariant); + List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0); + // query only the package that matches that of the default engine + for (int i = 0; i < resolveInfos.size(); i++) { + ActivityInfo currentActivityInfo = resolveInfos.get(i).activityInfo; + if (mDefaultEng.equals(currentActivityInfo.packageName)) { + intent.setClassName(mDefaultEng, currentActivityInfo.name); + this.startActivityForResult(intent, GET_SAMPLE_TEXT); + } + } + } + /** * Called when the TTS engine is initialized. */ public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { - Log.v(TAG, "TTS engine for settings screen initialized."); mEnableDemo = true; - mTts.setLanguage(new Locale(mDefaultLanguage, mDefaultCountry)); + if (mDefaultLanguage == null) { + mDefaultLanguage = Locale.getDefault().getISO3Language(); + } + if (mDefaultCountry == null) { + mDefaultCountry = Locale.getDefault().getISO3Country(); + } + if (mDefaultLocVariant == null) { + mDefaultLocVariant = new String(); + } + mTts.setLanguage(new Locale(mDefaultLanguage, mDefaultCountry, mDefaultLocVariant)); mTts.setSpeechRate((float)(mDefaultRate/100.0f)); + initDefaultSettings(); + initClickers(); + updateWidgetState(); + checkVoiceData(); + mTtsStarted = true; + Log.v(TAG, "TTS engine for settings screen initialized."); } else { Log.v(TAG, "TTS engine for settings screen failed to initialize successfully."); mEnableDemo = false; @@ -248,15 +380,114 @@ public class TextToSpeechSettings extends PreferenceActivity implements */ protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_DATA_INTEGRITY_CHECK) { - if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) { - Log.v(TAG, "Voice data check passed"); + if (data == null){ + // The CHECK_TTS_DATA activity for the plugin did not run properly; + // disable the preview and install controls and return. + mEnableDemo = false; + mVoicesMissing = false; + updateWidgetState(); + return; + } + ArrayList<String> available = + data.getStringArrayListExtra(TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES); + ArrayList<String> unavailable = + data.getStringArrayListExtra(TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES); + if ((available == null) || (unavailable == null)){ + // The CHECK_TTS_DATA activity for the plugin did not run properly; + // disable the preview and install controls and return. + mEnableDemo = false; + mVoicesMissing = false; + updateWidgetState(); + return; + } + if (available.size() > 0){ if (mTts == null) { mTts = new TextToSpeech(this, this); } + ListPreference ttsLanguagePref = + (ListPreference) findPreference("tts_default_lang"); + CharSequence[] entries = new CharSequence[available.size()]; + CharSequence[] entryValues = new CharSequence[available.size()]; + int selectedLanguageIndex = -1; + String selectedLanguagePref = mDefaultLanguage; + if (mDefaultCountry.length() > 0) { + selectedLanguagePref = selectedLanguagePref + LOCALE_DELIMITER + + mDefaultCountry; + } + if (mDefaultLocVariant.length() > 0) { + selectedLanguagePref = selectedLanguagePref + LOCALE_DELIMITER + + mDefaultLocVariant; + } + for (int i = 0; i < available.size(); i++) { + String[] langCountryVariant = available.get(i).split("-"); + Locale loc = null; + if (langCountryVariant.length == 1){ + loc = new Locale(langCountryVariant[0]); + } else if (langCountryVariant.length == 2){ + loc = new Locale(langCountryVariant[0], langCountryVariant[1]); + } else if (langCountryVariant.length == 3){ + loc = new Locale(langCountryVariant[0], langCountryVariant[1], + langCountryVariant[2]); + } + if (loc != null){ + entries[i] = loc.getDisplayName(); + entryValues[i] = available.get(i); + if (entryValues[i].equals(selectedLanguagePref)) { + selectedLanguageIndex = i; + } + } + } + ttsLanguagePref.setEntries(entries); + ttsLanguagePref.setEntryValues(entryValues); + if (selectedLanguageIndex > -1) { + ttsLanguagePref.setValueIndex(selectedLanguageIndex); + } + mEnableDemo = true; + // Make sure that the default language can be used. + int languageResult = mTts.setLanguage( + new Locale(mDefaultLanguage, mDefaultCountry, mDefaultLocVariant)); + if (languageResult < TextToSpeech.LANG_AVAILABLE){ + Locale currentLocale = Locale.getDefault(); + mDefaultLanguage = currentLocale.getISO3Language(); + mDefaultCountry = currentLocale.getISO3Country(); + mDefaultLocVariant = currentLocale.getVariant(); + languageResult = mTts.setLanguage( + new Locale(mDefaultLanguage, mDefaultCountry, mDefaultLocVariant)); + // If the default Locale isn't supported, just choose the first available + // language so that there is at least something. + if (languageResult < TextToSpeech.LANG_AVAILABLE){ + parseLocaleInfo(ttsLanguagePref.getEntryValues()[0].toString()); + mTts.setLanguage( + new Locale(mDefaultLanguage, mDefaultCountry, mDefaultLocVariant)); + } + ContentResolver resolver = getContentResolver(); + Settings.Secure.putString(resolver, TTS_DEFAULT_LANG, mDefaultLanguage); + Settings.Secure.putString(resolver, TTS_DEFAULT_COUNTRY, mDefaultCountry); + Settings.Secure.putString(resolver, TTS_DEFAULT_VARIANT, mDefaultLocVariant); + } } else { - Log.v(TAG, "Voice data check failed"); mEnableDemo = false; - updateWidgetState(); + } + + if (unavailable.size() > 0){ + mVoicesMissing = true; + } else { + mVoicesMissing = false; + } + + updateWidgetState(); + } else if (requestCode == GET_SAMPLE_TEXT) { + if (resultCode == TextToSpeech.LANG_AVAILABLE) { + String sample = getString(R.string.tts_demo); + if ((data != null) && (data.getStringExtra("sampleText") != null)) { + sample = data.getStringExtra("sampleText"); + } + if (mTts != null) { + mTts.speak(sample, TextToSpeech.QUEUE_FLUSH, null); + } + } else { + // TODO: Display an error here to the user. + Log.e(TAG, "Did not have a sample string for the requested language"); } } } @@ -292,11 +523,22 @@ public class TextToSpeechSettings extends PreferenceActivity implements Log.v(TAG, "TTS default lang/country/variant set to " + mDefaultLanguage + "/" + mDefaultCountry + "/" + mDefaultLocVariant); if (mTts != null) { - mTts.setLanguage(new Locale(mDefaultLanguage, mDefaultCountry)); + mTts.setLanguage(new Locale(mDefaultLanguage, mDefaultCountry, mDefaultLocVariant)); } int newIndex = mDefaultLocPref.findIndexOfValue((String)objValue); Log.v("Settings", " selected is " + newIndex); mDemoStringIndex = newIndex > -1 ? newIndex : 0; + } else if (KEY_TTS_DEFAULT_SYNTH.equals(preference.getKey())) { + mDefaultEng = objValue.toString(); + Settings.Secure.putString(getContentResolver(), TTS_DEFAULT_SYNTH, mDefaultEng); + if (mTts != null) { + mTts.setEngineByPackageName(mDefaultEng); + mEnableDemo = false; + mVoicesMissing = false; + updateWidgetState(); + checkVoiceData(); + } + Log.v("Settings", "The default synth is: " + objValue.toString()); } return true; @@ -308,10 +550,9 @@ public class TextToSpeechSettings extends PreferenceActivity implements */ public boolean onPreferenceClick(Preference preference) { if (preference == mPlayExample) { - // Play example - if (mTts != null) { - mTts.speak(mDemoStrings[mDemoStringIndex], TextToSpeech.QUEUE_FLUSH, null); - } + // Get the sample text from the TTS engine; onActivityResult will do + // the actual speaking + getSampleText(); return true; } if (preference == mInstallData) { @@ -323,6 +564,46 @@ public class TextToSpeechSettings extends PreferenceActivity implements return false; } + @Override + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + if (Utils.isMonkeyRunning()) { + return false; + } + + if (preference instanceof CheckBoxPreference) { + final CheckBoxPreference chkPref = (CheckBoxPreference) preference; + if (!chkPref.getKey().equals(KEY_TTS_USE_DEFAULT)){ + if (chkPref.isChecked()) { + chkPref.setChecked(false); + AlertDialog d = (new AlertDialog.Builder(this)) + .setTitle(android.R.string.dialog_alert_title) + .setIcon(android.R.drawable.ic_dialog_alert) + .setMessage(getString(R.string.tts_engine_security_warning, + chkPref.getTitle())) + .setCancelable(true) + .setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + chkPref.setChecked(true); + loadEngines(); + } + }) + .setNegativeButton(android.R.string.cancel, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + } + }) + .create(); + d.show(); + } else { + loadEngines(); + } + return true; + } + } + return false; + } + private void updateWidgetState() { mPlayExample.setEnabled(mEnableDemo); @@ -330,7 +611,7 @@ public class TextToSpeechSettings extends PreferenceActivity implements mDefaultRatePref.setEnabled(mEnableDemo); mDefaultLocPref.setEnabled(mEnableDemo); - mInstallData.setEnabled(!mEnableDemo); + mInstallData.setEnabled(mVoicesMissing); } @@ -372,13 +653,15 @@ public class TextToSpeechSettings extends PreferenceActivity implements // demo string (at this stage there is a default language pref) ContentResolver resolver = getContentResolver(); mDefaultLanguage = Settings.Secure.getString(resolver, TTS_DEFAULT_LANG); - mDefaultCountry = Settings.Secure.getString(resolver, KEY_TTS_DEFAULT_COUNTRY); - mDefaultLocVariant = Settings.Secure.getString(resolver, KEY_TTS_DEFAULT_VARIANT); + mDefaultCountry = Settings.Secure.getString(resolver, TTS_DEFAULT_COUNTRY); + mDefaultLocVariant = Settings.Secure.getString(resolver, TTS_DEFAULT_VARIANT); // update the demo string mDemoStringIndex = mDefaultLocPref.findIndexOfValue(mDefaultLanguage + LOCALE_DELIMITER + mDefaultCountry); - mDefaultLocPref.setValueIndex(mDemoStringIndex); + if (mDemoStringIndex > -1){ + mDefaultLocPref.setValueIndex(mDemoStringIndex); + } } /** @@ -386,8 +669,20 @@ public class TextToSpeechSettings extends PreferenceActivity implements * Returns whether there is a default language in the TTS settings. */ private boolean hasLangPref() { - String language = Settings.Secure.getString(getContentResolver(), TTS_DEFAULT_LANG); - return (language != null); + ContentResolver resolver = getContentResolver(); + String language = Settings.Secure.getString(resolver, TTS_DEFAULT_LANG); + if ((language == null) || (language.length() < 1)) { + return false; + } + String country = Settings.Secure.getString(resolver, TTS_DEFAULT_COUNTRY); + if (country == null) { + return false; + } + String variant = Settings.Secure.getString(resolver, TTS_DEFAULT_VARIANT); + if (variant == null) { + return false; + } + return true; } /** @@ -424,4 +719,50 @@ public class TextToSpeechSettings extends PreferenceActivity implements Settings.Secure.putString(resolver, TTS_DEFAULT_VARIANT, DEFAULT_VARIANT_VAL); } + + private void loadEngines() { + mDefaultSynthPref = (ListPreference) findPreference(KEY_TTS_DEFAULT_SYNTH); + + // TODO (clchen): Try to see if it is possible to be more efficient here + // and not search for plugins again. + Intent intent = new Intent("android.intent.action.START_TTS_ENGINE"); + ResolveInfo[] enginesArray = new ResolveInfo[0]; + PackageManager pm = getPackageManager(); + enginesArray = pm.queryIntentActivities(intent, 0).toArray(enginesArray); + ArrayList<CharSequence> entries = new ArrayList<CharSequence>(); + ArrayList<CharSequence> values = new ArrayList<CharSequence>(); + String enabledEngines = ""; + for (int i = 0; i < enginesArray.length; i++) { + String pluginPackageName = enginesArray[i].activityInfo.packageName; + if (pluginPackageName.equals(SYSTEM_TTS)) { + entries.add(enginesArray[i].loadLabel(pm)); + values.add(pluginPackageName); + } else { + CheckBoxPreference pref = (CheckBoxPreference) findPreference( + KEY_PLUGIN_ENABLED_PREFIX + pluginPackageName); + if ((pref != null) && pref.isChecked()){ + entries.add(enginesArray[i].loadLabel(pm)); + values.add(pluginPackageName); + enabledEngines = enabledEngines + pluginPackageName + " "; + } + } + } + ContentResolver resolver = getContentResolver(); + Settings.Secure.putString(resolver, TTS_ENABLED_PLUGINS, enabledEngines); + + CharSequence entriesArray[] = new CharSequence[entries.size()]; + CharSequence valuesArray[] = new CharSequence[values.size()]; + + mDefaultSynthPref.setEntries(entries.toArray(entriesArray)); + mDefaultSynthPref.setEntryValues(values.toArray(valuesArray)); + + // Set the selected engine based on the saved preference + String selectedEngine = Settings.Secure.getString(getContentResolver(), TTS_DEFAULT_SYNTH); + int selectedEngineIndex = mDefaultSynthPref.findIndexOfValue(selectedEngine); + if (selectedEngineIndex == -1){ + selectedEngineIndex = mDefaultSynthPref.findIndexOfValue(SYSTEM_TTS); + } + mDefaultSynthPref.setValueIndex(selectedEngineIndex); + } + } diff --git a/src/com/android/settings/UserDictionarySettings.java b/src/com/android/settings/UserDictionarySettings.java index 4b30b53..6ffcb3d 100644 --- a/src/com/android/settings/UserDictionarySettings.java +++ b/src/com/android/settings/UserDictionarySettings.java @@ -159,7 +159,8 @@ public class UserDictionarySettings extends ListActivity { AdapterContextMenuInfo adapterMenuInfo = (AdapterContextMenuInfo) menuInfo; String word = getWord(adapterMenuInfo.position); - + if (word == null) return true; + switch (item.getItemId()) { case CONTEXT_MENU_DELETE: deleteWord(word); @@ -193,6 +194,9 @@ public class UserDictionarySettings extends ListActivity { private String getWord(int position) { mCursor.moveToPosition(position); + // Handle a possible race-condition + if (mCursor.isAfterLast()) return null; + return mCursor.getString( mCursor.getColumnIndexOrThrow(UserDictionary.Words.WORD)); } diff --git a/src/com/android/settings/VoiceInputOutputSettings.java b/src/com/android/settings/VoiceInputOutputSettings.java new file mode 100644 index 0000000..30bedda --- /dev/null +++ b/src/com/android/settings/VoiceInputOutputSettings.java @@ -0,0 +1,228 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings; + +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +import android.content.ComponentName; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.content.pm.ServiceInfo; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Resources; +import android.content.res.TypedArray; +import android.content.res.XmlResourceParser; +import android.os.Bundle; +import android.preference.ListPreference; +import android.preference.Preference; +import android.preference.PreferenceActivity; +import android.preference.PreferenceCategory; +import android.preference.PreferenceGroup; +import android.preference.PreferenceScreen; +import android.preference.Preference.OnPreferenceChangeListener; +import android.provider.Settings; +import android.speech.RecognitionService; +import android.util.AttributeSet; +import android.util.Log; +import android.util.Xml; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; + +/** + * Settings screen for voice input/output. + */ +public class VoiceInputOutputSettings extends PreferenceActivity + implements OnPreferenceChangeListener { + + private static final String TAG = "VoiceInputOutputSettings"; + + private static final String KEY_PARENT = "parent"; + private static final String KEY_VOICE_INPUT_CATEGORY = "voice_input_category"; + private static final String KEY_RECOGNIZER = "recognizer"; + private static final String KEY_RECOGNIZER_SETTINGS = "recognizer_settings"; + + private PreferenceGroup mParent; + private PreferenceCategory mVoiceInputCategory; + private ListPreference mRecognizerPref; + private PreferenceScreen mSettingsPref; + + private HashMap<String, ResolveInfo> mAvailableRecognizersMap; + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + + addPreferencesFromResource(R.xml.voice_input_output_settings); + + mParent = (PreferenceGroup) findPreference(KEY_PARENT); + mVoiceInputCategory = (PreferenceCategory) mParent.findPreference(KEY_VOICE_INPUT_CATEGORY); + mRecognizerPref = (ListPreference) mParent.findPreference(KEY_RECOGNIZER); + mRecognizerPref.setOnPreferenceChangeListener(this); + mSettingsPref = (PreferenceScreen) mParent.findPreference(KEY_RECOGNIZER_SETTINGS); + + mAvailableRecognizersMap = new HashMap<String, ResolveInfo>(); + + populateOrRemoveRecognizerPreference(); + } + + private void populateOrRemoveRecognizerPreference() { + List<ResolveInfo> availableRecognitionServices = getPackageManager().queryIntentServices( + new Intent(RecognitionService.SERVICE_INTERFACE), PackageManager.GET_META_DATA); + int numAvailable = availableRecognitionServices.size(); + + if (numAvailable == 0) { + // No recognizer available - remove all related preferences. + removePreference(mVoiceInputCategory); + removePreference(mRecognizerPref); + removePreference(mSettingsPref); + } else if (numAvailable == 1) { + // Only one recognizer available, so don't show the list of choices, but do + // set up the link to settings for the available recognizer. + removePreference(mRecognizerPref); + + // But first set up the available recognizers map with just the one recognizer. + ResolveInfo resolveInfo = availableRecognitionServices.get(0); + String recognizerComponent = + new ComponentName(resolveInfo.serviceInfo.packageName, + resolveInfo.serviceInfo.name).flattenToShortString(); + + mAvailableRecognizersMap.put(recognizerComponent, resolveInfo); + + String currentSetting = Settings.Secure.getString( + getContentResolver(), Settings.Secure.VOICE_RECOGNITION_SERVICE); + updateSettingsLink(currentSetting); + } else { + // Multiple recognizers available, so show the full list of choices. + populateRecognizerPreference(availableRecognitionServices); + } + } + + private void removePreference(Preference pref) { + if (pref != null) { + mParent.removePreference(pref); + } + } + + private void populateRecognizerPreference(List<ResolveInfo> recognizers) { + int size = recognizers.size(); + CharSequence[] entries = new CharSequence[size]; + CharSequence[] values = new CharSequence[size]; + + // Get the current value from the secure setting. + String currentSetting = Settings.Secure.getString( + getContentResolver(), Settings.Secure.VOICE_RECOGNITION_SERVICE); + + // Iterate through all the available recognizers and load up their info to show + // in the preference. Also build up a map of recognizer component names to their + // ResolveInfos - we'll need that a little later. + for (int i = 0; i < size; i++) { + ResolveInfo resolveInfo = recognizers.get(i); + String recognizerComponent = + new ComponentName(resolveInfo.serviceInfo.packageName, + resolveInfo.serviceInfo.name).flattenToShortString(); + + mAvailableRecognizersMap.put(recognizerComponent, resolveInfo); + + entries[i] = resolveInfo.loadLabel(getPackageManager()); + values[i] = recognizerComponent; + } + + mRecognizerPref.setEntries(entries); + mRecognizerPref.setEntryValues(values); + + mRecognizerPref.setDefaultValue(currentSetting); + mRecognizerPref.setValue(currentSetting); + + updateSettingsLink(currentSetting); + } + + private void updateSettingsLink(String currentSetting) { + ResolveInfo currentRecognizer = mAvailableRecognizersMap.get(currentSetting); + ServiceInfo si = currentRecognizer.serviceInfo; + XmlResourceParser parser = null; + String settingsActivity = null; + try { + parser = si.loadXmlMetaData(getPackageManager(), RecognitionService.SERVICE_META_DATA); + if (parser == null) { + throw new XmlPullParserException("No " + RecognitionService.SERVICE_META_DATA + + " meta-data for " + si.packageName); + } + + Resources res = getPackageManager().getResourcesForApplication( + si.applicationInfo); + + AttributeSet attrs = Xml.asAttributeSet(parser); + + int type; + while ((type=parser.next()) != XmlPullParser.END_DOCUMENT + && type != XmlPullParser.START_TAG) { + } + + String nodeName = parser.getName(); + if (!"recognition-service".equals(nodeName)) { + throw new XmlPullParserException( + "Meta-data does not start with recognition-service tag"); + } + + TypedArray array = res.obtainAttributes(attrs, + com.android.internal.R.styleable.RecognitionService); + settingsActivity = array.getString( + com.android.internal.R.styleable.RecognitionService_settingsActivity); + array.recycle(); + } catch (XmlPullParserException e) { + Log.e(TAG, "error parsing recognition service meta-data", e); + } catch (IOException e) { + Log.e(TAG, "error parsing recognition service meta-data", e); + } catch (NameNotFoundException e) { + Log.e(TAG, "error parsing recognition service meta-data", e); + } finally { + if (parser != null) parser.close(); + } + + if (settingsActivity == null) { + // No settings preference available - hide the preference. + Log.w(TAG, "no recognizer settings available for " + si.packageName); + mSettingsPref.setIntent(null); + mParent.removePreference(mSettingsPref); + } else { + Intent i = new Intent(Intent.ACTION_MAIN); + i.setComponent(new ComponentName(si.packageName, settingsActivity)); + mSettingsPref.setIntent(i); + mRecognizerPref.setSummary(currentRecognizer.loadLabel(getPackageManager())); + } + } + + public boolean onPreferenceChange(Preference preference, Object newValue) { + if (preference == mRecognizerPref) { + String setting = (String) newValue; + + // Put the new value back into secure settings. + Settings.Secure.putString( + getContentResolver(), + Settings.Secure.VOICE_RECOGNITION_SERVICE, + setting); + + // Update the settings item so it points to the right settings. + updateSettingsLink(setting); + } + return true; + } +} diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index 22417bb..78cf8cf 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 The Android Open Source Project + * Copyright (C) 2009 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,11 @@ package com.android.settings; import android.bluetooth.BluetoothAdapter; +import android.content.Context; import android.content.Intent; +import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.os.Bundle; -import android.os.IBinder; import android.os.ServiceManager; import android.os.SystemProperties; import android.preference.CheckBoxPreference; @@ -28,6 +29,7 @@ import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; import android.provider.Settings; +import android.util.Log; import com.android.internal.telephony.TelephonyIntents; import com.android.internal.telephony.TelephonyProperties; @@ -42,13 +44,14 @@ public class WirelessSettings extends PreferenceActivity { private static final String KEY_WIFI_SETTINGS = "wifi_settings"; private static final String KEY_BT_SETTINGS = "bt_settings"; private static final String KEY_VPN_SETTINGS = "vpn_settings"; + private static final String KEY_TETHER_SETTINGS = "tether_settings"; public static final String EXIT_ECM_RESULT = "exit_ecm_result"; public static final int REQUEST_CODE_EXIT_ECM = 1; - private WifiEnabler mWifiEnabler; private AirplaneModeEnabler mAirplaneModeEnabler; - private BluetoothEnabler mBtEnabler; private CheckBoxPreference mAirplaneModePreference; + private WifiEnabler mWifiEnabler; + private BluetoothEnabler mBtEnabler; /** * Invoked on each preference click in this hierarchy, overrides @@ -57,96 +60,113 @@ public class WirelessSettings extends PreferenceActivity { */ @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - if ( (preference == mAirplaneModePreference) && - (Boolean.parseBoolean( - SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) ) { + if (preference == mAirplaneModePreference && Boolean.parseBoolean( + SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) { // In ECM mode launch ECM app dialog startActivityForResult( new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null), REQUEST_CODE_EXIT_ECM); - return true; } - else { - // Let the intents be launched by the Preference manager - return false; + // Let the intents be launched by the Preference manager + return false; + } + + public static boolean isRadioAllowed(Context context, String type) { + if (!AirplaneModeEnabler.isAirplaneModeOn(context)) { + return true; } + // Here we use the same logic in onCreate(). + String toggleable = Settings.System.getString(context.getContentResolver(), + Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); + return toggleable != null && toggleable.contains(type); } - + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.wireless_settings); - initToggles(); + CheckBoxPreference airplane = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE); + CheckBoxPreference wifi = (CheckBoxPreference) findPreference(KEY_TOGGLE_WIFI); + CheckBoxPreference bt = (CheckBoxPreference) findPreference(KEY_TOGGLE_BLUETOOTH); + + mAirplaneModeEnabler = new AirplaneModeEnabler(this, airplane); mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE); + mWifiEnabler = new WifiEnabler(this, wifi); + mBtEnabler = new BluetoothEnabler(this, bt); + + String toggleable = Settings.System.getString(getContentResolver(), + Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); + + // Manually set dependencies for Wifi when not toggleable. + if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIFI)) { + wifi.setDependency(KEY_TOGGLE_AIRPLANE); + findPreference(KEY_WIFI_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE); + findPreference(KEY_VPN_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE); + } + + // Manually set dependencies for Bluetooth when not toggleable. + if (toggleable == null || !toggleable.contains(Settings.System.RADIO_BLUETOOTH)) { + bt.setDependency(KEY_TOGGLE_AIRPLANE); + findPreference(KEY_BT_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE); + } + + // Disable Bluetooth Settings if Bluetooth service is not available. + if (ServiceManager.getService(BluetoothAdapter.BLUETOOTH_SERVICE) == null) { + findPreference(KEY_BT_SETTINGS).setEnabled(false); + } + + // Disable Tethering if it's not allowed + ConnectivityManager cm = + (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); + if (!cm.isTetheringSupported()) { + getPreferenceScreen().removePreference(findPreference(KEY_TETHER_SETTINGS)); + } else { + String[] usbRegexs = cm.getTetherableUsbRegexs(); + String[] wifiRegexs = cm.getTetherableWifiRegexs(); + Preference p = findPreference(KEY_TETHER_SETTINGS); + if (wifiRegexs.length == 0) { + p.setTitle(R.string.tether_settings_title_usb); + p.setSummary(R.string.tether_settings_summary_usb); + } else { + if (usbRegexs.length == 0) { + p.setTitle(R.string.tether_settings_title_wifi); + p.setSummary(R.string.tether_settings_summary_wifi); + } else { + p.setTitle(R.string.tether_settings_title_both); + p.setSummary(R.string.tether_settings_summary_both); + } + } + } } - + @Override protected void onResume() { super.onResume(); + mAirplaneModeEnabler.resume(); mWifiEnabler.resume(); mBtEnabler.resume(); - mAirplaneModeEnabler.resume(); } @Override protected void onPause() { super.onPause(); - mWifiEnabler.pause(); mAirplaneModeEnabler.pause(); + mWifiEnabler.pause(); mBtEnabler.pause(); } - private void initToggles() { - - Preference airplanePreference = findPreference(KEY_TOGGLE_AIRPLANE); - Preference wifiPreference = findPreference(KEY_TOGGLE_WIFI); - Preference btPreference = findPreference(KEY_TOGGLE_BLUETOOTH); - Preference wifiSettings = findPreference(KEY_WIFI_SETTINGS); - Preference vpnSettings = findPreference(KEY_VPN_SETTINGS); - - IBinder b = ServiceManager.getService(BluetoothAdapter.BLUETOOTH_SERVICE); - if (b == null) { - // Disable BT Settings if BT service is not available. - Preference btSettings = findPreference(KEY_BT_SETTINGS); - btSettings.setEnabled(false); - } - - mWifiEnabler = new WifiEnabler( - this, (WifiManager) getSystemService(WIFI_SERVICE), - (CheckBoxPreference) wifiPreference); - mAirplaneModeEnabler = new AirplaneModeEnabler( - this, (CheckBoxPreference) airplanePreference); - mBtEnabler = new BluetoothEnabler(this, (CheckBoxPreference) btPreference); - - // manually set up dependencies for Wifi if its radio is not toggleable in airplane mode - String toggleableRadios = Settings.System.getString(getContentResolver(), - Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); - if (toggleableRadios == null || !toggleableRadios.contains(Settings.System.RADIO_WIFI)) { - wifiPreference.setDependency(airplanePreference.getKey()); - wifiSettings.setDependency(airplanePreference.getKey()); - vpnSettings.setDependency(airplanePreference.getKey()); - } - } - @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { - switch(requestCode) { - case REQUEST_CODE_EXIT_ECM: - Boolean isChoiceYes = - data.getBooleanExtra(EXIT_ECM_RESULT, false); + if (requestCode == REQUEST_CODE_EXIT_ECM) { + Boolean isChoiceYes = data.getBooleanExtra(EXIT_ECM_RESULT, false); // Set Airplane mode based on the return value and checkbox state mAirplaneModeEnabler.setAirplaneModeInECM(isChoiceYes, mAirplaneModePreference.isChecked()); - break; - - default: - break; } } - } diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java index b872916..426a4d3 100644 --- a/src/com/android/settings/bluetooth/BluetoothEnabler.java +++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ package com.android.settings.bluetooth; import com.android.settings.R; +import com.android.settings.WirelessSettings; import android.bluetooth.BluetoothAdapter; import android.content.BroadcastReceiver; @@ -25,8 +26,9 @@ import android.content.Intent; import android.content.IntentFilter; import android.preference.Preference; import android.preference.CheckBoxPreference; +import android.provider.Settings; import android.text.TextUtils; -import android.util.Config; +import android.widget.Toast; /** * BluetoothEnabler is a helper to manage the Bluetooth on/off checkbox @@ -34,16 +36,12 @@ import android.util.Config; * preference reflects the current state. */ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener { - - private static final boolean LOCAL_LOGD = Config.LOGD || false; - private static final String TAG = "BluetoothEnabler"; - private final Context mContext; - private final CheckBoxPreference mCheckBoxPreference; + private final CheckBoxPreference mCheckBox; private final CharSequence mOriginalSummary; private final LocalBluetoothManager mLocalManager; - + private final IntentFilter mIntentFilter; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -52,18 +50,18 @@ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener { } }; - public BluetoothEnabler(Context context, CheckBoxPreference checkBoxPreference) { + public BluetoothEnabler(Context context, CheckBoxPreference checkBox) { mContext = context; - mCheckBoxPreference = checkBoxPreference; - - mOriginalSummary = checkBoxPreference.getSummary(); - checkBoxPreference.setPersistent(false); + mCheckBox = checkBox; + mOriginalSummary = checkBox.getSummary(); + checkBox.setPersistent(false); mLocalManager = LocalBluetoothManager.getInstance(context); if (mLocalManager == null) { - // Bluetooth not supported - checkBoxPreference.setEnabled(false); + // Bluetooth is not supported + checkBox.setEnabled(false); } + mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); } public void resume() { @@ -71,16 +69,11 @@ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener { return; } - int state = mLocalManager.getBluetoothState(); - // This is the widget enabled state, not the preference toggled state - mCheckBoxPreference.setEnabled(state == BluetoothAdapter.STATE_ON || - state == BluetoothAdapter.STATE_OFF); - // BT state is not a sticky broadcast, so set it manually - handleStateChanged(state); + // Bluetooth state is not sticky, so set it manually + handleStateChanged(mLocalManager.getBluetoothState()); - mContext.registerReceiver(mReceiver, - new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)); - mCheckBoxPreference.setOnPreferenceChangeListener(this); + mContext.registerReceiver(mReceiver, mIntentFilter); + mCheckBox.setOnPreferenceChangeListener(this); } public void pause() { @@ -89,72 +82,51 @@ public class BluetoothEnabler implements Preference.OnPreferenceChangeListener { } mContext.unregisterReceiver(mReceiver); - mCheckBoxPreference.setOnPreferenceChangeListener(null); + mCheckBox.setOnPreferenceChangeListener(null); } public boolean onPreferenceChange(Preference preference, Object value) { - // Turn on/off BT - setEnabled((Boolean) value); + boolean enable = (Boolean) value; + + // Show toast message if Bluetooth is not allowed in airplane mode + if (enable && !WirelessSettings + .isRadioAllowed(mContext, Settings.System.RADIO_BLUETOOTH)) { + Toast.makeText(mContext, R.string.wifi_in_airplane_mode, + Toast.LENGTH_SHORT).show(); + return false; + } + + mLocalManager.setBluetoothEnabled(enable); + mCheckBox.setEnabled(false); // Don't update UI to opposite state until we're sure return false; } - private void setEnabled(final boolean enable) { - // Disable preference - mCheckBoxPreference.setEnabled(false); - - mLocalManager.setBluetoothEnabled(enable); - } - private void handleStateChanged(int state) { - - if (state == BluetoothAdapter.STATE_OFF || - state == BluetoothAdapter.STATE_ON) { - mCheckBoxPreference.setChecked(state == BluetoothAdapter.STATE_ON); - mCheckBoxPreference.setSummary(state == BluetoothAdapter.STATE_OFF ? - mOriginalSummary : - null); - - /* - * Don't ever disable the preference. Only enable here. Disablement - * is taken care of by the dependency code. If this is disabled - * here, it may not be re-enabled from the framework when dependency - * is met. http://b/issue?id=2053751 - */ - if (isEnabledByDependency()) { - mCheckBoxPreference.setEnabled(true); - } - - } else if (state == BluetoothAdapter.STATE_TURNING_ON || - state == BluetoothAdapter.STATE_TURNING_OFF) { - mCheckBoxPreference.setSummary(state == BluetoothAdapter.STATE_TURNING_ON - ? R.string.wifi_starting - : R.string.wifi_stopping); - - } else { - mCheckBoxPreference.setChecked(false); - mCheckBoxPreference.setSummary(R.string.wifi_error); - mCheckBoxPreference.setEnabled(true); - } - } - - private boolean isEnabledByDependency() { - Preference dep = getDependencyPreference(); - if (dep == null) { - return true; - } - - return !dep.shouldDisableDependents(); - } - - private Preference getDependencyPreference() { - String depKey = mCheckBoxPreference.getDependency(); - if (TextUtils.isEmpty(depKey)) { - return null; + switch (state) { + case BluetoothAdapter.STATE_TURNING_ON: + mCheckBox.setSummary(R.string.wifi_starting); + mCheckBox.setEnabled(false); + break; + case BluetoothAdapter.STATE_ON: + mCheckBox.setChecked(true); + mCheckBox.setSummary(null); + mCheckBox.setEnabled(true); + break; + case BluetoothAdapter.STATE_TURNING_OFF: + mCheckBox.setSummary(R.string.wifi_stopping); + mCheckBox.setEnabled(false); + break; + case BluetoothAdapter.STATE_OFF: + mCheckBox.setChecked(false); + mCheckBox.setSummary(mOriginalSummary); + mCheckBox.setEnabled(true); + break; + default: + mCheckBox.setChecked(false); + mCheckBox.setSummary(R.string.wifi_error); + mCheckBox.setEnabled(true); } - - return mCheckBoxPreference.getPreferenceManager().findPreference(depKey); } - } diff --git a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java index c1a2116..dbdf6c1 100644 --- a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java +++ b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java @@ -16,6 +16,9 @@ package com.android.settings.bluetooth; +import com.android.settings.R; +import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile; + import android.bluetooth.BluetoothA2dp; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothClass; @@ -25,11 +28,9 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.util.Log; -import com.android.settings.R; -import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile; - /** * BluetoothEventRedirector receives broadcasts and callbacks from the Bluetooth * API and dispatches the event on the UI thread to the right class in the @@ -53,9 +54,11 @@ public class BluetoothEventRedirector { BluetoothAdapter.ERROR); mManager.setBluetoothStateInt(state); } else if (action.equals(BluetoothAdapter.ACTION_DISCOVERY_STARTED)) { + persistDiscoveringTimestamp(); mManager.onScanningStateChanged(true); } else if (action.equals(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)) { + persistDiscoveringTimestamp(); mManager.onScanningStateChanged(false); } else if (action.equals(BluetoothDevice.ACTION_FOUND)) { @@ -191,4 +194,11 @@ public class BluetoothEventRedirector { } return null; } + + private void persistDiscoveringTimestamp() { + SharedPreferences.Editor editor = mManager.getSharedPreferences().edit(); + editor.putLong(LocalBluetoothManager.SHARED_PREFERENCES_KEY_DISCOVERING_TIMESTAMP, + System.currentTimeMillis()); + editor.commit(); + } } diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java index 4364795..1e73b2d 100644 --- a/src/com/android/settings/bluetooth/BluetoothSettings.java +++ b/src/com/android/settings/bluetooth/BluetoothSettings.java @@ -35,7 +35,6 @@ import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; import android.view.ContextMenu; -import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ContextMenu.ContextMenuInfo; @@ -53,8 +52,6 @@ public class BluetoothSettings extends PreferenceActivity private static final String TAG = "BluetoothSettings"; - private static final int MENU_SCAN = Menu.FIRST; - private static final String KEY_BT_CHECKBOX = "bt_checkbox"; private static final String KEY_BT_DISCOVERABLE = "bt_discoverable"; private static final String KEY_BT_DEVICE_LIST = "bt_device_list"; @@ -202,6 +199,12 @@ public class BluetoothSettings extends PreferenceActivity } } + @Override + protected void onUserLeaveHint() { + super.onUserLeaveHint(); + mLocalManager.stopScanning(); + } + private void addDevices() { List<CachedBluetoothDevice> cachedDevices = mLocalManager.getCachedDeviceManager().getCachedDevicesCopy(); @@ -211,33 +214,6 @@ public class BluetoothSettings extends PreferenceActivity } @Override - public boolean onCreateOptionsMenu(Menu menu) { - menu.add(0, MENU_SCAN, 0, R.string.bluetooth_scan_for_devices) - .setIcon(com.android.internal.R.drawable.ic_menu_refresh) - .setAlphabeticShortcut('r'); - return true; - } - - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - menu.findItem(MENU_SCAN).setEnabled(mLocalManager.getBluetoothAdapter().isEnabled()); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - - case MENU_SCAN: - mLocalManager.startScanning(true); - return true; - - default: - return false; - } - } - - @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { @@ -254,6 +230,7 @@ public class BluetoothSettings extends PreferenceActivity CachedBluetoothDevice device = btPreference.getCachedDevice(); mSelectedDevice = device.getDevice(); + mLocalManager.stopScanning(); mLocalManager.persistSelectedDeviceInPicker(mSelectedDevice.getAddress()); if ((device.getBondState() == BluetoothDevice.BOND_BONDED) || (mNeedAuth == false)) { diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java index 57bffa9..aa4a958 100644 --- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java +++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java @@ -95,7 +95,7 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> private static final long MAX_WAIT_TIME_FOR_FRAMEWORK = 25 * 1000; private enum BluetoothCommand { - CONNECT, DISCONNECT, + CONNECT, DISCONNECT, REMOVE_BOND, } static class BluetoothJob { @@ -118,7 +118,9 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> StringBuilder sb = new StringBuilder(); sb.append(command.name()); sb.append(" Address:").append(cachedDevice.mDevice); - sb.append(" Profile:").append(profile.name()); + if (profile != null) { + sb.append(" Profile:").append(profile.name()); + } sb.append(" TimeSent:"); if (timeSent == 0) { sb.append("not yet"); @@ -210,6 +212,12 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> case DISCONNECT: successful = disconnectInt(job.cachedDevice, job.profile); break; + case REMOVE_BOND: + BluetoothDevice dev = job.cachedDevice.getDevice(); + if (dev != null) { + successful = dev.removeBond(); + } + break; } if (successful) { @@ -510,32 +518,16 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> } public void unpair() { - synchronized (workQueue) { - // Remove any pending commands for this device - boolean processNow = false; - Iterator<BluetoothJob> it = workQueue.iterator(); - while (it.hasNext()) { - BluetoothJob job = it.next(); - if (job.cachedDevice.mDevice.equals(this.mDevice)) { - it.remove(); - if (job.timeSent != 0) { - processNow = true; - } - } - } - if (processNow) { - processCommands(); - } - } + disconnect(); - switch (getBondState()) { - case BluetoothDevice.BOND_BONDED: - mDevice.removeBond(); - break; + int state = getBondState(); - case BluetoothDevice.BOND_BONDING: + if (state == BluetoothDevice.BOND_BONDING) { mDevice.cancelBondProcess(); - break; + } + + if (state != BluetoothDevice.BOND_NONE) { + queueCommand(new BluetoothJob(BluetoothCommand.REMOVE_BOND, this, null)); } } @@ -757,7 +749,32 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> public void onBondingStateChanged(int bondState) { if (bondState == BluetoothDevice.BOND_NONE) { mProfiles.clear(); + + BluetoothJob job = workQueue.peek(); + if (job != null) { + // Remove the first item and process the next one + if (job.command == BluetoothCommand.REMOVE_BOND + && job.cachedDevice.mDevice.equals(mDevice)) { + workQueue.poll(); // dequeue + } else { + // Unexpected job + if (D) { + Log.d(TAG, "job.command = " + job.command); + Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString()); + } + + // Check to see if we need to remove the stale items from the queue + if (!pruneQueue(null)) { + // nothing in the queue was modify. Just ignore the notification and return. + refresh(); + return; + } + } + + processCommands(); + } } + refresh(); } diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java index 7906d79..4497480 100644 --- a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java +++ b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java @@ -43,7 +43,6 @@ public class CachedBluetoothDeviceManager { public CachedBluetoothDeviceManager(LocalBluetoothManager localManager) { mLocalManager = localManager; mCallbacks = localManager.getCallbacks(); - readPairedDevices(); } private synchronized boolean readPairedDevices() { diff --git a/src/com/android/settings/bluetooth/DockEventReceiver.java b/src/com/android/settings/bluetooth/DockEventReceiver.java index 2d634b2..6d11972 100644 --- a/src/com/android/settings/bluetooth/DockEventReceiver.java +++ b/src/com/android/settings/bluetooth/DockEventReceiver.java @@ -16,12 +16,17 @@ package com.android.settings.bluetooth; +import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile; + import android.app.Service; +import android.bluetooth.BluetoothA2dp; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; +import android.bluetooth.BluetoothHeadset; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.os.PowerManager; import android.util.Log; @@ -75,6 +80,54 @@ public class DockEventReceiver extends BroadcastReceiver { if (DEBUG) Log.e(TAG, "Unknown state"); break; } + } else if (BluetoothHeadset.ACTION_STATE_CHANGED.equals(intent.getAction())) { + /* + * Reconnect to the dock if: + * 1) it is a dock + * 2) it is disconnected + * 3) the disconnect is initiated remotely + * 4) the dock is still docked (check can only be done in the Service) + */ + if (device == null) { + if (DEBUG) Log.d(TAG, "Device is missing"); + return; + } + + int newState = intent.getIntExtra(BluetoothHeadset.EXTRA_STATE, + BluetoothHeadset.STATE_CONNECTED); + if (newState != BluetoothHeadset.STATE_DISCONNECTED) return; + + int source = intent.getIntExtra(BluetoothHeadset.EXTRA_DISCONNECT_INITIATOR, + BluetoothHeadset.LOCAL_DISCONNECT); + if (source != BluetoothHeadset.REMOTE_DISCONNECT) return; + + // Too bad, the dock state can't be checked from a BroadcastReceiver. + Intent i = new Intent(intent); + i.setClass(context, DockService.class); + beginStartingService(context, i); + + } else if (BluetoothA2dp.ACTION_SINK_STATE_CHANGED.equals(intent.getAction())) { + /* + * Reconnect to the dock if: + * 1) it is a dock + * 2) it is an unexpected disconnect i.e. didn't go through disconnecting state + * 3) the dock is still docked (check can only be done in the Service) + */ + if (device == null) { + if (DEBUG) Log.d(TAG, "Device is missing"); + return; + } + + int newState = intent.getIntExtra(BluetoothA2dp.EXTRA_SINK_STATE, 0); + int oldState = intent.getIntExtra(BluetoothA2dp.EXTRA_PREVIOUS_SINK_STATE, 0); + if (newState == BluetoothA2dp.STATE_DISCONNECTED && + oldState != BluetoothA2dp.STATE_DISCONNECTING) { + // Too bad, the dock state can't be checked from a BroadcastReceiver. + Intent i = new Intent(intent); + i.setClass(context, DockService.class); + beginStartingService(context, i); + } + } else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) { int btState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); if (btState != BluetoothAdapter.STATE_TURNING_ON) { diff --git a/src/com/android/settings/bluetooth/DockService.java b/src/com/android/settings/bluetooth/DockService.java index 1425e23..f318987 100644 --- a/src/com/android/settings/bluetooth/DockService.java +++ b/src/com/android/settings/bluetooth/DockService.java @@ -87,6 +87,15 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli private static final String SHARED_PREFERENCES_KEY_DISABLE_BT = "disable_bt"; + private static final String SHARED_PREFERENCES_KEY_CONNECT_RETRY_COUNT = + "connect_retry_count"; + + /* + * If disconnected unexpectedly, reconnect up to 6 times. Each profile counts + * as one time so it's only 3 times for both profiles on the car dock. + */ + private static final int MAX_CONNECT_RETRY = 6; + private static final int INVALID_STARTID = -100; // Created in OnCreate() @@ -161,6 +170,32 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli return START_NOT_STICKY; } + /* + * This assumes that the intent sender has checked that this is a dock + * and that the intent is for a disconnect + */ + if (BluetoothHeadset.ACTION_STATE_CHANGED.equals(intent.getAction())) { + BluetoothDevice disconnectedDevice = intent + .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); + + int retryCount = getSettingInt(SHARED_PREFERENCES_KEY_CONNECT_RETRY_COUNT, 0); + if (retryCount < MAX_CONNECT_RETRY) { + setSettingInt(SHARED_PREFERENCES_KEY_CONNECT_RETRY_COUNT, retryCount + 1); + handleUnexpectedDisconnect(disconnectedDevice, Profile.HEADSET, startId); + } + return START_NOT_STICKY; + } else if (BluetoothA2dp.ACTION_SINK_STATE_CHANGED.equals(intent.getAction())) { + BluetoothDevice disconnectedDevice = intent + .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); + + int retryCount = getSettingInt(SHARED_PREFERENCES_KEY_CONNECT_RETRY_COUNT, 0); + if (retryCount < MAX_CONNECT_RETRY) { + setSettingInt(SHARED_PREFERENCES_KEY_CONNECT_RETRY_COUNT, retryCount + 1); + handleUnexpectedDisconnect(disconnectedDevice, Profile.A2DP, startId); + } + return START_NOT_STICKY; + } + Message msg = parseIntent(intent); if (msg == null) { // Bad intent @@ -169,6 +204,10 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli return START_NOT_STICKY; } + if (msg.what == MSG_TYPE_DOCKED) { + removeSetting(SHARED_PREFERENCES_KEY_CONNECT_RETRY_COUNT); + } + msg.arg2 = startId; processMessage(msg); @@ -248,10 +287,10 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli if (DEBUG) { Log.d(TAG, "DISABLE_BT_WHEN_UNDOCKED = " - + getSetting(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED)); + + getSettingBool(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED)); } - if (getSetting(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED)) { + if (getSettingBool(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED)) { // BT was disabled when we first docked if (!hasOtherConnectedDevices(device)) { if(DEBUG) Log.d(TAG, "QUEUED BT DISABLE"); @@ -280,7 +319,7 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli removeSetting(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED); } else { // disable() returned an error. Persist a flag to disable BT later - setSetting(SHARED_PREFERENCES_KEY_DISABLE_BT, true); + setSettingBool(SHARED_PREFERENCES_KEY_DISABLE_BT, true); mPendingTurnOffStartId = startId; deferFinishCall = true; if(DEBUG) Log.d(TAG, "disable failed. try again later " + startId); @@ -509,7 +548,7 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli } else { if (DEBUG) { Log.d(TAG, "A DISABLE_BT_WHEN_UNDOCKED = " - + getSetting(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED)); + + getSettingBool(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED)); } // Reconnect if docked and bluetooth was enabled by user. Intent i = registerReceiver(null, new IntentFilter(Intent.ACTION_DOCK_EVENT)); @@ -522,7 +561,7 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli if (device != null) { connectIfEnabled(device); } - } else if (getSetting(SHARED_PREFERENCES_KEY_DISABLE_BT) + } else if (getSettingBool(SHARED_PREFERENCES_KEY_DISABLE_BT) && mBtManager.getBluetoothAdapter().disable()) { mPendingTurnOffStartId = startId; removeSetting(SHARED_PREFERENCES_KEY_DISABLE_BT); @@ -565,6 +604,34 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli } } + private void handleUnexpectedDisconnect(BluetoothDevice disconnectedDevice, Profile profile, + int startId) { + synchronized (this) { + if (DEBUG) Log.d(TAG, "handling failed connect for " + disconnectedDevice); + + // Reconnect if docked. + if (disconnectedDevice != null) { + // registerReceiver can't be called from a BroadcastReceiver + Intent i = registerReceiver(null, new IntentFilter(Intent.ACTION_DOCK_EVENT)); + if (i != null) { + int state = i.getIntExtra(Intent.EXTRA_DOCK_STATE, + Intent.EXTRA_DOCK_STATE_UNDOCKED); + if (state != Intent.EXTRA_DOCK_STATE_UNDOCKED) { + BluetoothDevice dockedDevice = i + .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); + if (dockedDevice != null && dockedDevice.equals(disconnectedDevice)) { + CachedBluetoothDevice cachedDevice = getCachedBluetoothDevice(mContext, + mBtManager, dockedDevice); + cachedDevice.connect(profile); + } + } + } + } + + DockEventReceiver.finishStartingService(this, startId); + } + } + private synchronized void connectIfEnabled(BluetoothDevice device) { CachedBluetoothDevice cachedDevice = getCachedBluetoothDevice(mContext, mBtManager, device); List<Profile> profiles = cachedDevice.getConnectableProfiles(); @@ -612,7 +679,8 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli mPendingDevice = device; mPendingStartId = startId; if (btState != BluetoothAdapter.STATE_TURNING_ON) { - setSetting(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED, true); + setSettingBool(SHARED_PREFERENCES_KEY_DISABLE_BT_WHEN_UNDOCKED, + true); } return; } @@ -676,16 +744,29 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli return cachedBluetoothDevice; } - private boolean getSetting(String key) { + private boolean getSettingBool(String key) { SharedPreferences sharedPref = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE); return sharedPref.getBoolean(key, false); } - private void setSetting(String key, boolean disableBt) { + private int getSettingInt(String key, int defaultValue) { + SharedPreferences sharedPref = getSharedPreferences(SHARED_PREFERENCES_NAME, + Context.MODE_PRIVATE); + return sharedPref.getInt(key, defaultValue); + } + + private void setSettingBool(String key, boolean bool) { + SharedPreferences.Editor editor = getSharedPreferences(SHARED_PREFERENCES_NAME, + Context.MODE_PRIVATE).edit(); + editor.putBoolean(key, bool); + editor.commit(); + } + + private void setSettingInt(String key, int value) { SharedPreferences.Editor editor = getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE).edit(); - editor.putBoolean(key, disableBt); + editor.putInt(key, value); editor.commit(); } diff --git a/src/com/android/settings/bluetooth/LocalBluetoothManager.java b/src/com/android/settings/bluetooth/LocalBluetoothManager.java index ec5c6bc..2ffb139 100644 --- a/src/com/android/settings/bluetooth/LocalBluetoothManager.java +++ b/src/com/android/settings/bluetooth/LocalBluetoothManager.java @@ -72,6 +72,9 @@ public class LocalBluetoothManager { // of raising notifications private static long GRACE_PERIOD_TO_SHOW_DIALOGS_IN_FOREGROUND = 60 * 1000; + public static final String SHARED_PREFERENCES_KEY_DISCOVERING_TIMESTAMP = + "last_discovering_time"; + private static final String SHARED_PREFERENCES_KEY_LAST_SELECTED_DEVICE = "last_selected_device"; @@ -198,6 +201,12 @@ public class LocalBluetoothManager { } } + public void stopScanning() { + if (mAdapter.isDiscovering()) { + mAdapter.cancelDiscovery(); + } + } + public int getBluetoothState() { if (mState == BluetoothAdapter.ERROR) { @@ -308,7 +317,7 @@ public class LocalBluetoothManager { long currentTimeMillis = System.currentTimeMillis(); SharedPreferences sharedPreferences = getSharedPreferences(); - // If the device was in discoverable mode recently + // If the device was in discoverABLE mode recently long lastDiscoverableEndTime = sharedPreferences.getLong( BluetoothDiscoverableEnabler.SHARED_PREFERENCES_KEY_DISCOVERABLE_END_TIMESTAMP, 0); if ((lastDiscoverableEndTime + GRACE_PERIOD_TO_SHOW_DIALOGS_IN_FOREGROUND) @@ -316,6 +325,14 @@ public class LocalBluetoothManager { return true; } + // If the device was discoverING recently + if (mAdapter != null && mAdapter.isDiscovering()) { + return true; + } else if ((sharedPreferences.getLong(SHARED_PREFERENCES_KEY_DISCOVERING_TIMESTAMP, 0) + + GRACE_PERIOD_TO_SHOW_DIALOGS_IN_FOREGROUND) > currentTimeMillis) { + return true; + } + // If the device was picked in the device picker recently if (deviceAddress != null) { String lastSelectedDevice = sharedPreferences.getString( diff --git a/src/com/android/settings/bluetooth/RequestPermissionActivity.java b/src/com/android/settings/bluetooth/RequestPermissionActivity.java index 9fdb338..eca233c 100644 --- a/src/com/android/settings/bluetooth/RequestPermissionActivity.java +++ b/src/com/android/settings/bluetooth/RequestPermissionActivity.java @@ -16,11 +16,10 @@ package com.android.settings.bluetooth; -import com.android.internal.app.AlertActivity; -import com.android.internal.app.AlertController; import com.android.settings.R; import android.app.Activity; +import android.app.AlertDialog; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; @@ -31,14 +30,12 @@ import android.content.IntentFilter; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; -import android.view.View; -import android.widget.TextView; /** * RequestPermissionActivity asks the user whether to enable discovery. This is * usually started by an application wanted to start bluetooth and or discovery */ -public class RequestPermissionActivity extends AlertActivity implements +public class RequestPermissionActivity extends Activity implements DialogInterface.OnClickListener { // Command line to test this // adb shell am start -a android.bluetooth.adapter.action.REQUEST_ENABLE @@ -73,6 +70,8 @@ public class RequestPermissionActivity extends AlertActivity implements private boolean mUserConfirmed = false; + private AlertDialog mDialog = null; + private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override @@ -84,7 +83,7 @@ public class RequestPermissionActivity extends AlertActivity implements int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothDevice.ERROR); if (state == BluetoothAdapter.STATE_ON) { if (mUserConfirmed) { - proceedAndFinish(false); + proceedAndFinish(); } } } @@ -136,7 +135,7 @@ public class RequestPermissionActivity extends AlertActivity implements case BluetoothAdapter.STATE_ON: if (mEnableOnly) { // Nothing to do. Already enabled. - proceedAndFinish(false); + proceedAndFinish(); return; } else { // Ask the user about enabling discovery mode @@ -147,28 +146,24 @@ public class RequestPermissionActivity extends AlertActivity implements } private void createDialog() { - final AlertController.AlertParams p = mAlertParams; - p.mIconId = android.R.drawable.ic_dialog_info; - p.mTitle = getString(R.string.bluetooth_permission_request); - - View view = getLayoutInflater().inflate(R.layout.bluetooth_discoverable, null); - p.mView = view; - TextView tv = (TextView) view.findViewById(R.id.message); + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setIcon(android.R.drawable.ic_dialog_info); + builder.setTitle(getString(R.string.bluetooth_permission_request)); if (mNeededToEnableBluetooth) { // RequestPermissionHelperActivity has gotten confirmation from user // to turn on BT - tv.setText(getString(R.string.bluetooth_turning_on)); + builder.setMessage(getString(R.string.bluetooth_turning_on)); + builder.setCancelable(false); } else { // Ask the user whether to turn on discovery mode or not - tv.setText(getString(R.string.bluetooth_ask_enablement_and_discovery, mTimeout)); - p.mPositiveButtonText = getString(R.string.yes); - p.mPositiveButtonListener = this; - p.mNegativeButtonText = getString(R.string.no); - p.mNegativeButtonListener = this; + builder.setMessage(getString(R.string.bluetooth_ask_enablement_and_discovery, mTimeout)); + builder.setPositiveButton(getString(R.string.yes), this); + builder.setNegativeButton(getString(R.string.no), this); } - setupAlert(); + mDialog = builder.create(); + mDialog.show(); } @Override @@ -182,6 +177,7 @@ public class RequestPermissionActivity extends AlertActivity implements if (resultCode != RESULT_BT_STARTING_OR_STARTED) { setResult(resultCode); finish(); + return; } // Back from RequestPermissionHelperActivity. User confirmed to enable @@ -189,7 +185,7 @@ public class RequestPermissionActivity extends AlertActivity implements mUserConfirmed = true; if (mLocalManager.getBluetoothState() == BluetoothAdapter.STATE_ON) { - proceedAndFinish(false); + proceedAndFinish(); } else { // If BT is not up yet, show "Turning on Bluetooth..." createDialog(); @@ -199,16 +195,17 @@ public class RequestPermissionActivity extends AlertActivity implements public void onClick(DialogInterface dialog, int which) { switch (which) { case DialogInterface.BUTTON_POSITIVE: - proceedAndFinish(true); + proceedAndFinish(); break; case DialogInterface.BUTTON_NEGATIVE: setResult(Activity.RESULT_CANCELED); + finish(); break; } } - private void proceedAndFinish(boolean buttonPressed) { + private void proceedAndFinish() { int returnCode; if (mEnableOnly) { @@ -227,10 +224,12 @@ public class RequestPermissionActivity extends AlertActivity implements returnCode = Activity.RESULT_CANCELED; } - setResult(returnCode); - if (!buttonPressed) { - finish(); + if (mDialog != null) { + mDialog.dismiss(); } + + setResult(returnCode); + finish(); } private boolean parseIntent() { diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java index 53e2a69..b574849 100644 --- a/src/com/android/settings/deviceinfo/Memory.java +++ b/src/com/android/settings/deviceinfo/Memory.java @@ -16,60 +16,86 @@ package com.android.settings.deviceinfo; +import android.app.ActivityManager; +import android.app.AlertDialog; +import android.app.Dialog; import android.content.BroadcastReceiver; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.content.DialogInterface.OnCancelListener; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.os.Bundle; +import android.os.Handler; import android.os.IBinder; +import android.os.Message; import android.os.RemoteException; import android.os.Environment; -import android.os.IMountService; +import android.os.storage.IMountService; import android.os.ServiceManager; import android.os.StatFs; +import android.os.storage.StorageManager; +import android.os.storage.StorageEventListener; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; import android.text.format.Formatter; import android.util.Log; +import android.widget.Toast; import com.android.settings.R; import java.io.File; -import java.text.DecimalFormat; +import java.util.HashSet; +import java.util.List; +import java.util.Set; -public class Memory extends PreferenceActivity { - +public class Memory extends PreferenceActivity implements OnCancelListener { private static final String TAG = "Memory"; + private static final boolean localLOGV = false; private static final String MEMORY_SD_SIZE = "memory_sd_size"; private static final String MEMORY_SD_AVAIL = "memory_sd_avail"; - private static final String MEMORY_SD_UNMOUNT = "memory_sd_unmount"; + private static final String MEMORY_SD_MOUNT_TOGGLE = "memory_sd_mount_toggle"; private static final String MEMORY_SD_FORMAT = "memory_sd_format"; + + private static final int DLG_CONFIRM_UNMOUNT = 1; + private static final int DLG_ERROR_UNMOUNT = 2; + private Resources mRes; private Preference mSdSize; private Preference mSdAvail; - private Preference mSdUnmount; + private Preference mSdMountToggle; private Preference mSdFormat; // Access using getMountService() private IMountService mMountService = null; + private StorageManager mStorageManager = null; + @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); - + + if (mStorageManager == null) { + mStorageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE); + mStorageManager.registerListener(mStorageListener); + } + addPreferencesFromResource(R.xml.device_info_memory); mRes = getResources(); mSdSize = findPreference(MEMORY_SD_SIZE); mSdAvail = findPreference(MEMORY_SD_AVAIL); - mSdUnmount = findPreference(MEMORY_SD_UNMOUNT); + mSdMountToggle = findPreference(MEMORY_SD_MOUNT_TOGGLE); mSdFormat = findPreference(MEMORY_SD_FORMAT); } @@ -77,27 +103,39 @@ public class Memory extends PreferenceActivity { protected void onResume() { super.onResume(); - IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_REMOVED); - intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED); - intentFilter.addAction(Intent.ACTION_MEDIA_MOUNTED); - intentFilter.addAction(Intent.ACTION_MEDIA_SHARED); - intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL); - intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTABLE); - intentFilter.addAction(Intent.ACTION_MEDIA_NOFS); - intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED); + IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_STARTED); intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED); intentFilter.addDataScheme("file"); registerReceiver(mReceiver, intentFilter); updateMemoryStatus(); } + + StorageEventListener mStorageListener = new StorageEventListener() { + + @Override + public void onStorageStateChanged(String path, String oldState, String newState) { + Log.i(TAG, "Received storage state changed notification that " + + path + " changed state from " + oldState + + " to " + newState); + updateMemoryStatus(); + } + }; @Override protected void onPause() { super.onPause(); unregisterReceiver(mReceiver); } - + + @Override + protected void onDestroy() { + if (mStorageManager != null && mStorageListener != null) { + mStorageManager.unregisterListener(mStorageListener); + } + super.onDestroy(); + } + private synchronized IMountService getMountService() { if (mMountService == null) { IBinder service = ServiceManager.getService("mount"); @@ -112,8 +150,13 @@ public class Memory extends PreferenceActivity { @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - if (preference == mSdUnmount) { - unmount(); + if (preference == mSdMountToggle) { + String status = Environment.getExternalStorageState(); + if (status.equals(Environment.MEDIA_MOUNTED)) { + unmount(); + } else { + mount(); + } return true; } else if (preference == mSdFormat) { Intent intent = new Intent(Intent.ACTION_VIEW); @@ -132,17 +175,95 @@ public class Memory extends PreferenceActivity { } }; + @Override + public Dialog onCreateDialog(int id, Bundle args) { + switch (id) { + case DLG_CONFIRM_UNMOUNT: + return new AlertDialog.Builder(this) + .setTitle(R.string.dlg_confirm_unmount_title) + .setPositiveButton(R.string.dlg_ok, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + doUnmount(true); + }}) + .setNegativeButton(R.string.cancel, null) + .setMessage(R.string.dlg_confirm_unmount_text) + .setOnCancelListener(this) + .create(); + case DLG_ERROR_UNMOUNT: + return new AlertDialog.Builder(this ) + .setTitle(R.string.dlg_error_unmount_title) + .setNeutralButton(R.string.dlg_ok, null) + .setMessage(R.string.dlg_error_unmount_text) + .setOnCancelListener(this) + .create(); + } + return null; + } + + private void doUnmount(boolean force) { + // Present a toast here + Toast.makeText(this, R.string.unmount_inform_text, Toast.LENGTH_SHORT).show(); + IMountService mountService = getMountService(); + String extStoragePath = Environment.getExternalStorageDirectory().toString(); + try { + mSdMountToggle.setEnabled(false); + mSdMountToggle.setTitle(mRes.getString(R.string.sd_ejecting_title)); + mSdMountToggle.setSummary(mRes.getString(R.string.sd_ejecting_summary)); + mountService.unmountVolume(extStoragePath, force); + } catch (RemoteException e) { + // Informative dialog to user that + // unmount failed. + showDialogInner(DLG_ERROR_UNMOUNT); + } + } + + private void showDialogInner(int id) { + removeDialog(id); + showDialog(id); + } + + private boolean hasAppsAccessingStorage() throws RemoteException { + String extStoragePath = Environment.getExternalStorageDirectory().toString(); + IMountService mountService = getMountService(); + boolean showPidDialog = false; + int stUsers[] = mountService.getStorageUsers(extStoragePath); + if (stUsers != null && stUsers.length > 0) { + return true; + } + ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); + List<ApplicationInfo> list = am.getRunningExternalApplications(); + if (list != null && list.size() > 0) { + return true; + } + return false; + } + private void unmount() { + // Check if external media is in use. + try { + if (hasAppsAccessingStorage()) { + if (localLOGV) Log.i(TAG, "Do have storage users accessing media"); + // Present dialog to user + showDialogInner(DLG_CONFIRM_UNMOUNT); + } else { + doUnmount(true); + } + } catch (RemoteException e) { + // Very unlikely. But present an error dialog anyway + Log.e(TAG, "Is MountService running?"); + showDialogInner(DLG_ERROR_UNMOUNT); + } + } + + private void mount() { IMountService mountService = getMountService(); try { if (mountService != null) { - mountService.unmountMedia(Environment.getExternalStorageDirectory().toString()); + mountService.mountVolume(Environment.getExternalStorageDirectory().toString()); } else { - Log.e(TAG, "Mount service is null, can't unmount"); + Log.e(TAG, "Mount service is null, can't mount"); } } catch (RemoteException ex) { - // Failed for some reason, try to update UI to actual state - updateMemoryStatus(); } } @@ -166,7 +287,11 @@ public class Memory extends PreferenceActivity { mSdSize.setSummary(formatSize(totalBlocks * blockSize)); mSdAvail.setSummary(formatSize(availableBlocks * blockSize) + readOnly); - mSdUnmount.setEnabled(true); + + mSdMountToggle.setEnabled(true); + mSdMountToggle.setTitle(mRes.getString(R.string.sd_eject)); + mSdMountToggle.setSummary(mRes.getString(R.string.sd_eject_summary)); + } catch (IllegalArgumentException e) { // this can occur if the SD card is removed, but we haven't received the // ACTION_MEDIA_REMOVED Intent yet. @@ -176,15 +301,20 @@ public class Memory extends PreferenceActivity { } else { mSdSize.setSummary(mRes.getString(R.string.sd_unavailable)); mSdAvail.setSummary(mRes.getString(R.string.sd_unavailable)); - mSdUnmount.setEnabled(false); + if (status.equals(Environment.MEDIA_UNMOUNTED) || status.equals(Environment.MEDIA_NOFS) || status.equals(Environment.MEDIA_UNMOUNTABLE) ) { mSdFormat.setEnabled(true); + mSdMountToggle.setEnabled(true); + mSdMountToggle.setTitle(mRes.getString(R.string.sd_mount)); + mSdMountToggle.setSummary(mRes.getString(R.string.sd_mount_summary)); + } else { + mSdMountToggle.setEnabled(false); + mSdMountToggle.setTitle(mRes.getString(R.string.sd_mount)); + mSdMountToggle.setSummary(mRes.getString(R.string.sd_insert_summary)); } - - } File path = Environment.getDataDirectory(); @@ -197,5 +327,9 @@ public class Memory extends PreferenceActivity { private String formatSize(long size) { return Formatter.formatFileSize(this, size); } + + public void onCancel(DialogInterface dialog) { + finish(); + } } diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java index a736cc0..99a8975 100644 --- a/src/com/android/settings/deviceinfo/Status.java +++ b/src/com/android/settings/deviceinfo/Status.java @@ -32,6 +32,7 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.preference.Preference; import android.preference.PreferenceActivity; +import android.telephony.PhoneNumberUtils; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.TelephonyManager; @@ -221,7 +222,13 @@ public class Status extends PreferenceActivity { } } - setSummaryText("number", mPhone.getLine1Number()); + String rawNumber = mPhone.getLine1Number(); // may be null or empty + String formattedNumber = null; + if (!TextUtils.isEmpty(rawNumber)) { + formattedNumber = PhoneNumberUtils.formatNumber(rawNumber); + } + // If formattedNumber is null or empty, it'll display as "Unknown". + setSummaryText("number", formattedNumber); mPhoneStateReceiver = new PhoneStateIntentReceiver(this, mHandler); mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED); diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java index 737627a..4db968a 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java @@ -18,6 +18,9 @@ package com.android.settings.fuelgauge; import android.app.Activity; import android.app.ActivityManager; +import android.app.ApplicationErrorReport; +import android.content.BroadcastReceiver; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -26,7 +29,9 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.Bundle; +import android.os.Process; import android.provider.Settings; import android.text.TextUtils; import android.view.LayoutInflater; @@ -35,8 +40,8 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; - import com.android.settings.InstalledAppDetails; +import com.android.settings.ManageApplications; import com.android.settings.R; public class PowerUsageDetail extends Activity implements Button.OnClickListener { @@ -68,6 +73,8 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener public static final int ACTION_WIRELESS_SETTINGS = 4; public static final int ACTION_APP_DETAILS = 5; public static final int ACTION_SECURITY_SETTINGS = 6; + public static final int ACTION_FORCE_STOP = 7; + public static final int ACTION_REPORT = 8; public static final int USAGE_SINCE_UNPLUGGED = 1; public static final int USAGE_SINCE_RESET = 2; @@ -78,6 +85,8 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener public static final String EXTRA_UID = "uid"; public static final String EXTRA_USAGE_SINCE = "since"; public static final String EXTRA_USAGE_DURATION = "duration"; + public static final String EXTRA_REPORT_DETAILS = "report_details"; + public static final String EXTRA_REPORT_CHECKIN_DETAILS = "report_checkin_details"; public static final String EXTRA_DETAIL_TYPES = "types"; // Array of usage types (cpu, gps, etc) public static final String EXTRA_DETAIL_VALUES = "values"; // Array of doubles public static final String EXTRA_DRAIN_TYPE = "drainType"; // DrainType @@ -92,6 +101,9 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener private int mUid; private double[] mValues; private TextView mTitleView; + private ViewGroup mTwoButtonsPanel; + private Button mForceStopButton; + private Button mReportButton; private ViewGroup mDetailsParent; private ViewGroup mControlsParent; private long mStartTime; @@ -105,6 +117,9 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener private static final String TAG = "PowerUsageDetail"; private String[] mPackages; + ApplicationInfo mApp; + ComponentName mInstaller; + @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -116,6 +131,7 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener protected void onResume() { super.onResume(); mStartTime = android.os.Process.getElapsedCpuTime(); + checkForceStop(); } @Override @@ -163,6 +179,11 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener ((TextView)findViewById(R.id.battery_percentage)) .setText(String.format("%d%%", percentage)); + mTwoButtonsPanel = (ViewGroup) findViewById(R.id.two_buttons_panel); + mForceStopButton = (Button) findViewById(R.id.left_button); + mReportButton = (Button) findViewById(R.id.right_button); + mForceStopButton.setEnabled(false); + ImageView gaugeImage = (ImageView) findViewById(R.id.gauge); mGauge = new PercentageBar(); mGauge.percent = gaugeValue; @@ -178,6 +199,34 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener fillDetailsSection(); fillPackagesSection(mUid); fillControlsSection(mUid); + + if (mUid >= Process.FIRST_APPLICATION_UID) { + mForceStopButton.setText(R.string.force_stop); + mForceStopButton.setTag(ACTION_FORCE_STOP); + mForceStopButton.setOnClickListener(this); + mReportButton.setText(com.android.internal.R.string.report); + mReportButton.setTag(ACTION_REPORT); + mReportButton.setOnClickListener(this); + + // check if error reporting is enabled in secure settings + int enabled = Settings.Secure.getInt(getContentResolver(), + Settings.Secure.SEND_ACTION_APP_ERROR, 0); + if (enabled != 0) { + if (mPackages != null && mPackages.length > 0) { + try { + mApp = getPackageManager().getApplicationInfo(mPackages[0], 0); + mInstaller = ApplicationErrorReport.getErrorReportReceiver( + this, mPackages[0], mApp.flags); + } catch (NameNotFoundException e) { + } + } + mReportButton.setEnabled(mInstaller != null); + } else { + mTwoButtonsPanel.setVisibility(View.GONE); + } + } else { + mTwoButtonsPanel.setVisibility(View.GONE); + } } public void onClick(View v) { @@ -201,12 +250,18 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener case ACTION_APP_DETAILS: Intent intent = new Intent(Intent.ACTION_VIEW); intent.setClass(this, InstalledAppDetails.class); - intent.putExtra("com.android.settings.ApplicationPkgName", mPackages[0]); + intent.putExtra(ManageApplications.APP_PKG_NAME, mPackages[0]); startActivity(intent); break; case ACTION_SECURITY_SETTINGS: startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS)); break; + case ACTION_FORCE_STOP: + killProcesses(); + break; + case ACTION_REPORT: + reportBatteryUse(); + break; } } @@ -271,7 +326,7 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener } break; case SCREEN: - addControl(R.string.sound_and_display_settings, + addControl(R.string.display_settings, R.string.battery_sugg_display, ACTION_DISPLAY_SETTINGS); removeHeader = false; @@ -330,10 +385,57 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener ActivityManager am = (ActivityManager)getSystemService( Context.ACTIVITY_SERVICE); for (int i = 0; i < mPackages.length; i++) { - am.restartPackage(mPackages[i]); + am.forceStopPackage(mPackages[i]); } + checkForceStop(); } + private final BroadcastReceiver mCheckKillProcessesReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + mForceStopButton.setEnabled(getResultCode() != RESULT_CANCELED); + } + }; + + private void checkForceStop() { + if (mPackages == null || mUid < Process.FIRST_APPLICATION_UID) { + mForceStopButton.setEnabled(false); + return; + } + Intent intent = new Intent(Intent.ACTION_QUERY_PACKAGE_RESTART, + Uri.fromParts("package", mPackages[0], null)); + intent.putExtra(Intent.EXTRA_PACKAGES, mPackages); + intent.putExtra(Intent.EXTRA_UID, mUid); + sendOrderedBroadcast(intent, null, mCheckKillProcessesReceiver, null, + Activity.RESULT_CANCELED, null, null); + } + + private void reportBatteryUse() { + if (mPackages == null) return; + + ApplicationErrorReport report = new ApplicationErrorReport(); + report.type = ApplicationErrorReport.TYPE_BATTERY; + report.packageName = mPackages[0]; + report.installerPackageName = mInstaller.getPackageName(); + report.processName = mPackages[0]; + report.time = System.currentTimeMillis(); + report.systemApp = (mApp.flags & ApplicationInfo.FLAG_SYSTEM) != 0; + + final Intent intent = getIntent(); + ApplicationErrorReport.BatteryInfo batteryInfo = new ApplicationErrorReport.BatteryInfo(); + batteryInfo.usagePercent = intent.getIntExtra(EXTRA_PERCENT, 1); + batteryInfo.durationMicros = intent.getLongExtra(EXTRA_USAGE_DURATION, 0); + batteryInfo.usageDetails = intent.getStringExtra(EXTRA_REPORT_DETAILS); + batteryInfo.checkinDetails = intent.getStringExtra(EXTRA_REPORT_CHECKIN_DETAILS); + report.batteryInfo = batteryInfo; + + Intent result = new Intent(Intent.ACTION_APP_ERROR); + result.setComponent(mInstaller); + result.putExtra(Intent.EXTRA_BUG_REPORT, report); + result.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(result); + } + private void fillPackagesSection(int uid) { if (uid < 1) { removePackagesSection(); @@ -344,7 +446,7 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener LayoutInflater inflater = getLayoutInflater(); PackageManager pm = getPackageManager(); - final Drawable defaultActivityIcon = pm.getDefaultActivityIcon(); + //final Drawable defaultActivityIcon = pm.getDefaultActivityIcon(); mPackages = pm.getPackagesForUid(uid); if (mPackages == null || mPackages.length < 2) { removePackagesSection(); @@ -356,13 +458,13 @@ public class PowerUsageDetail extends Activity implements Button.OnClickListener try { ApplicationInfo ai = pm.getApplicationInfo(mPackages[i], 0); CharSequence label = ai.loadLabel(pm); - Drawable icon = defaultActivityIcon; + //Drawable icon = defaultActivityIcon; if (label != null) { mPackages[i] = label.toString(); } - if (ai.icon != 0) { - icon = ai.loadIcon(pm); - } + //if (ai.icon != 0) { + // icon = ai.loadIcon(pm); + //} ViewGroup item = (ViewGroup) inflater.inflate(R.layout.power_usage_package_item, null); packagesParent.addView(item); diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 10ab2d0..5678160 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -48,6 +48,9 @@ import com.android.internal.os.PowerProfile; import com.android.settings.R; import com.android.settings.fuelgauge.PowerUsageDetail.DrainType; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.Writer; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -78,6 +81,7 @@ public class PowerUsageSummary extends PreferenceActivity implements Runnable { private static final int MIN_POWER_THRESHOLD = 5; private static final int MAX_ITEMS_TO_LIST = 10; + private long mStatsPeriod = 0; private double mMaxPower = 1; private double mTotalPower; private PowerProfile mPowerProfile; @@ -132,6 +136,7 @@ public class PowerUsageSummary extends PreferenceActivity implements Runnable { Math.ceil(sipper.getSortValue() * 100 / mTotalPower)); intent.putExtra(PowerUsageDetail.EXTRA_GAUGE, (int) Math.ceil(sipper.getSortValue() * 100 / mMaxPower)); + intent.putExtra(PowerUsageDetail.EXTRA_USAGE_DURATION, mStatsPeriod); intent.putExtra(PowerUsageDetail.EXTRA_ICON_PACKAGE, sipper.defaultPackageName); intent.putExtra(PowerUsageDetail.EXTRA_ICON_ID, sipper.iconId); intent.putExtra(PowerUsageDetail.EXTRA_NO_COVERAGE, sipper.noCoveragePercent); @@ -165,6 +170,15 @@ public class PowerUsageSummary extends PreferenceActivity implements Runnable { 0 }; + Writer result = new StringWriter(); + PrintWriter printWriter = new PrintWriter(result); + mStats.dumpLocked(printWriter, "", mStatsType, uid.getUid()); + intent.putExtra(PowerUsageDetail.EXTRA_REPORT_DETAILS, result.toString()); + + result = new StringWriter(); + printWriter = new PrintWriter(result); + mStats.dumpCheckinLocked(printWriter, mStatsType, uid.getUid()); + intent.putExtra(PowerUsageDetail.EXTRA_REPORT_CHECKIN_DETAILS, result.toString()); } break; case CELL: @@ -303,6 +317,7 @@ public class PowerUsageSummary extends PreferenceActivity implements Runnable { } final double averageCostPerByte = getAverageDataCost(); long uSecTime = mStats.computeBatteryRealtime(SystemClock.elapsedRealtime() * 1000, which); + mStatsPeriod = uSecTime; updateStatsPeriod(uSecTime); SparseArray<? extends Uid> uidStats = mStats.getUidStats(); final int NU = uidStats.size(); diff --git a/src/com/android/settings/vpn/VpnSettings.java b/src/com/android/settings/vpn/VpnSettings.java index 5f6a207..7b8d433 100644 --- a/src/com/android/settings/vpn/VpnSettings.java +++ b/src/com/android/settings/vpn/VpnSettings.java @@ -82,7 +82,7 @@ public class VpnSettings extends PreferenceActivity implements private static final String PREF_ADD_VPN = "add_new_vpn"; private static final String PREF_VPN_LIST = "vpn_list"; - private static final String PROFILES_ROOT = VpnManager.PROFILES_PATH + "/"; + private static final String PROFILES_ROOT = VpnManager.getProfilePath() + "/"; private static final String PROFILE_OBJ_FILE = ".pobj"; private static final int REQUEST_ADD_OR_EDIT_PROFILE = 1; diff --git a/src/com/android/settings/widget/SettingsAppWidgetProvider.java b/src/com/android/settings/widget/SettingsAppWidgetProvider.java index 3db90cf..939e8e3 100644 --- a/src/com/android/settings/widget/SettingsAppWidgetProvider.java +++ b/src/com/android/settings/widget/SettingsAppWidgetProvider.java @@ -30,13 +30,13 @@ import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.Uri; import android.net.wifi.WifiManager; +import android.os.AsyncTask; import android.os.IPowerManager; import android.os.RemoteException; import android.os.ServiceManager; import android.provider.Settings; import android.util.Log; import android.widget.RemoteViews; -import android.widget.Toast; import com.android.settings.R; import com.android.settings.bluetooth.LocalBluetoothManager; @@ -50,7 +50,7 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { new ComponentName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); - private static LocalBluetoothManager mLocalBluetoothManager = null; + private static LocalBluetoothManager sLocalBluetoothManager = null; private static final int BUTTON_WIFI = 0; private static final int BUTTON_BRIGHTNESS = 1; @@ -58,9 +58,16 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { private static final int BUTTON_GPS = 3; private static final int BUTTON_BLUETOOTH = 4; + // This widget keeps track of two sets of states: + // "3-state": STATE_DISABLED, STATE_ENABLED, STATE_INTERMEDIATE + // "5-state": STATE_DISABLED, STATE_ENABLED, STATE_TURNING_ON, STATE_TURNING_OFF, STATE_UNKNOWN private static final int STATE_DISABLED = 0; private static final int STATE_ENABLED = 1; - private static final int STATE_INTERMEDIATE = 2; + private static final int STATE_TURNING_ON = 2; + private static final int STATE_TURNING_OFF = 3; + private static final int STATE_UNKNOWN = 4; + private static final int STATE_INTERMEDIATE = 5; + /** * Minimum and maximum brightnesses. Don't go to 0 since that makes the display unusable @@ -69,6 +76,299 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { private static final int MAXIMUM_BACKLIGHT = android.os.Power.BRIGHTNESS_ON; private static final int DEFAULT_BACKLIGHT = (int) (android.os.Power.BRIGHTNESS_ON * 0.4f); + private static final StateTracker sWifiState = new WifiStateTracker(); + private static final StateTracker sBluetoothState = new BluetoothStateTracker(); + + /** + * The state machine for Wifi and Bluetooth toggling, tracking + * reality versus the user's intent. + * + * This is necessary because reality moves relatively slowly + * (turning on & off radio drivers), compared to user's + * expectations. + */ + private abstract static class StateTracker { + // Is the state in the process of changing? + private boolean mInTransition = false; + private Boolean mActualState = null; // initially not set + private Boolean mIntendedState = null; // initially not set + + // Did a toggle request arrive while a state update was + // already in-flight? If so, the mIntendedState needs to be + // requested when the other one is done, unless we happened to + // arrive at that state already. + private boolean mDeferredStateChangeRequestNeeded = false; + + /** + * User pressed a button to change the state. Something + * should immediately appear to the user afterwards, even if + * we effectively do nothing. Their press must be heard. + */ + public final void toggleState(Context context) { + int currentState = getTriState(context); + boolean newState = false; + switch (currentState) { + case STATE_ENABLED: + newState = false; + break; + case STATE_DISABLED: + newState = true; + break; + case STATE_INTERMEDIATE: + if (mIntendedState != null) { + newState = !mIntendedState; + } + break; + } + mIntendedState = newState; + if (mInTransition) { + // We don't send off a transition request if we're + // already transitioning. Makes our state tracking + // easier, and is probably nicer on lower levels. + // (even though they should be able to take it...) + mDeferredStateChangeRequestNeeded = true; + } else { + mInTransition = true; + requestStateChange(context, newState); + } + } + + /** + * Update internal state from a broadcast state change. + */ + public abstract void onActualStateChange(Context context, Intent intent); + + /** + * Sets the value that we're now in. To be called from onActualStateChange. + * + * @param newState one of STATE_DISABLED, STATE_ENABLED, STATE_TURNING_ON, + * STATE_TURNING_OFF, STATE_UNKNOWN + */ + protected final void setCurrentState(Context context, int newState) { + final boolean wasInTransition = mInTransition; + switch (newState) { + case STATE_DISABLED: + mInTransition = false; + mActualState = false; + break; + case STATE_ENABLED: + mInTransition = false; + mActualState = true; + break; + case STATE_TURNING_ON: + mInTransition = true; + mActualState = false; + break; + case STATE_TURNING_OFF: + mInTransition = true; + mActualState = true; + break; + } + + if (wasInTransition && !mInTransition) { + if (mDeferredStateChangeRequestNeeded) { + Log.v(TAG, "processing deferred state change"); + if (mActualState != null && mIntendedState != null && + mIntendedState.equals(mActualState)) { + Log.v(TAG, "... but intended state matches, so no changes."); + } else if (mIntendedState != null) { + mInTransition = true; + requestStateChange(context, mIntendedState); + } + mDeferredStateChangeRequestNeeded = false; + } + } + } + + + /** + * If we're in a transition mode, this returns true if we're + * transitioning towards being enabled. + */ + public final boolean isTurningOn() { + return mIntendedState != null && mIntendedState; + } + + /** + * Returns simplified 3-state value from underlying 5-state. + * + * @param context + * @return STATE_ENABLED, STATE_DISABLED, or STATE_INTERMEDIATE + */ + public final int getTriState(Context context) { + if (mInTransition) { + // If we know we just got a toggle request recently + // (which set mInTransition), don't even ask the + // underlying interface for its state. We know we're + // changing. This avoids blocking the UI thread + // during UI refresh post-toggle if the underlying + // service state accessor has coarse locking on its + // state (to be fixed separately). + return STATE_INTERMEDIATE; + } + switch (getActualState(context)) { + case STATE_DISABLED: + return STATE_DISABLED; + case STATE_ENABLED: + return STATE_ENABLED; + default: + return STATE_INTERMEDIATE; + } + } + + /** + * Gets underlying actual state. + * + * @param context + * @return STATE_ENABLED, STATE_DISABLED, STATE_ENABLING, STATE_DISABLING, + * or or STATE_UNKNOWN. + */ + public abstract int getActualState(Context context); + + /** + * Actually make the desired change to the underlying radio + * API. + */ + protected abstract void requestStateChange(Context context, boolean desiredState); + } + + /** + * Subclass of StateTracker to get/set Wifi state. + */ + private static final class WifiStateTracker extends StateTracker { + @Override + public int getActualState(Context context) { + WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + if (wifiManager != null) { + return wifiStateToFiveState(wifiManager.getWifiState()); + } + return STATE_UNKNOWN; + } + + @Override + protected void requestStateChange(Context context, final boolean desiredState) { + final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + if (wifiManager == null) { + Log.d(TAG, "No wifiManager."); + return; + } + + // Actually request the wifi change and persistent + // settings write off the UI thread, as it can take a + // user-noticeable amount of time, especially if there's + // disk contention. + new AsyncTask<Void, Void, Void>() { + @Override + protected Void doInBackground(Void... args) { + /** + * Disable tethering if enabling Wifi + */ + int wifiApState = wifiManager.getWifiApState(); + if (desiredState && ((wifiApState == WifiManager.WIFI_AP_STATE_ENABLING) || + (wifiApState == WifiManager.WIFI_AP_STATE_ENABLED))) { + wifiManager.setWifiApEnabled(null, false); + } + + wifiManager.setWifiEnabled(desiredState); + return null; + } + }.execute(); + } + + @Override + public void onActualStateChange(Context context, Intent intent) { + if (!WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) { + return; + } + int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, -1); + setCurrentState(context, wifiStateToFiveState(wifiState)); + } + + /** + * Converts WifiManager's state values into our + * Wifi/Bluetooth-common state values. + */ + private static int wifiStateToFiveState(int wifiState) { + switch (wifiState) { + case WifiManager.WIFI_STATE_DISABLED: + return STATE_DISABLED; + case WifiManager.WIFI_STATE_ENABLED: + return STATE_ENABLED; + case WifiManager.WIFI_STATE_DISABLING: + return STATE_TURNING_OFF; + case WifiManager.WIFI_STATE_ENABLING: + return STATE_TURNING_ON; + default: + return STATE_UNKNOWN; + } + } + } + + /** + * Subclass of StateTracker to get/set Bluetooth state. + */ + private static final class BluetoothStateTracker extends StateTracker { + + @Override + public int getActualState(Context context) { + if (sLocalBluetoothManager == null) { + sLocalBluetoothManager = LocalBluetoothManager.getInstance(context); + if (sLocalBluetoothManager == null) { + return STATE_UNKNOWN; // On emulator? + } + } + return bluetoothStateToFiveState(sLocalBluetoothManager.getBluetoothState()); + } + + @Override + protected void requestStateChange(Context context, final boolean desiredState) { + if (sLocalBluetoothManager == null) { + Log.d(TAG, "No LocalBluetoothManager"); + return; + } + // Actually request the Bluetooth change and persistent + // settings write off the UI thread, as it can take a + // user-noticeable amount of time, especially if there's + // disk contention. + new AsyncTask<Void, Void, Void>() { + @Override + protected Void doInBackground(Void... args) { + sLocalBluetoothManager.setBluetoothEnabled(desiredState); + return null; + } + }.execute(); + } + + @Override + public void onActualStateChange(Context context, Intent intent) { + if (!BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) { + return; + } + int bluetoothState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1); + setCurrentState(context, bluetoothStateToFiveState(bluetoothState)); + } + + /** + * Converts BluetoothAdapter's state values into our + * Wifi/Bluetooth-common state values. + */ + private static int bluetoothStateToFiveState(int bluetoothState) { + switch (bluetoothState) { + case BluetoothAdapter.STATE_OFF: + return STATE_DISABLED; + case BluetoothAdapter.STATE_ON: + return STATE_ENABLED; + case BluetoothAdapter.STATE_TURNING_ON: + return STATE_TURNING_ON; + case BluetoothAdapter.STATE_TURNING_OFF: + return STATE_TURNING_OFF; + default: + return STATE_UNKNOWN; + } + } + } + + @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { @@ -142,26 +442,53 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { * @param context */ private static void updateButtons(RemoteViews views, Context context) { - switch (getWifiState(context)) { + switch (sWifiState.getTriState(context)) { case STATE_DISABLED: - views.setImageViewResource(R.id.img_wifi, R.drawable.ic_appwidget_settings_wifi_off); - views.setImageViewResource(R.id.ind_wifi, R.drawable.appwidget_settings_ind_off_l); + views.setImageViewResource(R.id.img_wifi, + R.drawable.ic_appwidget_settings_wifi_off); + views.setImageViewResource(R.id.ind_wifi, + R.drawable.appwidget_settings_ind_off_l); break; case STATE_ENABLED: - views.setImageViewResource(R.id.img_wifi, R.drawable.ic_appwidget_settings_wifi_on); - views.setImageViewResource(R.id.ind_wifi, R.drawable.appwidget_settings_ind_on_l); + views.setImageViewResource(R.id.img_wifi, + R.drawable.ic_appwidget_settings_wifi_on); + views.setImageViewResource(R.id.ind_wifi, + R.drawable.appwidget_settings_ind_on_l); break; case STATE_INTERMEDIATE: - views.setImageViewResource(R.id.img_wifi, R.drawable.ic_appwidget_settings_wifi_off); - views.setImageViewResource(R.id.ind_wifi, R.drawable.appwidget_settings_ind_mid_l); + // In the transitional state, the bottom green bar + // shows the tri-state (on, off, transitioning), but + // the top dark-gray-or-bright-white logo shows the + // user's intent. This is much easier to see in + // sunlight. + if (sWifiState.isTurningOn()) { + views.setImageViewResource(R.id.img_wifi, + R.drawable.ic_appwidget_settings_wifi_on); + views.setImageViewResource(R.id.ind_wifi, + R.drawable.appwidget_settings_ind_mid_l); + } else { + views.setImageViewResource(R.id.img_wifi, + R.drawable.ic_appwidget_settings_wifi_off); + views.setImageViewResource(R.id.ind_wifi, + R.drawable.appwidget_settings_ind_off_l); + } break; } - if (getBrightness(context)) { - views.setImageViewResource(R.id.img_brightness, R.drawable.ic_appwidget_settings_brightness_on); - views.setImageViewResource(R.id.ind_brightness, R.drawable.appwidget_settings_ind_on_r); + if (getBrightnessMode(context)) { + views.setImageViewResource(R.id.img_brightness, + R.drawable.ic_appwidget_settings_brightness_auto); + views.setImageViewResource(R.id.ind_brightness, + R.drawable.appwidget_settings_ind_on_r); + } else if (getBrightness(context)) { + views.setImageViewResource(R.id.img_brightness, + R.drawable.ic_appwidget_settings_brightness_on); + views.setImageViewResource(R.id.ind_brightness, + R.drawable.appwidget_settings_ind_on_r); } else { - views.setImageViewResource(R.id.img_brightness, R.drawable.ic_appwidget_settings_brightness_off); - views.setImageViewResource(R.id.ind_brightness, R.drawable.appwidget_settings_ind_off_r); + views.setImageViewResource(R.id.img_brightness, + R.drawable.ic_appwidget_settings_brightness_off); + views.setImageViewResource(R.id.ind_brightness, + R.drawable.appwidget_settings_ind_off_r); } if (getSync(context)) { views.setImageViewResource(R.id.img_sync, R.drawable.ic_appwidget_settings_sync_on); @@ -177,18 +504,36 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { views.setImageViewResource(R.id.img_gps, R.drawable.ic_appwidget_settings_gps_off); views.setImageViewResource(R.id.ind_gps, R.drawable.appwidget_settings_ind_off_c); } - switch (getBluetoothState(context)) { + switch (sBluetoothState.getTriState(context)) { case STATE_DISABLED: - views.setImageViewResource(R.id.img_bluetooth, R.drawable.ic_appwidget_settings_bluetooth_off); - views.setImageViewResource(R.id.ind_bluetooth, R.drawable.appwidget_settings_ind_off_c); + views.setImageViewResource(R.id.img_bluetooth, + R.drawable.ic_appwidget_settings_bluetooth_off); + views.setImageViewResource(R.id.ind_bluetooth, + R.drawable.appwidget_settings_ind_off_c); break; case STATE_ENABLED: - views.setImageViewResource(R.id.img_bluetooth, R.drawable.ic_appwidget_settings_bluetooth_on); - views.setImageViewResource(R.id.ind_bluetooth, R.drawable.appwidget_settings_ind_on_c); + views.setImageViewResource(R.id.img_bluetooth, + R.drawable.ic_appwidget_settings_bluetooth_on); + views.setImageViewResource(R.id.ind_bluetooth, + R.drawable.appwidget_settings_ind_on_c); break; case STATE_INTERMEDIATE: - views.setImageViewResource(R.id.img_bluetooth, R.drawable.ic_appwidget_settings_bluetooth_off); - views.setImageViewResource(R.id.ind_bluetooth, R.drawable.appwidget_settings_ind_mid_c); + // In the transitional state, the bottom green bar + // shows the tri-state (on, off, transitioning), but + // the top dark-gray-or-bright-white logo shows the + // user's intent. This is much easier to see in + // sunlight. + if (sBluetoothState.isTurningOn()) { + views.setImageViewResource(R.id.img_bluetooth, + R.drawable.ic_appwidget_settings_bluetooth_on); + views.setImageViewResource(R.id.ind_bluetooth, + R.drawable.appwidget_settings_ind_mid_c); + } else { + views.setImageViewResource(R.id.img_bluetooth, + R.drawable.ic_appwidget_settings_bluetooth_off); + views.setImageViewResource(R.id.ind_bluetooth, + R.drawable.appwidget_settings_ind_off_c); + } break; } } @@ -220,11 +565,15 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); - if (intent.hasCategory(Intent.CATEGORY_ALTERNATIVE)) { + if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) { + sWifiState.onActualStateChange(context, intent); + } else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) { + sBluetoothState.onActualStateChange(context, intent); + } else if (intent.hasCategory(Intent.CATEGORY_ALTERNATIVE)) { Uri data = intent.getData(); int buttonId = Integer.parseInt(data.getSchemeSpecificPart()); if (buttonId == BUTTON_WIFI) { - toggleWifi(context); + sWifiState.toggleState(context); } else if (buttonId == BUTTON_BRIGHTNESS) { toggleBrightness(context); } else if (buttonId == BUTTON_SYNC) { @@ -232,45 +581,17 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { } else if (buttonId == BUTTON_GPS) { toggleGps(context); } else if (buttonId == BUTTON_BLUETOOTH) { - toggleBluetooth(context); + sBluetoothState.toggleState(context); } - } - // State changes fall through - updateWidget(context); - } - - /** - * Gets the state of Wi-Fi - * - * @param context - * @return STATE_ENABLED, STATE_DISABLED, or STATE_INTERMEDIATE - */ - private static int getWifiState(Context context) { - WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); - int wifiState = wifiManager.getWifiState(); - if (wifiState == WifiManager.WIFI_STATE_DISABLED) { - return STATE_DISABLED; - } else if (wifiState == WifiManager.WIFI_STATE_ENABLED) { - return STATE_ENABLED; } else { - return STATE_INTERMEDIATE; + // Don't fall-through to updating the widget. The Intent + // was something unrelated or that our super class took + // care of. + return; } - } - /** - * Toggles the state of Wi-Fi - * - * @param context - */ - private void toggleWifi(Context context) { - WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); - int wifiState = getWifiState(context); - if (wifiState == STATE_ENABLED) { - wifiManager.setWifiEnabled(false); - } else if (wifiState == STATE_DISABLED) { - wifiManager.setWifiEnabled(true); - } - Toast.makeText(context, R.string.gadget_toggle_wifi, Toast.LENGTH_SHORT).show(); + // State changes fall through + updateWidget(context); } /** @@ -378,6 +699,27 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { } /** + * Gets state of brightness mode. + * + * @param context + * @return true if auto brightness is on. + */ + private static boolean getBrightnessMode(Context context) { + try { + IPowerManager power = IPowerManager.Stub.asInterface( + ServiceManager.getService("power")); + if (power != null) { + int brightnessMode = Settings.System.getInt(context.getContentResolver(), + Settings.System.SCREEN_BRIGHTNESS_MODE); + return brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; + } + } catch (Exception e) { + Log.d(TAG, "getBrightnessMode: " + e); + } + return false; + } + + /** * Increases or decreases the brightness. * * @param context @@ -390,25 +732,41 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { ContentResolver cr = context.getContentResolver(); int brightness = Settings.System.getInt(cr, Settings.System.SCREEN_BRIGHTNESS); - // Rotate MINIMUM -> DEFAULT -> MAXIMUM + int brightnessMode = Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL; + //Only get brightness setting if available + if (context.getResources().getBoolean( + com.android.internal.R.bool.config_automatic_brightness_available)) { + brightnessMode = Settings.System.getInt(cr, + Settings.System.SCREEN_BRIGHTNESS_MODE); + } + + // Rotate AUTO -> MINIMUM -> DEFAULT -> MAXIMUM // Technically, not a toggle... - if (brightness < DEFAULT_BACKLIGHT) { + if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) { + brightness = MINIMUM_BACKLIGHT; + brightnessMode = Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL; + } else if (brightness < DEFAULT_BACKLIGHT) { brightness = DEFAULT_BACKLIGHT; } else if (brightness < MAXIMUM_BACKLIGHT) { brightness = MAXIMUM_BACKLIGHT; } else { + brightnessMode = Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; brightness = MINIMUM_BACKLIGHT; } - power.setBacklightBrightness(brightness); - Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS, brightness); + if (context.getResources().getBoolean( com.android.internal.R.bool.config_automatic_brightness_available)) { - // Disable automatic brightness + // Set screen brightness mode (automatic or manual) Settings.System.putInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE, - Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); - // Set it again in case auto brightness was on + brightnessMode); + } else { + // Make sure we set the brightness if automatic mode isn't available + brightnessMode = Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL; + } + if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL) { power.setBacklightBrightness(brightness); + Settings.System.putInt(cr, Settings.System.SCREEN_BRIGHTNESS, brightness); } } } catch (RemoteException e) { @@ -417,42 +775,4 @@ public class SettingsAppWidgetProvider extends AppWidgetProvider { Log.d(TAG, "toggleBrightness: " + e); } } - - /** - * Gets state of bluetooth - * - * @param context - * @return STATE_ENABLED, STATE_DISABLED, or STATE_INTERMEDIATE - */ - private static int getBluetoothState(Context context) { - if (mLocalBluetoothManager == null) { - mLocalBluetoothManager = LocalBluetoothManager.getInstance(context); - if (mLocalBluetoothManager == null) { - return STATE_INTERMEDIATE; // On emulator? - } - } - int state = mLocalBluetoothManager.getBluetoothState(); - if (state == BluetoothAdapter.STATE_OFF) { - return STATE_DISABLED; - } else if (state == BluetoothAdapter.STATE_ON) { - return STATE_ENABLED; - } else { - return STATE_INTERMEDIATE; - } - } - - /** - * Toggles the state of bluetooth - * - * @param context - */ - private void toggleBluetooth(Context context) { - int state = getBluetoothState(context); - if (state == STATE_ENABLED) { - mLocalBluetoothManager.setBluetoothEnabled(false); - } else if (state == STATE_DISABLED) { - mLocalBluetoothManager.setBluetoothEnabled(true); - } - Toast.makeText(context, R.string.gadget_toggle_bluetooth, Toast.LENGTH_SHORT).show(); - } } diff --git a/src/com/android/settings/wifi/AccessPoint.java b/src/com/android/settings/wifi/AccessPoint.java new file mode 100644 index 0000000..141c412 --- /dev/null +++ b/src/com/android/settings/wifi/AccessPoint.java @@ -0,0 +1,225 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; + +import android.content.Context; +import android.net.NetworkInfo.DetailedState; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiConfiguration.KeyMgmt; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.net.wifi.ScanResult; +import android.preference.Preference; +import android.text.TextUtils; +import android.view.View; +import android.widget.ImageView; + +class AccessPoint extends Preference { + private static final int[] STATE_SECURED = {R.attr.state_encrypted}; + private static final int[] STATE_NONE = {}; + + static final int SECURITY_NONE = 0; + static final int SECURITY_WEP = 1; + static final int SECURITY_PSK = 2; + static final int SECURITY_EAP = 3; + + final String ssid; + final int security; + final int networkId; + + private WifiConfiguration mConfig; + private int mRssi; + private WifiInfo mInfo; + private DetailedState mState; + private ImageView mSignal; + + static int getSecurity(WifiConfiguration config) { + if (config.allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { + return SECURITY_PSK; + } + if (config.allowedKeyManagement.get(KeyMgmt.WPA_EAP) || + config.allowedKeyManagement.get(KeyMgmt.IEEE8021X)) { + return SECURITY_EAP; + } + return (config.wepKeys[0] != null) ? SECURITY_WEP : SECURITY_NONE; + } + + private static int getSecurity(ScanResult result) { + if (result.capabilities.contains("WEP")) { + return SECURITY_WEP; + } else if (result.capabilities.contains("PSK")) { + return SECURITY_PSK; + } else if (result.capabilities.contains("EAP")) { + return SECURITY_EAP; + } + return SECURITY_NONE; + } + + AccessPoint(Context context, WifiConfiguration config) { + super(context); + setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); + ssid = (config.SSID == null ? "" : removeDoubleQuotes(config.SSID)); + security = getSecurity(config); + networkId = config.networkId; + mConfig = config; + mRssi = Integer.MAX_VALUE; + } + + AccessPoint(Context context, ScanResult result) { + super(context); + setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); + ssid = result.SSID; + security = getSecurity(result); + networkId = -1; + mRssi = result.level; + } + + @Override + protected void onBindView(View view) { + setTitle(ssid); + mSignal = (ImageView) view.findViewById(R.id.signal); + if (mRssi == Integer.MAX_VALUE) { + mSignal.setImageDrawable(null); + } else { + mSignal.setImageResource(R.drawable.wifi_signal); + mSignal.setImageState((security != SECURITY_NONE) ? + STATE_SECURED : STATE_NONE, true); + } + refresh(); + super.onBindView(view); + } + + @Override + public int compareTo(Preference preference) { + if (!(preference instanceof AccessPoint)) { + return 1; + } + AccessPoint other = (AccessPoint) preference; + // Active one goes first. + if (mInfo != other.mInfo) { + return (mInfo != null) ? -1 : 1; + } + // Reachable one goes before unreachable one. + if ((mRssi ^ other.mRssi) < 0) { + return (mRssi != Integer.MAX_VALUE) ? -1 : 1; + } + // Configured one goes before unconfigured one. + if ((networkId ^ other.networkId) < 0) { + return (networkId != -1) ? -1 : 1; + } + // Sort by signal strength. + int difference = WifiManager.compareSignalLevel(other.mRssi, mRssi); + if (difference != 0) { + return difference; + } + // Sort by ssid. + return ssid.compareToIgnoreCase(other.ssid); + } + + boolean update(ScanResult result) { + // We do not call refresh() since this is called before onBindView(). + if (ssid.equals(result.SSID) && security == getSecurity(result)) { + if (WifiManager.compareSignalLevel(result.level, mRssi) > 0) { + mRssi = result.level; + } + return true; + } + return false; + } + + void update(WifiInfo info, DetailedState state) { + boolean reorder = false; + if (info != null && networkId != -1 && networkId == info.getNetworkId()) { + reorder = (mInfo == null); + mRssi = info.getRssi(); + mInfo = info; + mState = state; + refresh(); + } else if (mInfo != null) { + reorder = true; + mInfo = null; + mState = null; + refresh(); + } + if (reorder) { + notifyHierarchyChanged(); + } + } + + int getLevel() { + if (mRssi == Integer.MAX_VALUE) { + return -1; + } + return WifiManager.calculateSignalLevel(mRssi, 4); + } + + WifiConfiguration getConfig() { + return mConfig; + } + + WifiInfo getInfo() { + return mInfo; + } + + DetailedState getState() { + return mState; + } + + static String removeDoubleQuotes(String string) { + int length = string.length(); + if ((length > 1) && (string.charAt(0) == '"') + && (string.charAt(length - 1) == '"')) { + return string.substring(1, length - 1); + } + return string; + } + + static String convertToQuotedString(String string) { + return "\"" + string + "\""; + } + + private void refresh() { + if (mSignal == null) { + return; + } + Context context = getContext(); + mSignal.setImageLevel(getLevel()); + + if (mState != null) { + setSummary(Summary.get(context, mState)); + } else { + String status = null; + if (mRssi == Integer.MAX_VALUE) { + status = context.getString(R.string.wifi_not_in_range); + } else if (mConfig != null) { + status = context.getString((mConfig.status == WifiConfiguration.Status.DISABLED) ? + R.string.wifi_disabled : R.string.wifi_remembered); + } + + if (security == SECURITY_NONE) { + setSummary(status); + } else { + String format = context.getString((status == null) ? + R.string.wifi_secured : R.string.wifi_secured_with_status); + String[] type = context.getResources().getStringArray(R.array.wifi_security); + setSummary(String.format(format, type[security], status)); + } + } + } +} diff --git a/src/com/android/settings/wifi/AccessPointDialog.java b/src/com/android/settings/wifi/AccessPointDialog.java deleted file mode 100644 index 4804d78..0000000 --- a/src/com/android/settings/wifi/AccessPointDialog.java +++ /dev/null @@ -1,807 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.wifi; - -import com.android.settings.R; - -import android.app.AlertDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.res.Resources; -import android.security.Credentials; -import android.security.KeyStore; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; -import android.os.Bundle; -import android.text.InputType; -import android.text.TextUtils; -import android.text.format.Formatter; -import android.text.method.PasswordTransformationMethod; -import android.text.method.TransformationMethod; -import android.util.Log; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.CheckBox; -import android.widget.EditText; -import android.widget.Spinner; -import android.widget.TableLayout; -import android.widget.TextView; - -public class AccessPointDialog extends AlertDialog implements DialogInterface.OnClickListener, - AdapterView.OnItemSelectedListener, View.OnClickListener { - - private static final String TAG = "AccessPointDialog"; - private static final String INSTANCE_KEY_ACCESS_POINT_STATE = - "com.android.settings.wifi.AccessPointDialog:accessPointState"; - private static final String INSTANCE_KEY_MODE = - "com.android.settings.wifi.AccessPointDialog:mode"; - private static final String INSTANCE_KEY_CUSTOM_TITLE = - "com.android.settings.wifi.AccessPointDialog:customTitle"; - private static final String INSTANCE_KEY_AUTO_SECURITY_ALLOWED = - "com.android.settings.wifi.AccessPointDialog:autoSecurityAllowed"; - - private static final int POSITIVE_BUTTON = BUTTON1; - private static final int NEGATIVE_BUTTON = BUTTON2; - private static final int NEUTRAL_BUTTON = BUTTON3; - - /** The dialog should show info connectivity functionality */ - public static final int MODE_INFO = 0; - /** The dialog should configure the detailed AP properties */ - public static final int MODE_CONFIGURE = 1; - /** The dialog should have the password field and connect/cancel */ - public static final int MODE_RETRY_PASSWORD = 2; - - // These should be matched with the XML. Both arrays in XML depend on this - // ordering! - private static final int SECURITY_AUTO = 0; - private static final int SECURITY_NONE = 1; - private static final int SECURITY_WEP = 2; - private static final int SECURITY_PSK = 3; - private static final int SECURITY_EAP = 4; - - private static final int[] WEP_TYPE_VALUES = { - AccessPointState.WEP_PASSWORD_AUTO, AccessPointState.WEP_PASSWORD_ASCII, - AccessPointState.WEP_PASSWORD_HEX - }; - private static final String NOT_APPLICABLE = "N/A"; - private static final String KEYSTORE_HEADER = "keystore://"; - - // Button positions, default to impossible values - private int mConnectButtonPos = Integer.MAX_VALUE; - private int mForgetButtonPos = Integer.MAX_VALUE; - private int mSaveButtonPos = Integer.MAX_VALUE; - - // Client configurable items. Generally, these should be saved in instance state - private int mMode = MODE_INFO; - private boolean mAutoSecurityAllowed = true; - private CharSequence mCustomTitle; - // This does not need to be saved in instance state. - private WifiLayer mWifiLayer; - private AccessPointState mState; - - // General views - private View mView; - private View mEnterpriseView; - private TextView mPasswordText; - private EditText mPasswordEdit; - private CheckBox mShowPasswordCheckBox; - - // Enterprise fields - private TextView mEapText; - private Spinner mEapSpinner; - private TextView mPhase2Text; - private Spinner mPhase2Spinner; - private TextView mIdentityText; - private EditText mIdentityEdit; - private TextView mAnonymousIdentityText; - private EditText mAnonymousIdentityEdit; - private TextView mCaCertText; - private Spinner mCaCertSpinner; - private TextView mClientCertText; - private Spinner mClientCertSpinner; - private EditText[] mEnterpriseTextFields; - - - // Info-specific views - private ViewGroup mTable; - - // Configure-specific views - private EditText mSsidEdit; - private TextView mSsidText; - private TextView mSecurityText; - private Spinner mSecuritySpinner; - private Spinner mWepTypeSpinner; - private KeyStore mKeyStore; - - public AccessPointDialog(Context context, WifiLayer wifiLayer) { - super(context); - - mWifiLayer = wifiLayer; - mKeyStore = KeyStore.getInstance(); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - onLayout(); - onFill(); - - super.onCreate(savedInstanceState); - } - - @Override - public void onRestoreInstanceState(Bundle savedInstanceState) { - // Set to a class loader that can find AccessPointState - savedInstanceState.setClassLoader(getClass().getClassLoader()); - - mState = savedInstanceState.getParcelable(INSTANCE_KEY_ACCESS_POINT_STATE); - mState.setContext(getContext()); - - mMode = savedInstanceState.getInt(INSTANCE_KEY_MODE, mMode); - mAutoSecurityAllowed = savedInstanceState.getBoolean(INSTANCE_KEY_AUTO_SECURITY_ALLOWED, - mAutoSecurityAllowed); - mCustomTitle = savedInstanceState.getCharSequence(INSTANCE_KEY_CUSTOM_TITLE); - if (mCustomTitle != null) { - setTitle(mCustomTitle); - } - - // This is called last since it depends on the above values - super.onRestoreInstanceState(savedInstanceState); - - if (mShowPasswordCheckBox != null) { - // Restore the show-password-state on the edit text - setShowPassword(mShowPasswordCheckBox.isChecked()); - } - } - - @Override - public Bundle onSaveInstanceState() { - Bundle bundle = super.onSaveInstanceState(); - bundle.putParcelable(INSTANCE_KEY_ACCESS_POINT_STATE, mState); - bundle.putInt(INSTANCE_KEY_MODE, mMode); - bundle.putBoolean(INSTANCE_KEY_AUTO_SECURITY_ALLOWED, mAutoSecurityAllowed); - bundle.putCharSequence(INSTANCE_KEY_CUSTOM_TITLE, mCustomTitle); - return bundle; - } - - /** - * Sets state to show in this dialog. - * - * @param state The state. - */ - public void setState(AccessPointState state) { - mState = state; - } - - /** - * Sets the dialog mode. - * @param mode One of {@link #MODE_CONFIGURE} or {@link #MODE_INFO} - */ - public void setMode(int mode) { - mMode = mode; - } - - public void setAutoSecurityAllowed(boolean autoSecurityAllowed) { - mAutoSecurityAllowed = autoSecurityAllowed; - } - - @Override - public void setTitle(CharSequence title) { - super.setTitle(title); - mCustomTitle = title; - } - - @Override - public void setTitle(int titleId) { - setTitle(getContext().getString(titleId)); - } - - public void enableEnterpriseFields() { - setEnterpriseFieldsVisible(true); - updateCertificateSelection(); - setGenericPasswordVisible(true); - // Both WPA and WPA2 show the same caption, so either is ok - updatePasswordCaption(AccessPointState.PSK); - } - - /** Called after flags are set, the dialog's layout/etc should be set up here */ - private void onLayout() { - final Context context = getContext(); - final String ssid = mState.getHumanReadableSsid(); - - int positiveButtonResId = 0; - int negativeButtonResId = R.string.cancel; - int neutralButtonResId = 0; - - if (mCustomTitle == null) { - // Generic title is the SSID - // We don't want to trigger this as a custom title, so call super's - super.setTitle(ssid); - } - setInverseBackgroundForced(true); - - boolean defaultPasswordVisibility = true; - - if (mMode == MODE_CONFIGURE) { - setLayout(R.layout.wifi_ap_configure); - - positiveButtonResId = R.string.wifi_save_config; - mSaveButtonPos = POSITIVE_BUTTON; - - setEnterpriseFieldsVisible(false); - - } else if (mMode == MODE_INFO) { - if (mState.isEnterprise() && !mState.configured) { - setLayout(R.layout.wifi_ap_configure); - setEnterpriseFieldsVisible(true); - } else { - setLayout(R.layout.wifi_ap_info); - } - - if (mState.isConnectable()) { - if (mCustomTitle == null) { - // We don't want to trigger this as a custom title, so call super's - super.setTitle(context.getString(R.string.connect_to_blank, ssid)); - } - positiveButtonResId = R.string.connect; - mConnectButtonPos = POSITIVE_BUTTON; - } - - if (mState.isForgetable()) { - if (positiveButtonResId == 0) { - positiveButtonResId = R.string.forget_network; - mForgetButtonPos = POSITIVE_BUTTON; - } else { - neutralButtonResId = R.string.forget_network; - mForgetButtonPos = NEUTRAL_BUTTON; - } - } - } else if (mMode == MODE_RETRY_PASSWORD) { - setLayout(R.layout.wifi_ap_retry_password); - - positiveButtonResId = R.string.connect; - mConnectButtonPos = POSITIVE_BUTTON; - - setGenericPasswordVisible(true); - defaultPasswordVisibility = false; - } - - if (defaultPasswordVisibility) { - if (!mState.configured && mState.seen && mState.hasSecurity()) { - setGenericPasswordVisible(true); - } else { - setGenericPasswordVisible(false); - } - } - - setButtons(positiveButtonResId, negativeButtonResId, neutralButtonResId); - } - - /** Called when we need to set our member variables to point to the views. */ - private void onReferenceViews(View view) { - mPasswordText = (TextView) view.findViewById(R.id.password_text); - mPasswordEdit = (EditText) view.findViewById(R.id.password_edit); - mSsidText = (TextView) view.findViewById(R.id.ssid_text); - mSsidEdit = (EditText) view.findViewById(R.id.ssid_edit); - mSecurityText = (TextView) view.findViewById(R.id.security_text); - mSecuritySpinner = (Spinner) view.findViewById(R.id.security_spinner); - mWepTypeSpinner = (Spinner) view.findViewById(R.id.wep_type_spinner); - mEnterpriseView = mView.findViewById(R.id.enterprise_wrapper); - - mShowPasswordCheckBox = (CheckBox) view.findViewById(R.id.show_password_checkbox); - if (mShowPasswordCheckBox != null) { - mShowPasswordCheckBox.setOnClickListener(this); - } - if (mMode == MODE_CONFIGURE) { - mSecuritySpinner.setOnItemSelectedListener(this); - mSecuritySpinner.setPromptId(R.string.security); - setSpinnerAdapter(mSecuritySpinner, mAutoSecurityAllowed ? - R.array.wifi_security_entries - : R.array.wifi_security_without_auto_entries); - } else if (mMode == MODE_INFO) { - mTable = (ViewGroup) view.findViewById(R.id.table); - } - /* for enterprise one */ - if (mMode == MODE_CONFIGURE || - (mState.isEnterprise() && !mState.configured)) { - setEnterpriseFields(view); - updateCertificateSelection(); - } - } - - private void updateCertificateSelection() { - setSpinnerAdapter(mClientCertSpinner, getAllUserCertificateKeys()); - setSpinnerAdapter(mCaCertSpinner, getAllCaCertificateKeys()); - - mPhase2Spinner.setSelection(getSelectionIndex( - R.array.wifi_phase2_entries, mState.getPhase2())); - mEapSpinner.setSelection(getSelectionIndex( - R.array.wifi_eap_entries, mState.getEap())); - mClientCertSpinner.setSelection(getSelectionIndex( - getAllUserCertificateKeys(), mState.getEnterpriseField( - AccessPointState.CLIENT_CERT))); - mCaCertSpinner.setSelection(getSelectionIndex( - getAllCaCertificateKeys(), mState.getEnterpriseField( - AccessPointState.CA_CERT))); - } - - private String[] getAllCaCertificateKeys() { - return appendEmptyInSelection(mKeyStore.saw(Credentials.CA_CERTIFICATE)); - } - - private String[] getAllUserCertificateKeys() { - return appendEmptyInSelection(mKeyStore.saw(Credentials.USER_CERTIFICATE)); - } - - private String[] appendEmptyInSelection(String[] keys) { - if (keys == null) { - return new String[] {NOT_APPLICABLE}; - } else { - String[] selections = new String[keys.length + 1]; - System.arraycopy(keys, 0, selections, 0, keys.length); - selections[keys.length] = NOT_APPLICABLE; - return selections; - } - } - - private void setEnterpriseFields(View view) { - mIdentityText = (TextView) view.findViewById(R.id.identity_text); - mIdentityEdit = (EditText) view.findViewById(R.id.identity_edit); - mAnonymousIdentityText = - (TextView) view.findViewById(R.id.anonymous_identity_text); - mAnonymousIdentityEdit = - (EditText) view.findViewById(R.id.anonymous_identity_edit); - mClientCertText = - (TextView) view.findViewById(R.id.client_certificate_text); - mCaCertText = (TextView) view.findViewById(R.id.ca_certificate_text); - mEapText = (TextView) view.findViewById(R.id.eap_text); - mEapSpinner = (Spinner) view.findViewById(R.id.eap_spinner); - mEapSpinner.setOnItemSelectedListener(this); - mEapSpinner.setPromptId(R.string.please_select_eap); - setSpinnerAdapter(mEapSpinner, R.array.wifi_eap_entries); - - mPhase2Text = (TextView) view.findViewById(R.id.phase2_text); - mPhase2Spinner = (Spinner) view.findViewById(R.id.phase2_spinner); - mPhase2Spinner.setOnItemSelectedListener(this); - mPhase2Spinner.setPromptId(R.string.please_select_phase2); - setSpinnerAdapter(mPhase2Spinner, R.array.wifi_phase2_entries); - - mClientCertSpinner = - (Spinner) view.findViewById(R.id.client_certificate_spinner); - mClientCertSpinner.setOnItemSelectedListener(this); - mClientCertSpinner.setPromptId( - R.string.please_select_client_certificate); - setSpinnerAdapter(mClientCertSpinner, getAllUserCertificateKeys()); - - mCaCertSpinner = - (Spinner) view.findViewById(R.id.ca_certificate_spinner); - mCaCertSpinner.setOnItemSelectedListener(this); - mCaCertSpinner.setPromptId(R.string.please_select_ca_certificate); - setSpinnerAdapter(mCaCertSpinner, getAllCaCertificateKeys()); - - mEnterpriseTextFields = new EditText[] { - mIdentityEdit, mAnonymousIdentityEdit - }; - - } - - private void setSpinnerAdapter(Spinner spinner, String[] items) { - if (items != null) { - ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>( - getContext(), android.R.layout.simple_spinner_item, items); - adapter.setDropDownViewResource( - android.R.layout.simple_spinner_dropdown_item); - spinner.setAdapter(adapter); - } - } - - private void setSpinnerAdapter(Spinner spinner, int arrayResId) { - setSpinnerAdapter(spinner, - getContext().getResources().getStringArray(arrayResId)); - } - - /** Called when the widgets are in-place waiting to be filled with data */ - private void onFill() { - - // Appears in the order added - if (mMode == MODE_INFO) { - if (mState.primary) { - addInfoRow(R.string.wifi_status, mState.getSummarizedStatus()); - addInfoRow(R.string.wifi_link_speed, mState.linkSpeed + WifiInfo.LINK_SPEED_UNITS); - } - - if (mState.seen) { - addInfoRow(R.string.signal, getSignalResId(mState.signal)); - } - - if (mState.security != null) { - addInfoRow(R.string.security, mState.getHumanReadableSecurity()); - } - - if (mState.primary && mState.ipAddress != 0) { - addInfoRow(R.string.ip_address, Formatter.formatIpAddress(mState.ipAddress)); - } - - } else if (mMode == MODE_CONFIGURE) { - String ssid = mState.getHumanReadableSsid(); - if (!TextUtils.isEmpty(ssid)) { - mSsidEdit.setText(ssid); - } - if (mState.configured) { - mPasswordEdit.setHint(R.string.wifi_password_unchanged); - } - } - - updatePasswordCaption(mState.security); - } - - private void updatePasswordCaption(String security) { - if (mPasswordText != null) { - if (security != null && security.equals(AccessPointState.WEP)) { - mPasswordText.setText(R.string.please_type_hex_key); - } else { - mPasswordText.setText(R.string.please_type_passphrase); - } - } - } - - private void addInfoRow(int nameResId, String value) { - View rowView = getLayoutInflater().inflate(R.layout.wifi_ap_info_row, mTable, false); - ((TextView) rowView.findViewById(R.id.name)).setText(nameResId); - ((TextView) rowView.findViewById(R.id.value)).setText(value); - mTable.addView(rowView); - } - - private void addInfoRow(int nameResId, int valueResId) { - addInfoRow(nameResId, getContext().getString(valueResId)); - } - - private void setButtons(int positiveResId, int negativeResId, int neutralResId) { - final Context context = getContext(); - - if (positiveResId > 0) { - setButton(context.getString(positiveResId), this); - } - - if (negativeResId > 0) { - setButton2(context.getString(negativeResId), this); - } - - if (neutralResId > 0) { - setButton3(context.getString(neutralResId), this); - } - } - - private void setLayout(int layoutResId) { - setView(mView = getLayoutInflater().inflate(layoutResId, null)); - onReferenceViews(mView); - } - - public void onClick(DialogInterface dialog, int which) { - if (which == mForgetButtonPos) { - handleForget(); - } else if (which == mConnectButtonPos) { - handleConnect(); - } else if (which == mSaveButtonPos) { - handleSave(); - } - } - - private void handleForget() { - if (!replaceStateWithWifiLayerInstance()) return; - mWifiLayer.forgetNetwork(mState); - } - - private void handleConnect() { - if (!replaceStateWithWifiLayerInstance()) { - Log.w(TAG, "Assuming connecting to a new network."); - } - - if (mState.isEnterprise()) { - if(!mState.configured) { - updateEnterpriseFields(); - } - } - updatePasswordField(); - - mWifiLayer.connectToNetwork(mState); - } - - /* - * If the network is secured and they haven't entered a password, popup an - * error. Allow empty passwords if the state already has a password set - * (since in that scenario, an empty password means keep the old password). - */ - private void updatePasswordField() { - - String password = getEnteredPassword(); - boolean passwordIsEmpty = TextUtils.isEmpty(password); - /* - * When 'retry password', they can not enter a blank password. In any - * other mode, we let them enter a blank password if the state already - * has a password. - */ - if (passwordIsEmpty && (!mState.hasPassword() || - mMode == MODE_RETRY_PASSWORD) && - (mState.security != null) && - !mState.security.equals(AccessPointState.OPEN) && - !mState.isEnterprise()) { - new AlertDialog.Builder(getContext()) - .setTitle(R.string.error_title) - .setIcon(android.R.drawable.ic_dialog_alert) - .setMessage(R.string.wifi_password_incorrect_error) - .setPositiveButton(android.R.string.ok, null) - .show(); - return; - } - - if (!passwordIsEmpty) { - mState.setPassword(password); - } - } - - private void handleSave() { - replaceStateWithWifiLayerInstance(); - - String ssid = mSsidEdit.getText().toString(); - String password = mPasswordEdit.getText().toString(); - - mState.setSsid(ssid); - - int securityType = getSecurityTypeFromSpinner(); - - if (!TextUtils.isEmpty(password) && (securityType != SECURITY_WEP)) { - mState.setPassword(password); - } - - switch (securityType) { - case SECURITY_PSK: { - mState.setSecurity(AccessPointState.PSK); - break; - } - - case SECURITY_AUTO: { - break; - } - - case SECURITY_WEP: { - mState.setSecurity(AccessPointState.WEP); - mState.setPassword(password, WEP_TYPE_VALUES[ - mWepTypeSpinner.getSelectedItemPosition()]); - break; - } - - case SECURITY_EAP: - mState.setSecurity(AccessPointState.EAP); - break; - - case SECURITY_NONE: - default: - mState.setSecurity(AccessPointState.OPEN); - break; - } - - if (mState.isEnterprise() && !mState.configured) { - updateEnterpriseFields(); - } - - if (!mWifiLayer.saveNetwork(mState)) { - return; - } - - // Connect right away if they've touched it - if (!mWifiLayer.connectToNetwork(mState)) { - return; - } - - } - - private int getSelectionIndex(String[] array, String selection) { - if(selection != null) { - for (int i = 0 ; i < array.length ; i++) { - if (selection.contains(array[i])) return i; - } - } - return 0; - } - - private int getSelectionIndex(int arrayResId, String selection) { - return getSelectionIndex( - getContext().getResources().getStringArray(arrayResId), selection); - } - - private void updateEnterpriseFields() { - int i; - String value; - for (i = AccessPointState.IDENTITY ; - i <= AccessPointState.ANONYMOUS_IDENTITY ; i++) { - value = mEnterpriseTextFields[i].getText().toString(); - if (!TextUtils.isEmpty(value)) { - mState.setEnterpriseField(i, value); - } - } - Spinner spinner = mClientCertSpinner; - int index = spinner.getSelectedItemPosition(); - if (index != (spinner.getCount() - 1)) { - String key = (String) spinner.getSelectedItem(); - mState.setEnterpriseField(AccessPointState.CLIENT_CERT, - KEYSTORE_HEADER + Credentials.USER_CERTIFICATE + key); - mState.setEnterpriseField(AccessPointState.PRIVATE_KEY, - KEYSTORE_HEADER + Credentials.USER_PRIVATE_KEY + key); - } - spinner = mCaCertSpinner; - index = spinner.getSelectedItemPosition(); - if (index != (spinner.getCount() - 1)) { - String key = (String) spinner.getSelectedItem(); - mState.setEnterpriseField(AccessPointState.CA_CERT, - KEYSTORE_HEADER + Credentials.CA_CERTIFICATE + key); - } - mState.setSecurity(AccessPointState.EAP); - mState.setEap(mEapSpinner.getSelectedItemPosition()); - mState.setPhase2((String) mPhase2Spinner.getSelectedItem()); - } - - /** - * Replaces our {@link #mState} with the equal WifiLayer instance. This is useful after - * we unparceled the state previously and before we are calling methods on {@link #mWifiLayer}. - * - * @return Whether WifiLayer was able to find an equal state in its set. - */ - private boolean replaceStateWithWifiLayerInstance() { - AccessPointState state = mWifiLayer.getWifiLayerApInstance(mState); - if (state == null) { - return false; - } - - mState = state; - return true; - } - - private int getSecurityTypeFromSpinner() { - int position = mSecuritySpinner.getSelectedItemPosition(); - // If there is no AUTO choice, the position needs 1 added to get - // to the proper spinner position -> security constants mapping - return mAutoSecurityAllowed ? position : position + 1; - } - - private String getEnteredPassword() { - return mPasswordEdit != null ? mPasswordEdit.getText().toString() : null; - } - - /** - * Call the one you want to hide first. - */ - private void setWepVisible(boolean visible) { - setGenericPasswordVisible(visible); - int visibility = visible ? View.VISIBLE : View.GONE; - mWepTypeSpinner.setVisibility(visibility); - } - - /** - * @see #setWepVisible(boolean) - */ - private void setGenericPasswordVisible(boolean visible) { - int visibility = visible ? View.VISIBLE : View.GONE; - mPasswordText.setVisibility(visibility); - mPasswordEdit.setVisibility(visibility); - mShowPasswordCheckBox.setVisibility(visibility); - } - - private void setEnterpriseFieldsVisible(boolean visible) { - int visibility = visible ? View.VISIBLE : View.GONE; - mEnterpriseView.setVisibility(visibility); - if (visible) { - setWepVisible(false); - } - if (mMode != MODE_CONFIGURE) { - mSsidText.setVisibility(View.GONE); - mSsidEdit.setVisibility(View.GONE); - mSecurityText.setVisibility(View.GONE); - mSecuritySpinner.setVisibility(View.GONE); - } - } - - public void onItemSelected(AdapterView parent, View view, int position, long id) { - if (parent == mSecuritySpinner) { - handleSecurityChange(getSecurityTypeFromSpinner()); - } - } - - public void onNothingSelected(AdapterView parent) { - } - - private void handleSecurityChange(int security) { - setEnterpriseFieldsVisible(false); - switch (security) { - - case SECURITY_NONE: { - setWepVisible(false); - setGenericPasswordVisible(false); - break; - } - - case SECURITY_WEP: { - setGenericPasswordVisible(false); - setWepVisible(true); - updatePasswordCaption(AccessPointState.WEP); - break; - } - - case SECURITY_AUTO: { - setWepVisible(false); - setGenericPasswordVisible(mState.hasSecurity()); - // Shows the generic 'wireless password' - updatePasswordCaption(AccessPointState.PSK); - break; - } - - case SECURITY_PSK: { - setWepVisible(false); - setGenericPasswordVisible(true); - // Both WPA and WPA2 show the same caption, so either is ok - updatePasswordCaption(AccessPointState.PSK); - break; - } - case SECURITY_EAP: { - // Unlock the keystore if it is not unlocked yet. - if (mKeyStore.test() != KeyStore.NO_ERROR) { - Credentials.getInstance().unlock(getContext()); - return; - } - enableEnterpriseFields(); - break; - } - } - } - - private static int getSignalResId(int signal) { - switch (WifiManager.calculateSignalLevel(signal, 4)) { - case 0: { - return R.string.wifi_signal_0; - } - case 1: { - return R.string.wifi_signal_1; - } - case 2: { - return R.string.wifi_signal_2; - } - case 3: { - return R.string.wifi_signal_3; - } - } - - return 0; - } - - - public void onClick(View v) { - if (v == mShowPasswordCheckBox) { - setShowPassword(mShowPasswordCheckBox.isChecked()); - } - } - - private void setShowPassword(boolean showPassword) { - if (mPasswordEdit != null) { - mPasswordEdit.setInputType(InputType.TYPE_CLASS_TEXT | - (showPassword ? InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD - : InputType.TYPE_TEXT_VARIATION_PASSWORD)); - } - } - -} diff --git a/src/com/android/settings/wifi/AccessPointPreference.java b/src/com/android/settings/wifi/AccessPointPreference.java deleted file mode 100644 index 6dd5492..0000000 --- a/src/com/android/settings/wifi/AccessPointPreference.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.wifi; - -import com.android.settings.R; - -import android.net.wifi.WifiManager; -import android.preference.Preference; -import android.view.View; -import android.widget.ImageView; - -public class AccessPointPreference extends Preference implements - AccessPointState.AccessPointStateCallback { - - // UI states - private static final int[] STATE_ENCRYPTED = { R.attr.state_encrypted }; - private static final int[] STATE_EMPTY = { }; - - // Signal strength indicator - private static final int UI_SIGNAL_LEVELS = 4; - - private AccessPointState mState; - - public AccessPointPreference(WifiSettings wifiSettings, AccessPointState state) { - super(wifiSettings, null); - - mState = state; - - setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); - - state.setCallback(this); - - refresh(); - } - - public void refresh() { - setTitle(mState.getHumanReadableSsid()); - setSummary(mState.getSummarizedStatus()); - - notifyChanged(); - } - - public void refreshAccessPointState() { - refresh(); - - // The ordering of access points could have changed due to the state change, so - // re-evaluate ordering - notifyHierarchyChanged(); - } - - @Override - protected void onBindView(View view) { - super.onBindView(view); - - ImageView signal = (ImageView) view.findViewById(R.id.signal); - if (mState.seen) { - signal.setImageResource(R.drawable.wifi_signal); - signal.setImageState(mState.hasSecurity() ? STATE_ENCRYPTED : STATE_EMPTY, true); - signal.setImageLevel(getUiSignalLevel()); - } else { - signal.setImageDrawable(null); - } - } - - private int getUiSignalLevel() { - return mState != null ? WifiManager.calculateSignalLevel(mState.signal, UI_SIGNAL_LEVELS) - : 0; - } - - /** - * Returns the {@link AccessPointState} associated with this preference. - * @return The {@link AccessPointState}. - */ - public AccessPointState getAccessPointState() { - return mState; - } - - @Override - public int compareTo(Preference another) { - if (!(another instanceof AccessPointPreference)) { - // Let normal preferences go before us. - // NOTE: we should only be compared to Preference in our - // category. - return 1; - } - - return mState.compareTo(((AccessPointPreference) another).mState); - } - -} - diff --git a/src/com/android/settings/wifi/AccessPointState.java b/src/com/android/settings/wifi/AccessPointState.java deleted file mode 100644 index 5aefa55..0000000 --- a/src/com/android/settings/wifi/AccessPointState.java +++ /dev/null @@ -1,898 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.wifi; - -import com.android.settings.R; - -import android.content.Context; -import android.net.NetworkInfo; -import android.net.wifi.ScanResult; -import android.net.wifi.WifiConfiguration; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiConfiguration.AuthAlgorithm; -import android.net.wifi.WifiConfiguration.GroupCipher; -import android.net.wifi.WifiConfiguration.KeyMgmt; -import android.net.wifi.WifiConfiguration.PairwiseCipher; -import android.net.wifi.WifiConfiguration.Protocol; -import android.os.Parcel; -import android.os.Parcelable; -import android.text.TextUtils; -import android.util.Log; - -public final class AccessPointState implements Comparable<AccessPointState>, Parcelable { - - private static final String TAG = "AccessPointState"; - - // Constants used for different security types - public static final String PSK = "PSK"; - public static final String WEP = "WEP"; - public static final String EAP = "EAP"; - public static final String OPEN = "Open"; - - public static final String[] EAP_METHOD = { "PEAP", "TLS", "TTLS" }; - - /** String present in capabilities if the scan result is ad-hoc */ - private static final String ADHOC_CAPABILITY = "[IBSS]"; - /** String present in capabilities if the scan result is enterprise secured */ - private static final String ENTERPRISE_CAPABILITY = "-EAP-"; - - public static final String BSSID_ANY = "any"; - public static final int NETWORK_ID_NOT_SET = -1; - /** This should be used with care! */ - static final int NETWORK_ID_ANY = -2; - - public static final int MATCH_NONE = 0; - public static final int MATCH_WEAK = 1; - public static final int MATCH_STRONG = 2; - public static final int MATCH_EXACT = 3; - - // Don't set these directly, use the setters. - public int networkId; - public int priority; - public boolean hiddenSsid; - public int linkSpeed; - public int ipAddress; - public String bssid; - public String ssid; - public int signal; - public boolean primary; - public boolean seen; - public boolean configured; - public NetworkInfo.DetailedState status; - public String security; - public boolean disabled; - - /** - * Use this for sorting based on signal strength. It is a heavily-damped - * time-averaged weighted signal. - */ - private float signalForSorting = Float.MIN_VALUE; - - private static final float DAMPING_FACTOR = 0.2f; - - /** - * This will be a user entered password, and NOT taken from wpa_supplicant - * (since it would give us *) - */ - private String mPassword; - private boolean mConfigHadPassword; - - public static final int WEP_PASSWORD_AUTO = 0; - public static final int WEP_PASSWORD_ASCII = 1; - public static final int WEP_PASSWORD_HEX = 2; - private int mWepPasswordType; - - /* Enterprise Fields */ - public static final int IDENTITY = 0; - public static final int ANONYMOUS_IDENTITY = 1; - public static final int CLIENT_CERT = 2; - public static final int CA_CERT = 3; - public static final int PRIVATE_KEY = 4; - public static final int MAX_ENTRPRISE_FIELD = 5; - private String mEnterpriseFields[] = new String[MAX_ENTRPRISE_FIELD]; - private String mEap; - private String mPhase2; - - private Context mContext; - - /** - * If > 0, don't refresh (changes are being batched), use - * {@link #blockRefresh()} and {@link #unblockRefresh()} only. - */ - private int mBlockRefresh; - /** - * This will be set by {@link #requestRefresh} and shouldn't be written to - * elsewhere. - */ - private boolean mNeedsRefresh; - - private AccessPointStateCallback mCallback; - - private StringBuilder mSummaryBuilder = new StringBuilder(); - - interface AccessPointStateCallback { - void refreshAccessPointState(); - } - - public AccessPointState(Context context) { - this(); - - setContext(context); - } - - private AccessPointState() { - bssid = BSSID_ANY; - ssid = ""; - networkId = NETWORK_ID_NOT_SET; - hiddenSsid = false; - } - - void setContext(Context context) { - mContext = context; - } - - public void setNetworkId(int networkId) { - this.networkId = networkId; - } - - public void setBssid(String bssid) { - if (bssid != null) { - // If the BSSID is a wildcard, do NOT let a specific BSSID replace it - if (!this.bssid.equals(BSSID_ANY)) { - this.bssid = bssid; - } - } - } - - private String getWpaSupplicantBssid() { - return bssid.equals(BSSID_ANY) ? null : bssid; - } - - public static String convertToQuotedString(String string) { - if (TextUtils.isEmpty(string)) { - return ""; - } - - final int lastPos = string.length() - 1; - if (lastPos < 0 || (string.charAt(0) == '"' && string.charAt(lastPos) == '"')) { - return string; - } - - return "\"" + string + "\""; - } - - public void setPrimary(boolean primary) { - if (this.primary != primary) { - this.primary = primary; - requestRefresh(); - } - } - - public void setSeen(boolean seen) { - if (this.seen != seen) { - this.seen = seen; - requestRefresh(); - } - } - - public void setDisabled(boolean disabled) { - if (this.disabled != disabled) { - this.disabled = disabled; - requestRefresh(); - } - } - - public void setSignal(int signal) { - - if (signalForSorting == Float.MIN_VALUE) { - signalForSorting = signal; - } else { - signalForSorting = (DAMPING_FACTOR * signal) + ((1-DAMPING_FACTOR) * signalForSorting); - } - - if (this.signal != signal) { - this.signal = signal; - requestRefresh(); - } - } - - public String getHumanReadableSsid() { - if (TextUtils.isEmpty(ssid)) { - return ""; - } - - final int lastPos = ssid.length() - 1; - if (ssid.charAt(0) == '"' && ssid.charAt(lastPos) == '"') { - return ssid.substring(1, lastPos); - } - - return ssid; - } - - public void setSsid(String ssid) { - if (ssid != null) { - this.ssid = convertToQuotedString(ssid); - requestRefresh(); - } - } - - public void setPriority(int priority) { - if (this.priority != priority) { - this.priority = priority; - requestRefresh(); - } - } - - public void setHiddenSsid(boolean hiddenSsid) { - if (this.hiddenSsid != hiddenSsid) { - this.hiddenSsid = hiddenSsid; - requestRefresh(); - } - } - - public void setLinkSpeed(int linkSpeed) { - if (this.linkSpeed != linkSpeed) { - this.linkSpeed = linkSpeed; - requestRefresh(); - } - } - - public void setIpAddress(int address) { - if (ipAddress != address) { - ipAddress = address; - requestRefresh(); - } - } - - public void setConfigured(boolean configured) { - if (this.configured != configured) { - this.configured = configured; - requestRefresh(); - } - } - - public void setStatus(NetworkInfo.DetailedState status) { - if (this.status != status) { - this.status = status; - requestRefresh(); - } - } - - public boolean isEnterprise() { - return (AccessPointState.EAP.equals(security)); - } - - public void setSecurity(String security) { - if (TextUtils.isEmpty(this.security) || !this.security.equals(security)) { - this.security = security; - requestRefresh(); - } - } - - public boolean hasSecurity() { - return security != null && !security.contains(OPEN); - } - - public String getHumanReadableSecurity() { - if (security.equals(OPEN)) return mContext.getString(R.string.wifi_security_open); - else if (security.equals(WEP)) return mContext.getString(R.string.wifi_security_wep); - else if (security.equals(PSK)) return mContext.getString(R.string.wifi_security_psk); - else if (security.equals(EAP)) return mContext.getString(R.string.wifi_security_eap); - - return mContext.getString(R.string.wifi_security_unknown); - } - - public void updateFromScanResult(ScanResult scanResult) { - blockRefresh(); - - // We don't keep specific AP BSSIDs and instead leave that as wildcard - - setSeen(true); - setSsid(scanResult.SSID); - if (networkId == NETWORK_ID_NOT_SET) { - // Since ScanResults don't cross-reference network ID, we set it as a wildcard - setNetworkId(NETWORK_ID_ANY); - } - setSignal(scanResult.level); - setSecurity(getScanResultSecurity(scanResult)); - unblockRefresh(); - } - - /** - * @return The security of a given {@link ScanResult}. - */ - public static String getScanResultSecurity(ScanResult scanResult) { - final String cap = scanResult.capabilities; - final String[] securityModes = { WEP, PSK, EAP }; - for (int i = securityModes.length - 1; i >= 0; i--) { - if (cap.contains(securityModes[i])) { - return securityModes[i]; - } - } - - return OPEN; - } - - /** - * @return Whether the given ScanResult represents an adhoc network. - */ - public static boolean isAdhoc(ScanResult scanResult) { - return scanResult.capabilities.contains(ADHOC_CAPABILITY); - } - - /** - * @return Whether the given ScanResult has enterprise security. - */ - public static boolean isEnterprise(ScanResult scanResult) { - return scanResult.capabilities.contains(ENTERPRISE_CAPABILITY); - } - - public void updateFromWifiConfiguration(WifiConfiguration wifiConfig) { - if (wifiConfig != null) { - blockRefresh(); - setBssid(wifiConfig.BSSID); - setNetworkId(wifiConfig.networkId); - setPriority(wifiConfig.priority); - setHiddenSsid(wifiConfig.hiddenSSID); - setSsid(wifiConfig.SSID); - setConfigured(true); - setDisabled(wifiConfig.status == WifiConfiguration.Status.DISABLED); - parseWifiConfigurationSecurity(wifiConfig); - unblockRefresh(); - } - } - - public void setPassword(String password) { - setPassword(password, WEP_PASSWORD_AUTO); - } - - public void setPassword(String password, int wepPasswordType) { - mPassword = password; - mWepPasswordType = wepPasswordType; - } - - /* For Enterprise Fields */ - public void setEnterpriseField(int field, String value) { - if ((value != null) && (field >= 0) && (field < MAX_ENTRPRISE_FIELD)) { - this.mEnterpriseFields[field] = value; - requestRefresh(); - } - } - - public void setPhase2(String phase2) { - if (!TextUtils.isEmpty(phase2) && (!phase2.equals("None"))) { - mPhase2 = phase2; - } - } - - public String getPhase2() { - return mPhase2; - } - - public void setEap(int method) { - mEap = EAP_METHOD[method]; - requestRefresh(); - } - - public String getEap() { - return mEap; - } - public String getEnterpriseField(int field) { - if(field >=0 && field < MAX_ENTRPRISE_FIELD) { - return mEnterpriseFields[field]; - } - return null; - } - - public boolean hasPassword() { - return !TextUtils.isEmpty(mPassword) || mConfigHadPassword; - } - - private static boolean hasPassword(WifiConfiguration wifiConfig) { - return !TextUtils.isEmpty(wifiConfig.preSharedKey) - || !TextUtils.isEmpty(wifiConfig.wepKeys[0]) - || !TextUtils.isEmpty(wifiConfig.wepKeys[1]) - || !TextUtils.isEmpty(wifiConfig.wepKeys[2]) - || !TextUtils.isEmpty(wifiConfig.wepKeys[3]); - } - - private void parseWifiConfigurationSecurity(WifiConfiguration wifiConfig) { - setSecurity(getWifiConfigurationSecurity(wifiConfig)); - mConfigHadPassword = hasPassword(wifiConfig); - } - - /** - * @return The security of a given {@link WifiConfiguration}. - */ - public static String getWifiConfigurationSecurity(WifiConfiguration wifiConfig) { - if (!TextUtils.isEmpty(wifiConfig.eap.value())) { - return EAP; - } else if (!TextUtils.isEmpty(wifiConfig.preSharedKey)) { - return PSK; - } else if (!TextUtils.isEmpty(wifiConfig.wepKeys[0])) { - return WEP; - } - return OPEN; - } - - public void updateFromWifiInfo(WifiInfo wifiInfo, NetworkInfo.DetailedState state) { - if (wifiInfo != null) { - blockRefresh(); - setBssid(wifiInfo.getBSSID()); - setLinkSpeed(wifiInfo.getLinkSpeed()); - setNetworkId(wifiInfo.getNetworkId()); - setIpAddress(wifiInfo.getIpAddress()); - setSsid(wifiInfo.getSSID()); - if (state != null) { - setStatus(state); - } - setHiddenSsid(wifiInfo.getHiddenSSID()); - unblockRefresh(); - } - } - - /** - * @return Whether this AP can be connected to at the moment. - */ - public boolean isConnectable() { - return !primary && seen; - } - - /** - * @return Whether this AP can be forgotten at the moment. - */ - public boolean isForgetable() { - return configured; - } - - /** - * Updates the state as if it were never configured. - * <p> - * Note: This will not pass the forget call to the Wi-Fi API. - */ - public void forget() { - blockRefresh(); - setConfigured(false); - setNetworkId(NETWORK_ID_NOT_SET); - setPrimary(false); - setStatus(null); - setDisabled(false); - unblockRefresh(); - } - - public void updateWifiConfiguration(WifiConfiguration config) { - config.BSSID = getWpaSupplicantBssid(); - config.priority = priority; - config.hiddenSSID = hiddenSsid; - config.SSID = convertToQuotedString(ssid); - config.eap.setValue(mEap); - - if (!TextUtils.isEmpty(mPhase2)) { - config.phase2.setValue(convertToQuotedString("auth=" + mPhase2)); - } else { - config.phase2.setValue(null); - } - if (!TextUtils.isEmpty(mEnterpriseFields[IDENTITY])) { - config.identity.setValue( - convertToQuotedString(mEnterpriseFields[IDENTITY])); - } else { - config.identity.setValue(null); - } - if (!TextUtils.isEmpty(mEnterpriseFields[ANONYMOUS_IDENTITY])) { - config.anonymous_identity.setValue(convertToQuotedString( - mEnterpriseFields[ANONYMOUS_IDENTITY])); - } else { - config.anonymous_identity.setValue(null); - } - if (!TextUtils.isEmpty(mEnterpriseFields[CLIENT_CERT])) { - config.client_cert.setValue(convertToQuotedString( - mEnterpriseFields[CLIENT_CERT])); - } else { - config.client_cert.setValue(null); - } - if (!TextUtils.isEmpty(mEnterpriseFields[CA_CERT])) { - config.ca_cert.setValue(convertToQuotedString( - mEnterpriseFields[CA_CERT])); - } else { - config.ca_cert.setValue(null); - } - if (!TextUtils.isEmpty(mEnterpriseFields[PRIVATE_KEY])) { - config.private_key.setValue(convertToQuotedString( - mEnterpriseFields[PRIVATE_KEY])); - } else { - config.private_key.setValue(null); - } - setupSecurity(config); - } - - private void setupSecurity(WifiConfiguration config) { - config.allowedAuthAlgorithms.clear(); - config.allowedGroupCiphers.clear(); - config.allowedKeyManagement.clear(); - config.allowedPairwiseCiphers.clear(); - config.allowedProtocols.clear(); - - if (TextUtils.isEmpty(security)) { - security = OPEN; - Log.w(TAG, "Empty security, assuming open"); - } - - if (security.equals(WEP)) { - // If password is empty, it should be left untouched - if (!TextUtils.isEmpty(mPassword)) { - if (mWepPasswordType == WEP_PASSWORD_AUTO) { - if (isHexWepKey(mPassword)) { - config.wepKeys[0] = mPassword; - } else { - config.wepKeys[0] = convertToQuotedString(mPassword); - } - } else { - config.wepKeys[0] = mWepPasswordType == WEP_PASSWORD_ASCII - ? convertToQuotedString(mPassword) - : mPassword; - } - } - config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN); - config.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED); - config.allowedKeyManagement.set(KeyMgmt.NONE); - config.wepTxKeyIndex = 0; - } else if (security.equals(PSK)){ - // If password is empty, it should be left untouched - if (!TextUtils.isEmpty(mPassword)) { - if (mPassword.length() == 64 && isHex(mPassword)) { - // Goes unquoted as hex - config.preSharedKey = mPassword; - } else { - // Goes quoted as ASCII - config.preSharedKey = convertToQuotedString(mPassword); - } - } - } else if (security.equals(EAP)) { - config.allowedKeyManagement.set(KeyMgmt.WPA_EAP); - config.allowedKeyManagement.set(KeyMgmt.IEEE8021X); - if (!TextUtils.isEmpty(mPassword)) { - config.password.setValue(convertToQuotedString(mPassword)); - } - } else if (security.equals(OPEN)) { - config.allowedKeyManagement.set(KeyMgmt.NONE); - } - } - - private static boolean isHexWepKey(String wepKey) { - final int len = wepKey.length(); - - // WEP-40, WEP-104, and some vendors using 256-bit WEP (WEP-232?) - if (len != 10 && len != 26 && len != 58) { - return false; - } - - return isHex(wepKey); - } - - private static boolean isHex(String key) { - for (int i = key.length() - 1; i >= 0; i--) { - final char c = key.charAt(i); - if (!(c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f')) { - return false; - } - } - - return true; - } - - public void setCallback(AccessPointStateCallback callback) { - mCallback = callback; - } - - void blockRefresh() { - mBlockRefresh++; - } - - void unblockRefresh() { - if (--mBlockRefresh == 0 && mNeedsRefresh) { - requestRefresh(); - } - } - - private void requestRefresh() { - if (mBlockRefresh > 0) { - mNeedsRefresh = true; - return; - } - - if (mCallback != null) { - mCallback.refreshAccessPointState(); - } - - mNeedsRefresh = false; - } - - /** - * {@inheritDoc} - * @see #hashCode() - * @see #equals(Object) - */ - public int matches(int otherNetworkId, String otherBssid, String otherSsid, - String otherSecurity) { - - // Whenever this method is touched, please ensure #equals and #hashCode - // still work with the changes here! - - if (otherSsid == null) { - if (WifiLayer.LOGV) { - Log.w(TAG, "BSSID: " + otherBssid + ", SSID: " + otherSsid); - } - return MATCH_NONE; - } - - /* - * If we both have 'security' set, it must match (an open network still - * has 'security' set to OPEN) - */ - if (security != null && otherSecurity != null) { - if (!security.equals(otherSecurity)) { - return MATCH_NONE; - } - } - - // WifiConfiguration gives an empty bssid as a BSSID wildcard - if (TextUtils.isEmpty(otherBssid)) { - otherBssid = AccessPointState.BSSID_ANY; - } - - final boolean networkIdMatches = networkId == otherNetworkId; - if (!networkIdMatches && networkId != NETWORK_ID_ANY && otherNetworkId != NETWORK_ID_ANY) { - // Network IDs don't match (e.g., 1 & 2 or unset & 1) and neither is a wildcard - return MATCH_NONE; - } - - if (networkIdMatches && otherNetworkId != NETWORK_ID_NOT_SET - && otherNetworkId != NETWORK_ID_ANY) { - // Network ID matches (they're set to the same ID) - return MATCH_EXACT; - } - - // So now, network IDs aren't set or at least one is a wildcard - - final boolean bssidMatches = bssid.equals(otherBssid); - final boolean otherBssidIsWildcard = otherBssid.equals(BSSID_ANY); - if (bssidMatches && !otherBssidIsWildcard) { - // BSSID matches (and neither is a wildcard) - return MATCH_STRONG; - } - - if (!bssidMatches && !bssid.equals(BSSID_ANY) && !otherBssidIsWildcard) { - // BSSIDs don't match (e.g., 00:24:21:21:42:12 & 42:12:44:21:22:52) - // and neither is a wildcard - return MATCH_NONE; - } - - // So now, BSSIDs are both wildcards - - final boolean ssidMatches = ssid.equals(otherSsid); - if (ssidMatches) { - // SSID matches - return MATCH_WEAK; - } - - return MATCH_NONE; - } - - /** - * {@inheritDoc} - * @see #matches(int, String, String) - * @see #equals(Object) - */ - @Override - public int hashCode() { - // Two equal() objects must have same hashCode. - // With Wi-Fi, the broadest match is if two SSIDs are the same. The finer-grained matches - // imply this (for example, the same network IDs means the same WifiConfiguration which - // means the same SSID). - // See #matches for the exact matching algorithm we use. - return ssid != null ? ssid.hashCode() : 0; - } - - /** - * {@inheritDoc} - * @see #matches(int, String, String) - * @see #hashCode() - */ - @Override - public boolean equals(Object o) { - if (!o.getClass().equals(getClass())) { - return false; - } - - final AccessPointState other = (AccessPointState) o; - - // To see which conditions cause two AccessPointStates to be equal, see - // where #matches returns MATCH_WEAK or greater. - - return matches(other.networkId, other.bssid, other.ssid, other.security) >= MATCH_WEAK; - } - - public int matchesWifiConfiguration(WifiConfiguration wifiConfig) { - String security = getWifiConfigurationSecurity(wifiConfig); - return matches(wifiConfig.networkId, wifiConfig.BSSID, wifiConfig.SSID, security); - } - - String getSummarizedStatus() { - StringBuilder sb = mSummaryBuilder; - sb.delete(0, sb.length()); - - if (primary && status != null) { - buildSummary(sb, WifiStatus.getPrintable(mContext, status), true); - - } else if (!seen) { - buildSummary(sb, mContext.getString(R.string.summary_not_in_range), true); - - // Remembered comes second in this case - if (!primary && configured) { - buildSummary(sb, mContext.getString(R.string.summary_remembered), true); - } - - } else { - if (configured && disabled) { - // The connection failure overrides all in this case - return mContext.getString(R.string.summary_connection_failed); - } - - // Remembered comes first in this case - if (!primary && configured) { - buildSummary(sb, mContext.getString(R.string.summary_remembered), true); - } - - // If it is seen (and not the primary), show the security type - String verboseSecurity = getVerboseSecurity(); - if (verboseSecurity != null) { - buildSummary(sb, verboseSecurity, true); - } - } - - return sb.toString(); - } - - private String getVerboseSecurity() { - if (WEP.equals(security)) { - return mContext.getString(R.string.wifi_security_verbose_wep); - } else if (PSK.equals(security)) { - return mContext.getString(R.string.wifi_security_verbose_psk); - } else if (EAP.equals(security)) { - return mContext.getString(R.string.wifi_security_verbose_eap); - } else { - return null; - } - } - - private void buildSummary(StringBuilder sb, String string, boolean autoUpperCaseFirstLetter) { - if (sb.length() == 0) { - if (autoUpperCaseFirstLetter && string.length() > 1 - && Character.isLowerCase(string.charAt(0)) - && !Character.isUpperCase(string.charAt(1))) { - sb.append(Character.toUpperCase(string.charAt(0))).append(string, 1, - string.length()); - } else { - sb.append(string); - } - } else { - sb.append(", "); - sb.append(string); - } - } - - public int compareTo(AccessPointState other) { - // This ranks the states for displaying in the AP list, not for - // connecting to (wpa_supplicant does that using the WifiConfiguration's - // priority field). - - // Clarity > efficiency, of this logic: - int comparison; - - // Primary - comparison = (other.primary ? 1 : 0) - (primary ? 1 : 0); - if (comparison != 0) return comparison; - - // Currently seen (similar to, but not always the same as within range) - comparison = (other.seen ? 1 : 0) - (seen ? 1 : 0); - if (comparison != 0) return comparison; - - // Configured - comparison = (other.configured ? 1 : 0) - (configured ? 1 : 0); - if (comparison != 0) return comparison; - - if (!configured) { - // Neither are configured - - // Open network - comparison = (hasSecurity() ? 1 : 0) - (other.hasSecurity() ? 1 : 0); - if (comparison != 0) return comparison; - } - - // Signal strength - comparison = (int) (other.signalForSorting - signalForSorting); - if (comparison != 0) return comparison; - - // Alphabetical - return ssid.compareToIgnoreCase(other.ssid); - } - - public String toString() { - return ssid + " (" + bssid + ", " + networkId + ", " + super.toString() + ")"; - } - - /** Implement the Parcelable interface */ - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(bssid); - dest.writeInt(configured ? 1 : 0); - dest.writeInt(ipAddress); - dest.writeInt(linkSpeed); - dest.writeInt(networkId); - dest.writeInt(primary ? 1 : 0); - dest.writeInt(priority); - dest.writeInt(hiddenSsid ? 1 : 0); - dest.writeString(security); - dest.writeInt(seen ? 1 : 0); - dest.writeInt(disabled ? 1 : 0); - dest.writeInt(signal); - dest.writeString(ssid); - dest.writeString(status != null ? status.toString() : null); - dest.writeString(mPassword); - dest.writeInt(mConfigHadPassword ? 1 : 0); - dest.writeInt(mWepPasswordType); - } - - /** Implement the Parcelable interface */ - public int describeContents() { - return 0; - } - - /** Implement the Parcelable interface */ - public static final Creator<AccessPointState> CREATOR = - new Creator<AccessPointState>() { - public AccessPointState createFromParcel(Parcel in) { - AccessPointState state = new AccessPointState(); - state.bssid = in.readString(); - state.configured = in.readInt() == 1; - state.ipAddress = in.readInt(); - state.linkSpeed = in.readInt(); - state.networkId = in.readInt(); - state.primary = in.readInt() == 1; - state.priority = in.readInt(); - state.hiddenSsid = in.readInt() == 1; - state.security = in.readString(); - state.seen = in.readInt() == 1; - state.disabled = in.readInt() == 1; - state.signal = in.readInt(); - state.ssid = in.readString(); - String statusStr = in.readString(); - if (statusStr != null) { - state.status = NetworkInfo.DetailedState.valueOf(statusStr); - } - state.mPassword = in.readString(); - state.mConfigHadPassword = in.readInt() == 1; - state.mWepPasswordType = in.readInt(); - return state; - } - - public AccessPointState[] newArray(int size) { - return new AccessPointState[size]; - } - }; - - -} diff --git a/src/com/android/settings/wifi/AdvancedSettings.java b/src/com/android/settings/wifi/AdvancedSettings.java index cca10da..636e1df 100644 --- a/src/com/android/settings/wifi/AdvancedSettings.java +++ b/src/com/android/settings/wifi/AdvancedSettings.java @@ -34,6 +34,7 @@ import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; +import android.os.SystemProperties; public class AdvancedSettings extends PreferenceActivity implements Preference.OnPreferenceChangeListener { @@ -58,6 +59,9 @@ public class AdvancedSettings extends PreferenceActivity private static final int MENU_ITEM_SAVE = Menu.FIRST; private static final int MENU_ITEM_CANCEL = Menu.FIRST + 1; + //Tracks ro.debuggable (1 on userdebug builds) + private static int DEBUGGABLE; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -72,19 +76,24 @@ public class AdvancedSettings extends PreferenceActivity preference.setOnPreferenceChangeListener(this); } -// /* -// * Fix the Run-time IllegalStateException that ListPreference requires an entries -// * array and an entryValues array, this exception occurs when user open/close the -// * slider in the Regulatory domain dialog. -// */ -// initNumChannelsPreference(); + DEBUGGABLE = SystemProperties.getInt("ro.debuggable", 0); + /** * Remove user control of regulatory domain - * channel count settings + * channel count settings in non userdebug builds */ - Preference chanPref = findPreference(KEY_NUM_CHANNELS); - if (chanPref != null) { - getPreferenceScreen().removePreference(chanPref); + if (DEBUGGABLE == 1) { + /* + * Fix the Run-time IllegalStateException that ListPreference requires an entries + * array and an entryValues array, this exception occurs when user open/close the + * slider in the Regulatory domain dialog. + */ + initNumChannelsPreference(); + } else { + Preference chanPref = findPreference(KEY_NUM_CHANNELS); + if (chanPref != null) { + getPreferenceScreen().removePreference(chanPref); + } } } @@ -95,9 +104,11 @@ public class AdvancedSettings extends PreferenceActivity updateUi(); /** * Remove user control of regulatory domain - * channel count settings + * channel count settings in non userdebug builds */ - //initNumChannelsPreference(); + if (DEBUGGABLE == 1) { + initNumChannelsPreference(); + } initSleepPolicyPreference(); refreshWifiInfo(); } diff --git a/src/com/android/settings/wifi/Summary.java b/src/com/android/settings/wifi/Summary.java new file mode 100644 index 0000000..6da2fa5 --- /dev/null +++ b/src/com/android/settings/wifi/Summary.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; + +import android.content.Context; +import android.net.NetworkInfo.DetailedState; +import android.text.TextUtils; + +class Summary { + static String get(Context context, String ssid, DetailedState state) { + String[] formats = context.getResources().getStringArray((ssid == null) + ? R.array.wifi_status : R.array.wifi_status_with_ssid); + int index = state.ordinal(); + + if (index >= formats.length || formats[index].length() == 0) { + return null; + } + return String.format(formats[index], ssid); + } + + static String get(Context context, DetailedState state) { + return get(context, null, state); + } +} diff --git a/src/com/android/settings/wifi/WifiAPITest.java b/src/com/android/settings/wifi/WifiAPITest.java new file mode 100644 index 0000000..4a9a075 --- /dev/null +++ b/src/com/android/settings/wifi/WifiAPITest.java @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; + +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.net.wifi.WifiManager; + +import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceActivity; +import android.preference.PreferenceScreen; +import android.text.Editable; +import android.widget.EditText; + + +/** + * Provide an interface for testing out the Wifi API + */ +public class WifiAPITest extends PreferenceActivity implements +Preference.OnPreferenceClickListener { + + private static final String TAG = "WifiAPITest"; + private int netid; + + //============================ + // Preference/activity member variables + //============================ + + private static final String KEY_DISCONNECT = "disconnect"; + private static final String KEY_DISABLE_NETWORK = "disable_network"; + private static final String KEY_ENABLE_NETWORK = "enable_network"; + + private Preference mWifiDisconnect; + private Preference mWifiDisableNetwork; + private Preference mWifiEnableNetwork; + + private WifiManager mWifiManager; + + + //============================ + // Activity lifecycle + //============================ + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + onCreatePreferences(); + mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + } + + + private void onCreatePreferences() { + addPreferencesFromResource(R.layout.wifi_api_test); + + final PreferenceScreen preferenceScreen = getPreferenceScreen(); + + mWifiDisconnect = (Preference) preferenceScreen.findPreference(KEY_DISCONNECT); + mWifiDisconnect.setOnPreferenceClickListener(this); + + mWifiDisableNetwork = (Preference) preferenceScreen.findPreference(KEY_DISABLE_NETWORK); + mWifiDisableNetwork.setOnPreferenceClickListener(this); + + mWifiEnableNetwork = (Preference) preferenceScreen.findPreference(KEY_ENABLE_NETWORK); + mWifiEnableNetwork.setOnPreferenceClickListener(this); + + } + + //============================ + // Preference callbacks + //============================ + + @Override + public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { + super.onPreferenceTreeClick(preferenceScreen, preference); + return false; + } + + /** + * Implements OnPreferenceClickListener interface + */ + public boolean onPreferenceClick(Preference pref) { + if (pref == mWifiDisconnect) { + mWifiManager.disconnect(); + } else if (pref == mWifiDisableNetwork) { + AlertDialog.Builder alert = new AlertDialog.Builder(this); + alert.setTitle("Input"); + alert.setMessage("Enter Network ID"); + // Set an EditText view to get user input + final EditText input = new EditText(this); + alert.setView(input); + alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + Editable value = input.getText(); + netid = Integer.parseInt(value.toString()); + mWifiManager.disableNetwork(netid); + } + }); + alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + // Canceled. + } + }); + alert.show(); + } else if (pref == mWifiEnableNetwork) { + AlertDialog.Builder alert = new AlertDialog.Builder(this); + alert.setTitle("Input"); + alert.setMessage("Enter Network ID"); + // Set an EditText view to get user input + final EditText input = new EditText(this); + alert.setView(input); + alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + Editable value = input.getText(); + netid = Integer.parseInt(value.toString()); + mWifiManager.enableNetwork(netid, false); + } + }); + alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + // Canceled. + } + }); + alert.show(); + } + return true; + } +} diff --git a/src/com/android/settings/wifi/WifiApDialog.java b/src/com/android/settings/wifi/WifiApDialog.java new file mode 100644 index 0000000..43289d2 --- /dev/null +++ b/src/com/android/settings/wifi/WifiApDialog.java @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiConfiguration.AuthAlgorithm; +import android.net.wifi.WifiConfiguration.KeyMgmt; +import android.os.Bundle; +import android.text.Editable; +import android.text.InputType; +import android.text.TextWatcher; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.Spinner; +import android.widget.TextView; + +/** + * Dialog to configure the SSID and security settings + * for Access Point operation + */ +class WifiApDialog extends AlertDialog implements View.OnClickListener, + TextWatcher, AdapterView.OnItemSelectedListener { + + static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE; + + private final DialogInterface.OnClickListener mListener; + + private static final int OPEN_INDEX = 0; + private static final int WPA_INDEX = 1; + + private View mView; + private TextView mSsid; + private int mSecurityType = AccessPoint.SECURITY_NONE; + private EditText mPassword; + + WifiConfiguration mWifiConfig; + + public WifiApDialog(Context context, DialogInterface.OnClickListener listener, + WifiConfiguration wifiConfig) { + super(context); + mListener = listener; + mWifiConfig = wifiConfig; + if (wifiConfig != null) + mSecurityType = AccessPoint.getSecurity(wifiConfig); + } + + public WifiConfiguration getConfig() { + + WifiConfiguration config = new WifiConfiguration(); + + /** + * TODO: SSID in WifiConfiguration for soft ap + * is being stored as a raw string without quotes. + * This is not the case on the client side. We need to + * make things consistent and clean it up + */ + config.SSID = mSsid.getText().toString(); + + switch (mSecurityType) { + case AccessPoint.SECURITY_NONE: + config.allowedKeyManagement.set(KeyMgmt.NONE); + return config; + + case AccessPoint.SECURITY_PSK: + config.allowedKeyManagement.set(KeyMgmt.WPA_PSK); + config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN); + if (mPassword.length() != 0) { + String password = mPassword.getText().toString(); + config.preSharedKey = password; + } + return config; + } + return null; + } + + protected void onCreate(Bundle savedInstanceState) { + + mView = getLayoutInflater().inflate(R.layout.wifi_ap_dialog, null); + Spinner mSecurity = ((Spinner) mView.findViewById(R.id.security)); + + setView(mView); + setInverseBackgroundForced(true); + + Context context = getContext(); + + setTitle(R.string.wifi_tether_configure_ap_text); + mView.findViewById(R.id.type).setVisibility(View.VISIBLE); + mSsid = (TextView) mView.findViewById(R.id.ssid); + mPassword = (EditText) mView.findViewById(R.id.password); + + setButton(BUTTON_SUBMIT, context.getString(R.string.wifi_save), mListener); + setButton(DialogInterface.BUTTON_NEGATIVE, + context.getString(R.string.wifi_cancel), mListener); + + if (mWifiConfig != null) { + mSsid.setText(mWifiConfig.SSID); + switch (mSecurityType) { + case AccessPoint.SECURITY_NONE: + mSecurity.setSelection(OPEN_INDEX); + break; + case AccessPoint.SECURITY_PSK: + String str = mWifiConfig.preSharedKey; + mPassword.setText(str); + mSecurity.setSelection(WPA_INDEX); + break; + } + } + + mSsid.addTextChangedListener(this); + mPassword.addTextChangedListener(this); + ((CheckBox) mView.findViewById(R.id.show_password)).setOnClickListener(this); + mSecurity.setOnItemSelectedListener(this); + + super.onCreate(savedInstanceState); + + showSecurityFields(); + validate(); + } + + private void validate() { + if ((mSsid != null && mSsid.length() == 0) || + (mSecurityType == AccessPoint.SECURITY_PSK && mPassword.length() < 8)) { + getButton(BUTTON_SUBMIT).setEnabled(false); + } else { + getButton(BUTTON_SUBMIT).setEnabled(true); + } + } + + public void onClick(View view) { + mPassword.setInputType( + InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ? + InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : + InputType.TYPE_TEXT_VARIATION_PASSWORD)); + } + + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + public void afterTextChanged(Editable editable) { + validate(); + } + + public void onItemSelected(AdapterView parent, View view, int position, long id) { + if(position == OPEN_INDEX) + mSecurityType = AccessPoint.SECURITY_NONE; + else + mSecurityType = AccessPoint.SECURITY_PSK; + showSecurityFields(); + validate(); + } + + public void onNothingSelected(AdapterView parent) { + } + + private void showSecurityFields() { + if (mSecurityType == AccessPoint.SECURITY_NONE) { + mView.findViewById(R.id.fields).setVisibility(View.GONE); + return; + } + mView.findViewById(R.id.fields).setVisibility(View.VISIBLE); + } +} diff --git a/src/com/android/settings/wifi/WifiApEnabler.java b/src/com/android/settings/wifi/WifiApEnabler.java new file mode 100644 index 0000000..e907cf7 --- /dev/null +++ b/src/com/android/settings/wifi/WifiApEnabler.java @@ -0,0 +1,214 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; +import com.android.settings.WirelessSettings; + +import java.util.ArrayList; + +import android.app.AlertDialog; +import android.content.BroadcastReceiver; +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.wifi.SupplicantState; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.preference.Preference; +import android.preference.CheckBoxPreference; +import android.provider.Settings; +import android.text.TextUtils; +import android.util.Log; +import android.widget.Toast; + +public class WifiApEnabler implements Preference.OnPreferenceChangeListener { + private final Context mContext; + private final CheckBoxPreference mCheckBox; + private final CharSequence mOriginalSummary; + + private WifiManager mWifiManager; + private final IntentFilter mIntentFilter; + + ConnectivityManager mCm; + private String[] mWifiRegexs; + + private final BroadcastReceiver mReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (WifiManager.WIFI_AP_STATE_CHANGED_ACTION.equals(action)) { + handleWifiApStateChanged(intent.getIntExtra( + WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_FAILED)); + } else if (ConnectivityManager.ACTION_TETHER_STATE_CHANGED.equals(action)) { + ArrayList<String> available = intent.getStringArrayListExtra( + ConnectivityManager.EXTRA_AVAILABLE_TETHER); + ArrayList<String> active = intent.getStringArrayListExtra( + ConnectivityManager.EXTRA_ACTIVE_TETHER); + ArrayList<String> errored = intent.getStringArrayListExtra( + ConnectivityManager.EXTRA_ERRORED_TETHER); + updateTetherState(available.toArray(), active.toArray(), errored.toArray()); + } + + } + }; + + public WifiApEnabler(Context context, CheckBoxPreference checkBox) { + mContext = context; + mCheckBox = checkBox; + mOriginalSummary = checkBox.getSummary(); + checkBox.setPersistent(false); + + mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + mCm = (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE); + + mWifiRegexs = mCm.getTetherableWifiRegexs(); + + mIntentFilter = new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION); + mIntentFilter.addAction(ConnectivityManager.ACTION_TETHER_STATE_CHANGED); + } + + public void resume() { + mContext.registerReceiver(mReceiver, mIntentFilter); + enableWifiCheckBox(); + mCheckBox.setOnPreferenceChangeListener(this); + } + + public void pause() { + mContext.unregisterReceiver(mReceiver); + mCheckBox.setOnPreferenceChangeListener(null); + } + + private void enableWifiCheckBox() { + boolean isAirplaneMode = Settings.System.getInt(mContext.getContentResolver(), + Settings.System.AIRPLANE_MODE_ON, 0) != 0; + if(!isAirplaneMode) { + mCheckBox.setEnabled(true); + } else { + mCheckBox.setEnabled(false); + } + } + + public boolean onPreferenceChange(Preference preference, Object value) { + + final ContentResolver cr = mContext.getContentResolver(); + boolean enable = (Boolean)value; + + /** + * Disable Wifi if enabling tethering + */ + int wifiState = mWifiManager.getWifiState(); + if (enable && ((wifiState == WifiManager.WIFI_STATE_ENABLING) || + (wifiState == WifiManager.WIFI_STATE_ENABLED))) { + mWifiManager.setWifiEnabled(false); + Settings.Secure.putInt(cr, Settings.Secure.WIFI_SAVED_STATE, 1); + } + + if (mWifiManager.setWifiApEnabled(null, enable)) { + /* Disable here, enabled on receiving success broadcast */ + mCheckBox.setEnabled(false); + } else { + mCheckBox.setSummary(R.string.wifi_error); + } + + /** + * If needed, restore Wifi on tether disable + */ + if (!enable) { + int wifiSavedState = 0; + try { + wifiSavedState = Settings.Secure.getInt(cr, Settings.Secure.WIFI_SAVED_STATE); + } catch (Settings.SettingNotFoundException e) { + ; + } + if (wifiSavedState == 1) { + mWifiManager.setWifiEnabled(true); + Settings.Secure.putInt(cr, Settings.Secure.WIFI_SAVED_STATE, 0); + } + } + + return false; + } + + void updateConfigSummary(WifiConfiguration wifiConfig) { + String s = mContext.getString( + com.android.internal.R.string.wifi_tether_configure_ssid_default); + mCheckBox.setSummary(String.format( + mContext.getString(R.string.wifi_tether_enabled_subtext), + (wifiConfig == null) ? s : wifiConfig.SSID)); + } + + private void updateTetherState(Object[] available, Object[] tethered, Object[] errored) { + boolean wifiTethered = false; + boolean wifiErrored = false; + + for (Object o : tethered) { + String s = (String)o; + for (String regex : mWifiRegexs) { + if (s.matches(regex)) wifiTethered = true; + } + } + for (Object o: errored) { + String s = (String)o; + for (String regex : mWifiRegexs) { + if (s.matches(regex)) wifiErrored = true; + } + } + + if (wifiTethered) { + WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration(); + updateConfigSummary(wifiConfig); + } else if (wifiErrored) { + mCheckBox.setSummary(R.string.wifi_error); + } + } + + private void handleWifiApStateChanged(int state) { + switch (state) { + case WifiManager.WIFI_AP_STATE_ENABLING: + mCheckBox.setSummary(R.string.wifi_starting); + mCheckBox.setEnabled(false); + break; + case WifiManager.WIFI_AP_STATE_ENABLED: + /** + * Summary on enable is handled by tether + * broadcast notice + */ + mCheckBox.setChecked(true); + /* Doesnt need the airplane check */ + mCheckBox.setEnabled(true); + break; + case WifiManager.WIFI_AP_STATE_DISABLING: + mCheckBox.setSummary(R.string.wifi_stopping); + mCheckBox.setEnabled(false); + break; + case WifiManager.WIFI_AP_STATE_DISABLED: + mCheckBox.setChecked(false); + mCheckBox.setSummary(mOriginalSummary); + enableWifiCheckBox(); + break; + default: + mCheckBox.setChecked(false); + mCheckBox.setSummary(R.string.wifi_error); + enableWifiCheckBox(); + } + } +} diff --git a/src/com/android/settings/wifi/WifiApSettings.java b/src/com/android/settings/wifi/WifiApSettings.java new file mode 100644 index 0000000..0815238 --- /dev/null +++ b/src/com/android/settings/wifi/WifiApSettings.java @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; +import android.app.Dialog; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.preference.ListPreference; +import android.preference.Preference; +import android.preference.PreferenceActivity; +import android.preference.PreferenceScreen; +import android.preference.CheckBoxPreference; +import android.provider.Settings; +import android.util.Log; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiConfiguration.AuthAlgorithm; +import android.net.wifi.WifiConfiguration.KeyMgmt; +import android.net.wifi.WifiManager; +import android.os.Bundle; + +/* + * Displays preferences for Tethering. + */ +public class WifiApSettings extends PreferenceActivity + implements DialogInterface.OnClickListener { + + private static final String WIFI_AP_SSID_AND_SECURITY = "wifi_ap_ssid_and_security"; + private static final String ENABLE_WIFI_AP = "enable_wifi_ap"; + private static final int CONFIG_SUBTEXT = R.string.wifi_tether_configure_subtext; + + private static final int OPEN_INDEX = 0; + private static final int WPA_INDEX = 1; + + private static final int DIALOG_AP_SETTINGS = 1; + + private String[] mSecurityType; + private Preference mCreateNetwork; + private CheckBoxPreference mEnableWifiAp; + + private WifiApDialog mDialog; + private WifiManager mWifiManager; + private WifiApEnabler mWifiApEnabler; + private WifiConfiguration mWifiConfig = null; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); + mWifiConfig = mWifiManager.getWifiApConfiguration(); + mSecurityType = getResources().getStringArray(R.array.wifi_ap_security); + + addPreferencesFromResource(R.xml.wifi_ap_settings); + + mCreateNetwork = findPreference(WIFI_AP_SSID_AND_SECURITY); + mEnableWifiAp = (CheckBoxPreference) findPreference(ENABLE_WIFI_AP); + + mWifiApEnabler = new WifiApEnabler(this, mEnableWifiAp); + + if(mWifiConfig == null) { + String s = getString(com.android.internal.R.string.wifi_tether_configure_ssid_default); + mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT), + s, mSecurityType[OPEN_INDEX])); + } else { + mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT), + mWifiConfig.SSID, + mWifiConfig.allowedKeyManagement.get(KeyMgmt.WPA_PSK) ? + mSecurityType[WPA_INDEX] : mSecurityType[OPEN_INDEX])); + } + } + + @Override + protected Dialog onCreateDialog(int id) { + if (id == DIALOG_AP_SETTINGS) { + mDialog = new WifiApDialog(this, this, mWifiConfig); + return mDialog; + } + return null; + } + + @Override + protected void onResume() { + super.onResume(); + mWifiApEnabler.resume(); + } + + @Override + protected void onPause() { + super.onPause(); + mWifiApEnabler.pause(); + } + + @Override + public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) { + if (preference == mCreateNetwork) { + showDialog(DIALOG_AP_SETTINGS); + } + return true; + } + + public void onClick(DialogInterface dialogInterface, int button) { + + if (button == DialogInterface.BUTTON_POSITIVE) { + mWifiConfig = mDialog.getConfig(); + if(mWifiConfig != null) { + mWifiManager.setWifiApEnabled(mWifiConfig, true); + mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT), + mWifiConfig.SSID, + mWifiConfig.allowedKeyManagement.get(KeyMgmt.WPA_PSK) ? + mSecurityType[WPA_INDEX] : mSecurityType[OPEN_INDEX])); + /** + * There is no tether notification on changing AP + * configuration. Update status with new config. + */ + mWifiApEnabler.updateConfigSummary(mWifiConfig); + + } + } + } +} diff --git a/src/com/android/settings/wifi/WifiConfigInfo.java b/src/com/android/settings/wifi/WifiConfigInfo.java new file mode 100644 index 0000000..2ed4f02 --- /dev/null +++ b/src/com/android/settings/wifi/WifiConfigInfo.java @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import android.app.Activity; +import android.net.wifi.WifiManager; +import android.os.Bundle; +import android.widget.TextView; +import android.net.wifi.WifiConfiguration; +import java.util.List; + +import com.android.settings.R; + + +/** + * Configuration details saved by the user on the WifiSettings screen + */ +public class WifiConfigInfo extends Activity { + + private static final String TAG = "WifiConfigInfo"; + + private TextView mConfigList; + private WifiManager mWifiManager; + + //============================ + // Activity lifecycle + //============================ + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + setContentView(R.layout.wifi_config_info); + mConfigList = (TextView) findViewById(R.id.config_list); + } + + @Override + protected void onResume() { + super.onResume(); + final List<WifiConfiguration> wifiConfigs = mWifiManager.getConfiguredNetworks(); + StringBuffer configList = new StringBuffer(); + for (int i = wifiConfigs.size() - 1; i >= 0; i--) { + configList.append(wifiConfigs.get(i)); + } + mConfigList.setText(configList); + } + +} diff --git a/src/com/android/settings/wifi/WifiDialog.java b/src/com/android/settings/wifi/WifiDialog.java new file mode 100644 index 0000000..a8bf717 --- /dev/null +++ b/src/com/android/settings/wifi/WifiDialog.java @@ -0,0 +1,370 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.res.Resources; +import android.net.NetworkInfo.DetailedState; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiConfiguration.AuthAlgorithm; +import android.net.wifi.WifiConfiguration.KeyMgmt; +import android.net.wifi.WifiInfo; +import android.os.Bundle; +import android.security.Credentials; +import android.security.KeyStore; +import android.text.Editable; +import android.text.InputType; +import android.text.TextWatcher; +import android.text.format.Formatter; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.CheckBox; +import android.widget.Spinner; +import android.widget.TextView; + +class WifiDialog extends AlertDialog implements View.OnClickListener, + TextWatcher, AdapterView.OnItemSelectedListener { + private static final String KEYSTORE_SPACE = "keystore://"; + + static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE; + static final int BUTTON_FORGET = DialogInterface.BUTTON_NEUTRAL; + + final boolean edit; + private final DialogInterface.OnClickListener mListener; + private final AccessPoint mAccessPoint; + + private View mView; + private TextView mSsid; + private int mSecurity; + private TextView mPassword; + + private Spinner mEapMethod; + private Spinner mEapCaCert; + private Spinner mPhase2; + private Spinner mEapUserCert; + private TextView mEapIdentity; + private TextView mEapAnonymous; + + static boolean requireKeyStore(WifiConfiguration config) { + String values[] = {config.ca_cert.value(), config.client_cert.value(), + config.private_key.value()}; + for (String value : values) { + if (value != null && value.startsWith(KEYSTORE_SPACE)) { + return true; + } + } + return false; + } + + WifiDialog(Context context, DialogInterface.OnClickListener listener, + AccessPoint accessPoint, boolean edit) { + super(context); + this.edit = edit; + mListener = listener; + mAccessPoint = accessPoint; + mSecurity = (accessPoint == null) ? AccessPoint.SECURITY_NONE : accessPoint.security; + } + + WifiConfiguration getConfig() { + if (mAccessPoint != null && mAccessPoint.networkId != -1 && !edit) { + return null; + } + + WifiConfiguration config = new WifiConfiguration(); + + if (mAccessPoint == null) { + config.SSID = AccessPoint.convertToQuotedString( + mSsid.getText().toString()); + // If the user adds a network manually, assume that it is hidden. + config.hiddenSSID = true; + } else if (mAccessPoint.networkId == -1) { + config.SSID = AccessPoint.convertToQuotedString( + mAccessPoint.ssid); + } else { + config.networkId = mAccessPoint.networkId; + } + + switch (mSecurity) { + case AccessPoint.SECURITY_NONE: + config.allowedKeyManagement.set(KeyMgmt.NONE); + return config; + + case AccessPoint.SECURITY_WEP: + config.allowedKeyManagement.set(KeyMgmt.NONE); + config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN); + config.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED); + if (mPassword.length() != 0) { + int length = mPassword.length(); + String password = mPassword.getText().toString(); + // WEP-40, WEP-104, and 256-bit WEP (WEP-232?) + if ((length == 10 || length == 26 || length == 58) && + password.matches("[0-9A-Fa-f]*")) { + config.wepKeys[0] = password; + } else { + config.wepKeys[0] = '"' + password + '"'; + } + } + return config; + + case AccessPoint.SECURITY_PSK: + config.allowedKeyManagement.set(KeyMgmt.WPA_PSK); + if (mPassword.length() != 0) { + String password = mPassword.getText().toString(); + if (password.matches("[0-9A-Fa-f]{64}")) { + config.preSharedKey = password; + } else { + config.preSharedKey = '"' + password + '"'; + } + } + return config; + + case AccessPoint.SECURITY_EAP: + config.allowedKeyManagement.set(KeyMgmt.WPA_EAP); + config.allowedKeyManagement.set(KeyMgmt.IEEE8021X); + config.eap.setValue((String) mEapMethod.getSelectedItem()); + + config.phase2.setValue((mPhase2.getSelectedItemPosition() == 0) ? "" : + "auth=" + mPhase2.getSelectedItem()); + config.ca_cert.setValue((mEapCaCert.getSelectedItemPosition() == 0) ? "" : + KEYSTORE_SPACE + Credentials.CA_CERTIFICATE + + (String) mEapCaCert.getSelectedItem()); + config.client_cert.setValue((mEapUserCert.getSelectedItemPosition() == 0) ? "" : + KEYSTORE_SPACE + Credentials.USER_CERTIFICATE + + (String) mEapUserCert.getSelectedItem()); + config.private_key.setValue((mEapUserCert.getSelectedItemPosition() == 0) ? "" : + KEYSTORE_SPACE + Credentials.USER_PRIVATE_KEY + + (String) mEapUserCert.getSelectedItem()); + config.identity.setValue((mEapIdentity.length() == 0) ? "" : + mEapIdentity.getText().toString()); + config.anonymous_identity.setValue((mEapAnonymous.length() == 0) ? "" : + mEapAnonymous.getText().toString()); + if (mPassword.length() != 0) { + config.password.setValue(mPassword.getText().toString()); + } + return config; + } + return null; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + mView = getLayoutInflater().inflate(R.layout.wifi_dialog, null); + setView(mView); + setInverseBackgroundForced(true); + + Context context = getContext(); + Resources resources = context.getResources(); + + if (mAccessPoint == null) { + setTitle(R.string.wifi_add_network); + mView.findViewById(R.id.type).setVisibility(View.VISIBLE); + mSsid = (TextView) mView.findViewById(R.id.ssid); + mSsid.addTextChangedListener(this); + ((Spinner) mView.findViewById(R.id.security)).setOnItemSelectedListener(this); + setButton(BUTTON_SUBMIT, context.getString(R.string.wifi_save), mListener); + } else { + setTitle(mAccessPoint.ssid); + ViewGroup group = (ViewGroup) mView.findViewById(R.id.info); + + DetailedState state = mAccessPoint.getState(); + if (state != null) { + addRow(group, R.string.wifi_status, Summary.get(getContext(), state)); + } + + String[] type = resources.getStringArray(R.array.wifi_security); + addRow(group, R.string.wifi_security, type[mAccessPoint.security]); + + int level = mAccessPoint.getLevel(); + if (level != -1) { + String[] signal = resources.getStringArray(R.array.wifi_signal); + addRow(group, R.string.wifi_signal, signal[level]); + } + + WifiInfo info = mAccessPoint.getInfo(); + if (info != null) { + addRow(group, R.string.wifi_speed, info.getLinkSpeed() + WifiInfo.LINK_SPEED_UNITS); + // TODO: fix the ip address for IPv6. + int address = info.getIpAddress(); + if (address != 0) { + addRow(group, R.string.wifi_ip_address, Formatter.formatIpAddress(address)); + } + } + + if (mAccessPoint.networkId == -1 || edit) { + showSecurityFields(); + } + + if (edit) { + setButton(BUTTON_SUBMIT, context.getString(R.string.wifi_save), mListener); + } else { + if (state == null && level != -1) { + setButton(BUTTON_SUBMIT, context.getString(R.string.wifi_connect), mListener); + } + if (mAccessPoint.networkId != -1) { + setButton(BUTTON_FORGET, context.getString(R.string.wifi_forget), mListener); + } + } + } + + setButton(DialogInterface.BUTTON_NEGATIVE, + context.getString(R.string.wifi_cancel), mListener); + + super.onCreate(savedInstanceState); + + if (getButton(BUTTON_SUBMIT) != null) { + validate(); + } + } + + private void addRow(ViewGroup group, int name, String value) { + View row = getLayoutInflater().inflate(R.layout.wifi_dialog_row, group, false); + ((TextView) row.findViewById(R.id.name)).setText(name); + ((TextView) row.findViewById(R.id.value)).setText(value); + group.addView(row); + } + + private void validate() { + // TODO: make sure this is complete. + if ((mSsid != null && mSsid.length() == 0) || + ((mAccessPoint == null || mAccessPoint.networkId == -1) && + ((mSecurity == AccessPoint.SECURITY_WEP && mPassword.length() == 0) || + (mSecurity == AccessPoint.SECURITY_PSK && mPassword.length() < 8)))) { + getButton(BUTTON_SUBMIT).setEnabled(false); + } else { + getButton(BUTTON_SUBMIT).setEnabled(true); + } + } + + public void onClick(View view) { + mPassword.setInputType( + InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ? + InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : + InputType.TYPE_TEXT_VARIATION_PASSWORD)); + } + + public void onTextChanged(CharSequence s, int start, int before, int count) { + } + + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + } + + public void afterTextChanged(Editable editable) { + validate(); + } + + public void onItemSelected(AdapterView parent, View view, int position, long id) { + mSecurity = position; + showSecurityFields(); + validate(); + } + + public void onNothingSelected(AdapterView parent) { + } + + private void showSecurityFields() { + if (mSecurity == AccessPoint.SECURITY_NONE) { + mView.findViewById(R.id.fields).setVisibility(View.GONE); + return; + } + mView.findViewById(R.id.fields).setVisibility(View.VISIBLE); + + if (mPassword == null) { + mPassword = (TextView) mView.findViewById(R.id.password); + mPassword.addTextChangedListener(this); + ((CheckBox) mView.findViewById(R.id.show_password)).setOnClickListener(this); + + if (mAccessPoint != null && mAccessPoint.networkId != -1) { + mPassword.setHint(R.string.wifi_unchanged); + } + } + + if (mSecurity != AccessPoint.SECURITY_EAP) { + mView.findViewById(R.id.eap).setVisibility(View.GONE); + return; + } + mView.findViewById(R.id.eap).setVisibility(View.VISIBLE); + + if (mEapMethod == null) { + mEapMethod = (Spinner) mView.findViewById(R.id.method); + mPhase2 = (Spinner) mView.findViewById(R.id.phase2); + mEapCaCert = (Spinner) mView.findViewById(R.id.ca_cert); + mEapUserCert = (Spinner) mView.findViewById(R.id.user_cert); + mEapIdentity = (TextView) mView.findViewById(R.id.identity); + mEapAnonymous = (TextView) mView.findViewById(R.id.anonymous); + + loadCertificates(mEapCaCert, Credentials.CA_CERTIFICATE); + loadCertificates(mEapUserCert, Credentials.USER_PRIVATE_KEY); + + if (mAccessPoint != null && mAccessPoint.networkId != -1) { + WifiConfiguration config = mAccessPoint.getConfig(); + setSelection(mEapMethod, config.eap.value()); + setSelection(mPhase2, config.phase2.value()); + setCertificate(mEapCaCert, Credentials.CA_CERTIFICATE, + config.ca_cert.value()); + setCertificate(mEapUserCert, Credentials.USER_PRIVATE_KEY, + config.private_key.value()); + mEapIdentity.setText(config.identity.value()); + mEapAnonymous.setText(config.anonymous_identity.value()); + } + } + } + + private void loadCertificates(Spinner spinner, String prefix) { + String[] certs = KeyStore.getInstance().saw(prefix); + Context context = getContext(); + String unspecified = context.getString(R.string.wifi_unspecified); + + if (certs == null || certs.length == 0) { + certs = new String[] {unspecified}; + } else { + String[] array = new String[certs.length + 1]; + array[0] = unspecified; + System.arraycopy(certs, 0, array, 1, certs.length); + certs = array; + } + + ArrayAdapter<String> adapter = new ArrayAdapter<String>( + context, android.R.layout.simple_spinner_item, certs); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + spinner.setAdapter(adapter); + } + + private void setCertificate(Spinner spinner, String prefix, String cert) { + prefix = KEYSTORE_SPACE + prefix; + if (cert != null && cert.startsWith(prefix)) { + setSelection(spinner, cert.substring(prefix.length())); + } + } + + private void setSelection(Spinner spinner, String value) { + if (value != null) { + ArrayAdapter<String> adapter = (ArrayAdapter<String>) spinner.getAdapter(); + for (int i = adapter.getCount() - 1; i >= 0; --i) { + if (value.equals(adapter.getItem(i))) { + spinner.setSelection(i); + break; + } + } + } + } +} diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java index 10a672b..ef9f346 100644 --- a/src/com/android/settings/wifi/WifiEnabler.java +++ b/src/com/android/settings/wifi/WifiEnabler.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,174 +16,135 @@ package com.android.settings.wifi; -import static android.net.wifi.WifiManager.WIFI_STATE_DISABLED; -import static android.net.wifi.WifiManager.WIFI_STATE_DISABLING; -import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED; -import static android.net.wifi.WifiManager.WIFI_STATE_ENABLING; -import static android.net.wifi.WifiManager.WIFI_STATE_UNKNOWN; - import com.android.settings.R; -import com.android.settings.AirplaneModeEnabler; +import com.android.settings.WirelessSettings; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.NetworkInfo; +import android.net.wifi.SupplicantState; +import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.preference.Preference; import android.preference.CheckBoxPreference; import android.provider.Settings; import android.text.TextUtils; -import android.util.Config; -import android.util.Log; +import android.widget.Toast; public class WifiEnabler implements Preference.OnPreferenceChangeListener { - - private static final boolean LOCAL_LOGD = Config.LOGD || WifiLayer.LOGV; - private static final String TAG = "SettingsWifiEnabler"; - private final Context mContext; - private final WifiManager mWifiManager; - private final CheckBoxPreference mWifiCheckBoxPref; + private final CheckBoxPreference mCheckBox; private final CharSequence mOriginalSummary; - - private final IntentFilter mWifiStateFilter; - private final BroadcastReceiver mWifiStateReceiver = new BroadcastReceiver() { + private final WifiManager mWifiManager; + private final IntentFilter mIntentFilter; + private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) { - handleWifiStateChanged( - intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WIFI_STATE_UNKNOWN), - intent.getIntExtra(WifiManager.EXTRA_PREVIOUS_WIFI_STATE, - WIFI_STATE_UNKNOWN)); - } else if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { - handleNetworkStateChanged( - (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)); + String action = intent.getAction(); + if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) { + handleWifiStateChanged(intent.getIntExtra( + WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)); + } else if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(action)) { + handleStateChanged(WifiInfo.getDetailedStateOf((SupplicantState) + intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE))); + } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) { + handleStateChanged(((NetworkInfo) intent.getParcelableExtra( + WifiManager.EXTRA_NETWORK_INFO)).getDetailedState()); } } }; - - public WifiEnabler(Context context, WifiManager wifiManager, - CheckBoxPreference wifiCheckBoxPreference) { + + public WifiEnabler(Context context, CheckBoxPreference checkBox) { mContext = context; - mWifiCheckBoxPref = wifiCheckBoxPreference; - mWifiManager = wifiManager; - - mOriginalSummary = wifiCheckBoxPreference.getSummary(); - wifiCheckBoxPreference.setPersistent(false); - - mWifiStateFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); - mWifiStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); + mCheckBox = checkBox; + mOriginalSummary = checkBox.getSummary(); + checkBox.setPersistent(false); + + mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + mIntentFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); + // The order matters! We really should not depend on this. :( + mIntentFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); + mIntentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); } public void resume() { - int state = mWifiManager.getWifiState(); - // This is the widget enabled state, not the preference toggled state - mWifiCheckBoxPref.setEnabled(state == WIFI_STATE_ENABLED || state == WIFI_STATE_DISABLED - || state == WIFI_STATE_UNKNOWN); - - mContext.registerReceiver(mWifiStateReceiver, mWifiStateFilter); - mWifiCheckBoxPref.setOnPreferenceChangeListener(this); + // Wi-Fi state is sticky, so just let the receiver update UI + mContext.registerReceiver(mReceiver, mIntentFilter); + mCheckBox.setOnPreferenceChangeListener(this); } public void pause() { - mContext.unregisterReceiver(mWifiStateReceiver); - mWifiCheckBoxPref.setOnPreferenceChangeListener(null); + mContext.unregisterReceiver(mReceiver); + mCheckBox.setOnPreferenceChangeListener(null); } public boolean onPreferenceChange(Preference preference, Object value) { - // Turn on/off Wi-Fi - setWifiEnabled((Boolean) value); - - // Don't update UI to opposite state until we're sure - return false; - } + boolean enable = (Boolean) value; - private void setWifiEnabled(final boolean enable) { - // Disable button - mWifiCheckBoxPref.setEnabled(false); - - if (!mWifiManager.setWifiEnabled(enable)) { - mWifiCheckBoxPref.setSummary(enable ? R.string.error_starting : R.string.error_stopping); + // Show toast message if Wi-Fi is not allowed in airplane mode + if (enable && !WirelessSettings + .isRadioAllowed(mContext, Settings.System.RADIO_WIFI)) { + Toast.makeText(mContext, R.string.wifi_in_airplane_mode, + Toast.LENGTH_SHORT).show(); + return false; } - } - - private void handleWifiStateChanged(int wifiState, int previousWifiState) { - if (LOCAL_LOGD) { - Log.d(TAG, "Received wifi state changed from " - + getHumanReadableWifiState(previousWifiState) + " to " - + getHumanReadableWifiState(wifiState)); + /** + * Disable tethering if enabling Wifi + */ + int wifiApState = mWifiManager.getWifiApState(); + if (enable && ((wifiApState == WifiManager.WIFI_AP_STATE_ENABLING) || + (wifiApState == WifiManager.WIFI_AP_STATE_ENABLED))) { + mWifiManager.setWifiApEnabled(null, false); } - - if (wifiState == WIFI_STATE_DISABLED || wifiState == WIFI_STATE_ENABLED) { - mWifiCheckBoxPref.setChecked(wifiState == WIFI_STATE_ENABLED); - mWifiCheckBoxPref - .setSummary(wifiState == WIFI_STATE_DISABLED ? mOriginalSummary : null); - - mWifiCheckBoxPref.setEnabled(isWifiAllowed(mContext)); - - } else if (wifiState == WIFI_STATE_DISABLING || wifiState == WIFI_STATE_ENABLING) { - mWifiCheckBoxPref.setSummary(wifiState == WIFI_STATE_ENABLING ? R.string.wifi_starting - : R.string.wifi_stopping); - - } else if (wifiState == WIFI_STATE_UNKNOWN) { - int message = R.string.wifi_error; - if (previousWifiState == WIFI_STATE_ENABLING) message = R.string.error_starting; - else if (previousWifiState == WIFI_STATE_DISABLING) message = R.string.error_stopping; - - mWifiCheckBoxPref.setChecked(false); - mWifiCheckBoxPref.setSummary(message); - mWifiCheckBoxPref.setEnabled(true); + if (mWifiManager.setWifiEnabled(enable)) { + mCheckBox.setEnabled(false); + } else { + mCheckBox.setSummary(R.string.wifi_error); } - } - private void handleNetworkStateChanged(NetworkInfo networkInfo) { - - if (LOCAL_LOGD) { - Log.d(TAG, "Received network state changed to " + networkInfo); - } - - if (mWifiManager.isWifiEnabled()) { - String summary = WifiStatus.getStatus(mContext, - mWifiManager.getConnectionInfo().getSSID(), networkInfo.getDetailedState()); - mWifiCheckBoxPref.setSummary(summary); - } + // Don't update UI to opposite state until we're sure + return false; } - - private static boolean isWifiAllowed(Context context) { - // allowed if we are not in airplane mode - if (!AirplaneModeEnabler.isAirplaneModeOn(context)) { - return true; - } - // allowed if wifi is not in AIRPLANE_MODE_RADIOS - String radios = Settings.System.getString(context.getContentResolver(), - Settings.System.AIRPLANE_MODE_RADIOS); - if (radios == null || !radios.contains(Settings.System.RADIO_WIFI)) { - return true; + + private void handleWifiStateChanged(int state) { + switch (state) { + case WifiManager.WIFI_STATE_ENABLING: + mCheckBox.setSummary(R.string.wifi_starting); + mCheckBox.setEnabled(false); + break; + case WifiManager.WIFI_STATE_ENABLED: + mCheckBox.setChecked(true); + mCheckBox.setSummary(null); + mCheckBox.setEnabled(true); + break; + case WifiManager.WIFI_STATE_DISABLING: + mCheckBox.setSummary(R.string.wifi_stopping); + mCheckBox.setEnabled(false); + break; + case WifiManager.WIFI_STATE_DISABLED: + mCheckBox.setChecked(false); + mCheckBox.setSummary(mOriginalSummary); + mCheckBox.setEnabled(true); + break; + default: + mCheckBox.setChecked(false); + mCheckBox.setSummary(R.string.wifi_error); + mCheckBox.setEnabled(true); } - // allowed if wifi is in AIRPLANE_MODE_TOGGLEABLE_RADIOS - radios = Settings.System.getString(context.getContentResolver(), - Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); - return (radios != null && radios.contains(Settings.System.RADIO_WIFI)); } - private static String getHumanReadableWifiState(int wifiState) { - switch (wifiState) { - case WIFI_STATE_DISABLED: - return "Disabled"; - case WIFI_STATE_DISABLING: - return "Disabling"; - case WIFI_STATE_ENABLED: - return "Enabled"; - case WIFI_STATE_ENABLING: - return "Enabling"; - case WIFI_STATE_UNKNOWN: - return "Unknown"; - default: - return "Some other state!"; + private void handleStateChanged(NetworkInfo.DetailedState state) { + // WifiInfo is valid if and only if Wi-Fi is enabled. + // Here we use the state of the check box as an optimization. + if (state != null && mCheckBox.isChecked()) { + WifiInfo info = mWifiManager.getConnectionInfo(); + if (info != null) { + mCheckBox.setSummary(Summary.get(mContext, info.getSSID(), state)); + } } } } diff --git a/src/com/android/settings/wifi/WifiInfo.java b/src/com/android/settings/wifi/WifiInfo.java new file mode 100644 index 0000000..291a495 --- /dev/null +++ b/src/com/android/settings/wifi/WifiInfo.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; + +import android.os.Bundle; +import android.preference.PreferenceActivity; + + +/** + * Wifi information menu item on the diagnostic screen + */ +public class WifiInfo extends PreferenceActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.testing_wifi_settings); + } + +} diff --git a/src/com/android/settings/wifi/WifiLayer.java b/src/com/android/settings/wifi/WifiLayer.java deleted file mode 100644 index ce518e1..0000000 --- a/src/com/android/settings/wifi/WifiLayer.java +++ /dev/null @@ -1,1316 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.wifi; - -import static android.net.wifi.WifiManager.WIFI_STATE_DISABLED; -import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED; - -import com.android.settings.R; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.net.NetworkInfo; -import android.net.NetworkInfo.DetailedState; -import android.net.NetworkInfo.State; -import android.net.wifi.ScanResult; -import android.net.wifi.SupplicantState; -import android.net.wifi.WifiConfiguration; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; -import android.os.Handler; -import android.os.Message; -import android.provider.Settings; -import android.text.TextUtils; -import android.util.Config; -import android.util.Log; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - -/** - * Helper class for abstracting Wi-Fi. - * <p> - * Client must call {@link #onCreate()}, {@link #onCreatedCallback()}, - * {@link #onPause()}, {@link #onResume()}. - */ -public class WifiLayer { - - private static final String TAG = "SettingsWifiLayer"; - static final boolean LOGV = false || Config.LOGV; - - //============================ - // Other member variables - //============================ - - private Context mContext; - private Callback mCallback; - - static final int MESSAGE_ATTEMPT_SCAN = 1; - private Handler mHandler = new MyHandler(); - - //============================ - // Wifi member variables - //============================ - - private WifiManager mWifiManager; - private IntentFilter mIntentFilter; - private List<AccessPointState> mApScanList = new ArrayList<AccessPointState>(); - private List<AccessPointState> mApOtherList = new ArrayList<AccessPointState>(); - private AccessPointState mCurrentPrimaryAp; - - /** The last access point that we were authenticating with. */ - private AccessPointState mLastAuthenticatingAp; - - /** The delay between scans when we're continually scanning. */ - private static final int CONTINUOUS_SCAN_DELAY_MS = 6000; - /** On failure, the maximum retries for scanning. */ - private static final int SCAN_MAX_RETRY = 5; - /** On failure, the delay between each scan retry. */ - private static final int SCAN_RETRY_DELAY_MS = 1000; - /** On failure, the number of retries so far. */ - private int mScanRetryCount = 0; - /** - * Whether we're currently obtaining an address. Continuous scanning will be - * disabled in this state. - */ - private boolean mIsObtainingAddress; - - /** - * See {@link android.provider.Settings.Secure#WIFI_NUM_OPEN_NETWORKS_KEPT}. - */ - private int WIFI_NUM_OPEN_NETWORKS_KEPT; - /** - * Once the highest priority exceeds this value, all networks will be - * wrapped around starting at 0. This is so another client of the Wi-Fi - * API can have access points that aren't managed by us. (If the other - * client wants lower-priority access points than ours, it can use negative - * priority.) - */ - private static final int HIGHEST_PRIORITY_MAX_VALUE = 99999; - /** - * Never access directly, only the related methods should. - */ - private int mNextHighestPriority; - - /** - * This is used to track when the user wants to connect to a specific AP. We - * disable all other APs, set this to true, and let wpa_supplicant connect. - * Once we get a network state change, we re-enable the rest of them. - */ - private boolean mReenableApsOnNetworkStateChange = false; - - /** - * The current supplicant state, as broadcasted. - */ - private SupplicantState mCurrentSupplicantState; - - //============================ - // Inner classes - //============================ - - interface Callback { - void onError(int messageResId); - - /** - * Called when an AP is added or removed. - * - * @param ap The AP. - * @param added {@code true} if added, {@code false} if removed. - */ - void onAccessPointSetChanged(AccessPointState ap, boolean added); - - /** - * Called when the scanning status changes. - * - * @param started {@code true} if the scanning just started, - * {@code false} if it just ended. - */ - void onScanningStatusChanged(boolean started); - - /** - * Called when the access points should be enabled or disabled. This is - * called from both wpa_supplicant being connected/disconnected and Wi-Fi - * being enabled/disabled. - * - * @param enabled {@code true} if they should be enabled, {@code false} - * if they should be disabled. - */ - void onAccessPointsStateChanged(boolean enabled); - - /** - * Called when there is trouble authenticating and the retry-password - * dialog should be shown. - * - * @param ap The access point. - */ - void onRetryPassword(AccessPointState ap); - } - - private BroadcastReceiver mReceiver = new BroadcastReceiver() { - - @Override - public void onReceive(Context context, Intent intent) { - final String action = intent.getAction(); - if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { - handleNetworkStateChanged( - (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO), - intent.getStringExtra(WifiManager.EXTRA_BSSID)); - } else if (action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) { - handleScanResultsAvailable(); - } else if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) { - handleSupplicantConnectionChanged( - intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false)); - } else if (action.equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)) { - handleSupplicantStateChanged( - (SupplicantState) intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE), - intent.hasExtra(WifiManager.EXTRA_SUPPLICANT_ERROR), - intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, 0)); - } else if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) { - handleWifiStateChanged(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, - WifiManager.WIFI_STATE_UNKNOWN)); - } else if (action.equals(WifiManager.RSSI_CHANGED_ACTION)) { - handleSignalChanged(intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, 0)); - } else if (action.equals(WifiManager.NETWORK_IDS_CHANGED_ACTION)) { - handleNetworkIdsChanged(); - } - } - }; - - /** - * If using this class, make sure to call the callbacks of this class, such - * as {@link #onCreate()}, {@link #onCreatedCallback()}, - * {@link #onPause()}, {@link #onResume()}. - * - * @param context The context. - * @param callback The interface that will be invoked when events from this - * class are generated. - */ - public WifiLayer(Context context, Callback callback) { - mContext = context; - mCallback = callback; - } - - //============================ - // Lifecycle - //============================ - - /** - * The client MUST call this. - * <p> - * This shouldn't have any dependency on the callback. - */ - public void onCreate() { - mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE); - - mIntentFilter = new IntentFilter(); - mIntentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); - mIntentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); - mIntentFilter.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION); - mIntentFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); - mIntentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); - mIntentFilter.addAction(WifiManager.RSSI_CHANGED_ACTION); - mIntentFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION); - - WIFI_NUM_OPEN_NETWORKS_KEPT = Settings.Secure.getInt(mContext.getContentResolver(), - Settings.Secure.WIFI_NUM_OPEN_NETWORKS_KEPT, 10); - } - - /** - * The client MUST call this. - * <p> - * Callback is ready, this can do whatever it wants with it. - */ - public void onCreatedCallback() { - if (isWifiEnabled()) { - refreshAll(false); - } - } - - /** - * The client MUST call this. - * - * @see android.app.Activity#onResume - */ - public void onResume() { - mContext.registerReceiver(mReceiver, mIntentFilter); - - if (isWifiEnabled()) { - // Kick start the continual scan - queueContinuousScan(); - } - } - - /** - * The client MUST call this. - * - * @see android.app.Activity#onPause - */ - public void onPause() { - mContext.unregisterReceiver(mReceiver); - - attemptReenableAllAps(); - - removeFutureScans(); - } - - //============================ - // "Public" API - //============================ - - /** - * Returns an AccessPointState instance (that we track locally in WifiLayer) - * for the given state. First, we check if we track the given instance. If - * not, we find an equal AccessPointState instance that we track. - * - * @param state An AccessPointState instance that does not necessarily have - * to be one that this WifiLayer class tracks. For example, it - * could be the result of unparceling. - * @return An AccessPointState instance that this WifiLayer class tracks. - */ - public AccessPointState getWifiLayerApInstance(AccessPointState state) { - synchronized (this) { - - if (hasApInstanceLocked(state)) { - return state; - } - - return findApLocked(state.networkId, state.bssid, state.ssid, state.security); - } - } - - /** - * Connects to the network, and creates the Wi-Fi API config if necessary. - * - * @param state The state of the network to connect to. This MUST be an - * instance that was given to you by this class. If you - * constructed the instance yourself (for example, after - * unparceling it), you should use - * {@link #getWifiLayerApInstance(AccessPointState)}. - * @return Whether the operation was successful. - */ - public boolean connectToNetwork(AccessPointState state) { - if (LOGV) { - Log.v(TAG, "Connecting to " + state); - } - - // Need WifiConfiguration for the AP - WifiConfiguration config = findConfiguredNetwork(state); - - if (LOGV) { - Log.v(TAG, " Found configured network " + config); - } - - if (config == null) { - /* - * Connecting for the first time, need to create it. We will enable - * and save it below (when we set priority). - */ - config = addConfiguration(state, 0); - - if (config == null) { - Log.e(TAG, "Config is still null, even after attempting to add it."); - error(R.string.error_connecting); - return false; - } - - /* - * We could reload the configured networks, but instead just - * shortcut and add this state to our list in memory. - */ - ensureTrackingState(state); - } else { - // Make sure the configuration has the latest from the state - state.updateWifiConfiguration(config); - } - - // Enable this network before we save to storage - if (!managerEnableNetwork(state, false)) { - Log.e(TAG, "Could not enable network ID " + state.networkId); - error(R.string.error_connecting); - return false; - } - - /* - * Give it highest priority, this could cause a network ID change, so do - * it after any modifications to the network we're connecting to - */ - setHighestPriorityStateAndSave(state, config); - - /* - * We force supplicant to connect to this network by disabling the - * others. We do this AFTER we save above so this disabled flag isn't - * persisted. - */ - mReenableApsOnNetworkStateChange = true; - if (!managerEnableNetwork(state, true)) { - Log.e(TAG, "Could not enable network ID " + state.networkId); - error(R.string.error_connecting); - return false; - } - - if (LOGV) { - Log.v(TAG, " Enabled network " + state.networkId); - } - - if (mCurrentSupplicantState == SupplicantState.DISCONNECTED || - mCurrentSupplicantState == SupplicantState.SCANNING) { - mWifiManager.reconnect(); - } - - // Check for too many configured open networks - if (!state.hasSecurity()) { - checkForExcessOpenNetworks(); - } - - return true; - } - - /** - * Saves a network, and creates the Wi-Fi API config if necessary. - * - * @param state The state of the network to save. If you constructed the - * instance yourself (for example, after unparceling it), you - * should use {@link #getWifiLayerApInstance(AccessPointState)}. - * @return Whether the operation was successful. - */ - public boolean saveNetwork(AccessPointState state) { - WifiConfiguration config = findConfiguredNetwork(state); - - if (config == null) { - // if the user is adding a new network, assume that it is hidden - state.setHiddenSsid(true); - - config = addConfiguration(state, ADD_CONFIGURATION_ENABLE); - - if (config == null) { - Log.e(TAG, "Could not save configuration, call to addConfiguration failed."); - error(R.string.error_saving); - return false; - } - - } else { - state.updateWifiConfiguration(config); - if (mWifiManager.updateNetwork(config) == -1) { - Log.e(TAG, "Could not update configuration, call to WifiManager failed."); - error(R.string.error_saving); - return false; - } - } - - // Successfully added network, go ahead and persist - if (!managerSaveConfiguration()) { - Log.e(TAG, "Could not save configuration, call to WifiManager failed."); - error(R.string.error_saving); - return false; - } - - /* - * It's necessary to update the network id of this state because the network id - * could have changed after the configuration is saved. For example, if there are - * more than 10 saved open-networks, some older open-networks will have been be forgotten. - */ - state.setNetworkId(AccessPointState.NETWORK_ID_ANY); - config = findConfiguredNetwork(state); - if (config != null) { - state.setNetworkId(config.networkId); - } - - /* - * We could reload the configured networks, but instead just shortcut - * and add this state to our list in memory - */ - ensureTrackingState(state); - - return true; - } - - /** - * Forgets a network. - * - * @param state The state of the network to forget. If you constructed the - * instance yourself (for example, after unparceling it), you - * should use {@link #getWifiLayerApInstance(AccessPointState)}. - * @return Whether the operation was succesful. - */ - public boolean forgetNetwork(AccessPointState state) { - if (!state.configured) { - Log.w(TAG, "Inconsistent state: Forgetting a network that is not configured."); - return true; - } - - int oldNetworkId = state.networkId; - state.forget(); - - if (!state.seen) { - // If it is not seen, it should be removed from the UI - removeApFromUi(state); - } - - synchronized (this) { - mApOtherList.remove(state); - // It should not be removed from the scan list, since if it was - // there that means it's still seen - } - - if (!mWifiManager.removeNetwork(oldNetworkId)) { - Log.e(TAG, "Removing network " + state.ssid + " (network ID " + oldNetworkId + - ") failed."); - return false; - } - - if (!managerSaveConfiguration()) { - error(R.string.error_saving); - return false; - } - - return true; - } - - /** - * This ensures this class is tracking the given state. This means it is in - * our list of access points, either in the scanned list or in the - * remembered list. - * - * @param state The state that will be checked for tracking, and if not - * tracking will be added to the remembered list in memory. - */ - private void ensureTrackingState(AccessPointState state) { - synchronized (this) { - if (hasApInstanceLocked(state)) { - return; - } - - mApOtherList.add(state); - } - } - - /** - * Attempts to scan networks. This has a retry mechanism. - */ - public void attemptScan() { - - // Remove any future scans since we're scanning right now - removeFutureScans(); - - if (!mWifiManager.isWifiEnabled()) return; - - if (!mWifiManager.startScanActive()) { - postAttemptScan(); - } else { - mScanRetryCount = 0; - } - } - - private void queueContinuousScan() { - mHandler.removeMessages(MESSAGE_ATTEMPT_SCAN); - - if (!mIsObtainingAddress) { - // Don't do continuous scan while in obtaining IP state - mHandler.sendEmptyMessageDelayed(MESSAGE_ATTEMPT_SCAN, CONTINUOUS_SCAN_DELAY_MS); - } - } - - private void removeFutureScans() { - mHandler.removeMessages(MESSAGE_ATTEMPT_SCAN); - } - - public boolean isWifiEnabled() { - return mWifiManager.isWifiEnabled(); - } - - public void error(int messageResId) { - Log.e(TAG, mContext.getResources().getString(messageResId)); - - if (mCallback != null) { - mCallback.onError(messageResId); - } - } - - //============================ - // Wifi logic - //============================ - - private void refreshAll(boolean attemptScan) { - loadConfiguredAccessPoints(); - refreshStatus(); - - if (attemptScan) { - attemptScan(); - } - } - - private void postAttemptScan() { - onScanningStarted(); - - if (++mScanRetryCount < SCAN_MAX_RETRY) { - // Just in case, remove previous ones first - removeFutureScans(); - mHandler.sendEmptyMessageDelayed(MESSAGE_ATTEMPT_SCAN, SCAN_RETRY_DELAY_MS); - } else { - // Show an error once we run out of attempts - error(R.string.error_scanning); - onScanningEnded(); - } - } - - private void onScanningStarted() { - if (mCallback != null) { - mCallback.onScanningStatusChanged(true); - } - } - - private void onScanningEnded() { - queueContinuousScan(); - - if (mCallback != null) { - mCallback.onScanningStatusChanged(false); - } - } - - private void clearApLists() { - List<AccessPointState> accessPoints = new ArrayList<AccessPointState>(); - - synchronized(this) { - // Clear the logic's list of access points - accessPoints.addAll(mApScanList); - accessPoints.addAll(mApOtherList); - mApScanList.clear(); - mApOtherList.clear(); - } - - for (int i = accessPoints.size() - 1; i >= 0; i--) { - removeApFromUi(accessPoints.get(i)); - } - } - - private boolean managerSaveConfiguration() { - boolean retValue = mWifiManager.saveConfiguration(); - - /* - * We need to assume the network IDs have changed, so handle this. Note: - * we also have a receiver on the broadcast intent in case another wifi - * framework client caused the change. In this case, we will handle the - * possible network ID change twice (but it's not too costly). - */ - handleNetworkIdsChanged(); - - return retValue; - } - - private boolean managerEnableNetwork(AccessPointState state, boolean disableOthers) { - if (!mWifiManager.enableNetwork(state.networkId, disableOthers)) { - return false; - } - - // Enabling was successful, make sure the state is not disabled - state.setDisabled(false); - - return true; - } - - private static final int ADD_CONFIGURATION_ENABLE = 1; - private static final int ADD_CONFIGURATION_SAVE = 2; - private WifiConfiguration addConfiguration(AccessPointState state, int flags) { - // Create and add - WifiConfiguration config = new WifiConfiguration(); - - state.updateWifiConfiguration(config); - - final int networkId = mWifiManager.addNetwork(config); - if (networkId == -1) { - return null; - } - - state.setNetworkId(networkId); - state.setConfigured(true); - - // If we should, then enable it, since it comes disabled by default - if ((flags & ADD_CONFIGURATION_ENABLE) != 0 - && !managerEnableNetwork(state, false)) { - return null; - } - - // If we should, then save it - if ((flags & ADD_CONFIGURATION_SAVE) != 0 && !managerSaveConfiguration()) { - return null; - } - - if (mCallback != null) { - mCallback.onAccessPointSetChanged(state, true); - } - - return config; - } - - private WifiConfiguration findConfiguredNetwork(AccessPointState state) { - final List<WifiConfiguration> wifiConfigs = getConfiguredNetworks(); - - for (int i = wifiConfigs.size() - 1; i >= 0; i--) { - final WifiConfiguration wifiConfig = wifiConfigs.get(i); - if (state.matchesWifiConfiguration(wifiConfig) >= AccessPointState.MATCH_WEAK) { - return wifiConfig; - } - } - - return null; - } - - private List<WifiConfiguration> getConfiguredNetworks() { - final List<WifiConfiguration> wifiConfigs = mWifiManager.getConfiguredNetworks(); - return wifiConfigs; - } - - /** - * Must call while holding the lock for the list, which is usually the - * WifiLayer instance. - */ - private static AccessPointState findApLocked(List<AccessPointState> list, int networkId, - String bssid, String ssid, String security) { - AccessPointState ap; - for (int i = list.size() - 1; i >= 0; i--) { - ap = list.get(i); - if (ap.matches(networkId, bssid, ssid, security) >= AccessPointState.MATCH_WEAK) { - return ap; - } - } - - return null; - } - - /** - * Must call while holding the lock for the lists, which is usually this - * WifiLayer instance. - */ - private AccessPointState findApLocked(int networkId, String bssid, String ssid, - String security) { - AccessPointState ap = findApLocked(mApScanList, networkId, bssid, ssid, security); - if (ap == null) { - ap = findApLocked(mApOtherList, networkId, bssid, ssid, security); - } - return ap; - } - - /** - * Returns whether we have the exact instance of the access point state - * given. This is useful in cases where an AccessPointState has been - * parceled by the client and the client is attempting to use it to - * connect/forget/save. - * <p> - * Must call while holding the lock for the lists, which is usually this - * WifiLayer instance. - */ - private boolean hasApInstanceLocked(AccessPointState state) { - - for (int i = mApScanList.size() - 1; i >= 0; i--) { - if (mApScanList.get(i) == state) { - return true; - } - } - - for (int i = mApOtherList.size() - 1; i >= 0; i--) { - if (mApOtherList.get(i) == state) { - return true; - } - } - - return false; - } - - private void loadConfiguredAccessPoints() { - final List<WifiConfiguration> configs = getConfiguredNetworks(); - - for (int i = configs.size() - 1; i >= 0; i--) { - final WifiConfiguration config = configs.get(i); - - AccessPointState ap; - synchronized(this) { - ap = findApLocked(config.networkId, config.BSSID, config.SSID, - AccessPointState.getWifiConfigurationSecurity(config)); - - if (ap != null) { - // We already know about this one - continue; - } - - ap = new AccessPointState(mContext); - ap.updateFromWifiConfiguration(config); - if (LOGV) Log.v(TAG, "Created " + ap + " in loadConfiguredAccessPoints"); - mApOtherList.add(ap); - } - - // Make sure our next highest priority is greater than this - checkNextHighestPriority(ap.priority); - - if (mCallback != null) { - mCallback.onAccessPointSetChanged(ap, true); - } - } - } - - private AccessPointState getCurrentAp() { - final WifiInfo wifiInfo = mWifiManager.getConnectionInfo(); - - String ssid = wifiInfo.getSSID(); - if (ssid != null) { - /* - * We pass null for security since we have a network ID (i.e., it's - * not a wildcard), and rely on it matching. - */ - synchronized (this) { - return findApLocked(wifiInfo.getNetworkId(), wifiInfo.getBSSID(), ssid, null); - } - } else { - return null; - } - } - - private void setPrimaryAp(AccessPointState ap) { - synchronized (this) { - // Unset other - if (mCurrentPrimaryAp != null) { - mCurrentPrimaryAp.setPrimary(false); - } - - mCurrentPrimaryAp = ap; - } - - if (ap != null) { - ap.setPrimary(true); - } - } - - private void attemptReenableAllAps() { - if (mReenableApsOnNetworkStateChange) { - mReenableApsOnNetworkStateChange = false; - enableAllAps(); - } - } - - private void enableAllAps() { - synchronized(this) { - if (LOGV) { - Log.v(TAG, " Enabling all APs"); - } - - enableApsLocked(mApOtherList); - enableApsLocked(mApScanList); - } - } - - private void enableApsLocked(List<AccessPointState> apList) { - for (int i = apList.size() - 1; i >= 0; i--) { - AccessPointState state = apList.get(i); - int networkId = state.networkId; - if (networkId != AccessPointState.NETWORK_ID_NOT_SET && - networkId != AccessPointState.NETWORK_ID_ANY) { - managerEnableNetwork(state, false); - } - } - } - - private void removeApFromUi(AccessPointState ap) { - if (mCallback != null) { - mCallback.onAccessPointSetChanged(ap, false); - } - } - - /** - * Sets the access point state to the highest priority. - * <p> - * If you have a list of configured networks from WifiManager, you probably - * shouldn't call this until you're done traversing the list. - * - * @param state The state to set as the highest priority. - * @param reusableConfiguration An optional WifiConfiguration that will be - * given to the WifiManager as updated data for the network ID. - * This will be filled with the new priority. - * @return Whether the operation was successful. - */ - private boolean setHighestPriorityStateAndSave(AccessPointState state, - WifiConfiguration reusableConfiguration) { - - if (!isConsideredForHighestPriority(state)) { - Log.e(TAG, - "Could not set highest priority on state because state is not being considered."); - return false; - } - - if (reusableConfiguration == null) { - reusableConfiguration = new WifiConfiguration(); - } - - int oldPriority = reusableConfiguration.priority; - reusableConfiguration.priority = getNextHighestPriority(); - reusableConfiguration.networkId = state.networkId; - - if (mWifiManager.updateNetwork(reusableConfiguration) == -1) { - // Rollback priority - reusableConfiguration.priority = oldPriority; - Log.e(TAG, - "Could not set highest priority on state because updating the supplicant network failed."); - return false; - } - - if (!managerSaveConfiguration()) { - reusableConfiguration.priority = oldPriority; - Log.e(TAG, - "Could not set highest priority on state because saving config failed."); - return false; - } - - state.priority = reusableConfiguration.priority; - - if (LOGV) { - Log.v(TAG, " Set highest priority to " - + state.priority + " from " + oldPriority); - } - - return true; - } - - /** - * Makes sure the next highest priority is larger than the given priority. - */ - private void checkNextHighestPriority(int priority) { - if (priority > HIGHEST_PRIORITY_MAX_VALUE || priority < 0) { - // This is a priority that we aren't managing - return; - } - - if (mNextHighestPriority <= priority) { - mNextHighestPriority = priority + 1; - } - } - - /** - * Checks if there are too many open networks, and removes the excess ones. - */ - private void checkForExcessOpenNetworks() { - synchronized(this) { - ArrayList<AccessPointState> allAps = getApsSortedByPriorityLocked(); - - // Walk from highest to lowest priority - int openConfiguredCount = 0; - for (int i = allAps.size() - 1; i >= 0; i--) { - AccessPointState state = allAps.get(i); - if (state.configured && !state.hasSecurity()) { - openConfiguredCount++; - if (openConfiguredCount > WIFI_NUM_OPEN_NETWORKS_KEPT) { - // Remove this network - forgetNetwork(state); - } - } - } - } - } - - private boolean isConsideredForHighestPriority(AccessPointState state) { - return state.configured && state.networkId != AccessPointState.NETWORK_ID_ANY && - state.networkId != AccessPointState.NETWORK_ID_NOT_SET; - } - - /** - * Gets the next highest priority. If this value is larger than the max, - * shift all the priorities so the lowest starts at 0. - * <p> - * Only - * {@link #setHighestPriorityStateAndSave(AccessPointState, WifiConfiguration)} - * should call this. - * - * @return The next highest priority to use. - */ - private int getNextHighestPriority() { - if (mNextHighestPriority > HIGHEST_PRIORITY_MAX_VALUE) { - shiftPriorities(); - } - - return mNextHighestPriority++; - } - - /** - * Shift all the priorities so the lowest starts at 0. - * - * @return Whether the operation was successful. - */ - private boolean shiftPriorities() { - synchronized(this) { - - ArrayList<AccessPointState> allAps = getApsSortedByPriorityLocked(); - - // Re-usable WifiConfiguration for setting priority - WifiConfiguration updatePriorityConfig = new WifiConfiguration(); - - // Set new priorities - mNextHighestPriority = 0; - int size = allAps.size(); - for (int i = 0; i < size; i++) { - AccessPointState state = allAps.get(i); - - if (!isConsideredForHighestPriority(state)) { - continue; - } - - if (!setHighestPriorityStateAndSave(state, updatePriorityConfig)) { - Log.e(TAG, - "Could not shift priorities because setting the new priority failed."); - return false; - } - } - - return true; - } - } - - private ArrayList<AccessPointState> getApsSortedByPriorityLocked() { - // Get all of the access points we have - ArrayList<AccessPointState> allAps = new ArrayList<AccessPointState>(mApScanList.size() - + mApOtherList.size()); - allAps.addAll(mApScanList); - allAps.addAll(mApOtherList); - - // Sort them based on priority - Collections.sort(allAps, new Comparator<AccessPointState>() { - public int compare(AccessPointState object1, AccessPointState object2) { - return object1.priority - object2.priority; - } - }); - - return allAps; - } - - //============================ - // Status related - //============================ - - private void refreshStatus() { - refreshStatus(null, null); - } - - private void refreshStatus(AccessPointState ap, NetworkInfo.DetailedState detailedState) { - final WifiInfo wifiInfo = mWifiManager.getConnectionInfo(); - if (detailedState == null) { - detailedState = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()); - } - - if (ap == null && WifiStatus.isLiveConnection(detailedState)) { - /* - * We pass null for security since we have a network ID (i.e., it's - * not a wildcard), and rely on it matching. - */ - synchronized (this) { - ap = findApLocked(wifiInfo.getNetworkId(), wifiInfo.getBSSID(), wifiInfo - .getSSID(), null); - } - } - - if (ap != null) { - ap.blockRefresh(); - - // Let the AP get the latest info from the WifiInfo - ap.updateFromWifiInfo(wifiInfo, detailedState); - - // The detailed state from the Intent has more states than the WifiInfo's detailed - // state can have (for example, DHCP completion). Set the status using - // the Intent's detailed state. - ap.setStatus(detailedState); - ap.unblockRefresh(); - } - } - - //============================ - // Wifi callbacks - //============================ - - private void handleNetworkStateChanged(NetworkInfo info, String bssid) { - final AccessPointState ap = getCurrentAp(); - NetworkInfo.DetailedState detailedState = info.getDetailedState(); - - if (LOGV) { - Log.v(TAG, "State change received " + info.toString() + ", or " - + detailedState + " on " + bssid + " matched to " + ap); - } - - handleDisablingScanWhileObtainingAddress(detailedState); - - // This will update the AP with its new info - refreshStatus(ap, detailedState); - - boolean isDisconnected = info.getState().equals(State.DISCONNECTED); - if (ap != null && info.isConnectedOrConnecting()) { - setPrimaryAp(ap); - - if (LOGV) { - Log.v(TAG, " Updated " + ap + " to be primary"); - } - - } else if (isDisconnected) { - - /* - * When we drop off a network (for example, the router is powered - * down when we were connected), we received a DISCONNECT event - * without a BSSID. We should not have a primary AP anymore. - */ - setPrimaryAp(null); - - if (LOGV) { - Log.v(TAG, " Cleared primary"); - } - - } else if (detailedState.equals(DetailedState.FAILED)) { - - /* - * Doh, failed for whatever reason. Unset the primary AP, but set - * failed status on the AP that failed. - */ - setPrimaryAp(null); - ap.setStatus(DetailedState.FAILED); - - // Bring up error dialog - error(R.string.wifi_generic_connection_error); - - } else if (LOGV) { - Log.v(TAG, " Did not update any AP to primary, could have updated " - + ap + " but we aren't connected or connecting"); - } - - if ((ap != null) && (info.isConnected() - || (detailedState == DetailedState.OBTAINING_IPADDR))) { - /* - * Sometimes the scan results do not contain the AP even though it's - * clearly connected. This may be because we do passive background - * scanning that isn't as 'strong' as active scanning, so even - * though a network is nearby, it won't be seen by the passive - * scanning. If we are connected (or obtaining IP) then we know it - * is seen. - */ - ap.setSeen(true); - } - - attemptReenableAllAps(); - } - - private void handleDisablingScanWhileObtainingAddress(DetailedState detailedState) { - - if (detailedState == DetailedState.OBTAINING_IPADDR) { - mIsObtainingAddress = true; - - // We will not scan while obtaining an IP address - removeFutureScans(); - - } else { - mIsObtainingAddress = false; - - // Start continuous scan - queueContinuousScan(); - } - } - - private void handleScanResultsAvailable() { - synchronized(this) { - // In the end, we'll moved the ones no longer seen into the mApOtherList - List<AccessPointState> oldScanList = mApScanList; - List<AccessPointState> newScanList = - new ArrayList<AccessPointState>(oldScanList.size()); - - List<ScanResult> list = mWifiManager.getScanResults(); - if (list != null) { - for (int i = list.size() - 1; i >= 0; i--) { - final ScanResult scanResult = list.get(i); - - if (LOGV) { -// Log.v(TAG, " " + scanResult); - } - - if (scanResult == null) { - continue; - } - - /* - * Ignore adhoc, enterprise-secured, or hidden networks. - * Hidden networks show up with empty SSID. - */ - if (AccessPointState.isAdhoc(scanResult) - || TextUtils.isEmpty(scanResult.SSID)) { - continue; - } - - final String ssid = AccessPointState.convertToQuotedString(scanResult.SSID); - String security = AccessPointState.getScanResultSecurity(scanResult); - - // See if this AP is part of a group of APs (e.g., any large - // wifi network has many APs, we'll only show one) that we've - // seen in this scan - AccessPointState ap = findApLocked(newScanList, AccessPointState.NETWORK_ID_ANY, - AccessPointState.BSSID_ANY, ssid, security); - - // Yup, we've seen this network. - if (ap != null) { - // Use the better signal - if (WifiManager.compareSignalLevel(scanResult.level, ap.signal) > 0) { - ap.setSignal(scanResult.level); - } - - if (LOGV) { -// Log.v(TAG, " Already seen, continuing.."); - } - - continue; - } - - // Find the AP in either our old scan list, or our non-seen - // configured networks list - ap = findApLocked(AccessPointState.NETWORK_ID_ANY, AccessPointState.BSSID_ANY, - ssid, security); - - if (ap != null) { - // Remove the AP from both (no harm if one doesn't contain it) - oldScanList.remove(ap); - mApOtherList.remove(ap); - } else { - ap = new AccessPointState(mContext); -// if (LOGV) Log.v(TAG, "Created " + ap); - } - - // Give it the latest state - ap.updateFromScanResult(scanResult); - - if (mCallback != null) { - mCallback.onAccessPointSetChanged(ap, true); - } - - newScanList.add(ap); - } - } - - // oldScanList contains the ones no longer seen - List<AccessPointState> otherList = mApOtherList; - for (int i = oldScanList.size() - 1; i >= 0; i--) { - final AccessPointState ap = oldScanList.get(i); - - if (ap.configured) { - - // Keep it around, since it is configured - ap.setSeen(false); - otherList.add(ap); - - } else { - - // Remove it since it is not configured and not seen - removeApFromUi(ap); - } - } - - mApScanList = newScanList; - } - - onScanningEnded(); - } - - private void handleSupplicantConnectionChanged(boolean connected) { - if (mCallback != null) { - mCallback.onAccessPointsStateChanged(connected); - } - - if (connected) { - refreshAll(true); - } - } - - private void handleWifiStateChanged(int wifiState) { - - if (wifiState == WIFI_STATE_ENABLED) { - loadConfiguredAccessPoints(); - attemptScan(); - - } else if (wifiState == WIFI_STATE_DISABLED) { - removeFutureScans(); - if (LOGV) Log.v(TAG, "Clearing AP lists because wifi is disabled"); - clearApLists(); - } - - if (mCallback != null) { - mCallback.onAccessPointsStateChanged(wifiState == WIFI_STATE_ENABLED); - } - } - - private void handleSignalChanged(int rssi) { - - if (mCurrentPrimaryAp != null) { - mCurrentPrimaryAp.setSignal(rssi); - } - } - - private void handleSupplicantStateChanged(SupplicantState state, boolean hasError, int error) { - mCurrentSupplicantState = state; - - if (SupplicantState.FOUR_WAY_HANDSHAKE.equals(state)) { - mLastAuthenticatingAp = getCurrentAp(); - } - - if (hasError) { - handleSupplicantStateError(error); - } - } - - private void handleSupplicantStateError(int supplicantError) { - if (supplicantError == WifiManager.ERROR_AUTHENTICATING) { - if (mCallback != null) { - if (mLastAuthenticatingAp != null) { - mCallback.onRetryPassword(mLastAuthenticatingAp); - } - } - } - } - - private void handleNetworkIdsChanged() { - synchronized (this) { - final List<WifiConfiguration> configs = getConfiguredNetworks(); - - for (int i = configs.size() - 1; i >= 0; i--) { - final WifiConfiguration config = configs.get(i); - - AccessPointState ap; - // Since network IDs have changed, we can't use it to find our previous AP state - ap = findApLocked(AccessPointState.NETWORK_ID_ANY, config.BSSID, config.SSID, - AccessPointState.getWifiConfigurationSecurity(config)); - - if (ap == null) { - continue; - } - - ap.setNetworkId(config.networkId); - } - } - } - - private class MyHandler extends Handler { - - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case MESSAGE_ATTEMPT_SCAN: - attemptScan(); - break; - } - } - } - -} diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index cac77e3..d389cae 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 The Android Open Source Project + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,463 +19,482 @@ package com.android.settings.wifi; import com.android.settings.ProgressCategory; import com.android.settings.R; -import android.app.Dialog; +import android.content.BroadcastReceiver; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.IntentFilter; +import android.net.NetworkInfo; +import android.net.NetworkInfo.DetailedState; +import android.net.wifi.ScanResult; +import android.net.wifi.SupplicantState; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiConfiguration.KeyMgmt; +import android.net.wifi.WifiConfiguration.Status; +import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; -import android.preference.CheckBoxPreference; -import android.provider.Settings; +import android.provider.Settings.Secure; import android.security.Credentials; import android.security.KeyStore; -import android.util.Log; +import android.text.TextUtils; import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.view.ContextMenu.ContextMenuInfo; -import android.widget.AdapterView; -import android.widget.Toast; import android.widget.AdapterView.AdapterContextMenuInfo; +import android.widget.Toast; -import java.util.Set; -import java.util.WeakHashMap; - -/** - * Settings screen for WiFi. This will be launched from the main system settings. - */ -public class WifiSettings extends PreferenceActivity implements WifiLayer.Callback, - DialogInterface.OnDismissListener { - - private static final String TAG = "WifiSettings"; - - //============================ - // Preference/activity member variables - //============================ - - private static final String INSTANCE_KEY_DIALOG_BUNDLE = - "com.android.settings.wifi.WifiSettings:dialogBundle"; - /* - * We don't use Activity's dialog management because AlertDialog isn't fully - * able to change many of its features after it's been created, and the - * dialog management only creates once. - */ - private Dialog mDialog; - - private static final String KEY_ONLY_ACCESS_POINTS = "only_access_points"; - private static final String KEY_ADD_OTHER_NETWORK = "add_other_network"; - - private static final int CONTEXT_MENU_ID_CONNECT = Menu.FIRST; - private static final int CONTEXT_MENU_ID_FORGET = Menu.FIRST + 1; - private static final int CONTEXT_MENU_ID_CHANGE_PASSWORD = Menu.FIRST + 2; +import java.util.ArrayList; +import java.util.List; +public class WifiSettings extends PreferenceActivity implements DialogInterface.OnClickListener { private static final int MENU_ID_SCAN = Menu.FIRST; private static final int MENU_ID_ADVANCED = Menu.FIRST + 1; + private static final int MENU_ID_CONNECT = Menu.FIRST + 2; + private static final int MENU_ID_FORGET = Menu.FIRST + 3; + private static final int MENU_ID_MODIFY = Menu.FIRST + 4; - private static final String KEY_WIFI_ENABLED = "wifi_enabled"; - private static final String KEY_OPEN_NETWORK_NOTIFICATIONS_ENABLED = - "open_network_notifications_enabled"; - private static final String KEY_ACCESS_POINTS = "access_points"; + private final IntentFilter mFilter; + private final BroadcastReceiver mReceiver; + private final Scanner mScanner; - private ProgressCategory mApCategory; - private CheckBoxPreference mWifiEnabled; + private WifiManager mWifiManager; private WifiEnabler mWifiEnabler; - private CheckBoxPreference mOpenNetworkNotificationsEnabled; - private Preference mAddOtherNetwork; + private CheckBoxPreference mNotifyOpenNetworks; + private ProgressCategory mAccessPoints; + private Preference mAddNetwork; - private WeakHashMap<AccessPointState, AccessPointPreference> mAps; + private DetailedState mLastState; + private WifiInfo mLastInfo; + private int mLastPriority; - private KeyStore mKeyStore = KeyStore.getInstance(); - private AccessPointState mResumeState = null; - private int mResumeMode; + private boolean mResetNetworks = false; + private int mKeyStoreNetworkId = -1; - //============================ - // Wifi member variables - //============================ - - private WifiLayer mWifiLayer; - - //============================ - // Activity lifecycle - //============================ + private AccessPoint mSelected; + private WifiDialog mDialog; public WifiSettings() { - mAps = new WeakHashMap<AccessPointState, AccessPointPreference>(); - mWifiLayer = new WifiLayer(this, this); + mFilter = new IntentFilter(); + mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); + mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); + mFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION); + mFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); + mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); + mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION); + + mReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + handleEvent(intent); + } + }; + + mScanner = new Scanner(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - onCreatePreferences(); - mWifiLayer.onCreate(); + mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); - onCreatedWifi(); - mWifiLayer.onCreatedCallback(); - } - - private int getPreferenceResource() { - if (getIntent().getBooleanExtra(KEY_ONLY_ACCESS_POINTS, false)) { - return R.xml.wifi_access_points; + if (getIntent().getBooleanExtra("only_access_points", false)) { + addPreferencesFromResource(R.xml.wifi_access_points); } else { - return R.xml.wifi_settings; - } - } - - /** - * Shouldn't have any dependency on the wifi layer. - */ - private void onCreatePreferences() { - addPreferencesFromResource(getPreferenceResource()); - - final PreferenceScreen preferenceScreen = getPreferenceScreen(); - - mApCategory = (ProgressCategory) preferenceScreen.findPreference(KEY_ACCESS_POINTS); - // We don't want the ordering to be the order preferences are added, - // instead we want*: - // 1) preferred, visible APs - // 2) visible APs - // 3) preferred, APs out of range - // * this ordering logic is in AccessPointPreference's compareTo - mApCategory.setOrderingAsAdded(false); - - if (!getIntent().getBooleanExtra(KEY_ONLY_ACCESS_POINTS, false)) { - mWifiEnabled = (CheckBoxPreference) preferenceScreen.findPreference(KEY_WIFI_ENABLED); - mWifiEnabler = new WifiEnabler(this, (WifiManager) getSystemService(WIFI_SERVICE), - mWifiEnabled); - - mOpenNetworkNotificationsEnabled = (CheckBoxPreference) preferenceScreen - .findPreference(KEY_OPEN_NETWORK_NOTIFICATIONS_ENABLED); - mOpenNetworkNotificationsEnabled.setChecked(Settings.Secure.getInt(getContentResolver(), - Settings.Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0) == 1); + addPreferencesFromResource(R.xml.wifi_settings); + mWifiEnabler = new WifiEnabler(this, + (CheckBoxPreference) findPreference("enable_wifi")); + mNotifyOpenNetworks = + (CheckBoxPreference) findPreference("notify_open_networks"); + mNotifyOpenNetworks.setChecked(Secure.getInt(getContentResolver(), + Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0) == 1); } - mAddOtherNetwork = preferenceScreen.findPreference(KEY_ADD_OTHER_NETWORK); + mAccessPoints = (ProgressCategory) findPreference("access_points"); + mAccessPoints.setOrderingAsAdded(false); + mAddNetwork = findPreference("add_network"); registerForContextMenu(getListView()); } - private void onCreatedWifi() { - } - @Override protected void onResume() { super.onResume(); - mWifiLayer.onResume(); if (mWifiEnabler != null) { mWifiEnabler.resume(); } - // do what we should have after keystore is unlocked. - if (mResumeState != null) { - if (mKeyStore.test() == KeyStore.NO_ERROR) { - showAccessPointDialog(mResumeState, mResumeMode); - } - mResumeMode = -1; - mResumeState = null; - } else { - if (mResumeMode == AccessPointDialog.MODE_CONFIGURE) { - if (mKeyStore.test() == KeyStore.NO_ERROR) { - ((AccessPointDialog) mDialog).enableEnterpriseFields(); - } - } + registerReceiver(mReceiver, mFilter); + if (mKeyStoreNetworkId != -1 && KeyStore.getInstance().test() == KeyStore.NO_ERROR) { + connect(mKeyStoreNetworkId); } + mKeyStoreNetworkId = -1; } @Override protected void onPause() { super.onPause(); - mWifiLayer.onPause(); if (mWifiEnabler != null) { mWifiEnabler.pause(); } - } - - @Override - protected void onDestroy() { - super.onDestroy(); - + unregisterReceiver(mReceiver); + mScanner.pause(); if (mDialog != null) { mDialog.dismiss(); + mDialog = null; + } + if (mResetNetworks) { + enableNetworks(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { - super.onCreateOptionsMenu(menu); - - menu.add(0, MENU_ID_SCAN, 0, R.string.scan_wifi) - .setIcon(R.drawable.ic_menu_scan_network); - - menu.add(0, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced) - .setIcon(android.R.drawable.ic_menu_manage); - - return true; + menu.add(Menu.NONE, MENU_ID_SCAN, 0, R.string.wifi_menu_scan) + .setIcon(R.drawable.ic_menu_scan_network); + menu.add(Menu.NONE, MENU_ID_ADVANCED, 0, R.string.wifi_menu_advanced) + .setIcon(android.R.drawable.ic_menu_manage); + return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { - super.onOptionsItemSelected(item); - switch (item.getItemId()) { - case MENU_ID_SCAN: - mWifiLayer.attemptScan(); + if (mWifiManager.isWifiEnabled()) { + mScanner.resume(); + } return true; - case MENU_ID_ADVANCED: - Intent intent = new Intent(this, AdvancedSettings.class); - startActivity(intent); + startActivity(new Intent(this, AdvancedSettings.class)); return true; - - default: - return false; } + return super.onOptionsItemSelected(item); } @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - - if (mDialog != null) { - Bundle dialogBundle = mDialog.onSaveInstanceState(); - outState.putBundle(INSTANCE_KEY_DIALOG_BUNDLE, dialogBundle); - } - } - - @Override - protected void onRestoreInstanceState(Bundle state) { - super.onRestoreInstanceState(state); - - Bundle dialogBundle = state.getBundle(INSTANCE_KEY_DIALOG_BUNDLE); - if (dialogBundle != null) { - mDialog = new AccessPointDialog(this, mWifiLayer); - mDialog.onRestoreInstanceState(dialogBundle); - showDialog(mDialog); - } - } - - /** - * {@inheritDoc} - */ - public void onDismiss(DialogInterface dialog) { - if (dialog == mDialog) { - mDialog = null; - mResumeMode = -1; - } - } - - @Override - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { - super.onCreateContextMenu(menu, v, menuInfo); - - AccessPointState state = getStateFromMenuInfo(menuInfo); - if (state == null) { - return; - } - - menu.setHeaderTitle(state.getHumanReadableSsid()); - - if (state.isConnectable()) { - menu.add(0, CONTEXT_MENU_ID_CONNECT, 0, R.string.wifi_context_menu_connect); - } - - if (state.isForgetable()) { - menu.add(0, CONTEXT_MENU_ID_FORGET, 1, R.string.wifi_context_menu_forget); - - if (state.hasPassword()) { - menu.add(0, CONTEXT_MENU_ID_CHANGE_PASSWORD, 2, - R.string.wifi_context_menu_change_password); + public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo info) { + if (info instanceof AdapterContextMenuInfo) { + Preference preference = (Preference) getListView().getItemAtPosition( + ((AdapterContextMenuInfo) info).position); + + if (preference instanceof AccessPoint) { + mSelected = (AccessPoint) preference; + menu.setHeaderTitle(mSelected.ssid); + if (mSelected.getLevel() != -1 && mSelected.getState() == null) { + menu.add(Menu.NONE, MENU_ID_CONNECT, 0, R.string.wifi_menu_connect); + } + if (mSelected.networkId != -1) { + menu.add(Menu.NONE, MENU_ID_FORGET, 0, R.string.wifi_menu_forget); + if (mSelected.security != AccessPoint.SECURITY_NONE) { + menu.add(Menu.NONE, MENU_ID_MODIFY, 0, R.string.wifi_menu_modify); + } + } } } } @Override public boolean onContextItemSelected(MenuItem item) { - - AccessPointState state = getStateFromMenuInfo(item.getMenuInfo()); - if (state == null) { - return false; + if (mSelected == null) { + return super.onContextItemSelected(item); } - switch (item.getItemId()) { - - case CONTEXT_MENU_ID_CONNECT: - connectToNetwork(state); + case MENU_ID_CONNECT: + if (mSelected.networkId != -1) { + if (!requireKeyStore(mSelected.getConfig())) { + connect(mSelected.networkId); + } + } else if (mSelected.security == AccessPoint.SECURITY_NONE) { + // Shortcut for open networks. + WifiConfiguration config = new WifiConfiguration(); + config.SSID = AccessPoint.convertToQuotedString(mSelected.ssid); + config.allowedKeyManagement.set(KeyMgmt.NONE); + int networkId = mWifiManager.addNetwork(config); + mWifiManager.enableNetwork(networkId, false); + connect(networkId); + } else { + showDialog(mSelected, false); + } return true; - - case CONTEXT_MENU_ID_FORGET: - mWifiLayer.forgetNetwork(state); + case MENU_ID_FORGET: + forget(mSelected.networkId); return true; - - case CONTEXT_MENU_ID_CHANGE_PASSWORD: - showAccessPointDialog(state, AccessPointDialog.MODE_CONFIGURE); + case MENU_ID_MODIFY: + showDialog(mSelected, true); return true; - - default: - return false; } + return super.onContextItemSelected(item); } - /** - * Decides what needs to happen to connect to a particular access point. If - * it is secured and doesn't already have a password, it will bring up a - * password box. Otherwise it will just connect. - */ - private void connectToNetwork(AccessPointState state) { - if (state.hasSecurity() && !state.hasPassword()) { - showAccessPointDialog(state, AccessPointDialog.MODE_INFO); + @Override + public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) { + if (preference instanceof AccessPoint) { + mSelected = (AccessPoint) preference; + showDialog(mSelected, false); + } else if (preference == mAddNetwork) { + mSelected = null; + showDialog(null, true); + } else if (preference == mNotifyOpenNetworks) { + Secure.putInt(getContentResolver(), + Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, + mNotifyOpenNetworks.isChecked() ? 1 : 0); } else { - mWifiLayer.connectToNetwork(state); + return super.onPreferenceTreeClick(screen, preference); } + return true; } - private AccessPointState getStateFromMenuInfo(ContextMenuInfo menuInfo) { - if ((menuInfo == null) || !(menuInfo instanceof AdapterContextMenuInfo)) { - return null; - } + public void onClick(DialogInterface dialogInterface, int button) { + if (button == WifiDialog.BUTTON_FORGET && mSelected != null) { + forget(mSelected.networkId); + } else if (button == WifiDialog.BUTTON_SUBMIT && mDialog != null) { + WifiConfiguration config = mDialog.getConfig(); - AdapterContextMenuInfo adapterMenuInfo = (AdapterContextMenuInfo) menuInfo; - Preference pref = (Preference) getPreferenceScreen().getRootAdapter().getItem( - adapterMenuInfo.position); - if (pref == null || !(pref instanceof AccessPointPreference)) { - return null; + if (config == null) { + if (mSelected != null && !requireKeyStore(mSelected.getConfig())) { + connect(mSelected.networkId); + } + } else if (config.networkId != -1) { + if (mSelected != null) { + mWifiManager.updateNetwork(config); + saveNetworks(); + } + } else { + int networkId = mWifiManager.addNetwork(config); + if (networkId != -1) { + mWifiManager.enableNetwork(networkId, false); + config.networkId = networkId; + if (mDialog.edit || requireKeyStore(config)) { + saveNetworks(); + } else { + connect(networkId); + } + } + } } - - return ((AccessPointPreference) pref).getAccessPointState(); } - //============================ - // Preference callbacks - //============================ - - @Override - public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - super.onPreferenceTreeClick(preferenceScreen, preference); - - if (preference == mAddOtherNetwork) { - showAddOtherNetworkDialog(); - } else if (preference == mOpenNetworkNotificationsEnabled) { - Settings.Secure.putInt(getContentResolver(), - Settings.Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, - mOpenNetworkNotificationsEnabled.isChecked() ? 1 : 0); - } else if (preference instanceof AccessPointPreference) { - AccessPointState state = ((AccessPointPreference) preference).getAccessPointState(); - showAccessPointDialog(state, AccessPointDialog.MODE_INFO); + private void showDialog(AccessPoint accessPoint, boolean edit) { + if (mDialog != null) { + mDialog.dismiss(); } - - return false; + mDialog = new WifiDialog(this, this, accessPoint, edit); + mDialog.show(); } - //============================ - // Wifi-related - //============================ - - public WifiLayer getWifiLayer() { - return mWifiLayer; + private boolean requireKeyStore(WifiConfiguration config) { + if (WifiDialog.requireKeyStore(config) && + KeyStore.getInstance().test() != KeyStore.NO_ERROR) { + mKeyStoreNetworkId = config.networkId; + Credentials.getInstance().unlock(this); + return true; + } + return false; } - private void showAddOtherNetworkDialog() { - AccessPointDialog dialog = new AccessPointDialog(this, mWifiLayer); - dialog.setState(new AccessPointState(this)); - dialog.setMode(AccessPointDialog.MODE_CONFIGURE); - dialog.setTitle(R.string.wifi_add_other_network); - dialog.setAutoSecurityAllowed(false); - mResumeMode = AccessPointDialog.MODE_CONFIGURE; - showDialog(dialog); + private void forget(int networkId) { + mWifiManager.removeNetwork(networkId); + saveNetworks(); } - public void showAccessPointDialog(AccessPointState state, int mode) { - if (state.isEnterprise() && mKeyStore.test() != KeyStore.NO_ERROR) { - Credentials.getInstance().unlock(this); - mResumeState = state; - mResumeMode = mode; + private void connect(int networkId) { + if (networkId == -1) { return; } - AccessPointDialog dialog = new AccessPointDialog(this, mWifiLayer); - dialog.setMode(mode); - dialog.setState(state); - showDialog(dialog); - } - private void showDialog(Dialog dialog) { - // Have only one dialog open at a time - if (mDialog != null) { - mDialog.dismiss(); + // Reset the priority of each network if it goes too high. + if (mLastPriority > 1000000) { + for (int i = mAccessPoints.getPreferenceCount() - 1; i >= 0; --i) { + AccessPoint accessPoint = (AccessPoint) mAccessPoints.getPreference(i); + if (accessPoint.networkId != -1) { + WifiConfiguration config = new WifiConfiguration(); + config.networkId = accessPoint.networkId; + config.priority = 0; + mWifiManager.updateNetwork(config); + } + } + mLastPriority = 0; } - mDialog = dialog; - if (dialog != null) { - dialog.setOnDismissListener(this); - dialog.show(); - } + // Set to the highest priority and save the configuration. + WifiConfiguration config = new WifiConfiguration(); + config.networkId = networkId; + config.priority = ++mLastPriority; + mWifiManager.updateNetwork(config); + saveNetworks(); + + // Connect to network by disabling others. + mWifiManager.enableNetwork(networkId, true); + mWifiManager.reconnect(); + mResetNetworks = true; } - //============================ - // Wifi callbacks - //============================ - - public void onError(int messageResId) { - Toast.makeText(this, messageResId, Toast.LENGTH_LONG).show(); + private void enableNetworks() { + for (int i = mAccessPoints.getPreferenceCount() - 1; i >= 0; --i) { + WifiConfiguration config = ((AccessPoint) mAccessPoints.getPreference(i)).getConfig(); + if (config != null && config.status != Status.ENABLED) { + mWifiManager.enableNetwork(config.networkId, false); + } + } + mResetNetworks = false; } - public void onScanningStatusChanged(boolean started) { - mApCategory.setProgress(started); + private void saveNetworks() { + // Always save the configuration with all networks enabled. + enableNetworks(); + mWifiManager.saveConfiguration(); + updateAccessPoints(); } - public void onAccessPointSetChanged(AccessPointState ap, boolean added) { + private void updateAccessPoints() { + List<AccessPoint> accessPoints = new ArrayList<AccessPoint>(); - AccessPointPreference pref = mAps.get(ap); + List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks(); + if (configs != null) { + mLastPriority = 0; + for (WifiConfiguration config : configs) { + if (config.priority > mLastPriority) { + mLastPriority = config.priority; + } - if (WifiLayer.LOGV) { - Log.v(TAG, "onAccessPointSetChanged with " + ap + " and " - + (added ? "added" : "removed") + ", found pref " + pref); + // Shift the status to make enableNetworks() more efficient. + if (config.status == Status.CURRENT) { + config.status = Status.ENABLED; + } else if (mResetNetworks && config.status == Status.DISABLED) { + config.status = Status.CURRENT; + } + + AccessPoint accessPoint = new AccessPoint(this, config); + accessPoint.update(mLastInfo, mLastState); + accessPoints.add(accessPoint); + } } - if (added) { + List<ScanResult> results = mWifiManager.getScanResults(); + if (results != null) { + for (ScanResult result : results) { + // Ignore hidden and ad-hoc networks. + if (result.SSID == null || result.SSID.length() == 0 || + result.capabilities.contains("[IBSS]")) { + continue; + } - if (pref == null) { - pref = new AccessPointPreference(this, ap); - mAps.put(ap, pref); - } else { - pref.setEnabled(true); + boolean found = false; + for (AccessPoint accessPoint : accessPoints) { + if (accessPoint.update(result)) { + found = true; + } + } + if (!found) { + accessPoints.add(new AccessPoint(this, result)); + } } + } - mApCategory.addPreference(pref); + mAccessPoints.removeAll(); + for (AccessPoint accessPoint : accessPoints) { + mAccessPoints.addPreference(accessPoint); + } + } + private void handleEvent(Intent intent) { + String action = intent.getAction(); + if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) { + updateWifiState(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, + WifiManager.WIFI_STATE_UNKNOWN)); + } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) { + updateAccessPoints(); + } else if (WifiManager.NETWORK_IDS_CHANGED_ACTION.equals(action)) { + if (mSelected != null && mSelected.networkId != -1) { + mSelected = null; + } + updateAccessPoints(); + } else if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(action)) { + updateConnectionState(WifiInfo.getDetailedStateOf((SupplicantState) + intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE))); + } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) { + updateConnectionState(((NetworkInfo) intent.getParcelableExtra( + WifiManager.EXTRA_NETWORK_INFO)).getDetailedState()); + } else if (WifiManager.RSSI_CHANGED_ACTION.equals(action)) { + updateConnectionState(null); + } + } + + private void updateConnectionState(DetailedState state) { + /* sticky broadcasts can call this when wifi is disabled */ + if (!mWifiManager.isWifiEnabled()) { + mScanner.pause(); + return; + } + + if (state == DetailedState.OBTAINING_IPADDR) { + mScanner.pause(); } else { + mScanner.resume(); + } - mAps.remove(ap); + mLastInfo = mWifiManager.getConnectionInfo(); + if (state != null) { + mLastState = state; + } - if (pref != null) { - mApCategory.removePreference(pref); - } + for (int i = mAccessPoints.getPreferenceCount() - 1; i >= 0; --i) { + ((AccessPoint) mAccessPoints.getPreference(i)).update(mLastInfo, mLastState); + } + if (mResetNetworks && (state == DetailedState.CONNECTED || + state == DetailedState.DISCONNECTED || state == DetailedState.FAILED)) { + updateAccessPoints(); + enableNetworks(); } } - public void onAccessPointsStateChanged(boolean enabled) { - if (enabled) { - mApCategory.setEnabled(true); + private void updateWifiState(int state) { + if (state == WifiManager.WIFI_STATE_ENABLED) { + mScanner.resume(); + updateAccessPoints(); } else { - mApCategory.removeAll(); - mAps.clear(); + mScanner.pause(); + mAccessPoints.removeAll(); } - - mAddOtherNetwork.setEnabled(enabled); } - public void onRetryPassword(AccessPointState ap) { + private class Scanner extends Handler { + private int mRetry = 0; - if ((mDialog != null) && mDialog.isShowing()) { - // If we're already showing a dialog, ignore this request - return; + void resume() { + if (!hasMessages(0)) { + sendEmptyMessage(0); + } } - showAccessPointDialog(ap, AccessPointDialog.MODE_RETRY_PASSWORD); - } + void pause() { + mRetry = 0; + mAccessPoints.setProgress(false); + removeMessages(0); + } + @Override + public void handleMessage(Message message) { + if (mWifiManager.startScanActive()) { + mRetry = 0; + } else if (++mRetry >= 3) { + mRetry = 0; + Toast.makeText(WifiSettings.this, R.string.wifi_fail_to_scan, + Toast.LENGTH_LONG).show(); + return; + } + mAccessPoints.setProgress(mRetry != 0); + sendEmptyMessageDelayed(0, 6000); + } + } } diff --git a/src/com/android/settings/wifi/WifiStatus.java b/src/com/android/settings/wifi/WifiStatus.java deleted file mode 100644 index e10ab8d..0000000 --- a/src/com/android/settings/wifi/WifiStatus.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.wifi; - -import com.android.settings.R; - -import android.content.Context; -import android.net.NetworkInfo; -import android.text.TextUtils; - -public class WifiStatus { - public static String getStatus(Context context, String ssid, - NetworkInfo.DetailedState detailedState) { - - if (!TextUtils.isEmpty(ssid) && isLiveConnection(detailedState)) { - return getPrintableFragment(context, detailedState, ssid); - } else { - return getPrintable(context, detailedState); - } - } - - public static boolean isLiveConnection(NetworkInfo.DetailedState detailedState) { - return detailedState != NetworkInfo.DetailedState.DISCONNECTED - && detailedState != NetworkInfo.DetailedState.FAILED - && detailedState != NetworkInfo.DetailedState.IDLE - && detailedState != NetworkInfo.DetailedState.SCANNING; - } - - public static String getPrintable(Context context, - NetworkInfo.DetailedState detailedState) { - - switch (detailedState) { - case AUTHENTICATING: - return context.getString(R.string.status_authenticating); - case CONNECTED: - return context.getString(R.string.status_connected); - case CONNECTING: - return context.getString(R.string.status_connecting); - case DISCONNECTED: - return context.getString(R.string.status_disconnected); - case DISCONNECTING: - return context.getString(R.string.status_disconnecting); - case FAILED: - return context.getString(R.string.status_failed); - case OBTAINING_IPADDR: - return context.getString(R.string.status_obtaining_ip); - case SCANNING: - return context.getString(R.string.status_scanning); - default: - return null; - } - } - - public static String getPrintableFragment(Context context, - NetworkInfo.DetailedState detailedState, String apName) { - - String fragment = null; - switch (detailedState) { - case AUTHENTICATING: - fragment = context.getString(R.string.fragment_status_authenticating); - break; - case CONNECTED: - fragment = context.getString(R.string.fragment_status_connected); - break; - case CONNECTING: - fragment = context.getString(R.string.fragment_status_connecting); - break; - case DISCONNECTED: - fragment = context.getString(R.string.fragment_status_disconnected); - break; - case DISCONNECTING: - fragment = context.getString(R.string.fragment_status_disconnecting); - break; - case FAILED: - fragment = context.getString(R.string.fragment_status_failed); - break; - case OBTAINING_IPADDR: - fragment = context.getString(R.string.fragment_status_obtaining_ip); - break; - case SCANNING: - fragment = context.getString(R.string.fragment_status_scanning); - break; - } - - return String.format(fragment, apName); - } - -} diff --git a/src/com/android/settings/wifi/WifiStatusTest.java b/src/com/android/settings/wifi/WifiStatusTest.java new file mode 100644 index 0000000..1b23834 --- /dev/null +++ b/src/com/android/settings/wifi/WifiStatusTest.java @@ -0,0 +1,407 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.wifi; + +import com.android.settings.R; +import android.net.wifi.ScanResult; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.DefaultHttpClient; +import java.util.List; +import android.app.Activity; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.net.NetworkInfo; +import android.net.wifi.SupplicantState; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Bundle; +import android.os.Handler; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.TextView; +import java.io.IOException; +import java.net.UnknownHostException; + + +/** + * Show the current status details of Wifi related fields + */ +public class WifiStatusTest extends Activity { + + private static final String TAG = "WifiStatusTest"; + + private Button updateButton; + private TextView mWifiState; + private TextView mNetworkState; + private TextView mSupplicantState; + private TextView mRSSI; + private TextView mBSSID; + private TextView mSSID; + private TextView mHiddenSSID; + private TextView mIPAddr; + private TextView mMACAddr; + private TextView mNetworkId; + private TextView mLinkSpeed; + private TextView mScanList; + + + private TextView mPingIpAddr; + private TextView mPingHostname; + private TextView mHttpClientTest; + private Button pingTestButton; + + private String mPingIpAddrResult; + private String mPingHostnameResult; + private String mHttpClientTestResult; + + + private WifiManager mWifiManager; + private IntentFilter mWifiStateFilter; + + + //============================ + // Activity lifecycle + //============================ + + private final BroadcastReceiver mWifiStateReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) { + handleWifiStateChanged(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, + WifiManager.WIFI_STATE_UNKNOWN)); + } else if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) { + handleNetworkStateChanged( + (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)); + } else if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) { + handleScanResultsAvailable(); + } else if (intent.getAction().equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) { + /* TODO: handle supplicant connection change later */ + } else if (intent.getAction().equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)) { + handleSupplicantStateChanged( + (SupplicantState) intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE), + intent.hasExtra(WifiManager.EXTRA_SUPPLICANT_ERROR), + intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, 0)); + } else if (intent.getAction().equals(WifiManager.RSSI_CHANGED_ACTION)) { + handleSignalChanged(intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, 0)); + } else if (intent.getAction().equals(WifiManager.NETWORK_IDS_CHANGED_ACTION)) { + /* TODO: handle network id change info later */ + } else { + Log.e(TAG, "Received an unknown Wifi Intent"); + } + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE); + + mWifiStateFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); + mWifiStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); + mWifiStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); + mWifiStateFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); + mWifiStateFilter.addAction(WifiManager.RSSI_CHANGED_ACTION); + mWifiStateFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); + + registerReceiver(mWifiStateReceiver, mWifiStateFilter); + + setContentView(R.layout.wifi_status_test); + + updateButton = (Button) findViewById(R.id.update); + updateButton.setOnClickListener(updateButtonHandler); + + mWifiState = (TextView) findViewById(R.id.wifi_state); + mNetworkState = (TextView) findViewById(R.id.network_state); + mSupplicantState = (TextView) findViewById(R.id.supplicant_state); + mRSSI = (TextView) findViewById(R.id.rssi); + mBSSID = (TextView) findViewById(R.id.bssid); + mSSID = (TextView) findViewById(R.id.ssid); + mHiddenSSID = (TextView) findViewById(R.id.hidden_ssid); + mIPAddr = (TextView) findViewById(R.id.ipaddr); + mMACAddr = (TextView) findViewById(R.id.macaddr); + mNetworkId = (TextView) findViewById(R.id.networkid); + mLinkSpeed = (TextView) findViewById(R.id.link_speed); + mScanList = (TextView) findViewById(R.id.scan_list); + + + mPingIpAddr = (TextView) findViewById(R.id.pingIpAddr); + mPingHostname = (TextView) findViewById(R.id.pingHostname); + mHttpClientTest = (TextView) findViewById(R.id.httpClientTest); + + pingTestButton = (Button) findViewById(R.id.ping_test); + pingTestButton.setOnClickListener(mPingButtonHandler); + } + + @Override + protected void onResume() { + super.onResume(); + registerReceiver(mWifiStateReceiver, mWifiStateFilter); + } + + @Override + protected void onPause() { + super.onPause(); + unregisterReceiver(mWifiStateReceiver); + } + + OnClickListener mPingButtonHandler = new OnClickListener() { + public void onClick(View v) { + updatePingState(); + } + }; + + OnClickListener updateButtonHandler = new OnClickListener() { + public void onClick(View v) { + final WifiInfo wifiInfo = mWifiManager.getConnectionInfo(); + + setWifiStateText(mWifiManager.getWifiState()); + mBSSID.setText(wifiInfo.getBSSID()); + mHiddenSSID.setText(String.valueOf(wifiInfo.getHiddenSSID())); + int ipAddr = wifiInfo.getIpAddress(); + StringBuffer ipBuf = new StringBuffer(); + ipBuf.append(ipAddr & 0xff).append('.'). + append((ipAddr >>>= 8) & 0xff).append('.'). + append((ipAddr >>>= 8) & 0xff).append('.'). + append((ipAddr >>>= 8) & 0xff); + + mIPAddr.setText(ipBuf); + mLinkSpeed.setText(String.valueOf(wifiInfo.getLinkSpeed())+" Mbps"); + mMACAddr.setText(wifiInfo.getMacAddress()); + mNetworkId.setText(String.valueOf(wifiInfo.getNetworkId())); + mRSSI.setText(String.valueOf(wifiInfo.getRssi())); + mSSID.setText(wifiInfo.getSSID()); + + SupplicantState supplicantState = wifiInfo.getSupplicantState(); + setSupplicantStateText(supplicantState); + } + }; + + private void setSupplicantStateText(SupplicantState supplicantState) { + if(SupplicantState.FOUR_WAY_HANDSHAKE.equals(supplicantState)) { + mSupplicantState.setText("FOUR WAY HANDSHAKE"); + } else if(SupplicantState.ASSOCIATED.equals(supplicantState)) { + mSupplicantState.setText("ASSOCIATED"); + } else if(SupplicantState.ASSOCIATING.equals(supplicantState)) { + mSupplicantState.setText("ASSOCIATING"); + } else if(SupplicantState.COMPLETED.equals(supplicantState)) { + mSupplicantState.setText("COMPLETED"); + } else if(SupplicantState.DISCONNECTED.equals(supplicantState)) { + mSupplicantState.setText("DISCONNECTED"); + } else if(SupplicantState.DORMANT.equals(supplicantState)) { + mSupplicantState.setText("DORMANT"); + } else if(SupplicantState.GROUP_HANDSHAKE.equals(supplicantState)) { + mSupplicantState.setText("GROUP HANDSHAKE"); + } else if(SupplicantState.INACTIVE.equals(supplicantState)) { + mSupplicantState.setText("INACTIVE"); + } else if(SupplicantState.INVALID.equals(supplicantState)) { + mSupplicantState.setText("INVALID"); + } else if(SupplicantState.SCANNING.equals(supplicantState)) { + mSupplicantState.setText("SCANNING"); + } else if(SupplicantState.UNINITIALIZED.equals(supplicantState)) { + mSupplicantState.setText("UNINITIALIZED"); + } else { + mSupplicantState.setText("BAD"); + Log.e(TAG, "supplicant state is bad"); + } + } + + private void setWifiStateText(int wifiState) { + String wifiStateString; + switch(wifiState) { + case WifiManager.WIFI_STATE_DISABLING: + wifiStateString = getString(R.string.wifi_state_disabling); + break; + case WifiManager.WIFI_STATE_DISABLED: + wifiStateString = getString(R.string.wifi_state_disabled); + break; + case WifiManager.WIFI_STATE_ENABLING: + wifiStateString = getString(R.string.wifi_state_enabling); + break; + case WifiManager.WIFI_STATE_ENABLED: + wifiStateString = getString(R.string.wifi_state_enabled); + break; + case WifiManager.WIFI_STATE_UNKNOWN: + wifiStateString = getString(R.string.wifi_state_unknown); + break; + default: + wifiStateString = "BAD"; + Log.e(TAG, "wifi state is bad"); + break; + } + + mWifiState.setText(wifiStateString); + } + + private void handleSignalChanged(int rssi) { + mRSSI.setText(String.valueOf(rssi)); + } + + private void handleWifiStateChanged(int wifiState) { + setWifiStateText(wifiState); + } + + private void handleScanResultsAvailable() { + List<ScanResult> list = mWifiManager.getScanResults(); + + StringBuffer scanList = new StringBuffer(); + if (list != null) { + for (int i = list.size() - 1; i >= 0; i--) { + final ScanResult scanResult = list.get(i); + + if (scanResult == null) { + continue; + } + + if (TextUtils.isEmpty(scanResult.SSID)) { + continue; + } + + scanList.append(scanResult.SSID+" "); + } + } + mScanList.setText(scanList); + } + + private void handleSupplicantStateChanged(SupplicantState state, boolean hasError, int error) { + if (hasError) { + mSupplicantState.setText("ERROR AUTHENTICATING"); + } else { + setSupplicantStateText(state); + } + } + + private void handleNetworkStateChanged(NetworkInfo networkInfo) { + if (mWifiManager.isWifiEnabled()) { + String summary = Summary.get(this, mWifiManager.getConnectionInfo().getSSID(), + networkInfo.getDetailedState()); + mNetworkState.setText(summary); + } + } + + private final void updatePingState() { + final Handler handler = new Handler(); + // Set all to unknown since the threads will take a few secs to update. + mPingIpAddrResult = getResources().getString(R.string.radioInfo_unknown); + mPingHostnameResult = getResources().getString(R.string.radioInfo_unknown); + mHttpClientTestResult = getResources().getString(R.string.radioInfo_unknown); + + mPingIpAddr.setText(mPingIpAddrResult); + mPingHostname.setText(mPingHostnameResult); + mHttpClientTest.setText(mHttpClientTestResult); + + final Runnable updatePingResults = new Runnable() { + public void run() { + mPingIpAddr.setText(mPingIpAddrResult); + mPingHostname.setText(mPingHostnameResult); + mHttpClientTest.setText(mHttpClientTestResult); + } + }; + Thread ipAddrThread = new Thread() { + @Override + public void run() { + pingIpAddr(); + handler.post(updatePingResults); + } + }; + ipAddrThread.start(); + + Thread hostnameThread = new Thread() { + @Override + public void run() { + pingHostname(); + handler.post(updatePingResults); + } + }; + hostnameThread.start(); + + Thread httpClientThread = new Thread() { + @Override + public void run() { + httpClientTest(); + handler.post(updatePingResults); + } + }; + httpClientThread.start(); + } + + /** + * The ping functions have been borrowed from Radio diagnostic app to + * enable quick access on the wifi status screen + */ + private final void pingIpAddr() { + try { + // TODO: Hardcoded for now, make it UI configurable + String ipAddress = "74.125.47.104"; + Process p = Runtime.getRuntime().exec("ping -c 1 -w 100 " + ipAddress); + int status = p.waitFor(); + if (status == 0) { + mPingIpAddrResult = "Pass"; + } else { + mPingIpAddrResult = "Fail: IP addr not reachable"; + } + } catch (IOException e) { + mPingIpAddrResult = "Fail: IOException"; + } catch (InterruptedException e) { + mPingIpAddrResult = "Fail: InterruptedException"; + } + } + + private final void pingHostname() { + try { + // TODO: Hardcoded for now, make it UI configurable + Process p = Runtime.getRuntime().exec("ping -c 1 -w 100 www.google.com"); + int status = p.waitFor(); + if (status == 0) { + mPingHostnameResult = "Pass"; + } else { + mPingHostnameResult = "Fail: Host unreachable"; + } + } catch (UnknownHostException e) { + mPingHostnameResult = "Fail: Unknown Host"; + } catch (IOException e) { + mPingHostnameResult= "Fail: IOException"; + } catch (InterruptedException e) { + mPingHostnameResult = "Fail: InterruptedException"; + } + } + + private void httpClientTest() { + HttpClient client = new DefaultHttpClient(); + try { + // TODO: Hardcoded for now, make it UI configurable + HttpGet request = new HttpGet("http://www.google.com"); + HttpResponse response = client.execute(request); + if (response.getStatusLine().getStatusCode() == 200) { + mHttpClientTestResult = "Pass"; + } else { + mHttpClientTestResult = "Fail: Code: " + String.valueOf(response); + } + request.abort(); + } catch (IOException e) { + mHttpClientTestResult = "Fail: IOException"; + } + } + +} diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml index fe4dd95..e125128 100644 --- a/tests/AndroidManifest.xml +++ b/tests/AndroidManifest.xml @@ -18,6 +18,7 @@ package="com.android.settings.tests"> <uses-permission android:name="android.permission.BLUETOOTH" /> + <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <application> <uses-library android:name="android.test.runner" /> diff --git a/tests/res/layout/bluetooth_request_permission_test.xml b/tests/res/layout/bluetooth_request_permission_test.xml index 8bb0daa..0a5aec0 100644 --- a/tests/res/layout/bluetooth_request_permission_test.xml +++ b/tests/res/layout/bluetooth_request_permission_test.xml @@ -16,18 +16,18 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <ListView android:id="@+id/msg_container" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1" android:transcriptMode="normal"/> <LinearLayout android:orientation="horizontal" - android:layout_width="fill_parent" + android:layout_width="match_parent" android:layout_height="wrap_content" style="@android:style/ButtonBar"> @@ -37,10 +37,16 @@ android:layout_weight="1" android:text="@string/enable" /> - <Button android:id="@+id/discover" + <Button android:id="@+id/discoverable" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/discoverable" /> + + <Button android:id="@+id/scan" + android:layout_width="0dip" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/start_scan" /> </LinearLayout> </LinearLayout> diff --git a/tests/res/values-cs/strings.xml b/tests/res/values-cs/strings.xml index 835e589..6a6855f 100644 --- a/tests/res/values-cs/strings.xml +++ b/tests/res/values-cs/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Viditelné"</string> + <string name="start_scan" msgid="6035699220942169744">"Zahájit vyhledávání"</string> + <string name="stop_scan" msgid="527546916633745779">"Zastavit vyhledávání"</string> </resources> diff --git a/tests/res/values-da/strings.xml b/tests/res/values-da/strings.xml index 824db2c..f050a6d 100644 --- a/tests/res/values-da/strings.xml +++ b/tests/res/values-da/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Søgbar"</string> + <string name="start_scan" msgid="6035699220942169744">"Start scanning"</string> + <string name="stop_scan" msgid="527546916633745779">"Stop scanning"</string> </resources> diff --git a/tests/res/values-de/strings.xml b/tests/res/values-de/strings.xml index a6c4688..e6b624b 100644 --- a/tests/res/values-de/strings.xml +++ b/tests/res/values-de/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Sichtbar"</string> + <string name="start_scan" msgid="6035699220942169744">"Scan starten"</string> + <string name="stop_scan" msgid="527546916633745779">"Scan stoppen"</string> </resources> diff --git a/tests/res/values-el/strings.xml b/tests/res/values-el/strings.xml index f62e42d..58c9131 100644 --- a/tests/res/values-el/strings.xml +++ b/tests/res/values-el/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Ανιχνεύσιμο"</string> + <string name="start_scan" msgid="6035699220942169744">"Έναρξη σάρωσης"</string> + <string name="stop_scan" msgid="527546916633745779">"Διακοπή σάρωσης"</string> </resources> diff --git a/tests/res/values-es-rUS/strings.xml b/tests/res/values-es-rUS/strings.xml index 5d33eb0..9af4411 100644 --- a/tests/res/values-es-rUS/strings.xml +++ b/tests/res/values-es-rUS/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Visible"</string> + <string name="start_scan" msgid="6035699220942169744">"Comenzar lectura"</string> + <string name="stop_scan" msgid="527546916633745779">"Detener lectura"</string> </resources> diff --git a/tests/res/values-es/strings.xml b/tests/res/values-es/strings.xml index 5d33eb0..59e26f7 100644 --- a/tests/res/values-es/strings.xml +++ b/tests/res/values-es/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Visible"</string> + <string name="start_scan" msgid="6035699220942169744">"Iniciar búsqueda"</string> + <string name="stop_scan" msgid="527546916633745779">"Detener búsqueda"</string> </resources> diff --git a/tests/res/values-fr/strings.xml b/tests/res/values-fr/strings.xml index cc76bbf..35dbfd8 100644 --- a/tests/res/values-fr/strings.xml +++ b/tests/res/values-fr/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Identifiable"</string> + <string name="start_scan" msgid="6035699220942169744">"Démarrer la recherche"</string> + <string name="stop_scan" msgid="527546916633745779">"Arrêter la recherche"</string> </resources> diff --git a/tests/res/values-it/strings.xml b/tests/res/values-it/strings.xml index 86b6087..fb1516c 100644 --- a/tests/res/values-it/strings.xml +++ b/tests/res/values-it/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Rilevabile"</string> + <string name="start_scan" msgid="6035699220942169744">"Inizia scansione"</string> + <string name="stop_scan" msgid="527546916633745779">"Interrompi scansione"</string> </resources> diff --git a/tests/res/values-ja/strings.xml b/tests/res/values-ja/strings.xml index 692399e..8393110 100644 --- a/tests/res/values-ja/strings.xml +++ b/tests/res/values-ja/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"検出可能"</string> + <string name="start_scan" msgid="6035699220942169744">"スキャンを開始"</string> + <string name="stop_scan" msgid="527546916633745779">"スキャンを停止"</string> </resources> diff --git a/tests/res/values-ko/strings.xml b/tests/res/values-ko/strings.xml index 385b9b4..31516c6 100644 --- a/tests/res/values-ko/strings.xml +++ b/tests/res/values-ko/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="discoverable" msgid="3169265480789026010">"검색가능"</string> + <string name="discoverable" msgid="3169265480789026010">"검색 가능"</string> + <string name="start_scan" msgid="6035699220942169744">"검색 시작"</string> + <string name="stop_scan" msgid="527546916633745779">"검색 중지"</string> </resources> diff --git a/tests/res/values-nb/strings.xml b/tests/res/values-nb/strings.xml index cec9aff..c33b4ca 100644 --- a/tests/res/values-nb/strings.xml +++ b/tests/res/values-nb/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Synlig"</string> + <string name="start_scan" msgid="6035699220942169744">"Start skanning"</string> + <string name="stop_scan" msgid="527546916633745779">"Stopp skanning"</string> </resources> diff --git a/tests/res/values-nl/strings.xml b/tests/res/values-nl/strings.xml index d2152af..970cf8a 100644 --- a/tests/res/values-nl/strings.xml +++ b/tests/res/values-nl/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Vindbaar"</string> + <string name="start_scan" msgid="6035699220942169744">"Scan starten"</string> + <string name="stop_scan" msgid="527546916633745779">"Scan stoppen"</string> </resources> diff --git a/tests/res/values-pl/strings.xml b/tests/res/values-pl/strings.xml index 8cdfda4..151a1f3 100644 --- a/tests/res/values-pl/strings.xml +++ b/tests/res/values-pl/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Wykrywalny"</string> + <string name="start_scan" msgid="6035699220942169744">"Rozpocznij skanowanie"</string> + <string name="stop_scan" msgid="527546916633745779">"Zatrzymaj skanowanie"</string> </resources> diff --git a/tests/res/values-pt-rPT/strings.xml b/tests/res/values-pt-rPT/strings.xml index 6dc9a96..5b31f6f 100644 --- a/tests/res/values-pt-rPT/strings.xml +++ b/tests/res/values-pt-rPT/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Detectável"</string> + <string name="start_scan" msgid="6035699220942169744">"Iniciar análise"</string> + <string name="stop_scan" msgid="527546916633745779">"Parar análise"</string> </resources> diff --git a/tests/res/values-pt/strings.xml b/tests/res/values-pt/strings.xml index 6dc9a96..2db3708 100644 --- a/tests/res/values-pt/strings.xml +++ b/tests/res/values-pt/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Detectável"</string> + <string name="start_scan" msgid="6035699220942169744">"Iniciar verificação"</string> + <string name="stop_scan" msgid="527546916633745779">"Parar verificação"</string> </resources> diff --git a/tests/res/values-ru/strings.xml b/tests/res/values-ru/strings.xml index e0b5e9f..c0378b5 100644 --- a/tests/res/values-ru/strings.xml +++ b/tests/res/values-ru/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Видимый"</string> + <string name="start_scan" msgid="6035699220942169744">"Начать поиск"</string> + <string name="stop_scan" msgid="527546916633745779">"Остановить поиск"</string> </resources> diff --git a/tests/res/values-sv/strings.xml b/tests/res/values-sv/strings.xml index 8ab9e5d..0dce252 100644 --- a/tests/res/values-sv/strings.xml +++ b/tests/res/values-sv/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Synlighet"</string> + <string name="start_scan" msgid="6035699220942169744">"Starta sökning"</string> + <string name="stop_scan" msgid="527546916633745779">"Stoppa sökningen"</string> </resources> diff --git a/tests/res/values-tr/strings.xml b/tests/res/values-tr/strings.xml index 957a7ad..cd415e2 100644 --- a/tests/res/values-tr/strings.xml +++ b/tests/res/values-tr/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="discoverable" msgid="3169265480789026010">"Keşfedilebilir"</string> + <string name="start_scan" msgid="6035699220942169744">"Taramayı başlat"</string> + <string name="stop_scan" msgid="527546916633745779">"Taramayı durdur"</string> </resources> diff --git a/tests/res/values-zh-rCN/strings.xml b/tests/res/values-zh-rCN/strings.xml index 9b01b67..d17ee92 100644 --- a/tests/res/values-zh-rCN/strings.xml +++ b/tests/res/values-zh-rCN/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="discoverable" msgid="3169265480789026010">"可检测到"</string> + <string name="discoverable" msgid="3169265480789026010">"可检测性"</string> + <string name="start_scan" msgid="6035699220942169744">"开始扫描"</string> + <string name="stop_scan" msgid="527546916633745779">"停止扫描"</string> </resources> diff --git a/tests/res/values-zh-rTW/strings.xml b/tests/res/values-zh-rTW/strings.xml index 28ccde7..d570132 100644 --- a/tests/res/values-zh-rTW/strings.xml +++ b/tests/res/values-zh-rTW/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright (C) 2009 The Android Open Source Project +<!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,8 +12,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ---> + --> + <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="discoverable" msgid="3169265480789026010">"可供偵測"</string> + <string name="discoverable" msgid="3169265480789026010">"可偵測性"</string> + <string name="start_scan" msgid="6035699220942169744">"開始掃瞄"</string> + <string name="stop_scan" msgid="527546916633745779">"停止掃瞄"</string> </resources> diff --git a/tests/res/values/strings.xml b/tests/res/values/strings.xml index cd94a2d..9fb98f9 100644 --- a/tests/res/values/strings.xml +++ b/tests/res/values/strings.xml @@ -20,6 +20,8 @@ <!-- Test only. Do not translate. --> <string name="enable">Enable</string> <string name="discoverable">Discoverable</string> + <string name="start_scan">Start scan</string> + <string name="stop_scan">Stop scan</string> <string name="operator_hello">Hello Operator!</string> <string name="operator_settings_title">Operator</string> <string name="operator_settings_summary">Operator hook that can be used to start activity of choice</string> diff --git a/tests/src/com/android/settings/tests/BluetoothRequestPermissionTest.java b/tests/src/com/android/settings/tests/BluetoothRequestPermissionTest.java index 105c98e..8064e3a 100644 --- a/tests/src/com/android/settings/tests/BluetoothRequestPermissionTest.java +++ b/tests/src/com/android/settings/tests/BluetoothRequestPermissionTest.java @@ -33,7 +33,7 @@ import android.widget.ListView; public class BluetoothRequestPermissionTest extends Activity { private static final String TAG = "BluetoothRequestPermissionTest"; - + BluetoothAdapter mAdapter; private ArrayAdapter<String> mMsgAdapter; private class BtOnClickListener implements OnClickListener { @@ -48,23 +48,50 @@ public class BluetoothRequestPermissionTest extends Activity { } } + private class BtScanOnClickListener implements OnClickListener { + public void onClick(View v) { + Button scanButton = (Button) v; + if (mAdapter.isDiscovering()) { + mAdapter.cancelDiscovery(); + scanButton.setText(R.string.start_scan); + } else { + mAdapter.startDiscovery(); + scanButton.setText(R.string.stop_scan); + } + } + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.bluetooth_request_permission_test); + mAdapter = BluetoothAdapter.getDefaultAdapter(); Button enable = (Button) findViewById(R.id.enable); enable.setOnClickListener(new BtOnClickListener(true /* enable */)); - Button discover = (Button) findViewById(R.id.discover); - discover.setOnClickListener(new BtOnClickListener(false /* enable & discoverable */)); + Button discoverable = (Button) findViewById(R.id.discoverable); + discoverable.setOnClickListener(new BtOnClickListener(false /* enable & discoverable */)); + + Button scanButton = (Button) findViewById(R.id.scan); + scanButton.setOnClickListener(new BtScanOnClickListener()); + if (mAdapter.isDiscovering()) { + scanButton.setText(R.string.stop_scan); + } else { + scanButton.setText(R.string.start_scan); + } mMsgAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); ListView listView = (ListView) findViewById(R.id.msg_container); listView.setAdapter(mMsgAdapter); - registerReceiver(mReceiver, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)); + IntentFilter filter = new IntentFilter(); + filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED); + filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); + filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); + filter.addAction(BluetoothDevice.ACTION_FOUND); + registerReceiver(mReceiver, filter); addMsg("Initialized"); } @@ -113,7 +140,8 @@ public class BluetoothRequestPermissionTest extends Activity { public void onReceive(Context context, Intent intent) { if (intent == null) return; - if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) { + String action = intent.getAction(); + if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) { String stateStr = "???"; switch (intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothDevice.ERROR)) { case BluetoothAdapter.STATE_OFF: @@ -130,6 +158,13 @@ public class BluetoothRequestPermissionTest extends Activity { break; } addMsg("Bluetooth status = " + stateStr); + } else if (action.equals(BluetoothDevice.ACTION_FOUND)) { + String name = intent.getStringExtra(BluetoothDevice.EXTRA_NAME); + addMsg("Found: " + name); + } else if (action.equals(BluetoothAdapter.ACTION_DISCOVERY_STARTED)) { + addMsg("Scan started..."); + } else if (action.equals(BluetoothAdapter.ACTION_DISCOVERY_FINISHED)) { + addMsg("Scan ended"); } } }; |