diff --git a/AUTHORS b/AUTHORS
index 134347801..65c883dc7 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -54,6 +54,7 @@ Kevin Xue (NetDragon Websoft Inc., China)
Lachezar Dobrev
Luiz Silva
Luka Finžgar
+Malte Starostik
Manuel Kasten
Marcelo
Mateusz Jędrasik
diff --git a/android/res/values-de/strings.xml b/android/res/values-de/strings.xml
index 321e8a830..2b7b31e6b 100644
--- a/android/res/values-de/strings.xml
+++ b/android/res/values-de/strings.xml
@@ -51,16 +51,16 @@
SMS Adresse
Text
Löschen
- Historie löschen
- Barcode Scanner Historie
+ Verlauf löschen
+ Barcode Scanner Verlauf
Leer
Es wurden keine Barcodes aufgezeichnet.
- Historie senden
- Historie
+ Verlauf senden
+ Verlauf
MECARD verwenden
vCard verwenden
Hilfe
- Historie
+ Verlauf
Einstellungen
Senden
Bulk-Modus: Barcode gescannt und gespeichert
@@ -88,33 +88,33 @@
Unbekannte Seite
Sie können Daten weitergeben, indem Sie einen Barcode auf Ihrem Bilschirm erzeugen und mit einem anderen Handy einscannen.
Hier ist der gescannte Barcode-Inhalt
- Oder geben Sie einen Text ein.
+ Oder geben Sie einen Text hier
Sind Sie sicher?
Leider kann nicht auf die SD-Karte zugegriffen werden.
Wenn ein Barcode erkannt wurde\u2026
- Autofokus benutzen
+ Autofokus verwenden
Scannt und speichert mehrere Barcodes nacheinander
- Bulk-Scan-Modus
- In Zwischenablage kopieren
- Ersetzen: %s = Inhalt, %f = Format, %t = Typ des Inhalts
+ Massenscan
+ In die Zwischenablage kopieren
+ Platzhalter: %s = Inhalt, %f = Format, %t = Typ
Eigene Such-URL
1D Barcodes
Data Matrix
QR Codes
Geräteabhängige Problemumgehung
Nur Standard-Fokus-Modus verwenden
- kein kontinuierlicher Fokus
- keine Belichtungsmessung
+ Kein kontinuierlicher Fokus
+ Keine Belichtungsmessung
Verbessert bei einigen Mobiltelefonen das Scannen bei schwachem Licht, kann aber Überbelichtung verursachen. Funktioniert nicht mit allen Handys.
Foto LED einschalten
Allgemeine Einstellungen
Einstellungen
Piepsen
- Speichern mehrerer Scans des gleichen Barcodes in der Historie
+ Speichern mehrerer Scans des gleichen Barcodes im Verlauf
Duplikate speichern
Ergebnis-Einstellungen
Beim Scannen von Barcodes, dekodieren\u2026
- Land auswählen
+ Land für die Suche
Erfahren Sie mehr über Barcode
Weitere Informationen abrufen
Barcode Scanner+ testen
diff --git a/android/res/values-sv/strings.xml b/android/res/values-sv/strings.xml
index 12260245e..a84a49dc8 100644
--- a/android/res/values-sv/strings.xml
+++ b/android/res/values-sv/strings.xml
@@ -18,43 +18,43 @@
Barcode Scanner
Applikationer
Bokmärken
- Lägg till i kalendern
+ Lägg till i kalender
Lägg till kontakt
Tillbaka
Boksökning
Avbryt
Anpassad sökning
- Ring nummer
+ Slå nummer
Klar
- Skicka email
- Hämta instruktioner
+ Skicka e-post
+ Få anvisningar
Shopper
Skicka MMS
OK
Öppna webbläsare
- Produktsökning
- Sök bokinnehåll
+ Produktsök
+ Sökinnehåll
Applikation
Bokmärke
- Dela via email
+ Dela via e-post
Dela via SMS
Klippbord
Kontakt
Visa karta
Skicka SMS
- Webbsökning
+ Webbsök
Anslut till nätverk
Kontaktinfo
- Emailadress
+ E-postadress
Geografiska koordinater
Telefonnummer
SMS-adress
- Ren text
+ Vanlig text
Rensa
Rensa historik
- Streckkodsläsarens historik
- Tomma
- Ingen streckkod skannar har registrerats
+ Historik inskannade streckkoder
+ Tom
+ Inga inskannade streckkoder har registrerats
Skicka historik
Historik
Använd MECARD
@@ -63,77 +63,77 @@
Historik
Inställningar
Dela
- Bulk-läge: streckkod skannas och sparas
- Tyvärr, Androidens kamera fick problem. Du kan behöva starta om enheten.
+ Bulk-läge: streckkod har inskannats och sparats
+ Det uppstod tyvärr ett fel med Androidkameran.
Format
Metadata
Hej
Placera steckkoden inom sökarens rektangel för att läsa den.
Tid
Typ
- Kunde inte skapa en streckkod från de givna uppgifterna.
+ Det gick inte att avkoda en streckkod från den erhållna informationen.
Google Books
Google Product Search
- Google Shopper är inte installerat
- Google Shopper kombinerar streckkodsskanning med priser, recensioner och mer utan att öppna webbläsaren. Vill du prova det?
- Tyvärr, den önskade applikationen kunde inte startas. Streckkodens innehåll är kanske ogiltigt.
- Omdirigera
- Tyvärr, denna bok är inte sökbar.
- Tyvärr, sökningen stötte på problem.
- Ingen sida mottagen
+ Google Shopper är inte installerad
+ Google Shopper kombinerar inkodning av streckkoder med lokala priser och priser på nätet, recensioner och mycket mer utan att du behöver öppna webbläsaren. Vill du testa det?
+ Den begärda applikationen kunde tyvärr inte startas. Streckkodens innehåll kan vara ogiltigt.
+ Omdirigering
+ Den här boken är tyvärr inte sökbar.
+ Det uppstod tyvärr ett fel vid sökning.
+ Ingen sida funnen
Sida
- Resultaten
+ Resultat
Söker bok\u2026
- Klippet finns inte
+ Utdrag ej tillgängligt
Okänd sida
- Du kan dela data genom att visa en streckkod på din skärm och läsa den med en annan telefon.
- Detta är vad en streckkod jag skannade innehöll
- Eller skriv in text
+ Du kan dela information genom att visa en streckkod på din skärm och sedan skanna in den med en annan telefon.
+ Här är innehållet i en streckkod som jag har skannat in
+ Eller skriv in text och tryck Enter
Är du säker?
- Tyvärr är SD-kortet inte tillgänglig.
- När en streckkod hittats\u2026
+ SD-kortet är tyvärr inte tillgängligt.
+ När en streckkod hittas\u2026
Använd autofokus
- Skanna och spara många streckkoder kontinuerligt
- Bulk skanningsläget
- Kopiera till klippbordet
- Ersättare: %s = innehåll, %f = format, %t = typ
- Anpassad sök-URL
+ Skanna och spara flera streckkoder samtidigt
+ Bulk-inskanningläge
+ Kopiera till urklipp
+ Ersättningar: %s = innehåll, %f = format, %t = typ
+ Anpassad sökning URL
1D steckkod
Data Matrix
- QR-koder
- Device Bug Lösningar
- Använd endast standard fokusläge
+ QR Code
+ Bugglösningar för enhet
+ Använd endast standardfokusläge
Ingen kontinuerlig fokus
Ingen exponering
- Aktivera ljuset framför, om det finns. Fungerar inte på alla telefoner.
- Ljuset framför
+ Förbättrar inskanning i svag belysing på vissa telefoner, men kan orsaka bländning. Ej tillgängligt på vissa enheter.
+ Använd frontljus
Grundläggande inställningar
Inställningar
- Pip
- Lagra flera skanningar av samma streckkod i historiken
- Kom ihåg dubbletter
+ Ton
+ Lagra flera inskanningar av samma streckkod i historik
+ Kom ihåg dubletter
Resultatinställningar
- När du skannar för streckkoder, avkoda\u2026
+ När du skannar in streckkoder, avkoda\u2026
Sök land
- Försök att hämta mer information om streckkodens innehåll
+ Försök hämta mer information om streckkodens innehåll
Hämta mer info
Prova Barcode Scanner+
Förstärkt med nya funktioner och gränssnitt
Vibrera
Hittade kontaktinformation
- Hittade kalenderpost
- Hittade emailadress
+ Hittade kalenderhändelser
+ Hittade e-postadress
Hittade geografiska koordinater
Hittade bok
Hittade produkt
Hittade SMS-adress
Hittade telefonnummer
- Hittade ren text
+ Hittade vanlig text
Hittade URL
- Hittade Wi-Fi inställningar
- Google boksökning
+ Hittade WLAN-konfiguration
+ Google Book Search
Dela via streckkod
- Begära anslutning till nätverk\u2026
+ Begär anslutning till nätverk\u2026
Nätverksnamn
Typ
diff --git a/android/src/com/google/zxing/client/android/LocaleManager.java b/android/src/com/google/zxing/client/android/LocaleManager.java
index ace13fd92..f3ba9140e 100644
--- a/android/src/com/google/zxing/client/android/LocaleManager.java
+++ b/android/src/com/google/zxing/client/android/LocaleManager.java
@@ -37,19 +37,6 @@ public final class LocaleManager {
private static final String DEFAULT_COUNTRY = "US";
private static final String DEFAULT_LANGUAGE = "en";
- private static final String COUNTRY;
- private static final String LANGUAGE;
- static {
- Locale locale = Locale.getDefault();
- COUNTRY = locale == null ? DEFAULT_COUNTRY : locale.getCountry();
- String language = locale == null ? DEFAULT_LANGUAGE : locale.getLanguage();
- // Special case Chinese
- if (Locale.SIMPLIFIED_CHINESE.getLanguage().equals(language)) {
- language += "-r" + COUNTRY;
- }
- LANGUAGE = language;
- }
-
/**
* Locales (well, countries) where Google web search is available.
* These should be kept in sync with our translations.
@@ -141,19 +128,6 @@ public final class LocaleManager {
public static String getBookSearchCountryTLD(Context context) {
return doGetTLD(GOOGLE_BOOK_SEARCH_COUNTRY_TLD, context);
}
-
- private static String doGetTLD(Map map, Context context) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
- String countryOverride = prefs.getString(PreferencesActivity.KEY_SEARCH_COUNTRY, null);
- if (countryOverride != null && countryOverride.length() > 0 && !"-".equals(countryOverride)) {
- String tld = map.get(countryOverride);
- if (tld != null) {
- return tld;
- }
- }
- String tld = map.get(COUNTRY);
- return tld == null ? DEFAULT_TLD : tld;
- }
/**
* Does a given URL point to Google Book Search, regardless of domain.
@@ -165,8 +139,40 @@ public final class LocaleManager {
return url.startsWith("http://google.com/books") || url.startsWith("http://books.google.");
}
+ private static String getSystemCountry() {
+ Locale locale = Locale.getDefault();
+ return locale == null ? DEFAULT_COUNTRY : locale.getCountry();
+ }
+
+ private static String getSystemLanguage() {
+ Locale locale = Locale.getDefault();
+ if (locale == null) {
+ return DEFAULT_LANGUAGE;
+ }
+ String language = locale.getLanguage();
+ // Special case Chinese
+ if (Locale.SIMPLIFIED_CHINESE.getLanguage().equals(language)) {
+ return language + "-r" + getSystemCountry();
+ }
+ return language;
+ }
+
public static String getTranslatedAssetLanguage() {
- return TRANSLATED_HELP_ASSET_LANGUAGES.contains(LANGUAGE) ? LANGUAGE : DEFAULT_LANGUAGE;
+ String language = getSystemLanguage();
+ return TRANSLATED_HELP_ASSET_LANGUAGES.contains(language) ? language : DEFAULT_LANGUAGE;
+ }
+
+ private static String doGetTLD(Map map, Context context) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ String countryOverride = prefs.getString(PreferencesActivity.KEY_SEARCH_COUNTRY, null);
+ if (countryOverride != null && countryOverride.length() > 0 && !"-".equals(countryOverride)) {
+ String tld = map.get(countryOverride);
+ if (tld != null) {
+ return tld;
+ }
+ }
+ String tld = map.get(getSystemCountry());
+ return tld == null ? DEFAULT_TLD : tld;
}
}