From e5ce655b5c3162e19f5d3b5cdc776cc63f331e6e Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 12 Jan 2010 15:19:17 -0800 Subject: [PATCH] android-2.1_r1 snapshot --- AndroidManifest.xml | 32 +- res/layout/remember_dock_setting.xml | 24 + res/values-cs/arrays.xml | 4 +- res/values-cs/strings.xml | 30 +- res/values-da/arrays.xml | 4 +- res/values-da/strings.xml | 390 ++++++------- res/values-de/strings.xml | 42 +- res/values-el/arrays.xml | 19 +- res/values-el/strings.xml | 16 +- res/values-es-rUS/strings.xml | 48 +- res/values-es/arrays.xml | 4 +- res/values-es/strings.xml | 44 +- res/values-fr/arrays.xml | 2 +- res/values-fr/strings.xml | 68 ++- res/values-it/strings.xml | 36 +- res/values-ja/strings.xml | 78 +-- res/values-ko/arrays.xml | 4 +- res/values-ko/strings.xml | 74 +-- res/values-nb/strings.xml | 16 +- res/values-nl/arrays.xml | 19 +- res/values-nl/strings.xml | 119 ++-- res/values-pl/arrays.xml | 2 +- res/values-pl/strings.xml | 28 +- res/values-pt-rPT/strings.xml | 35 +- res/values-pt/strings.xml | 63 ++- res/values-ru/arrays.xml | 8 +- res/values-ru/strings.xml | 172 +++--- res/values-sv/strings.xml | 36 +- res/values-tr/arrays.xml | 2 +- res/values-tr/strings.xml | 32 +- res/values-zh-rCN/arrays.xml | 4 +- res/values-zh-rCN/strings.xml | 138 ++--- res/values-zh-rTW/strings.xml | 18 +- res/values/bools.xml | 23 + res/values/strings.xml | 23 +- res/xml/sound_and_display_settings.xml | 64 ++- src/com/android/settings/ActivityPicker.java | 62 ++- .../android/settings/ManageApplications.java | 9 +- .../settings/SoundAndDisplaySettings.java | 151 +++-- .../bluetooth/BluetoothEventRedirector.java | 48 +- .../settings/bluetooth/BluetoothSettings.java | 7 +- .../bluetooth/CachedBluetoothDevice.java | 128 +++-- .../CachedBluetoothDeviceManager.java | 6 +- .../settings/bluetooth/DockEventReceiver.java | 113 ++++ .../settings/bluetooth/DockService.java | 527 ++++++++++++++++++ .../bluetooth/LocalBluetoothManager.java | 23 + .../LocalBluetoothProfileManager.java | 58 +- tests/res/values-cs/strings.xml | 19 + tests/res/values-da/strings.xml | 19 + tests/res/values-de/strings.xml | 19 + tests/res/values-el/strings.xml | 19 + tests/res/values-es-rUS/strings.xml | 19 + tests/res/values-es/strings.xml | 19 + tests/res/values-fr/strings.xml | 19 + tests/res/values-it/strings.xml | 19 + tests/res/values-ja/strings.xml | 19 + tests/res/values-ko/strings.xml | 19 + tests/res/values-nb/strings.xml | 19 + tests/res/values-nl/strings.xml | 19 + tests/res/values-pl/strings.xml | 19 + tests/res/values-pt-rPT/strings.xml | 19 + tests/res/values-pt/strings.xml | 19 + tests/res/values-ru/strings.xml | 19 + tests/res/values-sv/strings.xml | 19 + tests/res/values-tr/strings.xml | 19 + tests/res/values-zh-rCN/strings.xml | 19 + tests/res/values-zh-rTW/strings.xml | 19 + 67 files changed, 2396 insertions(+), 837 deletions(-) create mode 100644 res/layout/remember_dock_setting.xml create mode 100644 res/values/bools.xml create mode 100644 src/com/android/settings/bluetooth/DockEventReceiver.java create mode 100644 src/com/android/settings/bluetooth/DockService.java create mode 100644 tests/res/values-cs/strings.xml create mode 100644 tests/res/values-da/strings.xml create mode 100644 tests/res/values-de/strings.xml create mode 100644 tests/res/values-el/strings.xml create mode 100644 tests/res/values-es-rUS/strings.xml create mode 100644 tests/res/values-es/strings.xml create mode 100644 tests/res/values-fr/strings.xml create mode 100644 tests/res/values-it/strings.xml create mode 100644 tests/res/values-ja/strings.xml create mode 100644 tests/res/values-ko/strings.xml create mode 100644 tests/res/values-nb/strings.xml create mode 100644 tests/res/values-nl/strings.xml create mode 100644 tests/res/values-pl/strings.xml create mode 100644 tests/res/values-pt-rPT/strings.xml create mode 100644 tests/res/values-pt/strings.xml create mode 100644 tests/res/values-ru/strings.xml create mode 100644 tests/res/values-sv/strings.xml create mode 100644 tests/res/values-tr/strings.xml create mode 100644 tests/res/values-zh-rCN/strings.xml create mode 100644 tests/res/values-zh-rTW/strings.xml diff --git a/AndroidManifest.xml b/AndroidManifest.xml index fd53b958adb..b9945c5b600 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -65,7 +65,7 @@ - @@ -175,7 +175,7 @@ - + @@ -195,7 +195,7 @@ - @@ -283,7 +283,7 @@ - + @@ -303,7 +303,7 @@ - + - + - - - @@ -444,7 +444,7 @@ - @@ -453,7 +453,7 @@ - + @@ -488,6 +488,16 @@ + + + + + + + + + + + + diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml index b92df048891..b2ccbfc4b69 100644 --- a/res/values-cs/arrays.xml +++ b/res/values-cs/arrays.xml @@ -44,9 +44,9 @@ "Velmi pomalá" - "Nízká" + "Pomalá" "Běžná" - "Vysoká" + "Rychlá" "Velmi rychlá" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index fe0c73d59c0..5c8913cb799 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -285,6 +285,11 @@ "Umožňuje připojení zvukového média" "Umožňuje připojení náhlavní soupravy" "Použít pro přenos souborů" + "Nastavení doku" + "Použít zvuk doku" + "Jako telefon pro hlasitý poslech" + "Pro hudbu a média" + "Zapamatovat nastavení" "WiFi" "WiFi" "Zapnout WiFi" @@ -397,12 +402,16 @@ "Při příchozím hovoru vibrovat" "Tón oznámení" "Umožňuje nastavit výchozí tón oznámení" + "Blikat kontrolkou oznámení" + "Při nových oznámeních opakovaně zablikat osvětlením trackballu" "Hlasitost příchozího hovoru" "Hlasitost oznámení" "Použije hlasitost příchozích hovorů také pro oznámení" "Zvolit vyzváněcí tón oznámení" "Hlasitost médií" "Umožňuje nastavit hlasitost hudby a videí" + "Zvuk doku" + "Nastavení zvuku pro připojený dok" "Dotyky jsou provázeny zvuky" "Tlačítka číselníku jsou provázena zvuky" "Tlačítka číselníku jsou provázena zvuky" @@ -415,6 +424,8 @@ "Oznámení karty SD" "Přehrát zvuk při oznámení karty SD" "Přehrát zvuk při oznámení karty SD" + "Potlačení hluku" + "Při hovoru nebo nahrávání potlačí okolní hluk." "Účty a synchronizace" "Umožňuje přidat nebo odebrat účty a změnit jejich nastavení" "Vyhledávání" @@ -607,7 +618,7 @@ "Zrušit" "Další" "Zabezpečení telefonu" - "Vytvořte si osobní gesto odemknutí a chraňte tak svůj telefon před nepovoleným použitím. "\n\n"1""  Na dalším snímku uvidíte příklad takového gesta. "\n\n"2""  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\n"3""  Opakujte gesto a tím jej potvrďte. "\n\n"Jste připraveni začít? Dotkněte se tlačítka Další "". "\n\n"Chcete-li ponechat telefon nezabezpečený, dotkněte se tlačítka Storno." + "Vytvořte si osobní bezpečnostní gesto a chraňte tak svůj telefon před nepovoleným použitím. "\n\n"1"" Příklad takového gesta uvidíte na dalším snímku. "\n\n"2"" 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\n"3"" Gesto zopakujte a tím jej potvrďte. "\n\n"Jste připraveni začít? Dotkněte se tlačítka Další"". "\n\n"Chcete-li ponechat telefon nezabezpečený, dotkněte se tlačítka Zrušit." "Příklad gesta" "Spojte alespoň čtyři tečky."\n" "\n"Až budete připraveni provést vlastní gesto, dotkněte se tlačítka Další." "Správa aplikací" @@ -634,7 +645,7 @@ "Vymazat data" "Odinstalovat aktualizace" "Aplikace byla nastavena, aby se pro některé akce spouštěla jako výchozí." - "Žádná výchozí nastavení." + "Není výchozí pro žádné akce." "Vymazat výchozí nastavení" "Neznámé" "Řadit" @@ -664,15 +675,15 @@ "Žádné aplikace třetích stran nejsou nainstalovány." "verze %1$s" "Spuštěné služby" - "Zobrazit a ovládat aktuálně spuštěné služby" + "Umožňuje zobrazit a ovládat aktuálně spuštěné služby" "Probíhá restartování" "Žádné spuštěné služby" "Zastavit službu?" - "Služba vypnuta, dokud nebude znovu spuštěna. To může mít nežádoucí vliv na chování aplikace %1$s." + "Služba zůstane vypnutá, dokud nebude znovu spuštěna. To může mít nežádoucí vliv na aplikaci %1$s." "Zastavit" "Zrušit" - "Spuštěno aplikací, zastavte dotykem" - "%1$s: spravovat dotykem" + "Spuštěno aplikací: dotykem zastavíte" + "%1$s: dotykem otevřete správu" "K dispozici: %2$s + %3$s v %1$d" "Ostatní: %2$s v %1$d" "Proces: %1$s" @@ -832,7 +843,7 @@ "Nepoužíváte-li systém GPS, vypněte jej." "Tato aplikace může nabízet nastavení pro snížení využití baterie" "%1$s od odpojení" - "Při posledním odpojení pro %1$s" + "Od posledního odpojení (%1$s)" "Využití baterie celkem" "Obnovit" "OS Android" @@ -848,7 +859,7 @@ "Výška" "Určuje rejstřík mluveného textu" "Jazyk" - "Nastavuje hlas mluveného textu odpovídající danému jazyku" + "Nastavení jazyka hlasu pro mluvený text" "Poslechnout příklad" "Přehrát krátkou ukázku syntézy řeči" "Nainstalovat hlasová data" @@ -974,6 +985,5 @@ "Zálohovat moje nastavení" "Zálohování nastavení" "Opravdu chcete zastavit zálohování svých nastavení a vymazat všechny kopie na serverech Google?" - - + "Bez názvu" diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml index 7427f2b9ddf..515bb391e0d 100644 --- a/res/values-da/arrays.xml +++ b/res/values-da/arrays.xml @@ -43,7 +43,7 @@ "30 minutter" - "Meget langsomt" + "Meget langsom" "Langsom" "Normal" "Hurtig" @@ -120,7 +120,7 @@ "Fra" "Underretning" - "Vibrer" + "Vibration" "Ingen" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 231884188b5..52d1e9feb04 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -22,7 +22,7 @@ "Slå radio fra" "Aktiver QXDM SD-log" "Deaktiver QXDM SD-log" - "Vis SIM-adressebog" + "Vis adressebog på SIM-kortet" "Vis faste opkaldsnumre" "Vis tjenesten faste opkaldsnumre" "Hent PDP-liste" @@ -33,7 +33,7 @@ "I drift" "Ude af drift" "Kun nødopkald" - "Radio slukket" + "Radioen er slukket" "Roaming" "Roamer ikke" "Ikke aktiv" @@ -95,7 +95,7 @@ "Gør enheden søgbar" "Bluetooth-enheder" "Enhedsnavn" - "Der er ikke indstillet noget navn. Kontonavn bruges" + "Der er ikke angivet noget navn. Kontonavn anvendes" "Scan efter enheder" "%1$s afbrydes." "Forbundet" @@ -106,19 +106,19 @@ "Par med denne enhed" "Parrer ..." - "Parret men ikke forbundet" + "Parret, men ikke forbundet" "håndfri/headset" - "Scanner" + "Søger" "Anmodning om Bluetooth-parring" - "Parringsanmodning" + "Anmodning om parring" "Vælg for at parre med " - "Bluetooth-enhedssamler" + "Vælger af Bluetooth-enheder" "Anmodning om Bluetooth-tilladelse" - "Et program på din telefon kræver tilladelse til at aktivere Bluetooth. Ønsker du at gøre dette?" - "Et program på din telefon kræver tilladelse til, at din telefon er synlig for andre Bluetooth-enheder i %1$d sekunder. Ønsker du at gøre dette?" - "Et program på din telefon anmoder om tilladelse til at aktivere Bluetooth, så din telefon er synlig for andre enheder i %1$d sekunder. Ønsker du at gøre dette?" + "Et program på din telefon anmoder om at aktivere Bluetooth. Ønsker du at gøre dette?" + "Et program på din telefon kræver tilladelse til, at din telefon er søgbar for andre Bluetooth-enheder i %1$d sekunder. Ønsker du at gøre dette?" + "Et program på din telefon anmoder om tilladelse til at aktivere Bluetooth, så din telefon er søgbar for andre enheder i %1$d sekunder. Ønsker du at gøre dette?" "Aktiverer Bluetooth …" - "Dato- og tidsindstillinger" + "Indstillinger for dato og tid" "1:00 pm" "13:00" "Skift tid" @@ -157,7 +157,7 @@ "Aktuelt netværk:" "Datasucceser:" "PPP modtaget:" - "GSM-tjeneste" + "GSM-tjeneste:" "Signalstyrke:" "Opkaldsstatus:" "PPP sendt:" @@ -166,7 +166,7 @@ "Telefonnummer:" "Vælg radiobånd" "Netværkstype:" - "Indstil foretrukken netværkstype:" + "Angiv den foretrukne netværkstype" "Ping-IpAdr.:" "Ping-værtsnavn(www.google.com):" "HTTP-klienttest:" @@ -176,12 +176,12 @@ "Opdater" "Opdater" "Skift DNS-kontrol" - "Indstil GSM/UMTS-bånd" + "Angiv GSM/UMTS-bånd" "Indlæser båndliste ..." "Indstil" "Mislykkedes" "Lykkedes" - "Ændringer træder i kraft, når USB-kablet er forbundet igen" + "Ændringerne træder i kraft, når USB-kablet tilsluttes igen" "Aktiver USB-masselagring" "Bytes i alt:" "Der er intet SD-kort" @@ -191,7 +191,7 @@ "SD-kortet blev fjernet, mens det stadig var i brug." "Brugte bytes:" "Scanner SD-kort efter medier ..." - "SD-kort monteret som skrivebeskyttet" + "SD-kortet er monteret som skrivebeskyttet" "Næste" "Landestandard" "Vælg dit sprog" @@ -212,53 +212,53 @@ "Aktiverer trådløse forbindelser ..." "Trådløst og netværk" "Indstillinger for trådløs og netværk" - "Administrer Wi-Fi, Bluetooth, flytilstand, mobile netværker og VPN\'er" + "Administrer Wi-Fi, Bluetooth, flytilstand, mobile netværk og VPN\'er" "Dataroaming" - "Opret forbindelse til datatjenester under roaming" - "Opret forbindelse til datatjenester under roaming" + "Opret forbindelse til datatjenester ved roaming" + "Opret forbindelse til datatjenester ved roaming" "Du har mistet dataforbindelsen, fordi du har forladt dit hjemmenetværk med dataroaming slået fra." "Slå det til" - "Tillad dataroaming? Du kan komme ud for væsentlige gebyrer for roaming." + "Tillad dataroaming? Der kan være væsentlige gebyrer for dataroaming." "Bemærk" - "Udbydervalg" + "Valg af udbyder" "Vælg en netværksudbyder" "Dato og tid" - "Indstil dato, tid, tidszone og formater" + "Angiv dato, tid, tidszone og formater" "Automatisk" - "Brug netværksleverede værdier" - "Brug netværksleverede værdier" - "Brug 24 timers format" - "Indstil tid" + "Brug værdier fra netværk" + "Brug værdier fra netværk" + "Brug 24-timers format" + "Angiv tid" "Vælg tidszone" - "Indstil dato" + "Angiv dato" "Vælg datoformat" "Sorter alfabetisk" "Sorter efter tidszone" "Placering og sikkerhed" "Indstillinger for placering og sikkerhed" - "Indstil Min placering, oplåsning af skærmen, SIM-kortlås, oplysningslagringslås" - "Indstil Min placering, oplåsning af skærmen, oplysningslagringslås" + "Angiv Min placering, oplåsning af skærmen, låsning af SIM-kort og oplysningslagring" + "Angiv Min placering, oplåsning af skærmen, oplysningslagring" "Adgangskoder" "Bluetooth" "Slå Bluetooth til" - "Bluetooth-indstillinger" - "Bluetooth-indstillinger" - "Administrer forbindelser, indstil enhedsnavn og søgbarhed" + "Indstillinger for Bluetooth" + "Indstillinger for Bluetooth" + "Administrer forbindelser, angiv enhedsnavn og søgbarhed" "Anmodning om Bluetooth-parring" "Oplysninger om Bluetooth-enhed" - \n"Indtast PIN-kode for at forbinde med \"%1$s\". (Prøv 0000 eller 1234)." - \n"Indtast adgangsnøgle for at forbinde med \"%1$s\"." + \n"Indtast PIN-kode for at parre med \"%1$s\". (Prøv 0000 eller 1234)." + \n"Indtast adgangsnøgle for at parre med \"%1$s\"." "For at parre med \"%1$s\" skal du bekræfte, at den viser adgangsnøglen: %2$s." - "%1$s"\n"ønsker at forbinde." - "Indtast %2$s på \"%1$s\" for at forbinde." + "%1$s"\n"ønsker at parre." + "Indtast %2$s på \"%1$s\" for at parre." "Par" "Undlad at parre" "Bluetooth-enhed" "Bemærk" "Der var problemer med at parre med %1$s" - "Der var problemer med at forbinde med %1$s, fordi PIN-koden eller adgangsnøglen er forkert." + "Der var problemer med at parre med %1$s, fordi PIN-koden eller adgangsnøglen er forkert." "Der kan ikke etableres kommunikation med %1$s." - "Parring afvist af %1$s." + "Parringen blev afvist af %1$s." "Der var problemer med at oprette forbindelse til %1$s." "Scan efter enheder" "Forbind" @@ -266,7 +266,7 @@ "Par, og forbind" "Ophæv parring" "Afbryd, og ophæv parring" - "Valgmuligheder ..." + "Indstillinger" "Opret forbindelse til ..." "Medier" "Telefon" @@ -282,15 +282,20 @@ "Forbundet til telefonlyd" "Forbundet til filoverførselsserver" "Ikke forbundet til filoverførselsserver" - "Brug medielyd" + "Brug til medielyd" "Brug til telefonlyd" "Brug til filoverførsel" + "Indstillinger af Dock" + "Brug dock til audio" + "Som højttalertelefon" + "Til musik og medier" + "Husk indstillinger" "Wi-Fi" "Wi-Fi" "Slå Wi-Fi til" "Wi-Fi-indstillinger" - "Wi-Fi-indstillinger" - "Opsæt og administrer trådløse adgangspunkter" + "Indstillinger for Wi-Fi" + "Konfiguration og administration af trådløse adgangspunkter" "Glem" "Status" "Hastighed" @@ -315,7 +320,7 @@ "Fejl" "Wi-Fi kunne ikke startes" "Wi-Fi kan ikke stoppes" - "Der kunne ikke scannes efter netværk" + "Der kunne ikke søges efter netværk" "Der kunne ikke oprettes forbindelse til netværket" "Netværket kunne ikke gemmes" "Forbind" @@ -340,9 +345,9 @@ "(uændret)" "Tilføj Wi-Fi-netværk" "Netværksmeddelelse" - "Underret mig, når der er et tilgængeligt åbent netværk" + "Fortæl mig, når der er et tilgængeligt åbent netværk" "Den indtastede netværksadgangskode er forkert. Prøv igen." - "Der opstod et problem med at oprette forbindelse til netværket. Prøv igen." + "Der opstod et problem ved oprettelse af forbindelse til netværket. Prøv igen." "Avanceret" "IP-indstillinger" "Gem" @@ -359,7 +364,7 @@ "Skift adgangskode" "Avanceret" "Regulatorisk domæne" - "Indstil antallet af kanaler, der skal bruges" + "Angiv det antal kanaler, der skal bruges" "Der opstod et problem med indstillingen af det regulatoriske domæne." "%1$d kanaler" "Politik for Wi-Fi-dvale" @@ -384,42 +389,48 @@ "Mislykkedes" "Lyd og visning" "Indstillinger for lyd og visning" - "Lydindstillinger" - "Indstil ringetoner, meddelelser, skærmlysstyrke" + "Indstillinger for lyd" + "Angiv ringetoner, meddelelser, skærmlysstyrke" "Lydløs" - "Alle lyde undtagen medier og alarmer er lydløse" - "Al lyd undtagen medier er lydløse" - "Telefonringetone" - "Indstil din standardringetone til indgående opkald" - "Opkaldslydstyrke" - "Indstil lydstyrke for indgående opkald og meddelelser" - "Vibrer telefon" - "Vibrer telefonen ved indgående opkald" - "Meddelelsesringetone" - "Indstil din standardmeddelelsesringetone" + "Alle lyde undtagen medier og alarmer er slået fra" + "Al lyd undtagen medier er slået fra" + "Ringetone for telefon" + "Angiv din standardringetone for indgående opkald" + "Lydstyrke for opkald" + "Angiv lydstyrke for indgående opkald og meddelelser" + "Vibration" + "Vibration ved indgående opkald" + "Ringetone for meddelelser" + "Angiv din standardringetone for meddelelser" + "Blinkende underretningslys" + "Blinkende trackball-lys gentagne gange for nye meddelelser" "Lydstyrke for indgående opkald" "Meddelelseslydstyrke" - "Brug indgående opkaldslydstyrke til meddelelser" - "Vælg meddelelsesringetone" - "Medielydstyrke" - "Indstil lydstyrke for musik og videoer" - "Hørlige touch-toner" + "Brug lydstyrke for indgående opkald til meddelelser" + "Vælg ringetone for meddelelser" + "Lydstyrke for medier" + "Angiv lydstyrke for musik og videoer" + "Dock audio" + "Lydindstillinger til den fastgjorte dock" + "Hørbare touch-toner" "Afspil toner, når nummerblokken bruges" "Afspil toner, når nummerblokken bruges" - "Lydudvalg" - "Afspil lyd, når der foretages skærmvalg" - "Afspil lyd, når der foretages skærmvalg" + "Lyd ved valg" + "Afspil lyd, når der foretages et valg på skærmen" + "Afspil lyd, når der foretages et valg på skærmen" "Feedback ved berøring" - "Vibrerer, når der trykkes på funktionstaster og ved visse interaktioner med brugergrænsefladen" - "Vibrerer, når der trykkes på funktionstaster og ved visse interaktioner med brugergrænsefladen" - "SD-kortmeddelelser" - "Afspil lyd for SD-kortmeddelelser" - "Afspil lyd for SD-kortmeddelelser" + "Vibration ved tryk på funktionstaster og ved visse interaktioner med brugergrænsefladen" + "Vibration ved tryk på funktionstaster og nogle interaktioner" + "Meddelelser om SD-kort" + "Afspil lyd for meddelelser om SD-kort" + "Afspil lyd for meddelelser om SD-kort" + "Støjdæmpning" + "Dæmp baggrundsstøj under tale og optagelse" "Konti og synkronisering" - "Tilføj eller fjern konti, og skift kontoindstillinger" + "Tilføj eller fjern konti, og skift indstillinger for konto" "Søg" - "Administrer søgeindstillinger og oversigt" - "Visningsindstillinger" + "Administrer søgeindstillinger og -oversigt" + "Indstillinger for visning" "Animation" "Vis animationer, når der åbnes og lukkes for vinduer" "Vis animationer, når der åbnes og lukkes for vinduer" @@ -432,7 +443,7 @@ "Juster forsinkelsen, inden skærmen slukkes automatisk" "Automatisk lysstyrke" "Indstillinger for lås af SIM-kort" - "Opsæt SIM-kortlås" + "Konfigurer låsning af SIM-kort" "SIM-kortlås" "Lås SIM-kort" "Kræv PIN-kode for at bruge telefonen" @@ -441,20 +452,20 @@ "PIN-kode til SIM-kort" "Lås SIM-kort" "Lås op for SIM-kortet" - "Gammel PIN-kode til SIM-kort" + "Nuværende PIN-kode til SIM-kort" "Ny PIN-kode til SIM-kort" "Indtast den nye PIN-kode igen" "PIN-kode til SIM-kort" "Forkert PIN-kode!" "PIN-koderne stemmer ikke overens." - "PIN-koden kunne ikke ændres."\n"Muligvis forkert PIN-kode." - "PIN-kode til SIM-kortet er ændret" - "SIM-kortlåsens tilstand kunne ikke ændres."\n"Det skyldes muligvis en forkert PIN-kode." + "PIN-koden kunne ikke ændres."\n"PIN-koden er muligvis forkert." + "PIN-koden til SIM-kortet er ændret" + "SIM-kortlåsens tilstand kunne ikke ændres."\n"PIN-koden er muligvis forkert." "OK" "Annuller" "Telefonstatus" "Systemopdateringer" - "Kontroller efter systemopdateringer" + "Søg efter systemopdateringer" "Firmwareversion" "Modelnummer" "Basebandversion" @@ -464,7 +475,7 @@ "Status" "Status" "Telefonnummer, signal osv." - "SD-kort og tlf.lag.plads" + "Lagerplads, SD-kort og tlf." "Indstillinger for lagerplads på SD-kort og telefon" "Demonter SD-kort, vis ledig lagerplads" "Mit telefonnummer" @@ -477,12 +488,12 @@ "Signalstyrke" "Roaming" "Netværk" - "Wi-Fi\'s MAC-adresse" + "MAC-adresse for Wi-Fi" "Bluetooth-adresse" "Utilgængelig" "Oppetid" "Opvågningstid" - "Intern telefonlagring" + "Intern lagerplads på telefonen" "SD-kort" "Ledig plads" "Plads i alt" @@ -505,8 +516,8 @@ "Adgangskode" "Server" "MMSC" - "MMS-proxy" - "MMS-port" + "Mms-proxy" + "Mms-port" "MCC" "MNC" "Godkendelsestype" @@ -522,55 +533,55 @@ "Bemærk" "Navnefeltet må ikke være tomt." "APN kan ikke være tom." - "MCC-felt skal være på 3 tal." + "MCC-feltet skal være på 3 tal." "MNC-feltet skal være på 2 eller 3 tal." "Gendanner APN-standardindstillinger" "Nulstil til standard" - "Nulstilling af APN-standardindstillinger afsluttet" - "Nulstilling af fabriksdata" + "Nulstillingen af APN-standardindstillinger er afsluttet" + "Nulstilling til fabriksdata" "Sletter alle data på telefonen" - "Dette sletter alle data fra din telefon, inklusive :"\n
  • "Din Google-konto"
  • \n
  • "System- og programdata samt indstillinger"
  • \n
  • "Downloadede programmer"
  • \n"Det sletter ikke:"\n
  • "Nuværende systemsoftware og programbundter"
  • \n
  • "SD-kortfiler, som f.eks. musik og fotos"
  • + "Dette sletter alle data fra din telefon, inklusive :"\n
  • "Din Google-konto"
  • \n
  • "System- og programdata samt indstillinger"
  • \n
  • "Downloadede programmer"
  • \n"Det sletter ikke:"\n
  • "Nuværende systemsoftware og programbundter"
  • \n
  • "Filer på SD-kortet, som f.eks. musik og fotos"
  • "Nulstil telefon" - "Slet alle dine personlige oplysninger og downloadede programmer? Denne handling kan ikke omstødes?" - "Slet alting" - "Tegn dit mønster til at låse op" - "Du skal tegne dit mønster til at låse op for at bekræfte nulstilling af telefonen." + "Slet alle dine personlige oplysninger og downloadede programmer? Denne handling kan ikke annulleres?" + "Slet alt" + "Tegn dit oplåsningsmønster" + "Du skal tegne dit oplåsningsmønster for at bekræfte, at telefonen nulstilles." "Der blev ikke foretaget nogen nulstilling, fordi tjenesten Systemoprydning ikke er tilgængelig." "Formater SD-kort." "Sletter alle data på SD-kortet" - "Denne handling sletter SD-kortet i telefonen. Du mister ALLE data på kortet!" + "Dette sletter det SD-kort, der sidder i telefonen. Du mister ALLE data på kortet!" "Formater SD-kort" - "Formater SD-kort. Dette sletter alle dine medier? Handlingen kan ikke omstødes." - "Slet alting" - "Tegn dit mønster til at låse op" - "Du skal tegne dit mønster til at låse op for at bekræfte et SD-kortformat." - "Opkaldsindstillinger" + "Vil du formatere dit SD-kort og slette alle dine medier? Handlingen kan ikke annulleres." + "Slet alt" + "Tegn dit oplåsningsmønster" + "Du skal tegne dit oplåsningsmønster for at bekræfte et SD-kortformat." + "Indstillinger for opkald" "Opsæt voicemail, viderestilling af opkald, ventende opkald, opkalds-id" "Mobilnetværk" - "Indstil valgmuligheder for roaming, netværk, APN\'er" + "Angiv indstillinger for roaming, netværk, APN\'er" "Min placering" "Brug trådløse netværk" "Se placering i programmer (som f.eks. Maps) ved hjælp af trådløse netværk" - "Placering er afgjort af Wi-Fi og/eller mobile netværk" + "Placering afgøres af Wi-Fi og/eller mobile netværk" "Brug GPS-satellitter" - "Find præcise placeringer på gadeniveau (fjern markering for at spare på batteriet)" - "Gå til gadeniveau (kræver mere batteri plus visning af himmel)" + "Præcis placering på gadeniveau (slå fra for at spare på batteriet)" + "Placering på gadeniveau (mere batterikrævende, skal bruges i det fri)" "Brug assisteret GPS" - "Brug server til at assistere GPS (fjern markering for at mindske netværksforbrug)" - "Brug server til at assistere GPS (fjern markering for at forbedre GPS-ydelsen)" + "Brug serveren til at assistere GPS (fjern markering for at mindske netværksforbrug)" + "Brug serveren til at assistere GPS (fjern markering for at forbedre GPS-ydelsen)" "Brug Min placering" "Brug Min placering til Google-søgeresultater og andre Google-tjenester" - "Tillad Google at bruge placering til forbedrede søgeresultater og andre tjenester?" - "Enig" - "Ikke enig" - "Om telefon" + "Tillad, at Google bruger placeringer til forbedring af søgeresultater og andre tjenester?" + "Accepterer" + "Accepterer ikke" + "Om telefonen" "Vis juridiske oplysninger, telefonstatus, softwareversion" "Juridiske oplysninger" "Bidragsydere" "Ophavsret" "Licens" "Vilkår og betingelser" - "Systemselvstudie" + "Selvstudie i systemet" "Lær, hvordan du bruger din telefon" "Open source-licenser" "Der er problemer med at indlæse licenserne." @@ -579,45 +590,45 @@ "Sikkerhedsoplysninger" "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." "Indlæser ..." - "Mønster til at låse skærmen op" + "Oplåsningsmønster" "Skift oplåsningsmønster" "Bekræft gemt mønster" "Beklager! Prøv igen:" - "Tegn et mønster til at låse op" + "Tegn et oplåsningsmønster" "Tryk på Menu for at få hjælp." "Slip fingeren, når du er færdig." "Forbind mindst %d punkter. Prøv igen:" - "Mønster registreret!" - "Tegn mønster igen for at bekræfte:" - "Dit nye mønster til at låse op:" + "Mønstret blev registreret!" + "Tegn mønstret igen for at bekræfte:" + "Dit nye oplåsningsmønster:" "Bekræft" "Tegn igen" "Prøv igen" "Fortsæt" - "Mønster til at låse op" + "Oplåsningsmønster" "Kræv mønster" - "Du skal tegne mønster for at låse skærmen op" + "Du skal tegne et mønster for at låse skærmen op" "Brug synligt mønster" "Brug taktil feedback" - "Mønster til at låse op" + "Angiv oplåsningsmønster" "Skift oplåsningsmønster" - "Sådan tegnes et mønster til at låse op" + "Sådan tegnes et oplåsningsmønster" "For mange forkerte forsøg!" "Prøv igen om %d sekunder." "Annuller" "Næste" "Sikring af din telefon" - "Beskyt din telefon mod uautoriseret brug ved at oprette et personligt mønster til at låse skærmen op. "\n\n"1""  På næste skærm kan du se et eksempel på, hvordan mønsteret tegnes. "\n\n"2""  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\n"3""  Tegn dit mønster igen for at bekræfte. "\n\n"Er du klar? Tryk på \"Næste\""". "\n\n"Du kan lade din telefon være ubeskyttet ved at trykke på \"Annuller\"." - "Eksempelmønster" + "Beskyt din telefon mod uautoriseret brug ved at oprette et personligt mønster til at låse skærmen op. "\n\n"1"" På næste skærm kan du se et eksempel på, hvordan mønsteret tegnes. "\n\n"2"" 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\n"3"" Tegn dit mønster igen for at bekræfte. "\n\n"Er du klar? Tryk på \"Næste\""". "\n\n"Du kan lade din telefon være ubeskyttet ved at trykke på \"Annuller\"." + "Eksempel på et mønster" "Forbind mindst fire punkter."\n" "\n"Tryk på \"Næste\", når du er klar til at tegne dit eget mønster." "Administ. programmer" "Administrer og fjern installerede programmer" "Programmer" - "Administ. programmer, opstil genveje til hurtig start" - "Programindstillinger" + "Administ. programmer, konf. genveje til hurtig start" + "Indstillinger for program" "Ukendte kilder" "Tillad installation af programmer, der ikke stammer fra Marked" - "Din telefon og dine personlige data er mere sårbare i forhold til 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." + "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." "Programoplysninger" "Lagring" "Start som standard" @@ -641,7 +652,7 @@ "Sorter efter størrelse" "Administrer plads" "Filter" - "Vælg filtervalgmuligheder" + "Vælg indstillinger for filtret" "Alle" "Overført" "Kørende" @@ -660,7 +671,7 @@ "Rydning af data til programmet mislykkedes" "Dette program kan få adgang til følgende på din telefon:" "Beregner ..." - "Pakkestørrelse kunne ikke beregnes" + "Pakkestørrelsen kunne ikke beregnes" "Du har ikke installeret nogen tredjepartsprogrammer." "version %1$s" "Kørende tjenester" @@ -668,7 +679,7 @@ "Genstarter" "Der er ingen kørende tjenester" "Stop tjeneste?" - "Denne tjeneste kører ikke, før den startes igen. Det kan have uønskede konsekvenser for programmet %1$s." + "Denne tjeneste kører ikke, før den startes igen. Det kan have uønskede konsekvenser for programmet %1$s." "Stop" "Annuller" "Startet af program: tryk for at stoppe" @@ -677,22 +688,22 @@ "Andre: %2$s i %1$d" "Proces: %1$s" "Sprog og tastatur" - "Sprog- og tastaturindstillinger" - "Indstil landestandard (land og område), tekstinput…" - "Landestandardindstilling" - "Tekstindstillinger" + "Indstillinger for sprog og tastatur" + "Angiv landestandard (sprog og område), tekstinput…" + "Indstilling af landestandard" + "Indstillinger for tekst" "Vælg landestandard" "Vælg sprog og område" "Automatisk erstatning" "Ret ord, der er stavet forkert" "Skriv aut. med stort" - "Skriv første bogstav i sætninger med stort" + "Første bogstav i en sætning skrives med stort" "Automatisk tegnsætning" "Indstillinger for fysisk tastatur" - "Tryk på mellemrumstasten to gange for at indsætte \".\"" + "Tryk på mellemrumstasten to gange for at indsætte punktum" "Synlig adgangskode" - "Vis adgangskode, mens du indtaster" - "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 %1$s. Vil du bruge denne indtastningsmetode?" + "Vis adgangskoden under indtastning" + "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 %1$s. Vil du bruge denne indtastningsmetode?" "Brugerordbog" "Brugerordbog" "Tilføj og fjern ord fra brugerordbogen" @@ -707,7 +718,7 @@ "Batterioplysninger" "Batterioversigt" "Hurtig start" - "Indstil tastaturgenveje til at starte programmer" + "Angiv tastaturgenveje til start af programmer" "Tildel program" "Ingen genvej" "Søg + %1$s" @@ -720,19 +731,19 @@ "Tekstinput" "Administrer valgmuligheder for tekstinput" "%1$s indstillinger" - "Indstillinger for skærmens tastatur" - "Enhedstastatur" + "Indstillinger for skærmtastaturet" + "Enhedens tastatur" "Indstillinger for indbygget tastatur" "Udvikling" - "Indstil valgmuligheder for programudvikling" + "Angiv indstillinger for programudvikling" "USB-fejlretning" - "Fejlretningstilstand, når USB er forbundet" - "Forbliv vågen" - "Skærmen går aldrig i dvale, når der lades op" + "Fejlretningstilstand, når USB er tilsluttet" + "Undgå dvale" + "Skærmen går ikke i dvale under opladning" "Tillad imiterede placer." - "Tillad imiterede placer." + "Tillad imiterede placeringer" "Vil du tillade USB-fejlretning?" - "USB-fejlretning er kun beregnet til udviklingsformål. Det kan bruges til at kopiere data mellem din computer og din enhed, installere programmer på din enhed uden underretning og læse logdata." + "USB-fejlretning er kun beregnet til udvikling og kan bruges til at kopiere data mellem din computer og enheden, installere programmer på enheden uden meddelelser og læse logdata." "Vælg gadget" "Vælg widget" "Detaljer for UID %d" @@ -773,24 +784,24 @@ "Brugstid" "Tilgængelighed" "Indstillinger for tilgængelighed" - "Administrer tilgængelighedsvalgmuligheder" + "Administrer indstillinger for tilgængelighed" "Tilgængelighed" "Tilgængelighedstjenester" - "Der er ingen installerede tilgængelighedstjenester." - "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 brugergrænsefladeinteraktioner. Den kommer fra programmet %1$s. Vil du aktivere denne tilgængelighedstjeneste?" + "Der er ikke installeret nogen tilgængelighedstjenester." + "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 %1$s. Vil du bruge denne tilgængelighedstjeneste?" "Deaktiver tilgængelighed?" "Batteriforbrug" - "Hvad, der har brugt batteriet" + "Hvad der har brugt batteriet" "Batteriforbrug siden afbrydelse" "Batteriforbrug siden nulstilling" "%1$s siden afbrydelse" - "Enhedsopvågningstid" + "Enhedens opvågningstid" "Wi-Fi til tiden" "Wi-Fi til tiden" "%1$s - %2$s%%" - "Batteriforbrugsoplysninger" + "Oplysninger om batteriforbrug" "Brugsdetaljer" "Juster strømforbrug" "Inkluderede pakker" @@ -799,7 +810,7 @@ "Bluetooth" "Cellestandby" "Stemmeopkald" - "Telefon er ikke aktiv" + "Telefonen er ikke aktiv" "CPU i alt" "CPU forgrund" "GPS" @@ -812,14 +823,14 @@ "Tid uden signal" "Tving til at standse" "Programoplysninger" - "Programindstillinger" - "Visningsindstillinger" - "Wi-Fi-indstillinger" - "Bluetooth-indstillinger" + "Indstillinger for program" + "Indstillinger for visning" + "Indstillinger for Wi-Fi" + "Indstillinger for Bluetooth" "Batteri brugt af stemmeopkald" "Batteri brugt, når telefon ikke er aktiv" "Batteri brugt af celleradio" - "Skift til flytilstand for at spare på strømmen i områder uden celledækning." + "Skift til flytilstand for at spare på strømmen i områder uden mobildækning." "Batteri brugt af skærmen og baglyset." "Reducer skærmens lysstyrke og/eller skærmens timeout" "Batteri brugt af Wi-Fi" @@ -830,7 +841,7 @@ "Batteri brugt af programmer, når de kører" "Stop eller afinstaller programmet" "Slå GPS fra, når den ikke bruges" - "Dette program kan muligvis tilbyde indstillinger, der mindsker batteriforbruget" + "Dette program har muligvis indstillinger, der kan mindske batteriforbruget" "%1$s siden afbrydelse" "Siden sidste afbrydelse for %1$s" "Brugstotal" @@ -838,17 +849,17 @@ "Android OS" "Medieserver" "Tekst-til-tale" - "Indstil valgmuligheder for tekst-til-tale" + "Angiv indstillinger for tekst-til-tale" "Indstillinger for tekst-til-tale" "Brug altid mine indstil." - "Nedenstående standardindstillinger tilsidesætter programindstillinger" + "Nedenstående standardindstillinger tilsidesætter programindstillingerne" "Standardindstillinger" - "Talefrekvens" - "Hastighed hvormed tekst udtales" + "Talehastighed" + "Oplæsningshastighed for tekst" "Tonehøjde" "Påvirker tonen af den talte tekst" "Sprog" - "Indstiller den sprogspecifikke stemme til talt tekst" + "Angiver det sprog, der skal bruges til oplæsning af tekst" "Lyt til et eksempel" "Afspil en kort demonstration af talesyntese" "Installer stemmedata" @@ -857,7 +868,7 @@ "Dette er et eksempel på talesyntese." "Dine indstillinger er blevet ændret. Dette er et eksempel på, hvordan de lyder." "Strømkontrol" - "Opdaterer Wi-Fi-indstilling" + "Opdaterer indstillinger for Wi-Fi" "Opdaterer Bluetooth-indstilling" "Installationsprogram til oplysninger" "VPN-indstillinger" @@ -874,9 +885,9 @@ "Nej" "Gem" "Annuller" - "Vend tilbage" + "Annuller" "Opret forbindelse til netværk" - "Afbryd forbindelsen til netværk" + "Afbryd forbindelsen til netværket" "Rediger netværk" "Slet netværk" "Du skal indtaste %s." @@ -887,13 +898,13 @@ "Er du sikker på, at du ønsker at kassere de ændringer, der er foretaget til denne profil?" "Der kunne ikke oprettes forbindelse til netværket. Ønsker du at prøve igen?" "Forbindelsen er mistet. Ønsker du at oprette forbindelse igen?" - "Servernavnet kan ikke løses. Ønsker du at kontrollere dine servernavneindstillinger?" + "Servernavnet kan ikke løses. Ønsker du at kontrollere dine indstillinger for servernavn?" "Udfordringsfejl. Ønsker du at kontrollere din hemmelige indstilling?" - "Der mangler en eller flere hemmeligheder i denne VPN-konfiguration. Ønsker du at kontrollere din hemmelige indstilling." + "Der mangler en eller flere hemmeligheder i denne VPN-konfiguration. Ønsker du at kontrollere din hemmelige indstilling?" "Det/den indtastede brugernavn eller adgangskode er forkert. Ønsker du at prøve igen?" - "Serverophængning. Brugernavnet eller adgangskoden, du indtastede, kan være forkerte. Ønsker du at prøve igen?" + "Serveren er optaget. Det indtastede brugernavn eller adgangskoden kan være forkert. Ønsker du at prøve igen?" "Serveren afbrød. Du er muligvis bag en firewall, der forhindrer dig i at oprette forbindelse til serveren. Vil du prøve igen?" - "Serverkommunikationen mislykkedes. Serveren er muligvis ikke enig i dine krypteringsindstillinger. Vil du kontrollere dine krypteringsindstillinger?" + "Serverkommunikationen mislykkedes. Serveren accepterer muligvis ikke dine krypteringsindstillinger. Vil du kontrollere dine krypteringsindstillinger?" "Tilføj VPN" "Tilføj VPN" "Tilføj %s VPN" @@ -907,57 +918,57 @@ "et VPN-navn" "\'%s\' er tilføjet" "Der er foretaget ændringer af \'%s\'" - "Indstil brugercertifikat" + "Angiv brugercertifikat" "Brugercertifikat" "et brugercertifikat" - "Indstil CA-certifikat" + "Angiv CA-certifikat" "Certifikat fra certifikatleverandør (CA)" "et CA-certifikat" - "Indstil L2TP-hemmelighed" + "Angiv L2TP-hemmelighed" "L2TP-hemmelighed" "en L2TP-hemmelighed" "kryptering" "PPTP-kryptering" - "Indstil IPsec-forhåndsdelt nøglekodning" + "Angiv IPsec-forhåndsdelt nøglekodning" "IPsec-forhåndsdelt nøglekodning" "en IPsec-forhåndsdelt nøglekodning" - "Indstil VPN-server" + "Angiv VPN-server" "VPN-server" "en VPN-server" "VPN-servernavn" "DNS-søgedomæner" "DNS-søgedomæner" "%s er indstillet" - "%s ikke indstillet" - "%s ikke indstillet (valgfrit)" + "%s er ikke angivet" + "%s er ikke angivet (valgfrit)" "Aktiver%s" "Deaktiver%s" "%s er aktiveret" "%s er deaktiveret" "VPN-indstillinger" - "Indstil og administrer Virtuelle Private Netværk (VPN\'er)" + "Konfigurer og administrer Virtuelle Private Netværk (VPN\'er)" "(uændret)" "(ikke indstillet)" "Oplysningslagring" "Brug sikre oplysninger" - "Tillad programmer at få adgang til sikre certifikater og andre oplysninger" + "Giv programmer adgang til sikre certifikater og andre oplysninger" "Indtast adgangskode" - "Indtast adgangskoden til oplysningslagring." + "Indtast adgangskoden til oplysningslagringen." "Installer fra SD-kort" "Installer krypterede certifikater fra SD-kortet" - "Indstil adgangskode" - "Indstil eller skift adgangskode til oplysningslagring" + "Angiv adgangskode" + "Angiv eller skift adgangskode til oplysningslagringen" "Ryd lager" - "Ryd oplysningslagring af alt indhold, og nulstil dens adgangskode" + "Slet al indhold i oplysningslagringen, og nulstil adgangskoden" "Er du sikker på, at du ønsker at slette alle oplysninger og nulstille adgangskoden til oplysningslagringen?" "Nuværende adgangskode:" "Ny adgangskode:" "Bekræft ny adgangskode:" - "Indstil en adgangskode til oplysningslagring (mindst 8 tegn)." + "Angiv en adgangskode til oplysningslagringen (min. 8 tegn)." "Indtast den rigtige adgangskode." "Indtast den rigtige adgangskode. Du har et forsøg mere til at indtaste den rigtige adgangskode, inden oplysningslagringen slettes." "Indtast den rigtige adgangskode. Du har %1$d forsøg mere til at indtaste den rigtige adgangskode, inden oplysningslagringen slettes." - "Adgangskoder stemmer ikke overens." + "Adgangskoderne stemmer ikke overens." "Du skal indtaste og bekræfte en adgangskode." "Indtast adgangskoden." "Adgangskoden skal indeholde mindst 8 tegn." @@ -965,15 +976,14 @@ "Oplysningslagring er aktiveret." "Oplysningslagring er deaktiveret." "Nødtone" - "Indstil adfærd, når der foretages et nødopkald" + "Angiv adfærd ved nødopkald" "Fortrolighed" - "Fortrolighedsindstillinger" + "Indstillinger for fortrolighed" "Placering" "Indstillinger" - "Personlige data" - "Sikkerhedskopier mine indstillinger" + "Personlige oplysninger" + "Sikkerhedskopier indst." "Sikkerhedskopi af indstillinger" "Er du sikker på, at du vil holde op med at sikkerhedskopiere dine indstillinger og slette alle kopier på Googles servere?" - - + "Ikke-navngivet" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index ad02d08cd41..12a9b294d52 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -208,11 +208,11 @@ "Einstellungen" "Flugmodus" "Alle drahtlosen Verbindungen deaktivieren" - "Wireless-Verbindungen werden deaktiviert..." - "Wireless-Verbindungen werden aktiviert..." + "Drahtlosverbindungen werden deaktiviert..." + "Drahtlosverbindungen werden aktiviert..." "Drahtlos und Netzwerke" "Einstellungen für Drahtlosnetzwerke" - "Wi-Fi, Bluetooth, Flugmodus, mobile Netzwerke und VPNs verwalten" + "WLAN, Bluetooth, Flugmodus, mobile Netzwerke und VPNs verwalten" "Daten-Roaming" "Bei Roaming mit Datendienst verbinden" "Bei Roaming mit Datendienst verbinden" @@ -285,12 +285,17 @@ "Für Audiosystem von Medien verwenden" "Für Audiosystem des Telefons verwenden" "Für Dateiübertragung verwenden" + "Dock-Einstellungen" + "Dock für Audio verwenden" + "Als Lautsprechertelefon" + "Für Musik und Medien" + "Einstellungen speichern" "WLAN" "WLAN" "WLAN aktivieren" "WLAN-Einstellungen" "WLAN-Einstellungen" - "Wireless-Zugangspunkte festlegen und verwalten" + "WLAN-Zugangspunkte festlegen und verwalten" "Entfernen" "Status" "Geschwindigkeit" @@ -326,7 +331,7 @@ "Anonyme Identität" "Client-Zertifikat" "CA-Zertifikat" - "Passwort für Wireless-Zugang" + "Passwort für Drahtloszugang" "WEP Hexadezimalschlüssel (0-9, A-F)" "Passwort anzeigen" "Scannen" @@ -397,12 +402,16 @@ "Vibration für eingehende Anrufe" "Benachrichtigungston" "Standard-Benachrichtigungston festlegen" + "Benachrichtigungslicht pulsieren" + "Trackball-Licht bei neuen Benachrichtigungen wiederholt pulsieren" "Lautstärke für eingehende Anrufe" "Benachrichtigungslautstärke" "Lautstärke für eingehende Anrufe für Benachrichtigungen verwenden" "Benachrichtigungston auswählen" "Medienlautstärke" "Lautstärke für Musik und Videos festlegen" + "Dock-Audio" + "Audioeinstellungen für angeschlossenen Dock" "Tastentöne" "Töne bei Telefonwahl" "Töne bei Telefonwahl" @@ -415,6 +424,8 @@ "SD-Karten-Nachricht" "Ton bei SD-Karten-Benachrichtigungen" "Ton bei SD-Karten-Benachrichtigungen" + "Geräuschunterdrückung" + "Geräusche beim Sprechen oder Aufnehmen unterdrücken" "Konten und Synchronisierung" "Konten hinzufügen und entfernen und Kontoeinstellungen ändern" "Suchen" @@ -487,7 +498,7 @@ "Verfügbarer Speicher" "Gesamtspeicher" "SD-Karte entnehmen" - "SD-Karte vorsichtig entnehmen" + "SD-Karte sicher entfernen" "SD-Karte formatieren" "SD-Karte formatieren (löschen)" "Nicht verfügbar" @@ -549,8 +560,8 @@ "Mobile Netzwerke" "Optionen für Roaming, Netzwerke, APNs festlegen" "Mein Standort" - "Wireless nutzen" - "Standort über Wireless-Netzwerke anzeigen (z.B. in Google Maps)" + "Drahtlosnetzwerke nutzen" + "Standort über Drahtlosnetzwerke anzeigen (z.B. in Google Maps)" "Standort bestimmt von WLAN und/oder mobilen Netzwerken" "GPS-Satelliten verwenden" "Auf Straßenebene lokalisieren (deaktivieren, um Akku zu sparen)" @@ -558,8 +569,8 @@ "Unterstütztes GPS verwenden" "Server zur Unterstützung von GPS verwenden (zur Verringerung der Netzwerkauslastung nicht auswählen)" "Server zur Unterstützung von GPS verwenden (zur Verbesserung der GPS-Leistung deaktivieren)" - "Mein Standort verwenden" - "Meinen Standort für Google-Suchergebnisse und andere Google-Services verwenden" + "Meinen Standort verwenden" + "Standort für Google-Suchergebnisse und -Services verwenden" "Soll Google bessere Suchergebnisse und weitere Dienste anhand Ihres Standorts anbieten?" "Zustimmen" "Ablehnen" @@ -668,10 +679,10 @@ "Neustart wird durchgeführt." "Es werden keine Dienste ausgeführt." "Dienst anhalten?" - "Der Service wird erst wieder bei einem Neustart ausgeführt. Dies kann unerwünschte Auswirkungen auf die Anwendung %1$s haben." + "Der Service muss neu gestartet werden. Dies kann unerwünschte Auswirkungen auf die %1$s-Anwendung haben." "Anhalten" "Abbrechen" - "Von der Anwendung gestartet: Zum Beenden berühren" + "Gestartet: Zum Beenden berühren" "%1$s: Zum Verwalten berühren" "Verfügbar: %2$s+%3$s in %1$d" "Sonstige: %2$s in %1$d" @@ -697,7 +708,7 @@ "Wörterbuch des Nutzers" "Hinzufügen & Entfernen von Wörtern im Wörterbuch des Nutzers" "Hinzufügen" - "Zum Wörterbuch hinzufügen" + "Ins Wörterbuch" "Wort bearbeiten" "Bearbeiten" "Löschen" @@ -940,7 +951,7 @@ "(nicht festgelegt)" "Anmeldeinformationsspeicher" "Sichere Anmeldeinformationen verwenden" - "Anwendungen den Zugriff auf sichere Zertifikate und andere Anmeldeinformationen ermöglichen" + "Anwendungen können sichere Zertifikate und Anmeldeinformationen abrufen." "Passwort eingeben" "Geben Sie das Passwort für den Anmeldeinformationsspeicher ein." "Von SD-Karte installieren" @@ -974,6 +985,5 @@ "Meine Einstellungen sichern" "Sicherung der Einstellungen" "Möchten Sie wirklich die Sicherung Ihrer Einstellungen beenden und alle Kopien auf den Google-Servern löschen?" - - + "Unbenannt" diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml index 6ae357bd0c6..dd197b4f182 100644 --- a/res/values-el/arrays.xml +++ b/res/values-el/arrays.xml @@ -34,7 +34,14 @@ "Εμφάνιση ορισμένων εφέ κίνησης παραθύρων" "Εμφανίζονται όλα τα εφέ κίνησης παραθύρων"
    - + + "15 δευτερόλεπτα" + "30 δευτερόλεπτα" + "1 λεπτό" + "2 λεπτά" + "10 λεπτά" + "30 λεπτά" + "Πολύ αργός" "Αργός" @@ -115,8 +122,10 @@ "Προειδοποίηση" "Δόνηση" - - - - + + "Κανένας" + "PAP" + "CHAP" + "PAP ή CHAP" + diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index e95d7b6d9c4..6cc31e776d6 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -285,6 +285,11 @@ "Χρήση για ήχο πολυμέσων" "Χρήση για ήχο τηλεφώνου" "Χρήση για τη μεταφορά αρχείων" + "Ρυθμίσεις βάσης σύνδεσης αυτοκινήτου" + "Χρησιμοποιήστε τη βάση σύνδεσης αυτοκινήτου για αναπαραγωγή ήχου" + "Ως τηλέφωνο ανοιχτής συνομιλίας" + "Για μουσική και πολυμέσα" + "Διατήρηση ρυθμίσεων" "Wi-Fi" "Wi-Fi" "Ενεργοποίηση Wi-Fi" @@ -397,12 +402,16 @@ "Δόνηση τηλεφώνου για εισερχόμενες κλήσεις" "Ήχος κλήσης ειδοποίησης" "Ορισμός του προεπιλεγμένου ήχου κλήσης ειδοποίησης" + "Φωτεινός παλμός ειδοποίησης" + "Επαναλαμβανόμενος παλμός φωτεινής ένδειξης του trackball για νέες ειδοποιήσεις" "Ένταση ήχου εισερχόμενης κλήσης" "Ένταση ήχου ειδοποίησης" "Χρήση έντασης ήχου εισερχόμενης κλήσης για ειδοποιήσεις" "Επιλογή ήχου κλήσης ειδοποίησης" "Ένταση ήχου πολυμέσων" "Ορισμός έντασης ήχου για μουσική και βίντεο" + "Ήχος βάσης σύνδεσης αυτοκινήτου" + "Ρυθμίσεις ήχου για τη συνδεδεμένη βάση σύνδεσης αυτοκινήτου" "Ήχοι αγγίγματος οθόνης" "Αναπαραγωγή ήχων κατά τη χρήση του πληκτρολογίου κλήσης" "Αναπαραγωγή ήχων κατά τη χρήση του πληκτρολογίου κλήσης" @@ -415,6 +424,8 @@ "Ειδοποιήσεις κάρτας SD" "Αναπαραγωγή ήχου για τις προειδοποιήσεις κάρτας SD" "Αναπαραγωγή ήχου για τις προειδοποιήσεις κάρτας SD" + "Εξουδετέρωση θορύβου" + "Εξάλειψη θορύβου παρασκηνίου κατά τη διάρκεια ομιλίας ή εγγραφής." "Λογαριασμοί & συγχρονισμός" "Προσθήκη ή κατάργηση λογαριασμών και αλλαγή ρυθμίσεων λογαριασμού" "Αναζήτηση" @@ -668,7 +679,7 @@ "Γίνεται επανεκκίνηση" "Δεν εκτελούνται υπηρεσίες" "Διακοπή υπηρεσίας;" - "Η υπηρεσία δεν θα εκτελείται έως ότου επανεκκινηθεί. Αυτό ενδέχεται να έχει μη επιθυμητά αποτελέσματα στην εφαρμογή %1$s." + "Η υπηρεσία δεν θα εκτελείται έως ότου επανεκκινηθεί. Αυτό ενδέχεται να έχει μη επιθυμητά αποτελέσματα στην εφαρμογή %1$s." "Διακοπή" "Άκυρο" "Έγινε εκκίνηση από εφαρμογή: άγγιγμα για παύση" @@ -974,6 +985,5 @@ "Δημιουργία αντιγράφων ασφαλείας για τις ρυθμίσεις μου" "Αντίγραφο ασφαλείας ρυθμίσεων" "Είστε βέβαιοι ότι θέλετε να διακόψετε τη δημιουργία αντιγράφων ασφαλείας των ρυθμίσεών σας και να διαγράψετε όλα τα αντίγραφα από τους διακομιστές του Google;" - - + "Χωρίς τίτλο" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index e8b696bd01d..69323265399 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -210,7 +210,7 @@ "Desactivar todas las conexiones inalámbricas" "Desactivando conexiones inalámbricas…" "Activando conexiones inalámbricas…" - "Redes & inalámbricas" + "Redes inalám. y redes" "Configuración inalámbrica y de red" "Administrar Wi-Fi, Bluetooth, modo de avión, redes, móviles, & VPN" "Roaming de datos" @@ -227,14 +227,14 @@ "Automático" "Utilizar valores proporcionados por la red" "Utilizar valores proporcionados por la red" - "Usar formato de 24 horas" + "Usar formato de 24 h" "Establecer la hora" "Seleccionar zona horaria" "Establecer fecha" - "Selecc. el formato de fecha" + "Sel. el formato de fecha" "Ordenar alfabéticamente" "Ordenar por zona horaria" - "Seguridad de la & ubicación" + "Seguridad y ubicación" "Configuración de ubicación y seguridad" "Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de la tarjeta SIM, bloqueo de almacenamiento de la credencial" "Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de almacenamiento de credencial" @@ -285,6 +285,11 @@ "Utilizar para el audio de medios" "Utilizar para el audio del teléfono" "Utilizar para la transferencia de archivos" + "Configuración de la base" + "Utilizar la base para el audio" + "Como altavoz" + "Para música y medios" + "Recordar la configuración" "Wi-Fi" "Wi-Fi" "Encender Wi-Fi" @@ -395,14 +400,18 @@ "Establecer el volumen para las llamadas entrantes y notificaciones" "Vibración del teléfono" "Hacer vibrar el teléfono para las llamadas entrantes" - "Tono de llamada de notific." + "Tono de llam. de notific." "Establecer tono predeterminado de llamada de notificación" + "Impulsar la luz de notificación" + "Impulsar la luz de la bola de control reiteradamente para recibir nuevas notificaciones" "Volumen de llamada entrante" "Volumen de notificación" "Utilizar el volumen de las llamadas entrantes para las notificaciones" "Seleccionar tono de llamada de notificación" "Volumen de los medios" "Establecer volumen para la música y los videos" + "Audio de la base" + "Configuración de audio para la base adjunta" "Tonos audibles" "Reproducir tonos cuando se utilice el teclado de marcación" "Reproducir tonos cuando se utilice el teclado de marcación" @@ -415,6 +424,8 @@ "Notificac. de tarjeta SD" "Reproducir el sonido para los avisos de la tarjeta SD" "Reproducir el sonido para los avisos de la tarjeta SD" + "Cancelación por ruido" + "Eliminar ruido de fondo cuando se habla o se graba." "Cuentas y sincronización" "Agregar o eliminar cuentas, y cambiar la configuración de la cuenta" "Buscar" @@ -463,8 +474,8 @@ "No disponible" "Estado" "Estado" - "número de teléfono, señal, etc." - "Tarjeta SD y almacenamiento del teléfono" + "Número de teléfono, señal, etc." + "Tarjeta SD y almac." "Configuración de la tarjeta SD y del almacenamiento del teléfono" "Desmontar tarjeta SD, ver espacio de almacenamiento disponible" "Mi número de teléfono" @@ -527,7 +538,7 @@ "Restaurando la configuración APN predeterminada" "Reestablecer a la forma predeterminada" "Restablecimiento completado de configuración de APN predeterminada" - "Restablecim. de los datos de fábrica" + "Restabl. datos de fábrica" "Borra todos los datos del teléfono" "Todos los datos de tu teléfono serán eliminados, incluidos:"\n
  • "tu cuenta de Google"
  • \n
  • "la configuración y los datos de la aplicación y el sistema"
  • \n
  • "las aplicaciones descargadas"
  • \n"No se eliminarán:"\n
  • "el software del sistema actual y las aplicaciones en lote"
  • \n
  • "archivos de tarjeta SD, como por ejemplo, música o fotos"
  • "Restablecer el teléfono" @@ -553,13 +564,13 @@ "Ver ubicación en las aplicaciones (como Mapas) mediante redes inalámbricas" "Ubicación determinada por Wi-Fi o redes de celulares" "Utilizar satélites de GPS" - "Localizar con una precisión del nivel de calle (anular la selección para ahorrar batería)" + "Localiz. con precisión del nivel de calle (anular la sel. para ahorrar bat.)" "Localiz. a nivel de calle (nec. más batería además de la vista del cielo)" "Utilizar GPS asistido" "Utilizar el servidor para asistir el GPS (anular la selección para reducir el uso de la red)" "Utilizar el servidor para asistir el GPS (anula la selección para mejorar el rendimiento del GPS)" "Utilizar Mi ubicación" - "Utilizar Mi ubicación para los resultados de búsqueda de Google y otros servicios de Google" + "Usar Mi ubicación para los result. de búsq. de Google y otros serv. de Google" "¿Deseas permitir que Google utilice la ubicación para los resultados de búsqueda mejorada y otros servicios?" "Acepto" "No acepto" @@ -668,10 +679,10 @@ "Volver a comenzar" "Sin servicios en ejecución" "¿Deseas detener el servicio?" - "El servicio no ejecutará más hasta que comience de nuevo. Esto puede tener consecuencias no deseadas en la aplicación %1$s." + "El servicio no ejecutará más hasta que comience de nuevo. Esto puede tener consecuencias no deseadas en la aplicación %1$s." "Detener" "Cancelar" - "Comenzado por aplicación: tocar para detener" + "Comenz. aplic.: tocar para detener" "%1$s: tocar para administrar" "Disp.:%2$s+%3$s en %1$d" "Otro: %2$s en %1$d" @@ -729,7 +740,7 @@ "Modo de depuración cuando se conecta el USB" "Permanecer activo" "La pantalla nunca quedará inactiva mientras se realiza la carga" - "Permitir ubicac. de prueba" + "Permitir ubic. de prueba" "Permitir la creación de ubicaciones de prueba" "¿Permite la depuración de USB?" "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." @@ -935,12 +946,12 @@ "%s está habilitado" "%s está inhabilitada" "Configuración de VPN" - "Establecer & administrar Redes privadas virtuales (VPN)" + "Establecer y administrar Redes privadas virtuales (VPN)" "(sin cambios)" "(no establecido)" "Almacenamiento de la credencial" "Utilizar credenciales seguras" - "Permitir a las aplicaciones acceder a certificados seguros y otras credenciales" + "Permitir a las aplic. acceder a certificados seguros y otras cred." "Ingresar contraseña" "Ingresar la contraseña de almacenamiento de la credencial" "Instalar de la tarjeta SD" @@ -948,7 +959,7 @@ "Establecer contraseña" "Establecer o cambiar la contraseña de almacenamiento de la credencial" "Borrar almacenamiento" - "Borrar el almacenamiento de la credencial de todo el contenido y restablecer su contraseña" + "Borrar todo el contenido almac. en la credencial y restabl. su contraseña" "¿Estás seguro de que deseas eliminar todas las credenciales y restablecer la contraseña de almacenamiento de la credencial?" "Contraseña actual:" "Nueva contraseña:" @@ -971,9 +982,8 @@ "Ubicación" "Configuración" "Datos personales" - "Hacer una copia de seguridad de mi configuración" + "Copia de seg. de mi conf." "Copia de seguridad de configuración" "¿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?" - - + "Sin título" diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml index 2059391856e..12717de78f4 100644 --- a/res/values-es/arrays.xml +++ b/res/values-es/arrays.xml @@ -83,7 +83,7 @@ "WEP hexadecimal"
    - "Cuando la pantalla de apague" + "Cuando la pantalla se apague" "Nunca si está conectado" "Nunca" @@ -96,7 +96,7 @@ "Otro uso" - "Desde la última vez que se desconectó" + "Desde la última vez que se cargó" "Total desde inicio" "Total durante todo el tiempo" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 1ffcee889da..eeba1b82fe6 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -152,7 +152,7 @@ "Itinerancia:" "IMEI:" "Desvío de llamada:" - "Número de PPP restablecidos desde el inicio:" + "Número de PPP restablecido desde el inicio:" "Desconexión de GSM:" "Red actual:" "Datos correctos:" @@ -191,7 +191,7 @@ "La tarjeta SD se ha extraído mientras estaba en uso." "Bytes utilizados:" "Buscando medios en tarjeta SD..." - "Tarjeta SD activada en modo de sólo lectura" + "Tarjeta SD activada en modo de solo lectura" "Siguiente" "Configuración local" "Selecciona el idioma que prefieras." @@ -231,7 +231,7 @@ "Establecer hora" "Seleccionar zona horaria" "Establecer fecha" - "Seleccionar formato de fecha" + "Formato de fecha" "Ordenar alfabéticamente" "Ordenar por zona horaria" "Ubicación y seguridad" @@ -280,11 +280,16 @@ "Perfiles" "Conectado al audio del medio" "Conectado al audio del teléfono" - "Con conexión al servidor de transferencia de archivos" - "Sin conexión al servidor de transferencia de archivos" + "Conectado con el servidor de transferencia de archivos" + "Sin conexión con el servidor de transferencia de archivos" "Utilizar para audio de medio" "Utilizar para audio del teléfono" "Uso de la transferencia de archivos" + "Configuración del conector" + "Uso del conector para audio" + "Como altavoz del teléfono" + "Para música y contenido multimedia" + "Configuración de recordatorio" "Wi-Fi" "Wi-Fi" "Activar Wi-Fi" @@ -397,12 +402,16 @@ "Teléfono en vibración para llamadas entrantes" "Tono de notificación" "Establecer el tono de notificación predeterminado" + "Pulsar luz de notificación" + "Pulsar la luz de la bola de seguimiento de forma repetida para obtener nuevas notificaciones" "Volumen de llamada entrante" "Volumen de notificaciones" "Utilizar volumen de llamada entrante para notificaciones" "Seleccionar tono de notificación" "Volumen multimedia" "Establecer volumen para música y vídeos" + "Audio del conector" + "Configuración de audio del conector adjunto" "Tonos táctiles sonoros" "Reproducir tonos al utilizar teclado de marcado" "Reproducir tonos al utilizar teclado de marcado" @@ -415,9 +424,11 @@ "Notificaciones tarjeta SD" "Reproducir sonido para notificaciones de la tarjeta SD" "Reproducir sonido para notificaciones de la tarjeta SD" + "Supresión de ruido" + "Suprimir ruido de fondo al hablar o al grabar" "Cuentas y sincronización" "Añadir o eliminar cuentas y modificar la configuración de las cuentas" - "Buscar" + "Búsqueda" "Administrar historial y configuración de búsqueda" "Configuración de pantalla" "Animación" @@ -428,7 +439,7 @@ "Cambiar orientación automáticamente al girar el teléfono" "Brillo" "Ajustar el brillo de la pantalla" - "Tiempo espera pantalla" + "Tiempo de espera de la pantalla" "Ajustar el tiempo de retraso antes de que la pantalla se apague automáticamente" "Brillo automático" "Configuración de bloqueo de tarjeta SIM" @@ -527,7 +538,7 @@ "Restaurando la configuración de APN predeterminada" "Restablecer valores predeterminados" "Restablecimiento de la configuración de APN predeterminada completado" - "Rest. datos de fábrica" + "Restablecer datos de fábrica" "Borrar todos los datos del teléfono" "Se borrarán todos los datos del teléfono, incluidos los siguientes elementos:"\n
  • "tu cuenta de Google,"
  • \n
  • "la configuración y los datos de las aplicaciones y del sistema,"
  • \n
  • "las aplicaciones descargadas."
  • \n"No se borrarán los siguientes elementos:"\n
  • "las aplicaciones agrupadas y el software del sistema actual,"
  • \n
  • "los archivos de la tarjeta SD como, por ejemplo, música o fotografías."
  • "Reiniciar teléfono" @@ -572,7 +583,7 @@ "Términos y condiciones" "Tutorial del sistema" "Aprende a utilizar tu teléfono" - "Licencias de SW libre" + "Licencias de sw libre" "Se ha producido un problema al intentar cargar las licencias." "Cargando..." "Información de seguridad" @@ -668,7 +679,7 @@ "Reiniciando" "No hay servicios en ejecución." "¿Quieres detener el servicio?" - "El servicio no se ejecutará hasta que se vuelva a iniciar, lo que puede provocar consecuencias no deseadas en la aplicación %1$s." + "El servicio no se ejecutará hasta que se vuelva a iniciar, lo que puede provocar consecuencias no deseadas en la aplicación %1$s." "Detener" "Cancelar" "Iniciado por la aplicación: tocar para detener" @@ -732,7 +743,7 @@ "Ubicaciones simuladas" "Permitir ubicaciones simuladas" "¿Permitir depuración USB?" - "La depuración USB sólo está indicada para actividades de desarrollo. Se puede utilizar para intercambiar datos entre el equipo y el dispositivo, para instalar aplicaciones en el dispositivo sin recibir notificaciones y para leer datos de registro." + "La depuración USB solo está indicada para actividades de desarrollo. Se puede utilizar para intercambiar datos entre el equipo y el dispositivo, para instalar aplicaciones en el dispositivo sin recibir notificaciones y para leer datos de registro." "Seleccionar gadget" "Seleccionar widget" "Detalles del ID único %d" @@ -780,7 +791,7 @@ "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 %1$s. ¿Quieres utilizar este servicio de accesibilidad?" "¿Quieres inhabilitar la accesibilidad?" "Uso de la batería" - "Qué ha estado utilizando la batería" + "Consumo de la batería" "Uso de la batería desde que se desenchufó" "Uso de la batería desde que se restableció" "%1$s desde que se desenchufó" @@ -832,7 +843,7 @@ "Desactivar GPS cuando no se esté utilizando" "La aplicación puede incluir opciones que permitan reducir el uso de la batería." "%1$s desde que se desenchufó" - "Desde la última vez que se desenchufó para %1$s" + "Desde la última vez que se cargó: %1$s" "Total de consumo" "Actualizar" "Sistema operativo de Android" @@ -841,7 +852,7 @@ "Establecer opciones de síntesis de voz" "Configuración de síntesis de voz" "Utilizar siempre mi configuración" - "La configuración predeterminada que aparece a continuación anula la configuración de la aplicación." + "La configuración predeterminada anula la de la aplicación." "Configuración predeterminada" "Velocidad de voz" "Velocidad a la que se lee el texto" @@ -892,7 +903,7 @@ "Faltan uno o varios secretos en la configuración de esta VPN. ¿Deseas comprobar tu configuración secreta?" "El nombre de usuario o la contraseña introducidos no son correctos. ¿Quieres intentarlo de nuevo?" "El servidor se ha bloqueado. Es posible que la contraseña o el nombre de usuario introducidos sean incorrectos. ¿Deseas volver a intentarlo?" - "El servidor se ha bloqueado. Es posible que tengas activado un cortafuegos que impide la conexión al servidor. ¿Quieres volver a intentarlo?" + "El servidor se ha bloqueado. Es posible que tengas activado un cortafuegos que impide la conexión con el servidor. ¿Quieres volver a intentarlo?" "Error de negociación con el servidor. Es posible que el servidor no acepte tu opción de encriptación. ¿Quieres comprobar tus valores de configuración de la encriptación?" "Añadir VPN" "Añadir VPN" @@ -974,6 +985,5 @@ "Realizar copia de seguridad de mi configuración" "Copia de seguridad de la configuración" "¿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?" - - + "Sin título" diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml index 123bf2bd9ea..e71cc218e0b 100644 --- a/res/values-fr/arrays.xml +++ b/res/values-fr/arrays.xml @@ -32,7 +32,7 @@ "Aucune animation n\'est affichée." "Certaines animations sont affichées." - "Toutes les animations sont affichées." + "Toutes les animations sont affichées" "15 secondes" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index daafb843fb2..ec78030fd13 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -231,7 +231,7 @@ "Définir l\'heure" "Définir fuseau horaire" "Définir la date" - "Sélectionner format de date" + "Choisir format de date" "Trier par ordre alphabétique" "Trier par fuseau horaire" "Lieu et sécurité" @@ -285,6 +285,11 @@ "Utiliser pour les paramètres audio du média" "Utiliser pour les paramètres audio du téléphone" "Utiliser pour le transfert de fichiers" + "Paramètres de la base" + "Utiliser la base pour l\'audio" + "Comme téléphone à haut-parleur" + "Pour la musique et le multimédia" + "Mémoriser ces paramètres" "Wi-Fi" "Wi-Fi" "Activer le Wi-Fi" @@ -397,25 +402,31 @@ "Activer le vibreur pour les appels entrants" "Sonnerie de notification" "Définir votre sonnerie de notification par défaut" + "Faire clignoter le voyant de notification" + "Faire clignoter le voyant de la trackball à chaque notification" "Volume des appels entrants" "Volume des notifications" "Utiliser le volume des appels entrants pour les notifications" "Sélectionner une sonnerie de notification" "Volume" "Régler le volume pour la musique et les vidéos" + "Options audio de la base" + "Paramètres audio de la base associée" "Tonalité touches audible" "Activer la tonalité des touches du clavier" "Activer la tonalité des touches du clavier" "Sélections audibles" "Jouer un son lors des sélections à l\'écran" "Jouer un son lors des sélections à l\'écran" - "Commentaire haptique" + "Retour haptique" "Vibrer lors de la sélection des touches programmables et lors de certaines interactions avec l\'interface utilisateur" - "Vibrer lors de la sélection des touches programmables et lors de certaines interactions avec l\'interface utilisateur" + "Vibrer à la sélection touches progr./certaines interactions avec interface" "Notifications carte SD" "Émettre un son pour les notifications de la carte SD" "Émettre un son pour les notifications de la carte SD" - "Comptes et synchronisation" + "Suppression du bruit" + "Supprimer les bruits de fond lors d\'une discussion ou d\'un enregistrement." + "Comptes et synchro" "Ajouter ou supprimer des comptes et modifier leurs paramètres" "Recherche" "Configurer les paramètres et l\'historique de recherche" @@ -465,7 +476,7 @@ "État" "Numéro de téléphone, signal, etc." "Carte SD et mémoire" - "Carte SD et paramètres de mémoire du téléphone" + "Carte SD et paramètres mémoire du tél." "Retirer la carte SD, afficher la mémoire disponible" "Mon numéro de téléphone" "MIN" @@ -527,7 +538,7 @@ "Restauration des paramètres APN par défaut en cours" "Rétablir les paramètres par défaut" "Réinitialisation des paramètres APN par défaut terminée" - "Réinit. valeurs d\'usine" + "Restaurer valeurs d\'usine" "Effacer toutes les données du téléphone" "Toutes les données de votre téléphone vont être supprimées, en particulier :"\n
  • "votre compte Google"
  • \n
  • "les paramètres et données des applications et du système "
  • \n
  • "les applications téléchargées"
  • \n"Les éléments suivants ne seront pas supprimés :"\n
  • "les logiciels système actuels et les applications pré-installées "
  • \n
  • "les fichiers présents sur la carte SD (par ex. photos et musique)"
  • "Réinitialiser le téléphone" @@ -553,13 +564,13 @@ "Afficher position dans les applications (comme Google Maps)" "Position géographique déterminée par réseaux Wi-Fi et/ou mobile" "Utiliser les satellites GPS" - "Localisation précise au niveau de la rue lors du positionnement géographique (désélectionner pour économiser la batterie)" + "Localisation précise au niveau de la rue lors du localisation géographique (désélectionner pour économiser la batterie)" "Localiser au niveau rue (requiert + de batterie et une vue dégagée)" "Utiliser le GPS assisté" "Utiliser le serveur pour assister le GPS (désactiver pour réduire l\'utilisation du réseau)" "Utiliser le serveur pour assister le GPS (désactiver pour améliorer les performances du GPS)" "Utiliser ma position" - "Utiliser mes informations de localisation pour améliorer l\'efficacité des recherches et des autres services Google" + "Utiliser Ma position pour les recherches et autres services Google" "Souhaitez-vous autoriser Google à utiliser vos informations de localisation pour améliorer l\'efficacité des recherches et des autres services ?" "Accepter" "Refuser" @@ -580,7 +591,7 @@ "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." "Chargement…" "Schéma de déverrouillage de l\'écran" - "Modifier le schéma de déverrouillage" + "Modifier le schéma" "Confirmer le schéma enregistré" "Désolé. Merci de réessayer :" "Dessiner un schéma de déverrouillage :" @@ -595,11 +606,11 @@ "Réessayer" "Continuer" "Schéma de déverrouillage" - "Demander un schéma" + "Schéma obligatoire" "Vous devez dessiner le schéma pour déverrouiller l\'écran." - "Utiliser schéma visible" - "Commentaires tactiles" - "Créer un schéma de déverrouillage" + "Schéma visible" + "Retour tactile" + "Créer un schéma" "Modifier le schéma de déverrouillage" "Comment dessiner un schéma de déverrouillage :" "Trop de tentatives échouées !" @@ -664,15 +675,15 @@ "Aucune application tierce n\'est installée." "version %1$s" "Services en cours d\'exécution" - "Afficher et contrôler les services en cours d\'exécution" + "Afficher les services en cours d\'exécution" "Redémarrage en cours" "Aucun service en cours d\'exécution" "Arrêter le service ?" - "Le service ne sera plus exécuté tant qu\'il ne sera pas relancé. Cette configuration peut avoir des conséquences gênantes sur l\'application %1$s." + "Le service ne sera plus exécuté tant qu\'il ne sera pas relancé. Cette configuration peut avoir des conséquences gênantes sur l\'application %1$s." "Arrêter" "Annuler" - "Service démarré par l\'application : appuyez dessus pour l\'arrêter." - "%1$s : appuyez dessus pour gérer le service." + "Démarré par appl. : appuyez pr arrêter" + "%1$s : appuyez pour gérer" "Disponible : %2$s+%3$s dans %1$d" "Autres : %2$s dans %1$d" "Processus : %1$s" @@ -692,7 +703,7 @@ "Appuyez deux fois sur la touche Espace pour insérer \".\"" "Mots de passe visibles" "Afficher le mot de passe lors de la saisie" - "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 %1$s. Voulez-vous vraiment activer ce mode de saisie ?" + "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 %1$s. Voulez-vous vraiment activer ce mode de saisie ?" "Dictionnaire personnel" "Dictionnaire personnel" "Ajouter et retirer des mots du dictionnaire personnel" @@ -708,7 +719,7 @@ "Historique de la batterie" "Lancement rapide" "Configurer des raccourcis clavier pour lancer des applications" - "Affecter une application" + "Choisir une application" "Aucun raccourci" "Rechercher + %1$s" "Effacer" @@ -780,7 +791,7 @@ "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 %1$s. Utiliser ce service d\'accessibilité ?" "Désactiver les services d\'accessibilité ?" "Utilisation de la batterie" - "Répartition·de·l\'utilisation·de·la·batterie" + "Répartition de l\'utilisation de la batterie" "Utilisation de la batterie depuis le débranchement" "Utilisation de la batterie depuis la dernière réinitialisation" "Débranché depuis %1$s" @@ -826,7 +837,7 @@ "Désactiver la fonctionnalité Wi-Fi lorsque vous ne l\'utilisez pas ou lorsqu\'elle n\'est pas disponible" "Batterie utilisée par Bluetooth" "Désactivez Bluetooth lorsque vous ne l\'utilisez pas." - "Essayez·de·vous·connecter·à·un·autre·appareil·Bluetooth" + "Essayez de vous connecter à un autre appareil Bluetooth" "Batterie utilisée par les applications en cours d\'exécution" "Arrêter ou désinstaller l\'application" "Désactivez le GPS lorsque vous ne l\'utilisez pas." @@ -840,15 +851,15 @@ "SMS vocaux" "Définir les options de synthèse vocale" "Paramètres de la synthèse vocale" - "Toujours utiliser mes paramètres" - "Les paramètres par défaut ci-dessous remplacent les paramètres de l\'application." + "Tjrs utiliser mes param." + "Les param. par défaut ci-dessous remplacent les param. de l\'application" "Paramètres par défaut" "Cadence" "Vitesse à laquelle le texte est énoncé" "Ton" "Affecte le ton utilisé par la synthèse vocale" "Langue" - "Définit la langue utilisée par la syntèse vocale" + "Définit la langue utilisée par la synthèse vocale" "Écouter un échantillon" "Lire une courte démonstration de la synthèse vocale" "Installer les données vocales" @@ -939,8 +950,8 @@ "(aucune modification)" "(non défini)" "Stockage des identifiants" - "Utiliser des identifiants sécurisés" - "Autoriser l\'accès des applications aux certificats sécurisés et aux identifiants" + "Identifiants sécurisés" + "Autoriser l\'accès des applications aux certificats sécurisés et identifiants" "Saisir le mot de passe" "Saisissez le mot de passe du stockage des identifiants." "Installer depuis la carte SD" @@ -971,9 +982,8 @@ "Localisation" "Paramètres" "Données personnelles" - "Sauvegarder mes paramètres" + "Sauvegarder mes param." "Sauvegarde des paramètres" "Voulez-vous vraiment arrêter de sauvegarder vos paramètres et supprimer toutes les copies des serveurs Google ?" - - + "Sans nom" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 51f9afc8353..6f6c192bcc7 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -33,7 +33,7 @@ "In servizio" "Fuori servizio" "Solo chiamate di emergenza" - "Segnale cellulare disattivato" + "Segnale radio disattivato" "Roaming" "Non roaming" "Inattivo" @@ -285,6 +285,11 @@ "Usa per audio media" "Usa per audio telefono" "Usa per trasferimento file" + "Impostazioni dock" + "Usa dock per audio" + "Come telefono altoparlante" + "Per musica e audio media" + "Ricorda impostazioni" "Wi-Fi" "Wi-Fi" "Attiva Wi-Fi" @@ -397,12 +402,16 @@ "Vibrazione per chiamate in entrata" "Suoneria notifiche" "Imposta la suoneria di notifica predefinita" + "Luce di notifica pulsante" + "Luce trackball pulsante ripetuta in caso di nuove notifiche" "Volume chiamate in entrata" "Volume notifiche" "Usa volume chiamate in entrata per le notifiche" "Seleziona suoneria notifica" "Volume app. multimediali" "Imposta il volume di musica e video" + "Audio dock" + "Impostazioni audio per dock collegato" "Toni udibili al tocco" "Riproduci toni durante la composizione" "Riproduci toni durante la composizione" @@ -415,7 +424,9 @@ "Notifiche scheda SD" "Riproduci suono per notifiche scheda SD" "Riproduci suono per notifiche scheda SD" - "Account e sincronizzazione" + "Eliminazione rumori" + "Elimina il rumore di fondo quando parli o registri." + "Account e sincronizzaz." "Aggiungi o rimuovi account e modifica impostazioni account" "Ricerca" "Gestisci le impostazioni e la cronologia delle ricerche" @@ -668,11 +679,11 @@ "In fase di riavvio" "Nessun servizio in esecuzione" "Interrompere il servizio?" - "Il servizio non verrà più eseguito fino al riavvio. Questa operazione potrebbe avere conseguenze indesiderate sull\'applicazione %1$s." + "Il servizio non verrà più eseguito fino al riavvio. Questa operazione potrebbe avere conseguenze indesiderate sull\'applicazione %1$s." "Interrompi" "Annulla" - "Avviato dall\'applicazione: tocca per interrompere" - "%1$s: tocca per la gestione" + "Avviato dall\'applicaz.: tocca per interr." + "%1$s: tocca per gestire" "Disponibile: %2$s+%3$s in %1$d" "Altro: %2$s in %1$d" "Processo: %1$s" @@ -687,7 +698,7 @@ "Corregge le parole con errori di ortografia" "Maiuscola automatica" "Usa la maiuscola a inizio frase" - "Punteggiatura automatica" + "Punteggiat. automatica" "Impostazioni tastiera fisica" "Premi due volte la barra spaziatrice per inserire \".\"" "Password visibili" @@ -840,8 +851,8 @@ "Sintesi vocale" "Imposta opzioni testo-voce" "Impostazioni di sintesi vocale" - "Usa sempre le mie impostazioni" - "Le seguenti impostazioni predefinite hanno la priorità sulle impostazioni dell\'applicazione" + "Usa sempre mie imp." + "Le impostazioni predefinite hanno priorità sul quelle delle applicazioni" "Impostazioni predefinite" "Velocità voce" "Velocità di pronuncia del testo" @@ -939,7 +950,7 @@ "(invariato)" "(non impostato)" "Archivio credenziali" - "Usa credenziali protezione" + "Usa credenziali protez." "Consenti accesso applicazioni a certificati protezione e altre credenziali" "Inserisci password" "Inserisci la password dell\'archivio di credenziali." @@ -948,7 +959,7 @@ "Imposta password" "Imposta o modifica la password dell\'archivio di credenziali" "Cancella archivio" - "Cancella·tutti·i·contenuti·dall\'archivio·di·credenziali·e·reimposta·la·relativa·password" + "Cancella tutti I contenuti dall\'archivio di credenziali e reimposta la relativa password" "Eliminare tutte le credenziali e reimpostare la password dell\'archivio di credenziali?" "Password attuale:" "Nuova password:" @@ -971,9 +982,8 @@ "Posizione" "Impostazioni" "Dati personali" - "Backup delle mie impostazioni" + "Backup delle mie impost." "Backup impostazioni" "Interrompere il backup delle impostazioni e cancellare tutte le copie sui server Google?" - - + "Senza titolo" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 7d382f013b9..c956b9aeb2e 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -285,6 +285,11 @@ "メディアの音声に使用" "携帯電話の音声に使用" "ファイル転送に使用" + "ドックの設定" + "音声にドックを使用" + "スピーカーフォン" + "音楽とメディア" + "設定を保存" "Wi-Fi" "Wi-Fi" "Wi-FiをONにする" @@ -397,24 +402,30 @@ "着信時バイブレーションをONにする" "通知音" "端末の基本通知音を選択" + "光を点滅させて通知" + "新しい通知が届くとカーソルボタンが点滅します" "着信音量" "通知音量" "通知音にも着信音量を適用" "通知音を選択" "メディア再生音量" "音楽や動画の再生音量" + "ドックオーディオ" + "付属のドックの音声設定" "タッチ操作音" "ダイヤルパッドの操作音をONにする" "ダイヤルパッドの操作音をONにする" "選択時の操作音" "メニュー選択時の操作音をONにする" "メニュー選択時の操作音をONにする" - "入力時のバイブレーション" - "ソフトキーを押したときおよび特定のUI操作が発生したときにバイブレーションさせます" - "ソフトキーを押したときおよび特定のUI操作が発生したときにバイブレーションさせます" + "入力時バイブレーション" + "ソフトキー操作や特定のUI操作でのバイブレーションをONにする" + "ソフトキー操作や特定のUI操作でのバイブレーションをONにする" "SDカードの通知" - "SDカード通知時に音を鳴らします" - "SDカード通知時に音を鳴らします" + "SDカード通知時に音を鳴らす" + "SDカード通知時に音を鳴らす" + "ノイズキャンセル" + "通話中や録音中に周囲のノイズを抑えます。" "アカウントと同期" "アカウントの追加や削除、アカウント設定の変更を行います" "検索" @@ -487,9 +498,9 @@ "空き容量" "合計容量" "SDカードのマウント解除" - "SDカードの安全な取り外しのためマウント解除します" + "SDカードを安全に取り外すためマウントを解除する" "SDカードをフォーマット" - "SDカードをフォーマット(消去)" + "SDカードをフォーマット(消去)する" "使用不可" " (読み取り専用)" "電池の状態:" @@ -529,7 +540,7 @@ "APN設定をリセットしました" "データの初期化" "携帯電話内のすべてのデータを消去" - "この操作を行うと携帯のデータすべてが削除されます。消去されるデータには次が含まれます: "\n
  • "Googleアカウント"
  • \n
  • "システムやアプリケーションのデータと設定"
  • \n
  • "ダウンロードされたアプリケーション"
  • \n"この操作を行っても次のデータは削除されません: "\n
  • "既存のシステムソフトウェアやバンドルされているアプリケーション"
  • \n
  • "SDカードファイル(音楽や写真など)"
  • + "この操作を行うと携帯のデータすべてが削除されます。消去されるデータには次のものがあります: "\n
  • "Googleアカウント"
  • \n
  • "システムやアプリケーションのデータと設定"
  • \n
  • "ダウンロードされたアプリケーション"
  • \n"この操作を行っても次のデータは削除されません: "\n
  • "既存のシステムソフトウェアやバンドルされているアプリケーション"
  • \n
  • "SDカードファイル(音楽や写真など)"
  • "携帯電話をリセット" "個人情報とダウンロードしたアプリケーションをすべて削除しますか?この操作を元に戻すことはできません。" "すべて消去" @@ -550,7 +561,7 @@ "ローミング、ネットワーク、APN設定" "現在地" "ワイヤレスネットワークを使用" - "無線ネットワークを使用するアプリケーション(地図など)で位置を表示する" + "無線ネットワーク使用のアプリケーション(地図など)で位置を表示する" "Wi-Fi/モバイルネットワークで位置を検出する" "GPS機能を使用" "高精度測位(電池の消費を節約する場合はOFFにしてください)" @@ -580,7 +591,7 @@ "この電話はデータサービスに接続されていません。この情報を表示するにはインターネットに接続されたコンピュータから%sにアクセスしてください。" "読み込み中..." "画面ロックの解除パターン" - "パターンを変更する" + "パターンの変更" "現在のパターンを入力" "やり直してください" "ロック解除パターンを入力" @@ -595,12 +606,12 @@ "やり直す" "次へ" "ロック解除パターン" - "パターン入力必須" - "パターンを入力しないと画面ロックを解除しない" + "パターン入力が必要" + "画面ロックを解除するにはパターンの入力が必要" "指の軌跡を線で表示" - "入力時のバイブレーション" + "入力時バイブレーション" "ロック解除パターン設定" - "パターンを変更する" + "パターンの変更" "ロック解除パターンの描き方" "誤った回数が多すぎます。" "%d秒後にやり直してください。" @@ -611,7 +622,7 @@ "パターン例" "最低4つの点を結んでください。"\n" "\n"パターンを決めたら[次へ]をタップしてパターンを描画します。" "アプリケーションの管理" - "インストール済みアプリケーションを管理/削除します" + "インストール済みアプリケーションを管理/削除する" "アプリケーション" "アプリケーションの管理やクイック起動ショートカットの設定" "アプリケーション設定" @@ -620,7 +631,7 @@ "提供元不明のアプリケーションから携帯電話や個人情報データが攻撃を受ける可能性が高くなります。このようなアプリケーションの使用により生じうる携帯電話への損害やデータの損失について、お客様がすべての責任を負うことに同意するものとします。" "アプリケーション情報" "メモリ" - "いつもこのアプリケーションを選択する操作" + "デフォルトでの起動" "許可" "キャッシュ" "キャッシュを消去" @@ -634,7 +645,7 @@ "データを消去" "アップデートのアンインストール" "特定の操作で使用する既定アプリケーションとして設定されています。" - "設定されている操作はありません。" + "設定されていません。" "設定を消去" "不明" "並べ替え" @@ -658,23 +669,23 @@ "このAndroidシステムアプリケーションのすべてのアップデートをアンインストールしますか?" "データのクリア" "アプリケーションのデータをクリアできませんでした" - "このアプリケーションは下記にアクセスできます:" + "このアプリケーションは下記にアクセスする場合があります:" "計算中..." "パッケージのサイズを計算できません" "サードパーティ製アプリケーションはインストールされていません。" "バージョン%1$s" "実行中のサービス" - "現在実行中のサービスを表示して制御" + "現在実行中のサービスを表示して制御する" "再起動中" "実行中のサービスはありません" "サービスを停止しますか?" - "このサービスは、再起動するまで実行されません。アプリケーション%1$sにとって望ましくない結果になることがあります。" + "このサービスは、再起動するまで実行されません。アプリケーション%1$sにとって望ましくない結果になることがあります。" "停止" "キャンセル" "アプリケーションから起動: 停止するにはタップしてください" "%1$s: タップして管理" - "使用可能: %2$s+%3$s%1$d内)" - "その他: %2$s%1$d内)" + "空き: %2$s+%3$s%1$d)" + "その他: %2$s%1$d)" "プロセス: %1$s" "言語とキーボード" "言語とキーボードの設定" @@ -691,7 +702,7 @@ "キーボードの設定" "英語: Spaceキー2回でピリオド(.)を挿入" "パスワードを表示" - "入力時にパスワードを表示する" + "パスワード入力時に文字を表示する" "この入力方法を選択すると、入力する全文字列の収集をアプリケーション(%1$s)に許可することになります。これにはパスワードやクレジットカード番号などの個人情報も含まれます。この入力方法を使用しますか?" "ユーザー辞書" "ユーザー辞書" @@ -730,7 +741,7 @@ "スリープモードにしない" "充電中に画面をスリープにしない" "擬似ロケーションを許可" - "擬似ロケーションを許可" + "擬似ロケーションを許可する" "USBデバッグを許可しますか?" "USBデバッグは開発専用に設計されています。コンピュータと端末の間でデータをコピーする場合、アプリケーションを通知なしで端末にインストールする場合、ログ データを読み取る場合に使用できます。" "ガジェットを選択" @@ -841,18 +852,18 @@ "テキストから音声への変換オプションの設定" "テキスト読み上げの設定" "常に自分の設定を使用する" - "アプリケーション設定を下のデフォルト設定で上書きします" + "アプリケーション設定を下のデフォルト設定で上書きする" "デフォルト設定" "音声の速度" - "テキストを読み上げる速度です" + "テキストの読み上げ速度" "音の高さ" - "テキスト読み上げの音程に影響します" + "テキスト読み上げの音程を変更する" "言語" - "テキスト読み上げに使用する言語固有の音声を設定します" + "テキスト読み上げに使用する言語固有の音声を設定する" "サンプルを再生" - "音声合成の短いサンプルを再生します" + "音声合成の短いサンプルを再生する" "音声データをインストール" - "音声合成に必要な音声データをインストールします" + "音声合成に必要な音声データをインストールする" "音声合成に必要な音声は正常にインストールされています" "これは音声合成のサンプルです。" "設定が変更されました。これがサンプル音です。" @@ -935,12 +946,12 @@ "%sは有効です" "%sは無効です" "VPN設定" - "VPNを設定および管理します" + "VPNの設定と管理" "(変更なし)" "(未設定)" "認証情報ストレージ" "安全な認証情報の使用" - "安全な証明書とその他の認証情報へのアクセスをアプリケーションに許可する" + "安全な証明書と他の認証情報へのアクセスをアプリケーションに許可する" "パスワードを入力する" "認証情報ストレージパスワードを入力します。" "SDカードからインストール" @@ -974,6 +985,5 @@ "設定のバックアップ" "バックアップの設定" "設定のバックアップを停止し、Googleサーバー上のすべてのコピーを消去してもよろしいですか?" - - + "無題" diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml index 645d8d53671..f2a4f2d941c 100644 --- a/res/values-ko/arrays.xml +++ b/res/values-ko/arrays.xml @@ -32,7 +32,7 @@ "창 애니메이션이 표시되지 않습니다." "일부 창 애니메이션이 표시됩니다." - "모든 창 애니메이션이 표시됩니다." + "모든 창 애니메이션이 표시됨" "15초" @@ -57,7 +57,7 @@ "매우 높음" - "미국식 영어" + "미국 영어" "영국 영어" "프랑스어" "독일어" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index d0553e0671b..a2f7e659a91 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -193,14 +193,14 @@ "SD 카드에서 미디어 검색 중..." "SD 카드가 읽기전용으로 마운트됨" "다음" - "로케일" + "언어" "언어 선택" "활동 선택" "장치정보" "배터리 정보" "배터리 기록" "디스플레이" - "휴대폰 정보" + "휴대전화 정보" "SD 카드" "프록시 설정" "취소" @@ -232,7 +232,7 @@ "표준시간대 선택" "날짜 설정" "날짜형식 선택" - "사전순으로 정렬" + "가나다순으로 정렬" "시간대별 정렬" "장소 및 보안" "장소 및 보안 설정" @@ -269,22 +269,27 @@ "옵션..." "연결..." "미디어" - "휴대폰" + "휴대전화" "전송" "미디어 오디오에 연결됨" - "휴대폰 오디오에 연결됨" - "휴대폰 및 미디어 오디오에 연결됨" + "휴대전화 오디오에 연결됨" + "휴대전화 및 미디어 오디오에 연결됨" "%1$s 옵션" "연결" "Bluetooth 장치에 연결" "프로필" "미디어 오디오에 연결됨" - "휴대폰 오디오에 연결됨" + "휴대전화 오디오에 연결됨" "파일 전송 서버에 연결됨" "파일 전송 서버에 연결되지 않았습니다." "미디어 오디오에 사용" - "휴대폰 오디오에 사용" + "휴대전화 오디오에 사용" "파일 전송에 사용" + "독 설정" + "오디오에 독 사용" + "스피커폰으로 사용" + "음악 및 미디어" + "설정 기억" "Wi-Fi" "Wi-Fi" "Wi-Fi 켜기" @@ -397,12 +402,16 @@ "전화 올 때 진동" "알림 벨소리" "기본 알림 벨소리 설정" + "알림등 반복 표시" + "새로운 알림이 있을 경우 트랙볼 빛을 반복 표시" "수신전화 볼륨" "알림 볼륨" "알림을 위해 수신전화 볼륨 사용" "알림 벨소리 선택" "미디어 볼륨" "음악 및 동영상에 대한 볼륨 설정" + "독 오디오" + "연결된 독에 대한 오디오 설정" "터치음 듣기" "다이얼패드를 사용할 때 신호음 재생" "다이얼패드를 사용할 때 신호음 재생" @@ -415,6 +424,8 @@ "SD 카드 알림" "SD 카드 알림 시 사운드 재생" "SD 카드 알림 시 사운드 재생" + "소음 제거" + "말하거나 녹음할 때 배경 소음을 억제합니다." "계정 및 동기화" "계정 추가 또는 삭제 및 계정 설정 변경" "검색" @@ -435,8 +446,8 @@ "SIM 카드 잠금 설정" "SIM 카드 잠금" "SIM 카드 잠금" - "휴대폰을 사용하려면 PIN 필요" - "휴대폰을 사용하려면 PIN 필요" + "휴대전화를 사용하려면 PIN 필요" + "휴대전화를 사용하려면 PIN 필요" "SIM PIN 변경" "SIM PIN" "SIM 카드 잠금" @@ -452,7 +463,7 @@ "SIM 카드 잠금 상태를 변경할 수 없습니다."\n"PIN이 잘못된 것 같습니다." "확인" "취소" - "휴대폰 상태" + "휴대전화 상태" "시스템 업데이트" "시스템 업데이트 확인" "펌웨어 버전" @@ -464,7 +475,7 @@ "상태" "상태" "전화번호, 신호 등" - "SD 카드 및 휴대전화 저장공간" + "저장공간" "SD 카드 및 휴대전화 저장공간 설정" "SD 카드 마운트 해제, 사용가능한 저장공간 보기" "내 휴대전화 번호" @@ -482,7 +493,7 @@ "사용할 수 없음" "가동 시간" "무중단 가동 시간" - "휴대폰 내부 저장공간" + "휴대전화 내부 저장공간" "SD 카드" "사용가능한 저장공간" "총 공간" @@ -528,17 +539,17 @@ "기본값으로 재설정" "기본 APN 설정을 재설정했습니다." "기본값 데이터 재설정" - "휴대폰의 모든 데이터 지우기" + "휴대전화의 모든 데이터 지우기" "휴대전화에서 다음 모든 데이터가 지워집니다."\n
  • "Google 계정"
  • \n
  • "시스템과 응용프로그램 데이터 및 설정"
  • \n
  • "다운로드한 응용프로그램"
  • \n"삭제되지 않는 항목은 다음과 같습니다. "\n
  • "현재 시스템 소프트웨어 및 번들 응용프로그램"
  • \n
  • "음악 또는 사진 등의 SD 카드 파일"
  • - "휴대폰 재설정" + "휴대전화 재설정" "모든 개인 정보와 다운로드한 응용프로그램을 삭제하시겠습니까? 수행한 작업은 취소할 수 없습니다." "모두 지우기" "잠금해제 패턴을 그리세요." - "휴대폰 재설정을 확인하려면 잠금해제 패턴을 그려야 합니다." + "휴대전화 재설정을 확인하려면 잠금해제 패턴을 그려야 합니다." "시스템 지우기 서비스를 사용할 수 없어 재설정을 수행하지 못했습니다." "SD 카드를 포맷합니다." "SD 카드의 모든 데이터 지우기" - "이 작업을 수행하면 휴대폰의 SD 카드에 저장된 모든 데이터를 잃게 됩니다." + "이 작업을 수행하면 휴대전화의 SD 카드에 저장된 모든 데이터를 잃게 됩니다." "SD 카드 포맷" "SD 카드를 포맷하여 모든 미디어를 지우시겠습니까? 수행한 작업은 취소할 수 없습니다." "모두 지우기" @@ -563,8 +574,8 @@ "검색결과 및 기타 서비스 향상을 위해 Google에 위치 정보를 제공하시겠습니까?" "동의함" "동의 안함" - "휴대폰 정보" - "법률 정보, 휴대폰 상태, 소프트웨어 버전 보기" + "휴대전화 정보" + "법률 정보, 휴대전화 상태, 소프트웨어 버전 보기" "법률정보" "도움을 주신 분들" "저작권" @@ -595,10 +606,10 @@ "다시 시도" "계속" "잠금해제 패턴" - "패턴 필요" + "패턴 설정" "화면 잠금을 해제하려면 패턴을 그려야 함" "패턴 표시" - "의견 수집" + "촉감 반응 설정" "잠금해제 패턴 설정" "잠금해제 패턴 변경" "잠금해제 패턴을 그리는 방법" @@ -606,7 +617,7 @@ "%d초 후에 다시 시도하세요." "취소" "다음" - "휴대폰 보안 설정" + "휴대전화 보안 설정" "나만의 화면 잠금해제 패턴을 만들어서 인증되지 않은 사람이 전화를 사용하지 못하게 하세요. "\n\n"1""  다음 화면에서 패턴 예가 그려지는 것을 보세요. "\n\n"2"" 준비가 되었으면 나만의 잠금해제 패턴을 그리세요. 다른 패턴으로 실험해 볼 수 있으나 최소한 4개의 점을 연결해야 합니다. "\n\n"3"" 확인을 위해 패턴을 다시 그립니다. "\n\n"시작할 준비가 되었으면 \'다음\'을 터치합니다"". "\n\n"인증되지 않은 사람도 전화를 사용할 수 있게 하려면 \'취소\'를 터치하세요." "패턴 예" "4개 이상의 점을 연결합니다. "\n" "\n"나만의 패턴을 그릴 준비가 되면 \'다음\'을 터치합니다." @@ -617,7 +628,7 @@ "응용프로그램 설정" "알 수 없는 소스" "시판되지 않은 응용프로그램 설치 허용" - "휴대폰 및 개인 정보는 출처를 알 수 없는 응용프로그램의 공격에 더욱 취약합니다. 사용자는 이러한 응용프로그램을 사용하여 발생할 수 있는 휴대폰 손상이나 데이터 손실에 대해 사용자가 단독으로 책임이 있음을 동의합니다." + "휴대전화 및 개인 정보는 출처를 알 수 없는 응용프로그램의 공격에 더욱 취약합니다. 사용자는 이러한 응용프로그램을 사용하여 발생할 수 있는 휴대전화 손상이나 데이터 손실에 대해 사용자가 단독으로 책임이 있음을 동의합니다." "응용프로그램 정보" "저장공간" "기본적으로 시작" @@ -658,7 +669,7 @@ "Android 시스템 응용프로그램에 대한 모든 업데이트를 제거하시겠습니까?" "데이터 지우기" "응용프로그램 데이터를 삭제하지 못했습니다." - "이 응용프로그램은 휴대폰의 다음 항목에 액세스할 수 있습니다." + "이 응용프로그램은 휴대전화의 다음 항목에 액세스할 수 있습니다." "계산 중..." "패키지 크기를 계산할 수 없습니다." "타사 응용프로그램을 설치하지 않았습니다." @@ -668,7 +679,7 @@ "다시 시작하는 중" "실행 중인 서비스 없음" "서비스를 중지할까요?" - "다시 시작할 때까지 서비스가 더 이상 실행되지 않습니다. 이로 인해 %1$s 응용프로그램에서 원하지 않는 결과가 초래될 수 있습니다." + "다시 시작할 때까지 서비스가 더 이상 실행되지 않습니다. 이로 인해 %1$s 응용프로그램에서 원하지 않는 결과가 발생할 수 있습니다." "중지" "취소" "응용프로그램에서 시작: 중지하려면 터치" @@ -703,7 +714,7 @@ "삭제" "사용자 사전에 단어가 없습니다. 메뉴를 통해 단어를 추가할 수 있습니다." "테스트 중" - "휴대폰 정보" + "휴대전화 정보" "배터리 정보" "배터리 기록" "빠른실행" @@ -837,7 +848,7 @@ "새로고침" "Android OS" "미디어 서버" - "텍스트를 음성으로 변환" + "TTS(text-to-speech)" "TTS(text-to-speech) 옵션 설정" "TTS(text-to-speech) 설정" "항상 내 설정 사용" @@ -848,11 +859,11 @@ "피치" "발음된 텍스트의 톤에 적용" "언어" - "발음된 텍스트에 대해 언어별로 음성을 설정합니다." + "발음된 텍스트에 대해 언어별로 음성 설정" "예제 듣기" "음성 합성 데모 짧게 재생" "음성 데이터 설치" - "음성 합성을 사용하려면 음성 데이터를 설치해야 합니다." + "음성 합성을 사용하려면 음성 데이터를 설치해야 함" "음성 합성에 필요한 음성이 이미 설치되어 있습니다." "음성 합성의 예입니다." "설정이 변경되었습니다. 다음은 소리나는 방식에 대한 예입니다." @@ -940,7 +951,7 @@ "(설정 안함)" "자격증명 저장소" "보안 자격증명 사용" - "응용프로그램이 보안 인증서 및 다른 자격증명에 액세스할 수 있도록 합니다." + "응용프로그램이 보안 인증서 및 다른 자격증명에 액세스 허용" "비밀번호 입력" "자격증명 저장소 비밀번호를 입력하세요." "SD 카드에서 설치" @@ -974,6 +985,5 @@ "내 설정 백업" "설정 백업" "설정 백업을 중지하고 Google 서버에 있는 사본을 모두 삭제하시겠습니까?" - - + "제목 없음" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index d86f069199e..0592a6469b6 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -285,6 +285,11 @@ "Bruk for medielyd" "Bruk for telefonlyd" "Bruk til filoverføring" + "Innstillinger for forankringsstasjon" + "Bruk forankring til lyd" + "Som høyttalertelefon" + "For musikk og medier" + "Husk innstillinger" "Trådløst nett" "Trådløst nett" "Slå på trådløst nett" @@ -397,12 +402,16 @@ "Vibrer ved innkommende anrop" "Ringetone for varsling" "Standard ringetone for varsling" + "La varsellampen pulsere" + "La styrekulens lampe pulsere gjentatte ganger ved nye varsler" "Volum for innkommende anrop" "Varslingsvolum" "Bruk volum for innkommende anrop også for varslinger" "Velg ringetone for varsling" "Medievolum" "Volum for musikk og video" + "Forankre lyd" + "Lydinnstillinger for festet forankring" "Hørbare tastetoner" "Spill toner når talltastaturet benyttes" "Spill toner når talltastaturet benytes" @@ -415,6 +424,8 @@ "Varsling for minnekort" "Spill lyd for minnekortvarsler" "Spill lyd for minnekortvarsler" + "Støyreduksjon" + "Demp bakgrunnsstøy når du snakker eller tar opp." "Kontoer/synkronisering" "Legge til eller fjerne kontoer og endre kontoinnstillinger" "Søk" @@ -668,7 +679,7 @@ "Starter på nytt" "Ingen kjørende tjenester" "Stoppe tjenesten?" - "Tjenesten kjører ikke før den startes på nytt. Dette kan påvirke programmet %1$s på en negativ måte." + "Tjenesten kjører ikke før den startes på nytt. Dette kan føre til uønskede konsekvenser for %1$s." "Stopp" "Avbryt" "Startet av applikasjon: trykk for å avslutte" @@ -974,6 +985,5 @@ "Innstillingsbackup" "Backup av innstillinger" "Er du sikker på at du ønsker å slutte med backup av innstillingene og fjerne alle kopier på Googles tjenere?" - - + "Uten tittel" diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml index 377357d25d4..3774d1c77c0 100644 --- a/res/values-nl/arrays.xml +++ b/res/values-nl/arrays.xml @@ -34,7 +34,14 @@ "Er worden een paar vensteranimaties weergegeven" "Alle vensteranimaties worden weergegeven"
    - + + "15 seconden" + "30 seconden" + "1 minuut" + "2 minuten" + "10 minuten" + "30 minuten" + "Zeer langzaam" "Langzaam" @@ -115,8 +122,10 @@ "Melding" "Trillen" - - - - + + "Geen" + "PAP" + "CHAP" + "PAP of CHAP" + diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 6329a16fc4f..6f4f17770de 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -285,6 +285,11 @@ "Gebruiken voor audio van medium" "Gebruiken voor audio van telefoon" "Gebruiken voor bestandsoverdracht" + "Instellingen voor dockstation" + "Dockstation gebruiken voor audio" + "Als luidsprekertelefoon" + "Voor muziek en media" + "Instellingen onthouden" "Wi-Fi" "Wi-Fi" "Wi-Fi inschakelen" @@ -363,7 +368,7 @@ "Er is een probleem opgetreden bij het instellen van het regulerende domein." "%1$d kanalen" "Wi-Fi-slaapbeleid" - "Opgeven wanneer wordt overgeschakeld van Wi-Fi naar mobiele gegevens" + "Overschakelen opgeven van Wi-Fi naar mobiele gegevens" "Er is een probleem opgetreden bij het instellen van het slaapbeleid." "MAC-adres" "Scannen..." @@ -397,12 +402,16 @@ "Laat telefoon trillen bij inkomende oproepen" "Beltoon voor meldingen" "Standaardbeltoon voor meldingen instellen" + "Knipperinterval van meldingslampje" + "Lampje van trackball herhaaldelijk laten knipperen bij nieuwe meldingen" "Volume van inkomende oproepen" "Meldingsvolume" "Volume van inkomende oproepen gebruiken voor meldingen" "Beltoon voor meldingen selecteren" "Mediavolume" "Volume voor muziek en video\'s instellen" + "Audio van dockstation" + "Audio-instellingen voor het gekoppelde dockstation" "Aanraaktonen" "Tonen afspelen bij gebruik van toetsenblok" "Tonen afspelen bij gebruik van toetsenblok" @@ -415,6 +424,8 @@ "SD-kaartmeldingen" "Geluid afspelen voor SD-kaartmeldingen" "Geluid afspelen voor SD-kaartmeldingen" + "Geluidsdemping" + "Demp achtergrondgeluid tijdens spraakinvoer of opname." "Accounts en synchronisatie" "Accounts toevoegen of verwijderen en accountinstellingen wijzigen" "Zoeken" @@ -509,16 +520,11 @@ "MMS-poort" "MCC" "MNC" - - - - - - - - - - + "Verificatietype" + "Geen" + "PAP" + "CHAP" + "PAP of CHAP" "APN-type" "APN verwijderen" "Nieuwe APN" @@ -612,7 +618,7 @@ "Annuleren" "Volgende" "Uw telefoon beveiligen" - "Beveilig uw telefoon tegen ongeoorloofd gebruik door het instellen van een persoonlijk schermdeblokkeringspatroon. "\n\n"1"" Op het volgende scherm ziet u hoe een voorbeeldpatroon wordt getekend. "\n\n"2"" 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\n"3"" Teken uw patroon nogmaals ter bevestiging. "\n\n"Bent u er klaar voor? Selecteer \'Volgende\'"". "\n\n"Als u uw telefoon niet wilt beveiligen, selecteert u \'Annuleren\'." + "Beveilig uw telefoon tegen ongeoorloofd gebruik door het instellen van een persoonlijk ontgrendelingspatroon. "\n\n"1"" Op het volgende scherm ziet u hoe een voorbeeldpatroon wordt getekend. "\n\n"2"" 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\n"3"" Teken uw patroon nogmaals ter bevestiging. "\n\n"Bent u er klaar voor? Selecteer \'Volgende\'"". "\n\n"Als u uw telefoon niet wilt beveiligen, selecteert u \'Annuleren\'." "Voorbeeldpatroon" "Verbind minimaal vier punten. "\n" "\n"Selecteer \'Volgende\' als u klaar bent om uw eigen patroon te tekenen." "Toepassingen beheren" @@ -673,15 +679,13 @@ "Opnieuw starten" "Er zijn geen actieve services" "Service stopzetten?" - "De service wordt niet langer uitgevoerd totdat deze opnieuw wordt gestart. Dit heeft mogelijk nadelige gevolgen voor de toepassing %1$s." + "De service wordt niet langer uitgevoerd totdat deze opnieuw wordt gestart. Dit heeft mogelijk nadelige gevolgen voor de toepassing %1$s." "Stoppen" "Annuleren" "Gestart door toepassing: aanraken om te stoppen" "%1$s: aanraken om te beheren" - - - - + "Beschikbaar: %2$s+%3$s in %1$d" + "Overig: %2$s in %1$d" "Proces: %1$s" "Taal en toetsenbord" "Taal- en toetsenbordinstellingen" @@ -945,58 +949,32 @@ "VPN\'s (Virtual Private Networks) instellen en beheren" "(ongewijzigd)" "(niet ingesteld)" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "Opslag van referenties" + "Beveiligingsreferenties gebruiken" + "Toepassingen mogen veilige certificaten en andere referenties openen" + "Voer het wachtwoord in" + "Geef het wachtwoord voor de opslag van referenties op." + "Installeren van SD-kaart" + "Gecodeerde certificaten installeren vanaf SD-kaart" + "Wachtwoord instellen" + "Het wachtwoord voor de opslag van referenties instellen" + "Opslag wissen" + "Referentieopslag voor inhoud wissen en wachtwoord opnieuw instellen" + "Weet u zeker dat u alle referenties wilt verwijderen en het wachtwoord voor de opslag van referenties opnieuw wilt instellen?" + "Huidig wachtwoord:" + "Nieuw wachtwoord:" + "Nieuw wachtwoord bevestigen:" + "Geef een wachtwoord op voor opslag van referenties (minimaal 8 tekens)." + "Voer het juiste wachtwoord in." + "Voer het juiste wachtwoord in. U kunt nog één keer proberen het juiste wachtwoord in te voeren voordat de opgeslagen referenties worden verwijderd." + "Voer het juiste wachtwoord in. U kunt nog %1$d keer proberen om het juiste wachtwoord in te voeren voordat de opgeslagen referenties worden verwijderd." + "De wachtwoorden komen niet overeen." + "U moet een wachtwoord invoeren en bevestigen." + "Voer het wachtwoord in." + "Het wachtwoord moet uit ten minste 8 tekens bestaan." + "De opslag van referenties is gewist." + "De opslag van referenties is ingeschakeld." + "De opslag van referenties is uitgeschakeld." "Toon voor noodoproep" "Gedrag bij noodoproepen instellen" "Privacy" @@ -1007,6 +985,5 @@ "Back-up maken van mijn instellingen" "Back-up van instellingen" "Weet u zeker dat het maken van back-ups van uw instellingen wilt stoppen en alle kopieën op Google-servers wilt wissen?" - - + "Naamloos" diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml index 8b7c8d9a44a..8ddf5ed7e03 100644 --- a/res/values-pl/arrays.xml +++ b/res/values-pl/arrays.xml @@ -61,7 +61,7 @@ "angielski (Wielka Brytania)" "francuski" "niemiecki" - "Włoski" + "włoski" "hiszpański"
    diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 906ee611a38..c7c8897c951 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -285,12 +285,17 @@ "Użyj dla funkcji audio multimediów" "Użyj dla funkcji audio telefonu" "Użyj do transferu plików" + "Ustawienia podstawki" + "Używaj podstawki na potrzeby dźwięku" + "Jako telefon w trybie głośnika" + "Dla muzyki i multimediów" + "Zapamiętaj ustawienia" "Wi-Fi" "Wi-Fi" "Włącz Wi-Fi" "Ustawienia Wi-Fi" "Ustawienia Wi-Fi" - "Konfiguracja i zarządzanie punktami dostępowymi sieci bezprzewodowej" + "Konfiguruj punkty dostępowe sieci bezprzewodowej i zarządzaj nimi" "Zapomnij" "Stan" "Prędkość" @@ -397,12 +402,16 @@ "Wibracje telefonu przy połączeniach przychodzących" "Powiadomienia" "Ustaw domyślny dzwonek dla powiadomień" + "Powiadamianie pulsującym podświetleniem" + "Włącz pulsowanie podświetlenia kulki dla nowych powiadomień" "Głośność połączeń przychodzących" "Głośność powiadomienia" "Użyj głośności połączeń przychodzących dla powiadomień" "Wybierz dzwonek powiadomienia" "Głośność multimediów" "Ustaw głośność muzyki oraz filmów wideo" + "Dźwięk z podstawki" + "Ustawienia dźwięku dla podłączonej podstawki" "Wybieranie numeru" "Odtwarzaj dźwięki podczas używania panelu wybierania numeru" "Odtwarzaj dźwięki podczas wybierania numeru" @@ -415,9 +424,11 @@ "Powiadomienia karty SD" "Odtwarzaj dźwięk dla powiadomień o karcie SD" "Odtwarzaj dźwięk dla powiadomień o karcie SD" + "Eliminowanie szumu" + "Redukcja szumów w tle podczas mówienia lub nagrywania" "Konta i synchronizacja" "Dodaj lub usuń konta i zmień ich ustawienia" - "Szukaj" + "Wyszukiwanie" "Zarządzaj ustawieniami i historią wyszukiwania" "Ustawienia wyświetlacza" "Animacja" @@ -668,7 +679,7 @@ "Ponowne uruchamianie" "Brak uruchomionych usług" "Zatrzymać usługę?" - "Usługa nie będzie działać, dopóki nie zostanie ponownie uruchomiona. Może to mieć niepożądane konsekwencje dotyczące aplikacji %1$s." + "Usługa nie będzie działać, dopóki nie zostanie ponownie uruchomiona. Może to mieć niepożądany wpływ na aplikację %1$s." "Zatrzymaj" "Anuluj" "Uruchomiona przez aplikację: dotknij, aby zatrzymać" @@ -746,10 +757,10 @@ "Czas systemu:" "Łączny czas:" "Uruchomień: %1$d" - "%1$d dni, %2$d godz., %3$d min, %4$d sek." - "%1$d godz., %2$d min, %3$d sek." - "%1$d min, %2$d sek." - "%1$d sek." + "%1$d dni, %2$d godz., %3$d min, %4$d s" + "%1$d godz., %2$d min, %3$d s" + "%1$d min, %2$d s" + "%1$d s" "Pakiety współdzielące ten identyfikator UID:" "Brak danych o użyciu baterii" "Czujnik:" @@ -974,6 +985,5 @@ "Utwórz kopię zapasową moich ustawień" "Kopia zapasowa ustawień" "Czy na pewno chcesz zakończyć tworzenie kopii zapasowych ustawień i usunąć wszystkie kopie z serwerów Google?" - - + "Bez nazwy" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 1672256ffe7..14bc03c0ea8 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -285,6 +285,16 @@ "Utilizar para áudio de multimédia" "Utilizar para áudio do telefone" "Utilizar para transferência de ficheiros" + + + + + + + + + + "Wi-Fi" "Wi-Fi" "Activar Wi-Fi" @@ -397,12 +407,20 @@ "Vibrar telefone para chamadas recebidas" "Toque de notificação" "Definir toque de notificações predefinido" + + + + "Volume de chamadas recebidas" "Volume de notificações" "Utilizar volume de chamadas recebidas para notificações" "Seleccionar toque de notificações" "Volume de multimédia" "Definir volume para música e vídeos" + + + + "Tons de toque audíveis" "Reproduzir tons ao utilizar teclado de marcação" "Reproduzir tons ao utilizar teclado de marcação" @@ -411,10 +429,12 @@ "Reproduzir som ao efectuar selecção no ecrã" "Comentário haptic" "Vibrar ao premir teclas de função e em certas interacções da interface do utilizador" - "Vibrar ao premir teclas de função e em certas interacções da interface do utilizador" + "Vibrar para teclas de função e certas interacções da interface do utiliz." "Notificações do cartão SD" "Reproduzir som para notificações do cartão SD" "Reproduzir som para notificações do cartão SD" + "Cancelamento de ruídos" + "Suprime ruídos de fundo ao falar ou gravar." "Contas e sincronização" "Adicionar ou remover contas e alterar definições de contas" "Pesquisar" @@ -553,7 +573,7 @@ "Ver localização em aplicações (como o Google Maps) utilizando redes sem fios" "Localização determinada por redes Wi-Fi e/ou móveis" "Utilizar satélites GPS" - "Ao localizar, determinar a localização exacta ao nível da rua (desmarque esta opção para preservar a bateria)" + "Ao localizar determinar localização exacta ao nível da rua (desmarque p/ poupar bateria)" "Localizar ao nível da rua (exige mais bateria e vista do céu)" "Utilizar GPS assistido" "Utilizar o servidor para auxiliar o GPS (desmarque esta opção para reduzir a utilização da rede)" @@ -668,10 +688,10 @@ "A reiniciar" "Não existem serviços em execução" "Parar serviço?" - "O serviço deixará de ser executado até que seja novamente iniciado. Isto pode ter consequências indesejáveis para a aplicação %1$s." + "O serviço deixará de ser executado até que seja novamente iniciado. Isto pode ter consequências indesejáveis para a aplicação %1$s." "Parar" "Cancelar" - "Iniciado pela aplicação: tocar para parar" + "Iniciado pela aplicação: tocar p/ parar" "%1$s: toque para gerir" "Disp.: %2$s+%3$s em %1$d" "Outro: %2$s em %1$d" @@ -932,7 +952,7 @@ "%s não definido (opcional)" "Activar %s" "Desactivar %s" - "%s está activado" + "%s está activada" "%s está desactivado" "Definições VPN" "Configurar e gerir VPNs (Redes Privadas Virtuais)" @@ -940,7 +960,7 @@ "(não definido)" "Armazenamento de credenciais" "Utilizar credenciais seguras" - "Permitir que as aplicações acedam a certificados seguros e outras credenciais" + "Acesso das aplicações a certificados seguros e outras credenciais" "Introduzir palavra-passe" "Introduza a palavra-passe do armazenamento de credenciais." "Instalar a partir do cartão SD" @@ -974,6 +994,5 @@ "Efectuar uma cópia de segurança das minhas definições" "Cópia de segurança das definições" "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?" - - + "Sem título" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 40000375a29..60b8538baad 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -211,7 +211,7 @@ "Desativando as conexões sem fio…" "Ativando conexões sem fio…" "Redes sem fio e outras" - "Configurações sem fio e de rede" + "Configurações de redes sem fio e outras" "Gerenciar rede Wi-Fi, Bluetooth, modo avião, redes e VPNs" "Roaming de dados" "Conectar aos serviços de dados quando estiver em roaming" @@ -231,11 +231,11 @@ "Definir data e hora" "Selecionar fuso horário" "Definir data" - "Selecionar formato de data" + "Formato de data" "Classificar em ordem alfabética" "Classificar por fuso horário" "Local e segurança" - "Configurações de Local e segurança" + "Configurações de local e segurança" "Definir Meu local, desbloqueio de tela, bloqueio do SIM e do armazenamento de credenciais" "Definir o Meu local, o desbloqueio de tela, o bloqueio do armazenamento de credenciais" "Senhas" @@ -285,6 +285,16 @@ "Usar para áudio de mídia" "Usar para áudio do telefone" "Usado para transferência de arquivo" + + + + + + + + + + "Wi-Fi" "Wi-Fi" "Ativar Wi-Fi" @@ -383,7 +393,7 @@ "Desconectado" "Falha" "Som e tela" - "Configurações de Som e tela" + "Configurações de som e tela" "Configurações de som" "Definir toques, notificações, brilho da tela" "Modo silencioso" @@ -397,12 +407,20 @@ "Vibrar o telefone para chamadas recebidas" "Toque de notificação" "Definir o seu toque de notificação padrão" + + + + "Volume da chamada recebida" "Volume da notificação" "Usar volume de chamada recebida para notificações" "Selecionar toque de notificação" "Volume da mídia" "Definir o volume para música e vídeos" + + + + "Sons de toque audíveis" "Reproduzir sons ao usar o teclado" "Reproduzir sons ao usar o teclado" @@ -410,11 +428,13 @@ "Reproduzir som ao fazer uma seleção de tela" "Reproduzir som ao fazer uma seleção de tela" "Retorno com vibração" - "Vibrar ao pressionar teclas e em algumas interações com a interface de usuário" + "Vibrar ao pressionar teclas e em algumas interações com a interface" "Vibrar ao pressionar teclas e em algumas interações com a interface de usuário" "Notificações do cartão SD" "Reproduzir som para notificações do cartão SD" "Reproduzir som para notificações do cartão SD" + "Cancelamento dos ruídos" + "Diminuir o ruído de fundo quando falar ou gravar." "Contas e sincronização" "Adicionar ou remover contas e alterar as configurações da conta" "Pesquisar" @@ -464,8 +484,8 @@ "Status" "Status" "Número de telefone, sinal etc." - "Cartão SD e armazenamento do telefone" - "Configurações de cartão SD e armazenamento do telefone" + "SD e armazenamento" + "Configurações de SD e armazenamento" "Desmontar o cartão SD, visualizar armazenamento disponível" "Meu número de telefone" "MIN" @@ -529,7 +549,7 @@ "Redefinição das configurações padrão do APN concluída" "Configuração original" "Apaga todos os dados no telefone" - "Todos os dados do seu telefone serão apagados, incluindo:"\n
  • "Sua conta do Google"
  • \n
  • "Configurações e dados de aplicativos e do sistema"
  • \n
  • "Aplicativos que você fez download"
  • \n"Não serão apagados:"\n
  • "Aplicativos fornecidos e o software atual do sistema"
  • \n
  • "Arquivos do cartão SD, como música ou fotos"
  • + "Todos os dados do seu telefone serão apagados, incluindo:"\n
  • "Sua Conta do Google"
  • \n
  • "Configurações e dados de aplicativos e do sistema"
  • \n
  • "Aplicativos que você fez download"
  • \n"Não serão apagados:"\n
  • "Aplicativos fornecidos com o telefone e o software atual do sistema"
  • \n
  • "Arquivos do cartão SD, como música ou fotos"
  • "Redefinir telefone" "Apagar todas as informações pessoais e os aplicativos que você fez download? É impossível reverter essa ação." "Apagar tudo" @@ -544,7 +564,7 @@ "Apagar tudo" "Desenhe o seu padrão de desbloqueio" "Você deve desenhar o seu padrão de desbloqueio para confirmar a formatação de um cartão SD." - "Conf. De chamada" + "Conf. de chamada" "Configurar correio voz, encaminhamento, espera etc." "Redes móveis" "Definir opções para roaming, redes, APNs" @@ -553,7 +573,7 @@ "Veja o local nos aplicativos (como o Google Maps) usando redes sem fio" "Local determinado pela rede Wi-Fi e/ou pelas redes móveis" "Usar satélites GPS" - "Durante a localização, a precisão chega no nível de rua (desmarque para conservar a bateria)" + "Precisão do local chega ao nível de rua (desmarque p/ conservar bateria)" "Localizar no nível da rua (exige mais bateria e visão do céu)" "Usar GPS associado" "Usar servidor para auxiliar GPS (desmarque para reduzir o uso da rede)" @@ -614,7 +634,7 @@ "Gerenciar e remover aplicativos instalados" "Aplicativos" "Gerenciar aplicativos, configurar atalhos de inicialização rápida" - "Configurações do aplicativo" + "Configurações de aplicativos" "Fontes desconhecidas" "Permite a instalação de aplicativos que não são do Market" "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." @@ -668,10 +688,10 @@ "Reiniciando" "Sem serviços em execução" "Parar o serviço?" - "O serviço não será mais executado até ser iniciado novamente. Isso pode ter consequências indesejáveis no aplicativo %1$s." + "O serviço não será mais executado até ser iniciado novamente. Isso pode ter consequências indesejáveis no aplicativo %1$s." "Parar" "Cancelar" - "Iniciado pelo aplicativo: toque para parar" + "Iniciado pelo aplicativo: toque p/ parar" "%1$s: toque para gerenciar" "Disp.: %2$s+%3$s em %1$d" "Outro: %2$s em %1$d" @@ -812,7 +832,7 @@ "Horário sem o sinal" "Forçar parada" "Informações do aplicativo" - "Configurações do aplicativo" + "Configurações de aplicativos" "Configurações da tela" "Configurações de WiFi" "Conf. de Bluetooth" @@ -832,12 +852,12 @@ "Desativar GPS quando não estiver em uso" "O aplicativo pode oferecer configurações para reduzir o uso da bateria" "%1$s desde que foi desconectado" - "Quando foi desconectado pela última vez para %1$s" + "Desde a última desconexão por %1$s" "Total de uso" "Atualizar" "Sistema operacional do Android" "Servidor de mídia" - "Conversão de texto em voz" + "Conversão texto em voz" "Definir opções de conversão de texto em fala" "Configurações da Conversão de texto em voz" "Usar minhas config." @@ -907,7 +927,7 @@ "um nome da VPN" "\'%s\' foi adicionado" "Foram feitas alterações em \'%s\'" - "Definir certificado do usuário" + "Definir certif. do usuário" "Certificado do usuário" "um certificado do usuário" "Definir certificado de CA" @@ -918,7 +938,7 @@ "um segredo L2TP" "criptografia" "Criptografia PPTP" - "Definir chave pré-compartilhada IPSec" + "Definir chave IPSec" "Chave pré-compartilhada IPSec" "uma chave pré-compartilhada IPSec" "Definir servidor da VPN" @@ -926,7 +946,7 @@ "um servidor da VPN" "Nome do servidor da VPN" "Domínios de pesquisa DNS" - "Domínios de pesquisa DNS" + "Domínios pesquisa DNS" "%s foi definido" "%s não definido" "%s não definido (opcional)" @@ -940,7 +960,7 @@ "(não definido)" "Armazenamento de credenciais" "Usar credenciais seguras" - "Permitir que os aplicativos acessem certificados seguros e outras credenciais" + "Permitir que os aplicativos acessem credenciais e certificados seguros" "Inserir senha" "Insira a senha do armazenamento de credenciais." "Instalar do cartão SD" @@ -974,6 +994,5 @@ "Fazer backup de minhas configurações" "Backup das configurações" "Tem certeza de que deseja parar de fazer backup das suas configurações e apagar todas as cópias nos servidores do Google?" - - + "Sem título" diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml index 353e6acb608..f1c7bad965f 100644 --- a/res/values-ru/arrays.xml +++ b/res/values-ru/arrays.xml @@ -26,8 +26,8 @@
    "Без анимации" - "Анимация в отдельных случаях" - "Все анимации" + "Разрешить анимацию в отдельных случаях" + "Использовать анимацию всегда" "Анимация в окне не отображается" @@ -47,7 +47,7 @@ "Медленная" "Обычная" "Быстрая" - "Очень быстро" + "Очень быстрая" "Очень низкий" @@ -120,7 +120,7 @@ "Выкл." "Оповещение" - "Вибрация" + "Вибровызов" "Нет" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 75f6458ceab..839be207368 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -23,7 +23,7 @@ "Включить SD-журнал QXDM" "Отключить SD-журнал QXDM" "Просмотреть адресную книгу на SIM-карте" - "Просмотреть список разрешенных номеров" + "Просм. список разреш. номеров" "Просмотреть номера служебного набора" "Получить список PDP" "Включить подключение для передачи данных" @@ -35,7 +35,7 @@ "Только вызовы службы экстренной помощи" "Радио отключено" "Роуминг" - "Без роуминга" + "Роуминг отключен" "Не работает" "Звонок" "Посылка вызова" @@ -50,7 +50,7 @@ "asu" "LAC" "CID" - "Демонтировать карту SD" + "Извлечение SD-карты" "Форматировать карту SD" "Мелкий" "Среднее" @@ -227,14 +227,14 @@ "Автоматически" "Использовать данные, предоставленные сетью" "Использовать данные, предоставленные сетью" - "Использовать 24-часовой формат" + "24-часовой формат" "Настроить время" "Выбрать часовой пояс" "Настроить дату" "Выбрать формат даты" "Упорядочить по алфавиту" "Упорядочить по часовому поясу" - "Местоположение и безопасность" + "Локация и безопасность" "Настройки местоположения и безопасности" "Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных" "Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных" @@ -285,6 +285,11 @@ "Использовать для мультимедийного аудиоустройства" "Использовать для аудиоустройства телефона" "Используется для передачи файлов" + "Настройки док-станции" + "Использовать док-станцию для звука" + "Для громкой связи" + "Для музыки и мультимедиа" + "Запомнить настройки" "Wi-Fi" "Wi-Fi" "Включить Wi-Fi" @@ -362,8 +367,8 @@ "Настроить количество используемых каналов" "При установке управляющего домена возникла неполадка." "каналов: %1$d" - "Переход Wi-Fi в спящий режим" - "Укажите, когда следует переключаться с Wi-Fi на передачу по сотовой сети" + "Спящий режим" + "При каких условиях переключаться с Wi-Fi на сотовую сеть" "При установке правила перехода в спящий режим возникла неполадка." "MAC-адрес" "Поиск..." @@ -386,35 +391,41 @@ "Звук и изображение" "Настройки звука" "Настройка мелодий, уведомлений, яркости экрана" - "Тихий режим" - "Все звуки, кроме мультимедиа и сигналов, отключены" + "Бесшумный режим" + "Все звуки, кроме мультимедиа и будильника, отключены" "Все звуки, кроме аудио и видео, отключены" "Мелодия телефона" - "Настроить мелодию по умолчанию для входящего вызова" + "Выбрать мелодию для входящего вызова" "Громкость звонка" "Настроить громкость входящих вызовов и уведомлений" - "Вибрация телефона" - "Включать вибрацию телефона при входящих вызовах" + "Вибровызов" + "Включить" "Мелодия уведомления" - "Настроить мелодию уведомления по умолчанию" + "Выбрать мелодию для уведомлений" + "Мигающий световой индикатор" + "Включать индикатор трекбола при новых оповещениях" "Громкость входящего вызова" "Громкость уведомления" - "Использовать громкость входящего звонка для уведомлений" + "Использовать этот уровень громкости также для уведомлений" "Выбрать мелодию уведомлений" "Громкость мультимедиа" "Настроить громкость музыки и видео" - "Тональные сигналы нажатия" - "Воспроизводить тональные сигналы клавиатуры" - "Воспроизводить тональные сигналы клавиатуры" - "Звук при нажатии" - "При нажатии на экран будет слышен звук" - "При нажатии на экран звука не будет" - "Обратная связь" + "Звук док-станции" + "Настройки звука для подключенной док-станции" + "Звук клавиш" + "Включить тональные сигналы при нажатии клавиш" + "Воспроизводить тональные сигналы при нажатии клавиш" + "Звуки нажатия на экран" + "Не воспроизводить щелчок при выборе опции на экране" + "Воспроизводить щелчок при выборе опции на экране" + "Виброотклик" "Вибрация при нажатии софт-клавиш и некоторых элементов интерфейса" "Вибрация при нажатии софт-клавиш и некоторых элементов интерфейса" - "Уведомления карты SD" - "Включать звук для уведомлений SD-карты" - "Включать звук для уведомлений SD-карты" + "Уведомления SD-карты " + "Отключить звук для уведомлений SD-карты" + "Включить звук для уведомлений SD-карты" + "Подавление шума" + "Подавляет фоновый шум при записи или разговоре." "Аккаунты и синхронизация" "Добавление или удаление аккаунтов и изменение настроек аккаунта" "Поиск" @@ -424,15 +435,15 @@ "Показывать анимацию при открытии и закрытии окон" "Показывать анимацию при открытии и закрытии окон" "Ориентация" - "Автоматически менять ориентацию при повороте телефона" - "Автоматически менять ориентацию при повороте телефона" + "Автоматически менять ориентацию экрана при повороте телефона" + "Автоматически менять ориентацию экрана при повороте телефона" "Яркость" "Настроить яркость экрана" "Время отключения экрана" "Выбрать интервал до автоматического отключения экрана" "Яркость автоматически" "Настройки блокировки SIM-карты" - "Настроить блокировку SIM-карты" + "Настроить блокировку" "Блокировка SIM-карты" "Заблокировать SIM-карту" "Для использования телефона необходим PIN-код" @@ -455,16 +466,16 @@ "Состояние телефона" "Обновления системы" "Проверить наличие обновлений системы" - "Версия микропрограммы" + "Версия прошивки" "Номер модели" - "Версия канала связи" + "Версия ПО модуля связи" "Версия ядра" "Номер сборки" "Недоступно" "Состояние" "Состояние" - "Номер телефона, сигнал и т.д." - "SD-карта и память телефона" + "Номер телефона, уровень сигнала и т.д." + "Память" "Настройки SD-карты и памяти телефона" "Отключение SD-карты, сведения о доступной памяти" "Мой номер телефона" @@ -473,7 +484,7 @@ "MEID" "Тип мобильной сети" "Состояние сотовой сети" - "Состояние службы" + "Состояние сервиса" "Громкость сигнала" "Роуминг" "Сеть" @@ -486,8 +497,8 @@ "SD-карта" "Свободное место" "Всего места" - "Демонтировать карту SD" - "Демонтировать карту SD для безопасного удаления" + "Извлечение SD-карты" + "Безопасное извлечение SD-карты" "Форматировать карту SD" "Форматировать (очистить) карту SD" "Недоступно" @@ -527,8 +538,8 @@ "Восстановление настроек APN по умолчанию" "Восстановить настройки по умолчанию" "Восстановление настроек APN по умолчанию завершено" - "Возврат к исходным настройкам" - "Удаляет всю информацию в памяти телефона" + "Сброс настроек" + "Удаляет все данные из памяти телефона" "С телефона будут удалены все данные, в том числе: "\n
  • "ваш аккаунт Google;"
  • \n
  • "данные и настройки системы и приложений;"
  • \n
  • "загруженные приложения."
  • \n"Не будут удалены:"\n
  • "текущее системное ПО и пакетные приложения;"
  • \n
  • "файлы на SD-карте, например фотографии и музыка."
  • "Сбросить настройки телефона" "Стереть всю личную информацию и загруженные приложения? Это действие нельзя отменить!" @@ -544,7 +555,7 @@ "Стереть все" "Начертить графический ключ разблокировки" "Для подтверждения форматирования карты SD нужно начертить графический ключ разблокировки." - "Настройки вызовов" + "Вызовы" "Голосовая почта, АОН, переадресация, параллельный вызов" "Мобильная сеть" "Настроить параметры роуминга, сетей, точек доступа (APN)" @@ -558,7 +569,7 @@ "Использовать A-GPS" "Использовать сервер для A-GPS (снимите флажок для менее интенсивного использования сети)" "Использовать сервер для A-GPS (снимите флажок для улучшения работы GPS)" - "Использовать функцию \"Мое местоположение\"" + "Мое местоположение" "Использовать функцию \"Мое местоположение\" для улучшения результатов поиска Google и работы других служб Google." "Разрешить Google использовать данные о местоположении для улучшения результативности поиска и работы других служб?" "Принимаю" @@ -570,9 +581,9 @@ "Авторские права" "Лицензия" "Условия предоставления услуг" - "Руководство по работе с системой" + "Обучение" "Узнайте, как пользоваться телефоном" - "Лицензии ПО с открытым исходным кодом" + "Лицензии открытого ПО" "При загрузке лицензий возникла неполадка." "Идет загрузка…" "Сведения о безопасности" @@ -580,7 +591,7 @@ "Телефон не подключен к службе передачи данных. Чтобы просмотреть эту информацию, откройте страницу %s на любом компьютере, подключенном к Интернету." "Идет загрузка…" "Графический ключ разблокировки экрана" - "Изменить графический ключ" + "Изменить ключ" "Начертите существующий ключ" "Повторите попытку:" "Начертить графический ключ разблокировки" @@ -592,15 +603,15 @@ "Новый графический ключ разблокировки:" "Подтвердить" "Воспроизвести повторно" - "Повторить попытку" + "Повторить" "Продолжить" "Графический ключ разблокировки" - "Требовать графический ключ" + "Запрашивать ключ" "Для разблокировки нужно начертить графический ключ" - "Показывать графический ключ" - "Использовать тактильную обратную связь" - "Установить графический ключ" - "Изменить графический ключ разблокировки" + "Видимость ключа" + "Включить виброотклик" + "Установить ключ" + "Изменить ключ" "Как начертить графический ключ разблокировки" "Слишком много неудачных попыток!" "Повторите попытку через %d с." @@ -611,7 +622,7 @@ "Пример графического ключа" "Соедините как минимум четыре точки."\n" "\n"Выберите \"Далее\", когда будете готовы начертить собственный графический ключ разблокировки." "Управление приложениями" - "Управление установленными приложениями и удаление их" + "Управление установленными приложениями и их удаление " "Приложения" "Управление приложениями, настройка клавиш быстрого запуска" "Настройки приложения" @@ -661,15 +672,15 @@ "Это приложение имеет доступ к следующей информации и следующие права:" "Вычисление..." "Не удалось вычислить размер пакета" - "Не обнаружено установленных приложений от независимых поставщиков." + "Не обнаружено установленных приложений сторонних разработчиков." "Версия %1$s" - "Работающие службы" + "Работающие программы" "Просмотр и управление работающими службами" "Перезапуск" - "Работающие службы отсутствуют" + "Работающие программы отсутствуют" "Остановить службу?" - "Эта служба не будет больше выполняться, пока не будет запущена снова. Это может негативно повлиять на программу %1$s." - "Стоп" + "Эта служба будет отключена до повторного запуска, что может негативно повлиять на программу %1$s." + "Остановить" "Отмена" "Запущено приложением. Нажмите, чтобы остановить." "%1$s: нажмите, чтобы изменить" @@ -680,16 +691,16 @@ "Настройки языка и клавиатуры" "Выбор языка и региона, способов ввода и настройка автокоррекции" "Региональные настройки" - "Настройки текста" + "Настройки ввода текста" "Выбрать регион" "Выбор страны и языка" "Автокоррекция" "Исправлять опечатки" - "Заглавные автоматически" - "Писать предложения с заглавной буквы" + "Автоподст. заглавных" + "Использовать автоматическую подстановку заглавных букв в начале предложений." "Автопунктуация" "Настройки внешней клавиатуры" - "Для ввода точки можно дважды нажать клавишу \"Пробел\"" + "Нажмите дважды клавишу \"Пробел\" для ввода точки" "Видимые пароли" "Показывать пароль при вводе" "Возможно, при использовании этого метода будут собираться все вводимые данные, в том числе такие личные сведения, как пароли или номера кредитных карт. Метод обеспечивается приложением %1$s. Использовать этот метод ввода?" @@ -725,14 +736,14 @@ "Настройки встроенной клавиатуры" "Разработка" "Настройка параметров для разработки приложений" - "Отладка USB" - "Режим отладки при подключенном USB-устройстве" + "Отладка по USB" + "Включить режим отладки при подключении к компьютеру по USB" "Оставить включенным" "Во время зарядки экран будет всегда включен" - "Разрешить копии мест" - "Разрешить копии местоположений" + "Отладка местоположения" + "Разрешить получение отладочных данных о местоположении" "Разрешить отладку USB?" - "Отладка USB предназначена только в целях разработки. С ее помощью можно копировать данные с компьютера на мобильное устройство и обратно, устанавливать на устройство приложения без уведомления и просматривать данные журналов." + "Отладка по USB предназначена для целей разработки. С ее помощью можно копировать данные с компьютера на мобильное устройство и наборот, устанавливать на устройство приложения и просматривать данные журналов." "Выбор·гаджета" "Выбор виджета" "Сведения для идентификатора пользователя %d" @@ -771,10 +782,10 @@ "Приложение" "Подсчет" "Время использования" - "Специальные возможности" + "Спец. возможности" "Настройки специальных возможностей" "Настройка специальных возможностей" - "Специальные возможности" + "Спец. возможности" "Службы специальных возможностей" "Службы специальных возможностей не установлены." "Эта служба специальных возможностей может записывать весь текст, который вы вводите, в том числе личные данные и номера кредитных карт, за исключением паролей. Служба запущена приложением %1$s. Использовать службу?" @@ -837,19 +848,19 @@ "Обновить" "ОС Android" "Сервер медиа" - "Преобразование текста в речь" + "Преобр. текста в речь" "Настроить параметры преобразования текста в речь" "Настройки синтеза речи" "Всегда использовать мои настройки" - "Переопределенные настройки приложения имеют приоритет перед настройками по умолчанию" + "Мои настройки по умолчанию заменяют настройки приложений" "Настройки по умолчанию" "Скорость речи" "Скорость чтения текста" "Тон" "Влияет на высоту синтезированной речи" "Язык" - "Выбрать голос, связанный с определенным языком, для чтения текста" - "Прослушайте пример" + "Установить в зависимости от языка голос для чтения текста" + "Прослушать пример" "Воспроизвести краткую демонстрацию синтезированной речи" "Установка голосовых данных" "Установить голосовые данные, необходимые для синтеза речи" @@ -874,7 +885,7 @@ "Нет" "Сохранить" "Отмена" - "Отменить изменения" + "Отмена" "Подключить к сети" "Отключиться от сети" "Изменить сеть" @@ -907,15 +918,15 @@ "имя VPN" "Профиль \"%s\" добавлен" "В профиль \"%s\" внесены изменения" - "Установить пользовательский сертификат" + "Установить СП" "Сертификат пользователя" "сертификат пользователя" - "Установить сертификат центра сертификации" + "Установить СЦС" "Сертификат центра сертификации" "сертификат центра сертификации" - "Установить секрет L2TP" - "секрет L2TP" - "секрет L2TP" + "Установить ключ L2TP" + "ключ L2TP" + "ключ L2TP" "шифрование" "Шифрование PPTP" "Установить совместно используемый ключ IPSec" @@ -928,8 +939,8 @@ "Домены поиска DNS" "DNS поиска" "%s установлено" - "%s не установлено" - "%s не установлено (необязательно)" + "%s — не установлено" + "%s — не установлено (необязательно)" "Включить %s" "Отключить %s" "%s вкл." @@ -940,13 +951,13 @@ "(не настроено)" "Хранилище регистрационных данных" "Использовать безопасные регистрационные данные" - "Разрешить приложениям доступ к сертификатам безопасности и другим регистрационным данным" + "Разрешить приложениям доступ к сертификатам и другим рег. данным" "Ввод пароля" "Введите пароль для доступа в хранилище регистрационных данных." "Установка с SD-карты" "Установить зашифрованные сертификаты с SD-карты" "Установить пароль" - "Установить или изменить пароль для доступа в хранилище регистрационных данных" + "Установить или изменить пароль для доступа в хранилище рег. данных" "Очистить хранилище" "Очистить все регистрационные данные в хранилище и сбросить пароль" "Вы действительно хотите удалить все регистрационные данные и сбросить пароль для доступа в хранилище регистрационных данных?" @@ -971,9 +982,8 @@ "Местоположение" "Настройки" "Личные данные" - "Создать резервную копию настроек" + "Резерв. копия настроек" "Резервные копии настроек" "Вы уверены, что не хотите больше создавать резервные копии настроек и хотите удалить все копии с серверов Google?" - - + "Без названия" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 1ec0c07db50..962af462580 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -285,6 +285,11 @@ "Använd för medialjud" "Använd för telefonens ljud" "Använd för filöverföring" + "Dockningsinställningar" + "Använd docka för ljud" + "Som högtalartelefon" + "För musik och media" + "Kom ihåg inställningarna" "Wi-Fi" "Wi-Fi" "Aktivera Wi-Fi" @@ -397,16 +402,20 @@ "Telefonen vibrerar vid inkommande samtal" "Ringsignal för avisering" "Ställ in standardsignal för avisering" + "Pulserande ljusavisering" + "Pulserande styrkuleljus för nya aviseringar" "Volym för inkommande samtal" "Aviseringsvolym" "Använd volymen för inkommande samtal vid avisering" "Välj ringsignal för avisering" "Mediavolym" "Ställ in volym för musik och video" + "Dockningsljud" + "Ljudinställningar för den anslutna dockan" "Knappljud" "Spela upp signaler när knappsatsen används" "Spela signaler när knappsatsen används" - "Välj ljud" + "Ljud vid val" "Spela upp ljud när du väljer på skärmen" "Spela ljud när du väljer något på skärmen" "Haptisk återkoppling" @@ -415,11 +424,13 @@ "Aviseringar för SD-kort" "Spela ljud vid aviseringar för SD-kort" "Spela ljud vid aviseringar för SD-kort" + "Ta bort bakgrundsljud" + "Ta bort bakgrundsljud vid samtal eller inspelning." "Konton och synkronisering" "Lägg till eller ta bort konton och ändra kontoinställningar" "Sök" "Hantera sökinställningar och historik" - "Visa inställningar" + "Skärminställningar" "Animering" "Visa animering när fönster öppnas och stängs" "Visa animering när fönster öppnas och stängs" @@ -553,13 +564,13 @@ "Se plats i programmen (till exempel kartor) med hjälp av trådlösa nätverk" "Plats fastställs av Wi-Fi och/eller mobila nätverk" "Använd GPS-satelliter" - "När du söker, korrekt till gatunivå (avmarkera om du vill spara batteri)" + "Hittar till gatunivå när du söker (avmarkera om du vill spara batteri)" "Hitta till gatunivå (kräver mer batteri och fungerar endast utomhus)" "Använd assisterad GPS" "Använd servern för att förbättra GPS-funktionen (avmarkera om du vill minska nätverksbelastningen)" "Använd servern för att förbättra GPS-funktionen (avmarkera om du vill förbättra GPS-funktionen)" "Använd Min plats" - "Använd Min plats för Google-sökresultat och andra Google-tjänster" + "Använd Min plats för sökresultat och andra tjänster från Google" "Vill du tillåta att Google använder plats för förbättrade sökresultat och andra tjänster?" "Jag godkänner" "Godkänn inte" @@ -584,7 +595,7 @@ "Bekräfta sparat grafiskt lösenord" "Försök igen:" "Rita ett grafiskt lösenord" - "Tryck på Meny om du vill ha hjälp." + "Tryck på Menu om du vill ha hjälp." "Lyft fingret när du är klar." "Anslut minst %d punkter. Försök igen:" "Det grafiska lösenordet har registrerats!" @@ -598,7 +609,7 @@ "Begär grafiskt lösenord" "Måste rita grafiskt lösenord för att låsa upp skärmen" "Anv. synligt graf. lös." - "Använd känslig feedback" + "Använd taktil feedback" "Ange grafiskt lösenord" "Byt grafiskt lösenord" "Så här ritar du ett grafiskt lösenord" @@ -616,7 +627,7 @@ "Hantera program, ställ in genvägar för snabbstart" "Programinställningar" "Okända källor" - "Tillåt installation av program som inte finns i butiken" + "Tillåt installation av program som inte finns i Market" "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." "Programinformation" "Lagring" @@ -664,11 +675,11 @@ "Du har inte installerat några program från tredje part." "version %1$s" "Aktiva tjänster" - "Visa och styra aktiva tjänster" + "Visa och styr aktiva tjänster" "Startar om" "Det finns inga aktiva tjänster" "Vill du avbryta tjänsten?" - "Den här tjänsten körs inte igen förrän du startar om den. Det kan ha oönskad effekt på programmet %1$s." + "Den här tjänsten körs inte igen förrän du startar om den. Den kan ha oönskad effekt på programmet %1$s." "Stopp" "Avbryt" "Startades av ett program: tryck om du vill avbryta" @@ -686,7 +697,7 @@ "Ersätt automatiskt" "Rätta felskrivna ord" "Inled med versal" - "Första bokstaven i meningar ska inledas med versal" + "Första ordet i en mening ska inledas med versal" "Automatisk punkt" "Inställningar för fysiskt tangentbord" "Tryck på blanksteg två gånger om du vill infoga \".\"" @@ -721,7 +732,7 @@ "Hantera textinmatningsalternativ" "%1$s-inställningar" "Inställningar för tangentbordet på skärmen" - "Enhetens knappsats" + "Enhetens tangentbord" "Inställningar för inbyggt tangentbord" "Utveckling" "Ange alternativ för programutveckling" @@ -974,6 +985,5 @@ "Säkerhetskopiera mina inställningar" "Säkerhetskopiering av inställningar" "Vill du avbryta säkerhetskopiering av dina inställningar och radera alla kopior på Googles servrar?" - - + "Namnlös" diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml index b64ad881913..dcbb211abfc 100644 --- a/res/values-tr/arrays.xml +++ b/res/values-tr/arrays.xml @@ -96,7 +96,7 @@ "Diğer kullanım"
    - "Fişten son çıkarmadan itibaren" + "Fişten son çekildikten itibaren" "Açılıştan itibaren toplam" "Tüm zamanlardaki toplam" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 45d7d71b9ca..de1bb645f80 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -285,6 +285,11 @@ "Medya sesi için kullan" "Telefon sesi için kullan" "Dosya aktarımı için kullan" + "Yuva Ayarları" + "Ses öğesi için yuvayı kullan" + "Telefon hoparlörü olarak" + "Müzik ve medya için" + "Ayarları anımsa" "Kablosuz" "Kablosuz" "Kablosuzu aç" @@ -397,12 +402,16 @@ "Gelen çağrılarda telefonu titreştir" "Bildirim zil sesi" "Varsayılan bildirim zil sesinizi ayarlayın" + "Bildirim ışığını yakıp söndür" + "Yeni bildirimler için iztopu ışığını arka arkaya yakıp söndürün" "Gelen çağrı ses düzeyi" "Bildirim ses düzeyi" "Bildirimlerde gelen çağrı ses düzeyini kullan" "Bildirim zil sesini seç" "Medya ses düzeyi" "Müziğin ve videoların ses düzeyini ayarla" + "Yuva sesi" + "Takılı yuva için ses ayarları" "Duyulabilir dokunma tonları" "Tuş takımını kullanırken ton çal" "Tuş takımını kullanırken ton çal" @@ -410,11 +419,13 @@ "Ekran seçimi yaparken ses çal" "Ekran seçimi yaparken ses çal" "Dokunsal geribildirim" - "Yumuşak tuşlara basarken ve belirli UI (Kullanıcı Arayüzü) etkileşimleri sırasında titret" - "Yumuşak tuşlara basarken ve belirli UI (Kullanıcı Arayüzü) etkileşimleri sırasında titret" + "Yumuşak tuşlara basarken ve belirli UI etkileşimleri sırasında titret" + "Yumuşak tuşlara basarken ve belirli UI etkileşimleri sırasında titret" "SD kart bildirimleri" "SD kart bildirimleri için ses yürüt" "SD kart bildirimleri için ses yürüt" + "Gürültü giderme" + "Konuşurken veya kaydederken arka plan gürültüsünü bastırır." "Hesaplar ve senkronizasyon" "Hesapları ekle veya kaldır ve hesap ayarlarını değiştir" "Ara" @@ -606,7 +617,7 @@ "%d saniye içinde yeniden deneyin." "İptal" "İleri" - "Telefonunuz güvenlik altına alınıyor" + "Telefonunuzu güvenlik altına alma" "Kişisel bir ekran kilidi açma deseni oluşturarak telefonunuzu yetkisiz kullanımdan koruyun. "\n\n"1""  Bir sonraki ekranda örnek bir desenin çizilişini izleyin. "\n\n"2""  Hazır olduğunuzda, kendi kişisel kilit açma deseninizi çizin. Değişik desenleri deneyebilirsiniz ancak en az dört noktayı birleştirin. "\n\n"3""  Onaylamak için deseninizi yeniden çizin. "\n\n"Başlamaya hazır mısınız? \"İleri\"ye dokunun"". "\n\n"Telefonunuzu korumasız bırakmak için \"İptal\"e dokunun." "Örnek desen" "En az dört noktayı birleştirin."\n" "\n"Kendi deseninizi çizmeye hazır olduğunuzda \"İleri\"ye dokunun." @@ -668,13 +679,13 @@ "Yeniden başlatılıyor" "Çalışan hizmet yok" "Hizmet durdurulsun mu?" - "Bu hizmet, yeniden başlatılana kadar çalışmayacak. Bu durum, %1$s uygulamasında istenmeyen sonuçlara yol açabilir." + "Bu hizmet, yeniden başlatılana kadar çalışmayacak. Bu durum, %1$s uygulamasında istenmeyen sonuçlara yol açabilir." "Durdur" "İptal" "Uygulama tarafından başlatıldı: durdurmak için dokunun" "%1$s: yönetmek için dokunun" - "Kullanılabilir: %1$d hesabında %2$s+%3$s" - "Diğer: %1$d hesabında %2$s" + "Kull.: %2$s+%3$s/%1$d" + "Diğer: %2$s/%1$d" "İşlem: %1$s" "Dil ve klavye" "Dil ve klavye ayarları" @@ -781,7 +792,7 @@ "Erişilebilirlik devre dışı bırakılsın mı?" "Pil kullanımı" "Pili ne kullanıyor?" - "Fişten çekildikten itibaren pil kullanımı" + "Fişten çekildikten sonra pil kullanımı" "Sıfırlamadan itibaren pil kullanımı" "Fişten çekildikten itibaren %1$s" @@ -832,7 +843,7 @@ "Kullanmadığınız zamanlarda GPS\'yi kapatın" "Uygulama, pil kullanımını azaltmak için ayarlar önerebilir" "Fişten çekildikten itibaren %1$s" - "%1$s için fişten son çekilmesinden itibaren" + "Fişten son çekildikten sonra %1$s boyunca" "Kullanım toplamı" "Yenile" "Android İS" @@ -965,7 +976,7 @@ "Kimlik bilgileri deposu etkin." "Kimlik bilgileri deposu devre dışı." "Acil sesi" - "Acil bir arama yapıldığında nasıl işlev göreceğini ayarlayın" + "Acil çağrı yapıldığında nasıl işlev göreceğini ayarlayın" "Gizlilik" "Gizlilik ayarları" "Konum" @@ -974,6 +985,5 @@ "Ayarlarımı yedekle" "Ayarlar yedeği" "Ayarlarınızın yedeklemesini durdurmak ve Google sunucularındaki tüm kopyaları silmek istediğinizden emin misiniz?" - - + "Başlıksız" diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml index 80782592e4d..5306e7868b1 100644 --- a/res/values-zh-rCN/arrays.xml +++ b/res/values-zh-rCN/arrays.xml @@ -30,7 +30,7 @@ "所有动画"
    - "未显示窗口动画" + "不显示窗口动画" "显示部分窗口动画" "显示所有窗口动画" @@ -96,7 +96,7 @@ "其他使用情况" - "自上次拔下电源后" + "自上次拔下电源后的时间" "自启动以来的总时间" "所有时间总计" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index fbb8a9bc2f0..0ec336a1d78 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -18,8 +18,8 @@ "是" "无" "未知" - "打开收音机" - "关闭收音机" + "打开无线通信" + "关闭无线通信" "启用 QXDM SD 日志" "停用 QXDM SD 日志" "查看 SIM 卡地址簿" @@ -32,8 +32,8 @@ "启动时停用数据" "正在使用中" "不在服务区" - "仅限于紧急电话" - "关闭收音机" + "仅限于急救或报警电话" + "关闭无线通信" "漫游" "非漫游" "空闲" @@ -50,7 +50,7 @@ "asu" "LAC" "CID" - "卸下 SD 卡" + "卸载 SD 卡" "格式化 SD 卡" "小" "中" @@ -150,7 +150,7 @@ "数据尝试次数:" "GPRS 服务:" "漫游:" - "IMEI:" + "移动通信国际识别码:" "呼叫重定向:" "启动后重置 PPP 的次数:" "GSM 断开连接:" @@ -161,10 +161,10 @@ "信号强度:" "呼叫状态:" "已发送 PPP:" - "重置收音机:" + "无线通信重置:" "消息等待:" "手机号码:" - "选择收音机波段" + "选择无线通信频道" "网络类型:" "设置首选网络类型:" "Ping IP 地址:" @@ -186,12 +186,12 @@ "总字节数:" "无 SD 卡" "可用的字节数:" - "SD 卡正用作大容量存储设备" - "现在可以安全地卸下 SD 卡" - "SD 卡在使用过程中被移除!" + "SD 卡已被视为大容量存储设备" + "现在可以安全移除 SD 卡" + "SD 卡仍在使用中便被移除!" "已使用的字节数:" - "正在扫描 SD 卡查找媒体..." - "安装的 SD 卡为只读" + "正从 SD 卡扫描媒体..." + "安装的 SD 卡为只读状态" "下一步" "语言区域" "选择您使用的语言" @@ -210,7 +210,7 @@ "停用所有无线连接" "正在停用无线连接..." "正在启用无线连接..." - "无线和网络设置" + "无线和网络" "无线和网络设置" "管理 Wi-Fi、蓝牙、飞行模式、移动网络和虚拟专用网" "数据漫游" @@ -243,7 +243,7 @@ "打开蓝牙" "蓝牙设置" "蓝牙设置" - "管理连接,设置设备名称和可检测性" + "管理连接、设置设备名称和可检测性" "蓝牙配对请求" "蓝牙设备信息" \n"键入 PIN 与“%1$s”进行配对。(尝试键入 0000 或 1234。)" @@ -285,6 +285,11 @@ "用于媒体音频" "用于手机音频" "用于文件传输" + "底座设置" + "底座用于音频" + "将底座用作免提电话" + "用于音乐和媒体" + "记住设置" "Wi-Fi" "Wi-Fi" "打开 Wi-Fi" @@ -321,7 +326,7 @@ "连接" "连接到 %1$s" "EAP 方式" - "Phase 2 身份验证" + "阶段 2 身份验证" "身份" "匿名身份" "客户端证书" @@ -363,7 +368,7 @@ "设置调整域时出现问题。" "%1$d 个频道" "Wi-Fi 休眠策略" - "指定何时从 Wi-Fi 切换到手机数据" + "指定何时要从 Wi-Fi 切换到手机数据" "设置休眠策略时出现问题。" "MAC 地址" "正在扫描..." @@ -397,24 +402,30 @@ "来电时振动手机" "通知铃声" "设置默认的通知铃声" + "闪动通知指示灯" + "在收到新通知时,跟踪球指示灯会不断闪动" "来电音量" "通知音量" "将来电音量用作通知音量" "选择通知铃声" "媒体音量" "设置音乐和视频的音量" - "操作音" - "使用拨号键盘时发出声音" - "使用拨号键盘时发出声音" - "操作音选择" - "在屏幕上进行选择时发出声音" - "在屏幕上进行选择时发出声音" + "底座音频" + "附加底座的音频设置" + "按键操作音" + "使用拨号键盘时播放按键音效" + "使用拨号键盘时播放按键音效" + "选择操作音" + "进行屏幕选取时播放音效" + "进行屏幕选取时播放音效" "触感反馈" "按软键以及进行某些 UI 交互时振动" "按软键以及进行某些 UI 交互时振动" "SD 卡通知" - "提示 SD 卡通知时发出声音" - "弹出 SD 卡通知时发出声音" + "播放 SD 卡通知音效" + "播放 SD 卡通知音效" + "噪音消除" + "在进行通话或录音时降低背景噪音。" "帐户与同步" "添加或删除帐户和更改帐户设置" "搜索" @@ -464,15 +475,15 @@ "状态" "状态" "电话号码、信号等" - "SD 卡和手机存储" - "SD 卡和手机存储设置" - "卸下 SD 卡,查看可用的存储空间" + "SD 卡和手机内存" + "SD 卡和手机内存设置" + "卸载 SD 卡,查看可用存储设备" "本机号码" "MIN" "PRL 版本" "MEID" "手机网络类型" - "手机网络状态" + "移动网络状态" "服务状态" "信号强度" "漫游" @@ -485,9 +496,9 @@ "手机内存" "SD 卡" "可用空间" - "总存储量" - "卸下 SD 卡" - "卸下 SD 卡以安全移除" + "总容量" + "卸载 SD 卡" + "必须先卸载 SD 卡,才能将其安全移除" "格式化 SD 卡" "格式化(清除)SD 卡" "不可用" @@ -516,7 +527,7 @@ "PAP 或 CHAP" "APN 类型" "删除 APN" - "新 APN" + "新建 APN" "保存" "放弃" "注意" @@ -529,7 +540,7 @@ "重置默认 APN 设置已完成" "恢复出厂设置" "清除手机上的所有数据" - "这会从手机中删除以下数据:"\n
  • "Google 帐户"
  • \n
  • "系统与应用程序的数据和设置"
  • \n
  • "下载的应用程序"
  • \n"这不会删除:"\n
  • "当前系统软件和捆绑的应用程序"
  • \n
  • "SD 卡文件,如音乐或照片"
  • + "这将清除您手机中的以下数据:"\n
  • "您的 Google 帐户"
  • \n
  • "系统与应用程序的数据和设置"
  • \n
  • "下载的应用程序"
  • \n"不会清除以下数据:"\n
  • "当前系统软件和捆绑的应用程序"
  • \n
  • "SD 卡中的文件,如音乐或照片"
  • "重置手机" "是否删除所有个人信息和下载的所有应用程序?此操作无法还原!" "清除全部内容" @@ -538,22 +549,22 @@ "未执行重置,因为系统清除服务不可用。" "格式化 SD 卡。" "清除 SD 卡上的所有数据" - "该操作会清除手机上的 SD 卡。您会丢失卡上的所有数据。" + "该操作会清除手机中 SD 卡上的数据。卡上的所有数据都将丢失。" "格式化 SD 卡" - "是否要格式化 SD 卡,以清除所有媒体?该操作不能撤消!" + "确定要将 SD 卡格式化、清除所有媒体吗?该操作将不能撤消!" "清除所有内容" "绘制您的解锁图案" - "您必须绘制解锁图案才能确认格式化 SD 卡。" + "您必须绘制解锁图案以确认将 SD 卡格式化。" "通话设置" - "设置语音信箱、呼叫转接、呼叫等待和来电者信息" + "设置语音信箱、来电转接、来电等待和本机号码显示" "移动网络" "设置漫游、网络、APN 选项" "我的位置" "使用无线网络" "使用无线网络在应用程序(例如 Google 地图)中查看位置" - "通过 Wi-Fi 和/或移动网络确定位置" + "通过 Wi-Fi 和/或移动网络确定的位置" "使用 GPS 卫星" - "定位级别可精确到街道(取消选中可节约电量)" + "定位时,精确度设定为街道级别(取消选中可节约电量)" "定位到街道级别(需要消耗更多电量以及天气允许)" "使用增强型 GPS" "使用服务器来辅助 GPS(取消选中可降低网络使用率)" @@ -595,7 +606,7 @@ "重试" "继续" "解锁图案" - "需要图案" + "需要解锁图案" "必须绘制图案才能解锁屏幕" "使用可见的图案" "使用触控反馈" @@ -606,10 +617,10 @@ "%d 秒后重试。" "取消" "下一步" - "保护您的手机" - "通过创建个人屏幕解锁图案,防止他人未经授权使用您的手机。"\n\n"1""  在下一屏幕上,观看示例图案的绘制过程。"\n\n"2""  准备就绪后,绘制您自己的个人解锁图案。可尝试不同的图案,但至少要连接四个点。"\n\n"3""  重新绘制您的图案进行确认。"\n\n"可以开始了吗?触摸“下一步”""。"\n\n"要让手机处于不受保护的状态,请触摸“取消”。" + "手机安全设置" + "创建个人屏幕的解锁图案,防止手机被人擅自使用。"\n\n"1"" 在下一屏幕上,观看示例图案的绘制过程。"\n\n"2"" 准备就绪后,绘制您自己的个人解锁图案。可尝试不同的图案,但至少要连接四个点。"\n\n"3"" 再次绘制您的图案进行确认。"\n\n"准备好要开始了吗?请触摸“下一步”""。"\n\n"如果不想改变手机的无保护状态,请触摸“取消”。" "示例图案" - "至少连接四个点。"\n\n"准备就绪后,触摸“下一步”绘制自己的图案。" + "至少连接四个点。"\n\n"您准备好绘制自己的解锁图案时,请触摸“下一步”。" "管理应用程序" "管理和删除安装的应用程序" "应用程序" @@ -627,7 +638,7 @@ "缓存" "控件" "强行停止" - "总存储空间" + "总计" "应用程序" "数据" "卸载" @@ -664,17 +675,17 @@ "未安装任何第三方应用程序。" "版本 %1$s" "正在运行的服务" - "查看与控制当前正在运行的服务" + "查看和控制当前正在运行的服务" "正在重新启动" "当前未运行任何服务" "是否停止服务?" - "服务只有在重新启动之后,才可以继续运行。但这可能会给 %1$s 应用程序带来意想不到的结果。" + "服务只有在重新启动后,才可以继续运行。但这可能会给%1$s应用程序带来意想不到的结果。" "停止" "取消" "由应用程序启动:触摸可停止" "%1$s:触摸可进行管理" - "可用:%2$s+%3$s,合计 %1$d" - "其他:%2$s,合计 %1$d" + "可用空间:%2$s+%3$s,共 %1$d 个程序" + "其他空间:%2$s,共 %1$d 个程序" "进程:%1$s" "语言和键盘" "语言和键盘设置" @@ -689,7 +700,7 @@ "将句首字母大写" "自动加标点" "物理键盘设置" - "按两次空格键可以插入句号" + "按空格键两次可插入句号" "密码可见" "输入时密码可见" "该输入法可能会收集您输入的所有文字,包括密码和信用卡号码等个人数据。它源自 %1$s 应用程序。是否要使用该输入法?" @@ -729,8 +740,8 @@ "连接 USB 后启用调试模式" "保持唤醒状态" "充电时屏幕不会休眠" - "允许模拟位置" - "允许模拟位置" + "允许模拟地点" + "允许模拟地点" "是否允许 USB 调试?" "USB 调试仅用于开发工作。使用该功能可在计算机和移动设备之间复制数据、在移动设备上安装应用程序而不进行通知,以及读取日志数据。" "选择小工具" @@ -777,13 +788,13 @@ "辅助功能" "辅助功能服务" "未安装辅助功能服务。" - "此辅助服务能够收集键入的所有文字,包括除密码以外的个人资料,如信用卡号。该服务还会记录用户界面交互情况。该服务来自应用程序 %1$s。是否使用此辅助服务?" + "此辅助功能服务可能会收集您键入的所有文字,包括信用卡号码等个人数据,但并不会收集您输入的密码,而且它也可能记录您的用户界面交互行为。该服务由应用程序“%1$s”所提供。要使用此辅助功能服务吗?" "是否停用辅助功能?" "电量使用情况" "耗电情况" "拔下电源后的电量消耗情况" "重置后的电量消耗情况" - "拔下电源后已使用 %1$s" + "拔下电源后已过了 %1$s" "设备唤醒时间" @@ -803,7 +814,7 @@ "CPU 总使用时间" "CPU(前台)" "GPS" - "手机" + "通话" "数据已发送" "数据已收到" "音频" @@ -832,14 +843,14 @@ "不使用 GPS 时将其关闭" "该应用程序中可能有用于减少耗电量的设置" "拔下电源 %1$s后的电量消耗情况" - "%1$s前拔下电源时的电量消耗情况" + "%1$s前拔下电源" "总使用量" "刷新" "Android OS" "媒体服务器" - "文字到语音转换" + "文字转语音" "设置文字转语音选项" - "文字到语音转换设置" + "文字转语音设置" "总是使用我的设置" "使用以下默认设置代替应用程序设置" "默认设置" @@ -848,7 +859,7 @@ "音高" "更改所播放的文字的音调" "语言" - "为文字转语音功能设置所使用的语言" + "设置文字转语音功能要使用的语言" "聆听示例" "播放简短的语音合成示例" "安装语音数据" @@ -928,8 +939,8 @@ "DNS 搜索范围" "DNS 搜索范围" "已设置 %s" - "%s 未设置" - "未设置 %s(可选)" + "未设置%s" + "未设置%s(可选)" "启用%s" "停用%s" "已启用%s" @@ -965,7 +976,7 @@ "凭证存储已启用。" "凭证存储已停用。" "紧急提示音" - "设置进行紧急呼叫时的行为" + "设置进行紧急呼救时的行为" "隐私权" "隐私权设置" "位置" @@ -974,6 +985,5 @@ "备份我的设置" "设置备份" "确定要停止备份您的设置并清除 Google 服务器上的所有副本吗?" - - + "未命名" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index ebf974e6547..14e9d120d1e 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -285,6 +285,11 @@ "用於媒體音訊" "用於電話音訊" "用於傳輸檔案" + "座架設定" + "使用座架播放音訊" + "當成手機喇叭" + "使用於音樂與媒體" + "記住設定" "Wi-Fi" "Wi-Fi" "開啟 Wi-Fi" @@ -397,12 +402,16 @@ "來電震動" "通知鈴聲" "設定預設通知鈴聲" + "閃爍燈光通知" + "有新通知時重複閃爍軌跡球燈光" "來電音量" "通知音量" "通知使用來電音量" "選取通知鈴聲" "媒體音量" "設定音樂與影片的音量" + "座架音訊" + "附加座架的音訊設定" "觸控音效" "使用撥號面板時播放按鍵音效" "使用撥號面板時播放按鍵音效" @@ -415,6 +424,8 @@ "SD 卡通知" "播放 SD 卡通知音效" "播放 SD 卡通知音效" + "噪音消除" + "在說話或錄音時抑制背景雜音。" "帳戶與同步處理" "新增或移除帳戶和變更帳戶設定" "搜尋" @@ -668,7 +679,7 @@ "重新啟動中" "沒有正在運作的服務" "要停止服務嗎?" - "服務將不再繼續執行,除非您重新啟動該服務。這個動作可能會對應用程式「%1$s」造成無法預期的結果。" + "服務將不再繼續執行,除非您重新啟動該服務。這個動作可能會對應用程式「%1$s」造成無法預期的結果。" "停止" "取消" "由應用程式啟動:輕觸螢幕即可停止" @@ -780,7 +791,7 @@ "此協助工具服務可能會收集您輸入的所有文字,包括個人資料及信用卡號碼,但並不會收集您輸入的密碼,而且它也可能會記錄您的使用者介面互動行為。該服務是由應用程式「%1$s」所提供,要使用此協助工具服務嗎?" "要停用協助工具嗎?" "電池使用狀況" - "消耗電池電力的功能" + "查看正在消耗電力的功能" "拔除插頭後的電池使用狀況" "重設後的電池使用狀況" "拔除插頭後已過了 %1$s" @@ -974,6 +985,5 @@ "備份我的設定" "設定備份" "您確定要停止備份設定,並清除 Google 伺服器上的所有設定資料嗎?" - - + "未命名" diff --git a/res/values/bools.xml b/res/values/bools.xml new file mode 100644 index 00000000000..61cc79e97c0 --- /dev/null +++ b/res/values/bools.xml @@ -0,0 +1,23 @@ + + + + + + false + + false + diff --git a/res/values/strings.xml b/res/values/strings.xml index 88dd4aeb036..1cf17a2ae93 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -643,6 +643,17 @@ Use for file transfer + + Dock Settings + + Use dock for audio + + As speaker phone + + Music, ringer, alarms \u0028silences phone\u0029 + + Remember settings + Wi-Fi @@ -877,6 +888,10 @@ Notification ringtone Set your default notification ringtone + + Pulse notification light + + Pulse trackball light repeatedly for new notifications Incoming call volume @@ -890,6 +905,10 @@ Media volume Set volume for music and videos + + Dock audio + + Audio settings for the attached dock Audible touch tones @@ -1480,8 +1499,8 @@ found in the list of installed applications. Stop service? The service will no longer run until - started again. This may have undesireable - consequences on the applicaton + started again. This may have undesirable + consequences on the application %1$s. Stop diff --git a/res/xml/sound_and_display_settings.xml b/res/xml/sound_and_display_settings.xml index 8544fee740c..1ffbdbf8d36 100644 --- a/res/xml/sound_and_display_settings.xml +++ b/res/xml/sound_and_display_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. @@ -16,17 +16,18 @@ - - - + - + - + - + + + - + - + - + + + @@ -112,15 +136,15 @@ - - - @@ -131,7 +155,7 @@ android:summary="@string/brightness_summary" android:dialogIcon="@drawable/ic_popup_brightness" android:dialogTitle="@string/brightness" /> - + - + diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java index f2931be746b..4b0469c898a 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.util.DisplayMetrics; import com.android.internal.app.AlertActivity; import com.android.internal.app.AlertController; @@ -39,11 +40,9 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.PaintDrawable; import android.os.Bundle; import android.os.Parcelable; -import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.WindowManager; import android.widget.BaseAdapter; import android.widget.TextView; @@ -161,6 +160,7 @@ public class ActivityPicker extends AlertActivity implements icon = res.getDrawable(res.getIdentifier( iconResource.resourceName, null, null)); } catch (NameNotFoundException e) { + // Ignore } items.add(new PickAdapter.Item(this, label, icon)); @@ -205,7 +205,9 @@ public class ActivityPicker extends AlertActivity implements protected IconResizer getResizer(Context context) { if (sResizer == null) { - sResizer = new IconResizer(context); + final Resources resources = context.getResources(); + int size = (int) resources.getDimension(android.R.dimen.app_icon_size); + sResizer = new IconResizer(size, size, resources.getDisplayMetrics()); } return sResizer; } @@ -233,15 +235,15 @@ public class ActivityPicker extends AlertActivity implements if (label == null && resolveInfo.activityInfo != null) { label = resolveInfo.activityInfo.name; } - + icon = getResizer(context).createIconThumbnail(resolveInfo.loadIcon(pm)); packageName = resolveInfo.activityInfo.applicationInfo.packageName; className = resolveInfo.activityInfo.name; } - + /** * Build the {@link Intent} described by this item. If this item - * can't create a valid {@link ComponentName}, it will return + * can't create a valid {@link android.content.ComponentName}, it will return * {@link Intent#ACTION_CREATE_SHORTCUT} filled with the item label. */ Intent getIntent(Intent baseIntent) { @@ -262,16 +264,13 @@ public class ActivityPicker extends AlertActivity implements } private final LayoutInflater mInflater; - - private List mItems; - private int mLayoutRes = R.layout.pick_item; + private final List mItems; /** * Create an adapter for the given items. */ public PickAdapter(Context context, List items) { - mInflater = (LayoutInflater) - context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mItems = items; } @@ -301,7 +300,7 @@ public class ActivityPicker extends AlertActivity implements */ public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { - convertView = mInflater.inflate(mLayoutRes, parent, false); + convertView = mInflater.inflate(R.layout.pick_item, parent, false); } Item item = (Item) getItem(position); @@ -318,19 +317,20 @@ public class ActivityPicker extends AlertActivity implements * borrowed from Launcher. */ private static class IconResizer { - private int mIconWidth = -1; - private int mIconHeight = -1; + private final int mIconWidth; + private final int mIconHeight; + private final DisplayMetrics mMetrics; private final Rect mOldBounds = new Rect(); - private Canvas mCanvas = new Canvas(); + private final Canvas mCanvas = new Canvas(); - public IconResizer(Context context) { + public IconResizer(int width, int height, DisplayMetrics metrics) { mCanvas.setDrawFilter(new PaintFlagsDrawFilter(Paint.DITHER_FLAG, Paint.FILTER_BITMAP_FLAG)); - - final Resources resources = context.getResources(); - mIconWidth = mIconHeight = (int) resources.getDimension( - android.R.dimen.app_icon_size); + + mMetrics = metrics; + mIconWidth = width; + mIconHeight = height; } /** @@ -348,21 +348,23 @@ public class ActivityPicker extends AlertActivity implements public Drawable createIconThumbnail(Drawable icon) { int width = mIconWidth; int height = mIconHeight; - - if (icon == null) { - return null; - } - - final int iconWidth = icon.getIntrinsicWidth(); - final int iconHeight = icon.getIntrinsicHeight(); 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); + } } + int iconWidth = icon.getIntrinsicWidth(); + int iconHeight = icon.getIntrinsicHeight(); - if (width > 0 && height > 0) { + if (iconWidth > 0 && iconHeight > 0) { if (width < iconWidth || height < iconHeight) { final float ratio = (float) iconWidth / iconHeight; @@ -388,7 +390,9 @@ public class ActivityPicker extends AlertActivity implements 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); @@ -400,7 +404,9 @@ public class ActivityPicker extends AlertActivity implements icon.setBounds(x, y, x + iconWidth, y + iconHeight); icon.draw(canvas); icon.setBounds(mOldBounds); + //noinspection deprecation icon = new BitmapDrawable(thumb); + ((BitmapDrawable) icon).setTargetDensity(mMetrics); } } diff --git a/src/com/android/settings/ManageApplications.java b/src/com/android/settings/ManageApplications.java index a71d17bb0aa..9cd6e23ce3a 100644 --- a/src/com/android/settings/ManageApplications.java +++ b/src/com/android/settings/ManageApplications.java @@ -1403,13 +1403,17 @@ public class ManageApplications extends ListActivity implements } } else { final String prefixString = prefix.toString().toLowerCase(); + final String spacePrefixString = " " + prefixString; Map newMap = new HashMap(); synchronized (mFilterLock) { Map localMap = mFilterMap; Set keys = mFilterMap.keySet(); for (String key : keys) { String label = localMap.get(key); - if (label.indexOf(prefixString) != -1) { + if (label == null) continue; + label = label.toLowerCase(); + if (label.startsWith(prefixString) + || label.indexOf(spacePrefixString) != -1) { newMap.put(key, label); } } @@ -1895,6 +1899,9 @@ public class ManageApplications extends ListActivity implements public final int compare(ApplicationInfo a, ApplicationInfo b) { AppInfo ainfo = mCache.getEntry(a.packageName); AppInfo binfo = mCache.getEntry(b.packageName); + // Check for null app names, to avoid NPE in rare cases + if (ainfo == null || ainfo.appName == null) return -1; + if (binfo == null || binfo.appName == null) return 1; return sCollator.compare(ainfo.appName.toString(), binfo.appName.toString()); } } diff --git a/src/com/android/settings/SoundAndDisplaySettings.java b/src/com/android/settings/SoundAndDisplaySettings.java index 92297de9180..e01f7c3545a 100644 --- a/src/com/android/settings/SoundAndDisplaySettings.java +++ b/src/com/android/settings/SoundAndDisplaySettings.java @@ -17,7 +17,8 @@ package com.android.settings; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; -import static android.provider.Settings.System.COMPATIBILITY_MODE; + +import com.android.settings.bluetooth.DockEventReceiver; import android.content.BroadcastReceiver; import android.content.ContentResolver; @@ -29,15 +30,17 @@ import android.os.Bundle; import android.os.IMountService; 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.PreferenceGroup; import android.preference.PreferenceScreen; -import android.preference.CheckBoxPreference; import android.provider.Settings; +import android.provider.Settings.SettingNotFoundException; +import android.telephony.TelephonyManager; import android.util.Log; import android.view.IWindowManager; -import android.telephony.TelephonyManager; public class SoundAndDisplaySettings extends PreferenceActivity implements Preference.OnPreferenceChangeListener { @@ -46,7 +49,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements /** If there is no setting in the provider, use this. */ private static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000; private static final int FALLBACK_EMERGENCY_TONE_VALUE = 0; - + private static final String KEY_SILENT = "silent"; private static final String KEY_VIBRATE = "vibrate"; private static final String KEY_SCREEN_TIMEOUT = "screen_timeout"; @@ -55,13 +58,20 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements 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_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_DOCK_SETTINGS = "dock_settings"; + private CheckBoxPreference mSilent; private CheckBoxPreference mPlayMediaNotificationSounds; + private Preference mDockSettings; + private boolean mHasDockSettings; + private IMountService mMountService = null; /* @@ -77,36 +87,45 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements private CheckBoxPreference mHapticFeedback; private ListPreference mAnimations; private CheckBoxPreference mAccelerometer; + private CheckBoxPreference mNotificationPulse; private float[] mAnimationScales; - + private AudioManager mAudioManager; - + private IWindowManager mWindowManager; private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - updateState(false); + if (intent.getAction().equals(AudioManager.RINGER_MODE_CHANGED_ACTION)) { + updateState(false); + } else if (intent.getAction().equals(Intent.ACTION_DOCK_EVENT)) { + handleDockChange(intent); + } } }; + private PreferenceGroup mSoundSettings; + + private Intent mDockIntent; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ContentResolver resolver = getContentResolver(); 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); - + if (TelephonyManager.PHONE_TYPE_CDMA != activePhoneType) { // device is not CDMA, do not display CDMA emergency_tone getPreferenceScreen().removePreference(findPreference(KEY_EMERGENCY_TONE)); - } + } mSilent = (CheckBoxPreference) findPreference(KEY_SILENT); mPlayMediaNotificationSounds = (CheckBoxPreference) findPreference(KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS); @@ -128,7 +147,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements 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( @@ -142,15 +161,39 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements resolver, Settings.System.EMERGENCY_TONE, FALLBACK_EMERGENCY_TONE_VALUE))); emergencyTonePreference.setOnPreferenceChangeListener(this); } + + mSoundSettings = (PreferenceGroup) findPreference(KEY_SOUND_SETTINGS); + mNotificationPulse = (CheckBoxPreference) + mSoundSettings.findPreference(KEY_NOTIFICATION_PULSE); + if (mNotificationPulse != null && + getResources().getBoolean(R.bool.has_intrusive_led) == false) { + mSoundSettings.removePreference(mNotificationPulse); + } else { + try { + mNotificationPulse.setChecked(Settings.System.getInt(resolver, + Settings.System.NOTIFICATION_LIGHT_PULSE) == 1); + mNotificationPulse.setOnPreferenceChangeListener(this); + } catch (SettingNotFoundException snfe) { + Log.e(TAG, Settings.System.NOTIFICATION_LIGHT_PULSE + " not found"); + } + } + + initDockSettings(); } - + @Override protected void onResume() { super.onResume(); - + updateState(true); - + IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION); + if (mHasDockSettings) { + if (mDockSettings != null) { + mSoundSettings.removePreference(mDockSettings); + } + filter.addAction(Intent.ACTION_DOCK_EVENT); + } registerReceiver(mReceiver, filter); } @@ -161,11 +204,39 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements unregisterReceiver(mReceiver); } + private void initDockSettings() { + mDockSettings = mSoundSettings.findPreference(KEY_DOCK_SETTINGS); + mHasDockSettings = getResources().getBoolean(R.bool.has_dock_settings); + if (mDockSettings != null) { + mSoundSettings.removePreference(mDockSettings); + // Don't care even if we dock + if (getResources().getBoolean(R.bool.has_dock_settings) == false) { + mDockSettings = null; + } + } + } + + private void handleDockChange(Intent intent) { + if (mHasDockSettings && mDockSettings != null) { + int dockState = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, 0); + if (dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED) { + // Show dock settings item + mSoundSettings.addPreference(mDockSettings); + + // Save the intent to send to the activity + mDockIntent = intent; + } else { + // Remove dock settings item + mSoundSettings.removePreference(mDockSettings); + } + } + } + private void updateState(boolean force) { final int ringerMode = mAudioManager.getRingerMode(); final boolean silentOrVibrateMode = ringerMode != AudioManager.RINGER_MODE_NORMAL; - + if (silentOrVibrateMode != mSilent.isChecked() || force) { mSilent.setChecked(silentOrVibrateMode); } @@ -174,25 +245,25 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements mPlayMediaNotificationSounds.setChecked(mMountService.getPlayNotificationSounds()); } catch (RemoteException e) { } - + boolean vibrateSetting; if (silentOrVibrateMode) { vibrateSetting = ringerMode == AudioManager.RINGER_MODE_VIBRATE; } else { vibrateSetting = mAudioManager.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER) - == AudioManager.VIBRATE_SETTING_ON; + == AudioManager.VIBRATE_SETTING_ON; } if (vibrateSetting != mVibrate.isChecked() || force) { mVibrate.setChecked(vibrateSetting); } - + int silentModeStreams = Settings.System.getInt(getContentResolver(), Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0); - boolean isAlarmInclSilentMode = (silentModeStreams & (1 << AudioManager.STREAM_ALARM)) != 0; + boolean isAlarmInclSilentMode = (silentModeStreams & (1 << AudioManager.STREAM_ALARM)) != 0; mSilent.setSummary(isAlarmInclSilentMode ? R.string.silent_mode_incl_alarm_summary : R.string.silent_mode_summary); - + int animations = 0; try { mAnimationScales = mWindowManager.getAnimationScales(); @@ -219,7 +290,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements mAnimations.setValueIndex(idx); updateAnimationsSummary(mAnimations.getValue()); mAccelerometer.setChecked(Settings.System.getInt( - getContentResolver(), + getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) != 0); } @@ -235,7 +306,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } } } - + private void setRingerMode(boolean silent, boolean vibrate) { if (silent) { mAudioManager.setRingerMode(vibrate ? AudioManager.RINGER_MODE_VIBRATE : @@ -261,7 +332,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } else if (preference == mDtmfTone) { Settings.System.putInt(getContentResolver(), Settings.System.DTMF_TONE_WHEN_DIALING, mDtmfTone.isChecked() ? 1 : 0); - + } else if (preference == mSoundEffects) { if (mSoundEffects.isChecked()) { mAudioManager.loadSoundEffects(); @@ -274,17 +345,28 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } else if (preference == mHapticFeedback) { 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 == mNotificationPulse) { + boolean value = mNotificationPulse.isChecked(); + Settings.System.putInt(getContentResolver(), + Settings.System.NOTIFICATION_LIGHT_PULSE, value ? 1 : 0); + } else if (preference == mDockSettings) { + Intent i = new Intent(mDockIntent); + i.setAction(DockEventReceiver.ACTION_DOCK_SHOW_UI); + i.setClass(this, DockEventReceiver.class); + sendBroadcast(i); } + return true; } public boolean onPreferenceChange(Preference preference, Object objValue) { - if (KEY_ANIMATIONS.equals(preference.getKey())) { + final String key = preference.getKey(); + if (KEY_ANIMATIONS.equals(key)) { try { int value = Integer.parseInt((String) objValue); if (mAnimationScales.length >= 1) { @@ -301,17 +383,17 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } catch (NumberFormatException e) { Log.e(TAG, "could not persist animation setting", e); } - + } - if (KEY_SCREEN_TIMEOUT.equals(preference.getKey())) { + if (KEY_SCREEN_TIMEOUT.equals(key)) { int value = Integer.parseInt((String) objValue); try { - Settings.System.putInt(getContentResolver(), + 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(preference.getKey())) { + } else if (KEY_EMERGENCY_TONE.equals(key)) { int value = Integer.parseInt((String) objValue); try { Settings.System.putInt(getContentResolver(), @@ -320,8 +402,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements Log.e(TAG, "could not persist emergency tone setting", e); } } - + return true; } - } diff --git a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java index 6c408346a83..c1a2116023a 100644 --- a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java +++ b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java @@ -75,10 +75,23 @@ public class BluetoothEventRedirector { } else if (action.equals(BluetoothDevice.ACTION_BOND_STATE_CHANGED)) { int bondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, BluetoothDevice.ERROR); - mManager.getCachedDeviceManager().onBondingStateChanged(device, bondState); + CachedBluetoothDeviceManager cachedDeviceMgr = mManager.getCachedDeviceManager(); + cachedDeviceMgr.onBondingStateChanged(device, bondState); if (bondState == BluetoothDevice.BOND_NONE) { - int reason = intent.getIntExtra(BluetoothDevice.EXTRA_REASON, BluetoothDevice.ERROR); - mManager.getCachedDeviceManager().showUnbondMessage(device, reason); + if (device.isBluetoothDock()) { + // After a dock is unpaired, we will forget the + // setttings + mManager.removeDockAutoConnectSetting(device.getAddress()); + + // if the device is undocked, remove it from the list as + // well + if (!device.getAddress().equals(getDockedDeviceAddress(context))) { + cachedDeviceMgr.onDeviceDisappeared(device); + } + } + int reason = intent.getIntExtra(BluetoothDevice.EXTRA_REASON, + BluetoothDevice.ERROR); + cachedDeviceMgr.showUnbondMessage(device, reason); } } else if (action.equals(BluetoothHeadset.ACTION_STATE_CHANGED)) { @@ -112,6 +125,16 @@ public class BluetoothEventRedirector { } else if (action.equals(BluetoothDevice.ACTION_PAIRING_CANCEL)) { int errorMsg = R.string.bluetooth_pairing_error_message; mManager.showError(device, R.string.bluetooth_error_title, errorMsg); + + } else if (action.equals(Intent.ACTION_DOCK_EVENT)) { + // Remove if unpair device upon undocking + int anythingButUnDocked = Intent.EXTRA_DOCK_STATE_UNDOCKED + 1; + int state = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, anythingButUnDocked); + if (state == Intent.EXTRA_DOCK_STATE_UNDOCKED) { + if (device != null && device.getBondState() == BluetoothDevice.BOND_NONE) { + mManager.getCachedDeviceManager().onDeviceDisappeared(device); + } + } } } }; @@ -143,10 +166,29 @@ public class BluetoothEventRedirector { filter.addAction(BluetoothDevice.ACTION_CLASS_CHANGED); filter.addAction(BluetoothDevice.ACTION_UUID); + // Dock event broadcasts + filter.addAction(Intent.ACTION_DOCK_EVENT); + mManager.getContext().registerReceiver(mBroadcastReceiver, filter); } public void stop() { mManager.getContext().unregisterReceiver(mBroadcastReceiver); } + + // This can't be called from a broadcast receiver where the filter is set in the Manifest. + private String getDockedDeviceAddress(Context context) { + // This works only because these broadcast intents are "sticky" + Intent i = context.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 device = i.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); + if (device != null) { + return device.getAddress(); + } + } + } + return null; + } } diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java index 8a0795be8ab..43647954837 100644 --- a/src/com/android/settings/bluetooth/BluetoothSettings.java +++ b/src/com/android/settings/bluetooth/BluetoothSettings.java @@ -326,7 +326,10 @@ public class BluetoothSettings extends PreferenceActivity if (uuids != null) if (BluetoothUuid.containsAnyUuid(uuids, LocalBluetoothProfileManager.OPP_PROFILE_UUIDS)) return true; - if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_OPP)) return true; + if (bluetoothClass != null + && bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_OPP)) { + return true; + } break; case BluetoothDevicePicker.FILTER_TYPE_AUDIO: if (uuids != null) { @@ -335,7 +338,7 @@ public class BluetoothSettings extends PreferenceActivity if (BluetoothUuid.containsAnyUuid(uuids, LocalBluetoothProfileManager.HEADSET_PROFILE_UUIDS)) return true; - } else { + } else if (bluetoothClass != null) { if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_A2DP)) return true; if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_HEADSET)) return true; diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java index 03328b5fb31..57bffa98910 100644 --- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java +++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java @@ -41,6 +41,7 @@ import java.util.Date; import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Set; /** * CachedBluetoothDevice represents a remote Bluetooth device. It contains @@ -141,10 +142,10 @@ public class CachedBluetoothDevice implements Comparable private static LinkedList workQueue = new LinkedList(); private void queueCommand(BluetoothJob job) { - if (D) { - Log.d(TAG, workQueue.toString()); - } synchronized (workQueue) { + if (D) { + Log.d(TAG, workQueue.toString()); + } boolean processNow = pruneQueue(job); // Add job to queue @@ -226,44 +227,46 @@ public class CachedBluetoothDevice implements Comparable } public void onProfileStateChanged(Profile profile, int newProfileState) { - if (D) { - Log.d(TAG, "onProfileStateChanged:" + workQueue.toString()); - } - - int newState = LocalBluetoothProfileManager.getProfileManager(mLocalManager, - profile).convertState(newProfileState); - - if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED) { - if (!mProfiles.contains(profile)) { - mProfiles.add(profile); + synchronized (workQueue) { + if (D) { + Log.d(TAG, "onProfileStateChanged:" + workQueue.toString()); } - } - /* Ignore the transient states e.g. connecting, disconnecting */ - if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED || - newState == SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED) { - BluetoothJob job = workQueue.peek(); - if (job == null) { - return; - } else if (!job.cachedDevice.mDevice.equals(mDevice)) { - // This can happen in 2 cases: 1) BT device initiated pairing and - // 2) disconnects of one headset that's triggered by connects of - // another. - if (D) { - Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString()); + int newState = LocalBluetoothProfileManager.getProfileManager(mLocalManager, + profile).convertState(newProfileState); + + if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED) { + if (!mProfiles.contains(profile)) { + mProfiles.add(profile); } + } - // 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. + /* Ignore the transient states e.g. connecting, disconnecting */ + if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED || + newState == SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED) { + BluetoothJob job = workQueue.peek(); + if (job == null) { return; - } - } else { - // Remove the first item and process the next one - workQueue.poll(); - } + } else if (!job.cachedDevice.mDevice.equals(mDevice)) { + // This can happen in 2 cases: 1) BT device initiated pairing and + // 2) disconnects of one headset that's triggered by connects of + // another. + if (D) { + Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString()); + } - processCommands(); + // 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. + return; + } + } else { + // Remove the first item and process the next one + workQueue.poll(); + } + + processCommands(); + } } } @@ -380,6 +383,12 @@ public class CachedBluetoothDevice implements Comparable connectWithoutResettingTimer(); } + /*package*/ void onBondingDockConnect() { + // Don't connect just set the timer. + // TODO(): Fix the actual problem + mConnectAttempted = SystemClock.elapsedRealtime(); + } + private void connectWithoutResettingTimer() { // Try to initialize the profiles if there were not. if (mProfiles.size() == 0) { @@ -401,6 +410,7 @@ public class CachedBluetoothDevice implements Comparable .getProfileManager(mLocalManager, profile); if (profileManager.isPreferred(mDevice)) { ++preferredProfiles; + disconnectConnected(profile); queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile)); } } @@ -423,6 +433,7 @@ public class CachedBluetoothDevice implements Comparable LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager .getProfileManager(mLocalManager, profile); profileManager.setPreferred(mDevice, false); + disconnectConnected(profile); queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile)); } } @@ -432,9 +443,24 @@ public class CachedBluetoothDevice implements Comparable mConnectAttempted = SystemClock.elapsedRealtime(); // Reset the only-show-one-error-dialog tracking variable mIsConnectingErrorPossible = true; + disconnectConnected(profile); queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile)); } + private void disconnectConnected(Profile profile) { + LocalBluetoothProfileManager profileManager = + LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile); + CachedBluetoothDeviceManager cachedDeviceManager = mLocalManager.getCachedDeviceManager(); + Set devices = profileManager.getConnectedDevices(); + if (devices == null) return; + for (BluetoothDevice device : devices) { + CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(device); + if (cachedDevice != null) { + queueCommand(new BluetoothJob(BluetoothCommand.DISCONNECT, cachedDevice, profile)); + } + } + } + private boolean connectInt(CachedBluetoothDevice cachedDevice, Profile profile) { if (!cachedDevice.ensurePaired()) return false; @@ -665,26 +691,28 @@ public class CachedBluetoothDevice implements Comparable boolean printUuids = true; BluetoothClass bluetoothClass = mDevice.getBluetoothClass(); - if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_HEADSET) != - mProfiles.contains(Profile.HEADSET)) { - Log.v(TAG, "headset classbits != uuid"); - printUuids = true; - } + if (bluetoothClass != null) { + if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_HEADSET) != + mProfiles.contains(Profile.HEADSET)) { + Log.v(TAG, "headset classbits != uuid"); + printUuids = true; + } - if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_A2DP) != - mProfiles.contains(Profile.A2DP)) { - Log.v(TAG, "a2dp classbits != uuid"); - printUuids = true; - } + if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_A2DP) != + mProfiles.contains(Profile.A2DP)) { + Log.v(TAG, "a2dp classbits != uuid"); + printUuids = true; + } - if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_OPP) != - mProfiles.contains(Profile.OPP)) { - Log.v(TAG, "opp classbits != uuid"); - printUuids = true; + if (bluetoothClass.doesClassMatch(BluetoothClass.PROFILE_OPP) != + mProfiles.contains(Profile.OPP)) { + Log.v(TAG, "opp classbits != uuid"); + printUuids = true; + } } if (printUuids) { - Log.v(TAG, "Class: " + bluetoothClass.toString()); + if (bluetoothClass != null) Log.v(TAG, "Class: " + bluetoothClass.toString()); Log.v(TAG, "UUID:"); for (int i = 0; i < uuids.length; i++) { Log.v(TAG, " " + uuids[i]); diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java index c3dfc208bf8..7906d79fc63 100644 --- a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java +++ b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java @@ -186,7 +186,11 @@ public class CachedBluetoothDeviceManager { if (bondState == BluetoothDevice.BOND_BONDED) { // Auto-connect after pairing - cachedDevice.connect(); + if (!device.isBluetoothDock()) { + cachedDevice.connect(); + } else { + cachedDevice.onBondingDockConnect(); + } } } diff --git a/src/com/android/settings/bluetooth/DockEventReceiver.java b/src/com/android/settings/bluetooth/DockEventReceiver.java new file mode 100644 index 00000000000..261ec1da3cd --- /dev/null +++ b/src/com/android/settings/bluetooth/DockEventReceiver.java @@ -0,0 +1,113 @@ +/* + * 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.bluetooth; + +import android.app.Service; +import android.bluetooth.BluetoothDevice; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.PowerManager; +import android.util.Log; + +public class DockEventReceiver extends BroadcastReceiver { + + private static final boolean DEBUG = false; + + private static final String TAG = "DockEventReceiver"; + + public static final String ACTION_DOCK_SHOW_UI = + "com.android.settings.bluetooth.action.DOCK_SHOW_UI"; + + private static final int EXTRA_INVALID = -1234; + + static final Object mStartingServiceSync = new Object(); + + static PowerManager.WakeLock mStartingService; + + @Override + public void onReceive(Context context, Intent intent) { + if (intent == null) + return; + + int state = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, EXTRA_INVALID); + BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); + + if (DEBUG) { + Log.d(TAG, "Action: " + intent.getAction() + " State:" + state + " Device: " + + (device == null ? "null" : device.getName())); + } + + if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction()) + || ACTION_DOCK_SHOW_UI.endsWith(intent.getAction())) { + if (device == null) { + if (DEBUG) Log.d(TAG, "Device is missing"); + return; + } + + switch (state) { + case Intent.EXTRA_DOCK_STATE_UNDOCKED: + case Intent.EXTRA_DOCK_STATE_CAR: + case Intent.EXTRA_DOCK_STATE_DESK: + Intent i = new Intent(intent); + i.setClass(context, DockService.class); + beginStartingService(context, i); + break; + default: + if (DEBUG) Log.e(TAG, "Unknown state"); + break; + } + } + } + + /** + * Start the service to process the current event notifications, acquiring + * the wake lock before returning to ensure that the service will run. + */ + public static void beginStartingService(Context context, Intent intent) { + synchronized (mStartingServiceSync) { + if (mStartingService == null) { + PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); + mStartingService = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, + "StartingDockService"); + mStartingService.setReferenceCounted(false); + } + + mStartingService.acquire(); + + if (context.startService(intent) == null) { + Log.e(TAG, "Can't start DockService"); + mStartingService.release(); + } + } + } + + /** + * Called back by the service when it has finished processing notifications, + * releasing the wake lock if the service is now stopping. + */ + public static void finishStartingService(Service service, int startId) { + synchronized (mStartingServiceSync) { + if (mStartingService != null) { + if (DEBUG) Log.d(TAG, "stopSelf id = "+ startId); + if (service.stopSelfResult(startId)) { + mStartingService.release(); + } + } + } + } +} diff --git a/src/com/android/settings/bluetooth/DockService.java b/src/com/android/settings/bluetooth/DockService.java new file mode 100644 index 00000000000..5bf02148df2 --- /dev/null +++ b/src/com/android/settings/bluetooth/DockService.java @@ -0,0 +1,527 @@ +/* + * 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.bluetooth; + +import com.android.settings.R; +import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile; + +import android.app.AlertDialog; +import android.app.Notification; +import android.app.PendingIntent; +import android.app.Service; +import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothDevice; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.IBinder; +import android.os.Looper; +import android.os.Message; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.WindowManager; +import android.widget.CheckBox; +import android.widget.CompoundButton; + +public class DockService extends Service implements AlertDialog.OnMultiChoiceClickListener, + DialogInterface.OnClickListener, DialogInterface.OnDismissListener, + CompoundButton.OnCheckedChangeListener { + + private static final String TAG = "DockService"; + + // TODO clean up logs. Disable DEBUG flag for this file and receiver's too + private static final boolean DEBUG = false; + + // Time allowed for the device to be undocked and redocked without severing + // the bluetooth connection + private static final long UNDOCKED_GRACE_PERIOD = 1000; + + // Msg for user wanting the UI to setup the dock + private static final int MSG_TYPE_SHOW_UI = 111; + + // Msg for device docked event + private static final int MSG_TYPE_DOCKED = 222; + + // Msg for device undocked event + private static final int MSG_TYPE_UNDOCKED_TEMPORARY = 333; + + // Msg for undocked command to be process after UNDOCKED_GRACE_PERIOD millis + // since MSG_TYPE_UNDOCKED_TEMPORARY + private static final int MSG_TYPE_UNDOCKED_PERMANENT = 444; + + // Created in OnCreate() + private volatile Looper mServiceLooper; + private volatile ServiceHandler mServiceHandler; + private DockService mContext; + private LocalBluetoothManager mBtManager; + + // Normally set after getting a docked event and unset when the connection + // is severed. One exception is that mDevice could be null if the service + // was started after the docked event. + private BluetoothDevice mDevice; + + // Created and used for the duration of the dialog + private AlertDialog mDialog; + private Profile[] mProfiles; + private boolean[] mCheckedItems; + private int mStartIdAssociatedWithDialog; + + // Set while BT is being enabled. + private BluetoothDevice mPendingDevice; + private int mPendingStartId; + + private boolean mRegistered; + private Object mBtSynchroObject = new Object(); + + @Override + public void onCreate() { + if (DEBUG) Log.d(TAG, "onCreate"); + + mBtManager = LocalBluetoothManager.getInstance(this); + mContext = this; + + HandlerThread thread = new HandlerThread("DockService"); + thread.start(); + + mServiceLooper = thread.getLooper(); + mServiceHandler = new ServiceHandler(mServiceLooper); + } + + @Override + public void onDestroy() { + if (DEBUG) Log.d(TAG, "onDestroy"); + if (mDialog != null) { + mDialog.dismiss(); + mDialog = null; + } + if (mRegistered) { + unregisterReceiver(mReceiver); + mRegistered = false; + } + mServiceLooper.quit(); + } + + @Override + public IBinder onBind(Intent intent) { + // not supported + return null; + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + if (DEBUG) Log.d(TAG, "onStartCommand startId:" + startId + " flags: " + flags); + + if (intent == null) { + // Nothing to process, stop. + if (DEBUG) Log.d(TAG, "START_NOT_STICKY - intent is null."); + + // NOTE: We MUST not call stopSelf() directly, since we need to + // make sure the wake lock acquired by the Receiver is released. + DockEventReceiver.finishStartingService(this, startId); + return START_NOT_STICKY; + } + + Message msg = parseIntent(intent); + if (msg == null) { + // Bad intent + if (DEBUG) Log.d(TAG, "START_NOT_STICKY - Bad intent."); + DockEventReceiver.finishStartingService(this, startId); + return START_NOT_STICKY; + } + + msg.arg2 = startId; + processMessage(msg); + + return START_NOT_STICKY; + } + + private final class ServiceHandler extends Handler { + public ServiceHandler(Looper looper) { + super(looper); + } + + @Override + public void handleMessage(Message msg) { + processMessage(msg); + } + } + + // This method gets messages from both onStartCommand and mServiceHandler/mServiceLooper + void processMessage(Message msg) { + int msgType = msg.what; + int state = msg.arg1; + int startId = msg.arg2; + BluetoothDevice device = (BluetoothDevice) msg.obj; + + if(DEBUG) Log.d(TAG, "processMessage: " + msgType + " state: " + state + " device = " + + (msg.obj == null ? "null" : device.toString())); + + switch (msgType) { + case MSG_TYPE_SHOW_UI: + if (mDialog != null) { + // Shouldn't normally happen + mDialog.dismiss(); + mDialog = null; + } + mDevice = device; + createDialog(mContext, mDevice, state, startId); + break; + + case MSG_TYPE_DOCKED: + if (DEBUG) { + // TODO figure out why hasMsg always returns false if device + // is supplied + Log.d(TAG, "1 Has undock perm msg = " + + mServiceHandler.hasMessages(MSG_TYPE_UNDOCKED_PERMANENT, mDevice)); + Log.d(TAG, "2 Has undock perm msg = " + + mServiceHandler.hasMessages(MSG_TYPE_UNDOCKED_PERMANENT, device)); + } + + mServiceHandler.removeMessages(MSG_TYPE_UNDOCKED_PERMANENT); + + if (!device.equals(mDevice)) { + if (mDevice != null) { + // Not expected. Cleanup/undock existing + handleUndocked(mContext, mBtManager, mDevice); + } + + mDevice = device; + if (mBtManager.getDockAutoConnectSetting(device.getAddress())) { + // Setting == auto connect + initBtSettings(mContext, device, state, false); + applyBtSettings(mDevice, startId); + } else { + createDialog(mContext, mDevice, state, startId); + } + } + break; + + case MSG_TYPE_UNDOCKED_PERMANENT: + // Grace period passed. Disconnect. + handleUndocked(mContext, mBtManager, device); + break; + + case MSG_TYPE_UNDOCKED_TEMPORARY: + // Undocked event received. Queue a delayed msg to sever connection + Message newMsg = mServiceHandler.obtainMessage(MSG_TYPE_UNDOCKED_PERMANENT, state, + startId, device); + mServiceHandler.sendMessageDelayed(newMsg, UNDOCKED_GRACE_PERIOD); + break; + } + + if (mDialog == null && mPendingDevice == null && msgType != MSG_TYPE_UNDOCKED_TEMPORARY) { + // NOTE: We MUST not call stopSelf() directly, since we need to + // make sure the wake lock acquired by the Receiver is released. + DockEventReceiver.finishStartingService(DockService.this, startId); + } + } + + private Message parseIntent(Intent intent) { + BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); + int state = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, -1234); + + if (DEBUG) { + Log.d(TAG, "Action: " + intent.getAction() + " State:" + state + + " Device: " + (device == null ? "null" : device.getName())); + } + + if (device == null) { + Log.w(TAG, "device is null"); + return null; + } + + int msgType; + switch (state) { + case Intent.EXTRA_DOCK_STATE_UNDOCKED: + msgType = MSG_TYPE_UNDOCKED_TEMPORARY; + break; + case Intent.EXTRA_DOCK_STATE_DESK: + case Intent.EXTRA_DOCK_STATE_CAR: + if (DockEventReceiver.ACTION_DOCK_SHOW_UI.equals(intent.getAction())) { + msgType = MSG_TYPE_SHOW_UI; + } else { + msgType = MSG_TYPE_DOCKED; + } + break; + default: + return null; + } + + return mServiceHandler.obtainMessage(msgType, state, 0, device); + } + + private boolean createDialog(DockService service, BluetoothDevice device, int state, + int startId) { + switch (state) { + case Intent.EXTRA_DOCK_STATE_CAR: + case Intent.EXTRA_DOCK_STATE_DESK: + break; + default: + return false; + } + + startForeground(0, new Notification()); + + // Device in a new dock. + boolean firstTime = !mBtManager.hasDockAutoConnectSetting(device.getAddress()); + + CharSequence[] items = initBtSettings(service, device, state, firstTime); + + final AlertDialog.Builder ab = new AlertDialog.Builder(service); + ab.setTitle(service.getString(R.string.bluetooth_dock_settings_title)); + + // Profiles + ab.setMultiChoiceItems(items, mCheckedItems, service); + + // Remember this settings + LayoutInflater inflater = (LayoutInflater) service + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + float pixelScaleFactor = service.getResources().getDisplayMetrics().density; + View view = inflater.inflate(R.layout.remember_dock_setting, null); + CheckBox rememberCheckbox = (CheckBox) view.findViewById(R.id.remember); + + // check "Remember setting" by default if no value was saved + boolean checked = firstTime || mBtManager.getDockAutoConnectSetting(device.getAddress()); + rememberCheckbox.setChecked(checked); + rememberCheckbox.setOnCheckedChangeListener(this); + int viewSpacingLeft = (int) (14 * pixelScaleFactor); + int viewSpacingRight = (int) (14 * pixelScaleFactor); + ab.setView(view, viewSpacingLeft, 0 /* top */, viewSpacingRight, 0 /* bottom */); + if (DEBUG) { + Log.d(TAG, "Auto connect = " + + mBtManager.getDockAutoConnectSetting(device.getAddress())); + } + + // Ok Button + ab.setPositiveButton(service.getString(android.R.string.ok), service); + + mStartIdAssociatedWithDialog = startId; + mDialog = ab.create(); + mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); + mDialog.setOnDismissListener(service); + mDialog.show(); + return true; + } + + // Called when the individual bt profiles are clicked. + public void onClick(DialogInterface dialog, int which, boolean isChecked) { + if (DEBUG) Log.d(TAG, "Item " + which + " changed to " + isChecked); + mCheckedItems[which] = isChecked; + } + + // Called when the "Remember" Checkbox is clicked + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (DEBUG) Log.d(TAG, "onCheckedChanged: Remember Settings = " + isChecked); + if (mDevice != null) { + mBtManager.saveDockAutoConnectSetting(mDevice.getAddress(), isChecked); + } + } + + // Called when the dialog is dismissed + public void onDismiss(DialogInterface dialog) { + // NOTE: We MUST not call stopSelf() directly, since we need to + // make sure the wake lock acquired by the Receiver is released. + if (mPendingDevice == null) { + DockEventReceiver.finishStartingService(mContext, mStartIdAssociatedWithDialog); + } + mContext.stopForeground(true); + } + + // Called when clicked on the OK button + public void onClick(DialogInterface dialog, int which) { + if (which == DialogInterface.BUTTON_POSITIVE && mDevice != null) { + if (!mBtManager.hasDockAutoConnectSetting(mDevice.getAddress())) { + mBtManager.saveDockAutoConnectSetting(mDevice.getAddress(), true); + } + + applyBtSettings(mDevice, mStartIdAssociatedWithDialog); + } + } + + private CharSequence[] initBtSettings(DockService service, BluetoothDevice device, int state, + boolean firstTime) { + // TODO Avoid hardcoding dock and profiles. Read from system properties + int numOfProfiles = 0; + switch (state) { + case Intent.EXTRA_DOCK_STATE_DESK: + numOfProfiles = 1; + break; + case Intent.EXTRA_DOCK_STATE_CAR: + numOfProfiles = 2; + break; + default: + return null; + } + + mProfiles = new Profile[numOfProfiles]; + mCheckedItems = new boolean[numOfProfiles]; + CharSequence[] items = new CharSequence[numOfProfiles]; + + int i = 0; + switch (state) { + case Intent.EXTRA_DOCK_STATE_CAR: + items[i] = service.getString(R.string.bluetooth_dock_settings_headset); + mProfiles[i] = Profile.HEADSET; + if (firstTime) { + mCheckedItems[i] = false; + } else { + mCheckedItems[i] = LocalBluetoothProfileManager.getProfileManager(mBtManager, + Profile.HEADSET).isPreferred(device); + } + ++i; + // fall through + case Intent.EXTRA_DOCK_STATE_DESK: + items[i] = service.getString(R.string.bluetooth_dock_settings_a2dp); + mProfiles[i] = Profile.A2DP; + if (firstTime) { + mCheckedItems[i] = false; + } else { + mCheckedItems[i] = LocalBluetoothProfileManager.getProfileManager(mBtManager, + Profile.A2DP).isPreferred(device); + } + break; + } + return items; + } + + private final BroadcastReceiver mReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); + if (state == BluetoothAdapter.STATE_ON && mPendingDevice != null) { + synchronized (mBtSynchroObject) { + if (mPendingDevice.equals(mDevice)) { + if(DEBUG) Log.d(TAG, "applying settings"); + applyBtSettings(mPendingDevice, mPendingStartId); + } else if(DEBUG) { + Log.d(TAG, "mPendingDevice (" + mPendingDevice + ") != mDevice (" + + mDevice + ")"); + } + + mPendingDevice = null; + DockEventReceiver.finishStartingService(mContext, mPendingStartId); + } + } + } + }; + + private void applyBtSettings(final BluetoothDevice device, int startId) { + if (device == null || mProfiles == null || mCheckedItems == null) + return; + + // Turn on BT if something is enabled + synchronized (mBtSynchroObject) { + for (boolean enable : mCheckedItems) { + if (enable) { + int btState = mBtManager.getBluetoothState(); + switch (btState) { + case BluetoothAdapter.STATE_OFF: + case BluetoothAdapter.STATE_TURNING_OFF: + case BluetoothAdapter.STATE_TURNING_ON: + if (mPendingDevice != null && mPendingDevice.equals(mDevice)) { + return; + } + if (!mRegistered) { + registerReceiver(mReceiver, new IntentFilter( + BluetoothAdapter.ACTION_STATE_CHANGED)); + } + mPendingDevice = device; + mRegistered = true; + mPendingStartId = startId; + if (btState != BluetoothAdapter.STATE_TURNING_ON) { + // BT is off. Enable it + mBtManager.getBluetoothAdapter().enable(); + } + return; + } + } + } + } + + mPendingDevice = null; + + for (int i = 0; i < mProfiles.length; i++) { + LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager + .getProfileManager(mBtManager, mProfiles[i]); + boolean isConnected = profileManager.isConnected(device); + CachedBluetoothDevice cachedDevice = getCachedBluetoothDevice(mContext, mBtManager, + device); + + if (DEBUG) Log.d(TAG, mProfiles[i].toString() + " = " + mCheckedItems[i]); + + if (mCheckedItems[i] && !isConnected) { + // Checked but not connected + if (DEBUG) Log.d(TAG, "applyBtSettings - Connecting"); + cachedDevice.connect(mProfiles[i]); + } else if (!mCheckedItems[i] && isConnected) { + // Unchecked but connected + if (DEBUG) Log.d(TAG, "applyBtSettings - Disconnecting"); + cachedDevice.disconnect(mProfiles[i]); + } + profileManager.setPreferred(device, mCheckedItems[i]); + if (DEBUG) { + if (mCheckedItems[i] != profileManager.isPreferred(device)) { + Log.e(TAG, "Can't save prefered value"); + } + } + } + } + + void handleUndocked(Context context, LocalBluetoothManager localManager, + BluetoothDevice device) { + if (mDialog != null) { + mDialog.dismiss(); + mDialog = null; + } + mDevice = null; + mPendingDevice = null; + CachedBluetoothDevice cachedBluetoothDevice = getCachedBluetoothDevice(context, + localManager, device); + cachedBluetoothDevice.disconnect(); + } + + private static CachedBluetoothDevice getCachedBluetoothDevice(Context context, + LocalBluetoothManager localManager, BluetoothDevice device) { + CachedBluetoothDeviceManager cachedDeviceManager = localManager.getCachedDeviceManager(); + CachedBluetoothDevice cachedBluetoothDevice = cachedDeviceManager.findDevice(device); + if (cachedBluetoothDevice == null) { + cachedBluetoothDevice = new CachedBluetoothDevice(context, device); + } + return cachedBluetoothDevice; + } + + // TODO Delete this method if not needed. + private Notification getNotification(Service service) { + CharSequence title = service.getString(R.string.dock_settings_title); + + Notification n = new Notification(R.drawable.ic_bt_headphones_a2dp, title, System + .currentTimeMillis()); + + CharSequence contentText = service.getString(R.string.dock_settings_summary); + Intent notificationIntent = new Intent(service, DockEventReceiver.class); + notificationIntent.setAction(DockEventReceiver.ACTION_DOCK_SHOW_UI); + PendingIntent pendingIntent = PendingIntent.getActivity(service, 0, notificationIntent, 0); + + n.setLatestEventInfo(service, title, contentText, pendingIntent); + return n; + } +} diff --git a/src/com/android/settings/bluetooth/LocalBluetoothManager.java b/src/com/android/settings/bluetooth/LocalBluetoothManager.java index acab88ca525..ec5c6bcb07e 100644 --- a/src/com/android/settings/bluetooth/LocalBluetoothManager.java +++ b/src/com/android/settings/bluetooth/LocalBluetoothManager.java @@ -78,6 +78,8 @@ public class LocalBluetoothManager { private static final String SHARED_PREFERENCES_KEY_LAST_SELECTED_DEVICE_TIME = "last_selected_device_time"; + private static final String SHARED_PREFERENCES_KEY_DOCK_AUTO_CONNECT = "auto_connect_to_dock"; + private long mLastScan; public static LocalBluetoothManager getInstance(Context context) { @@ -339,4 +341,25 @@ public class LocalBluetoothManager { System.currentTimeMillis()); editor.commit(); } + + public boolean hasDockAutoConnectSetting(String addr) { + return getSharedPreferences().contains(SHARED_PREFERENCES_KEY_DOCK_AUTO_CONNECT + addr); + } + + public boolean getDockAutoConnectSetting(String addr) { + return getSharedPreferences().getBoolean(SHARED_PREFERENCES_KEY_DOCK_AUTO_CONNECT + addr, + false); + } + + public void saveDockAutoConnectSetting(String addr, boolean autoConnect) { + SharedPreferences.Editor editor = getSharedPreferences().edit(); + editor.putBoolean(SHARED_PREFERENCES_KEY_DOCK_AUTO_CONNECT + addr, autoConnect); + editor.commit(); + } + + public void removeDockAutoConnectSetting(String addr) { + SharedPreferences.Editor editor = getSharedPreferences().edit(); + editor.remove(SHARED_PREFERENCES_KEY_DOCK_AUTO_CONNECT + addr); + editor.commit(); + } } diff --git a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java index a6258e24a2c..24ba04572d2 100644 --- a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java +++ b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java @@ -16,17 +16,18 @@ package com.android.settings.bluetooth; +import com.android.settings.R; + import android.bluetooth.BluetoothA2dp; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothHeadset; import android.bluetooth.BluetoothUuid; -import android.os.ParcelUuid; import android.os.Handler; +import android.os.ParcelUuid; import android.util.Log; -import com.android.settings.R; - import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -121,6 +122,8 @@ public abstract class LocalBluetoothProfileManager { mLocalManager = localManager; } + public abstract Set getConnectedDevices(); + public abstract boolean connect(BluetoothDevice device); public abstract boolean disconnect(BluetoothDevice device); @@ -163,9 +166,14 @@ public abstract class LocalBluetoothProfileManager { mService = new BluetoothA2dp(localManager.getContext()); } + @Override + public Set getConnectedDevices() { + return mService.getNonDisconnectedSinks(); + } + @Override public boolean connect(BluetoothDevice device) { - Set sinks = mService.getConnectedSinks(); + Set sinks = mService.getNonDisconnectedSinks(); if (sinks != null) { for (BluetoothDevice sink : sinks) { mService.disconnectSink(sink); @@ -176,6 +184,10 @@ public abstract class LocalBluetoothProfileManager { @Override public boolean disconnect(BluetoothDevice device) { + // Downgrade priority as user is disconnecting the sink. + if (mService.getSinkPriority(device) > BluetoothA2dp.PRIORITY_ON) { + mService.setSinkPriority(device, BluetoothA2dp.PRIORITY_ON); + } return mService.disconnectSink(device); } @@ -202,8 +214,13 @@ public abstract class LocalBluetoothProfileManager { @Override public void setPreferred(BluetoothDevice device, boolean preferred) { - mService.setSinkPriority(device, - preferred ? BluetoothA2dp.PRIORITY_AUTO : BluetoothA2dp.PRIORITY_OFF); + if (preferred) { + if (mService.getSinkPriority(device) < BluetoothA2dp.PRIORITY_ON) { + mService.setSinkPriority(device, BluetoothA2dp.PRIORITY_ON); + } + } else { + mService.setSinkPriority(device, BluetoothA2dp.PRIORITY_OFF); + } } @Override @@ -258,6 +275,17 @@ public abstract class LocalBluetoothProfileManager { public void onServiceDisconnected() { } + @Override + public Set getConnectedDevices() { + Set devices = null; + BluetoothDevice device = mService.getCurrentHeadset(); + if (device != null) { + devices = new HashSet(); + devices.add(device); + } + return devices; + } + @Override public boolean connect(BluetoothDevice device) { // Since connectHeadset fails if already connected to a headset, we @@ -269,6 +297,10 @@ public abstract class LocalBluetoothProfileManager { @Override public boolean disconnect(BluetoothDevice device) { if (mService.getCurrentHeadset().equals(device)) { + // Downgrade prority as user is disconnecting the headset. + if (mService.getPriority(device) > BluetoothHeadset.PRIORITY_ON) { + mService.setPriority(device, BluetoothHeadset.PRIORITY_ON); + } return mService.disconnectHeadset(); } else { return false; @@ -301,8 +333,13 @@ public abstract class LocalBluetoothProfileManager { @Override public void setPreferred(BluetoothDevice device, boolean preferred) { - mService.setPriority(device, - preferred ? BluetoothHeadset.PRIORITY_AUTO : BluetoothHeadset.PRIORITY_OFF); + if (preferred) { + if (mService.getPriority(device) < BluetoothHeadset.PRIORITY_ON) { + mService.setPriority(device, BluetoothHeadset.PRIORITY_ON); + } + } else { + mService.setPriority(device, BluetoothHeadset.PRIORITY_OFF); + } } @Override @@ -329,6 +366,11 @@ public abstract class LocalBluetoothProfileManager { super(localManager); } + @Override + public Set getConnectedDevices() { + return null; + } + @Override public boolean connect(BluetoothDevice device) { return false; diff --git a/tests/res/values-cs/strings.xml b/tests/res/values-cs/strings.xml new file mode 100644 index 00000000000..835e589490b --- /dev/null +++ b/tests/res/values-cs/strings.xml @@ -0,0 +1,19 @@ + + + + "Viditelné" + diff --git a/tests/res/values-da/strings.xml b/tests/res/values-da/strings.xml new file mode 100644 index 00000000000..824db2c8403 --- /dev/null +++ b/tests/res/values-da/strings.xml @@ -0,0 +1,19 @@ + + + + "Søgbar" + diff --git a/tests/res/values-de/strings.xml b/tests/res/values-de/strings.xml new file mode 100644 index 00000000000..a6c46883019 --- /dev/null +++ b/tests/res/values-de/strings.xml @@ -0,0 +1,19 @@ + + + + "Sichtbar" + diff --git a/tests/res/values-el/strings.xml b/tests/res/values-el/strings.xml new file mode 100644 index 00000000000..f62e42d2e44 --- /dev/null +++ b/tests/res/values-el/strings.xml @@ -0,0 +1,19 @@ + + + + "Ανιχνεύσιμο" + diff --git a/tests/res/values-es-rUS/strings.xml b/tests/res/values-es-rUS/strings.xml new file mode 100644 index 00000000000..5d33eb04f5d --- /dev/null +++ b/tests/res/values-es-rUS/strings.xml @@ -0,0 +1,19 @@ + + + + "Visible" + diff --git a/tests/res/values-es/strings.xml b/tests/res/values-es/strings.xml new file mode 100644 index 00000000000..5d33eb04f5d --- /dev/null +++ b/tests/res/values-es/strings.xml @@ -0,0 +1,19 @@ + + + + "Visible" + diff --git a/tests/res/values-fr/strings.xml b/tests/res/values-fr/strings.xml new file mode 100644 index 00000000000..cc76bbf4e5c --- /dev/null +++ b/tests/res/values-fr/strings.xml @@ -0,0 +1,19 @@ + + + + "Identifiable" + diff --git a/tests/res/values-it/strings.xml b/tests/res/values-it/strings.xml new file mode 100644 index 00000000000..86b6087f14d --- /dev/null +++ b/tests/res/values-it/strings.xml @@ -0,0 +1,19 @@ + + + + "Rilevabile" + diff --git a/tests/res/values-ja/strings.xml b/tests/res/values-ja/strings.xml new file mode 100644 index 00000000000..692399eba61 --- /dev/null +++ b/tests/res/values-ja/strings.xml @@ -0,0 +1,19 @@ + + + + "検出可能" + diff --git a/tests/res/values-ko/strings.xml b/tests/res/values-ko/strings.xml new file mode 100644 index 00000000000..385b9b4487c --- /dev/null +++ b/tests/res/values-ko/strings.xml @@ -0,0 +1,19 @@ + + + + "검색가능" + diff --git a/tests/res/values-nb/strings.xml b/tests/res/values-nb/strings.xml new file mode 100644 index 00000000000..cec9affca2a --- /dev/null +++ b/tests/res/values-nb/strings.xml @@ -0,0 +1,19 @@ + + + + "Synlig" + diff --git a/tests/res/values-nl/strings.xml b/tests/res/values-nl/strings.xml new file mode 100644 index 00000000000..d2152af151a --- /dev/null +++ b/tests/res/values-nl/strings.xml @@ -0,0 +1,19 @@ + + + + "Vindbaar" + diff --git a/tests/res/values-pl/strings.xml b/tests/res/values-pl/strings.xml new file mode 100644 index 00000000000..8cdfda4ec76 --- /dev/null +++ b/tests/res/values-pl/strings.xml @@ -0,0 +1,19 @@ + + + + "Wykrywalny" + diff --git a/tests/res/values-pt-rPT/strings.xml b/tests/res/values-pt-rPT/strings.xml new file mode 100644 index 00000000000..6dc9a965af4 --- /dev/null +++ b/tests/res/values-pt-rPT/strings.xml @@ -0,0 +1,19 @@ + + + + "Detectável" + diff --git a/tests/res/values-pt/strings.xml b/tests/res/values-pt/strings.xml new file mode 100644 index 00000000000..6dc9a965af4 --- /dev/null +++ b/tests/res/values-pt/strings.xml @@ -0,0 +1,19 @@ + + + + "Detectável" + diff --git a/tests/res/values-ru/strings.xml b/tests/res/values-ru/strings.xml new file mode 100644 index 00000000000..e0b5e9f0139 --- /dev/null +++ b/tests/res/values-ru/strings.xml @@ -0,0 +1,19 @@ + + + + "Видимый" + diff --git a/tests/res/values-sv/strings.xml b/tests/res/values-sv/strings.xml new file mode 100644 index 00000000000..8ab9e5d09c7 --- /dev/null +++ b/tests/res/values-sv/strings.xml @@ -0,0 +1,19 @@ + + + + "Synlighet" + diff --git a/tests/res/values-tr/strings.xml b/tests/res/values-tr/strings.xml new file mode 100644 index 00000000000..957a7ad2614 --- /dev/null +++ b/tests/res/values-tr/strings.xml @@ -0,0 +1,19 @@ + + + + "Keşfedilebilir" + diff --git a/tests/res/values-zh-rCN/strings.xml b/tests/res/values-zh-rCN/strings.xml new file mode 100644 index 00000000000..9b01b670d09 --- /dev/null +++ b/tests/res/values-zh-rCN/strings.xml @@ -0,0 +1,19 @@ + + + + "可检测到" + diff --git a/tests/res/values-zh-rTW/strings.xml b/tests/res/values-zh-rTW/strings.xml new file mode 100644 index 00000000000..28ccde7bb11 --- /dev/null +++ b/tests/res/values-zh-rTW/strings.xml @@ -0,0 +1,19 @@ + + + + "可供偵測" +