mirror of
https://github.com/zxing/zxing.git
synced 2024-11-10 04:54:04 -08:00
commit
deb288bb94
13
.gitattributes
vendored
Normal file
13
.gitattributes
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Explicitly declare text files you want to always be normalized and converted
|
||||
# to native line endings on checkout.
|
||||
*.java text
|
||||
|
||||
# Declare files that will always have LF line endings on checkout.
|
||||
*.txt text eol=lf
|
||||
|
||||
# Denote all files that are truly binary and should not be modified.
|
||||
*.png binary
|
||||
*.jpg binary
|
|
@ -1,8 +1,12 @@
|
|||
language: java
|
||||
before_install: sudo pip install codecov
|
||||
script: mvn -Pjacoco test
|
||||
jdk:
|
||||
- oraclejdk7
|
||||
- openjdk7
|
||||
- oraclejdk8
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.m2
|
||||
git:
|
||||
depth: 3
|
||||
after_success: codecov
|
||||
|
|
13
AUTHORS
13
AUTHORS
|
@ -37,6 +37,8 @@ Emanuele Aina
|
|||
Eric Kobrin (Velocitude)
|
||||
evansepdx
|
||||
Erik Barbara
|
||||
Facundo Farias
|
||||
fakhri626
|
||||
fics.danmark
|
||||
Francois B. (Google)
|
||||
Frank Yellin
|
||||
|
@ -50,8 +52,10 @@ hosigumayuugi
|
|||
hypest (Barcorama project)
|
||||
Ian W. Davis
|
||||
Isaac Potoczny-Jones
|
||||
Ivan Poliakov
|
||||
Jacob Haynes (Google)
|
||||
Jeff Breidenbach (Google)
|
||||
jjYBdx4IL
|
||||
Joan Montané (Softcatalà.cat)
|
||||
John Connolly (Bug Labs)
|
||||
Jonas Petersson (Prisjakt)
|
||||
|
@ -72,11 +76,13 @@ Luka Finžgar
|
|||
Malte Starostik
|
||||
Manuel Kasten
|
||||
Marcelo
|
||||
Markus Helm
|
||||
Mateusz Jędrasik
|
||||
Matthew Schulkind (Google)
|
||||
Matt York (LifeMarks)
|
||||
MicheleMas
|
||||
mike32767
|
||||
mikej06
|
||||
mikej06 / micjahn
|
||||
Mike Kicinski
|
||||
Mohamad Fairol
|
||||
Morgan Courbet
|
||||
|
@ -102,6 +108,7 @@ Sean Owen (Google)
|
|||
Shiyuan Guo / 郭世元
|
||||
ShumovichY
|
||||
Simon Flannery (Ericsson)
|
||||
slepmog
|
||||
Stephen Furlani
|
||||
Steven Parkes
|
||||
stoty74
|
||||
|
@ -110,10 +117,14 @@ Sven Klinkhamer
|
|||
taku0
|
||||
techinstantdx
|
||||
tgibson11
|
||||
Thanapon Namjittrong
|
||||
Thomas Gerbet
|
||||
Thomas Weißschuh
|
||||
Tim Gernat
|
||||
v.anestis
|
||||
Vince Francis (LifeMarks)
|
||||
Wolfgang Jung
|
||||
Yahoe001
|
||||
Yakov Okshtein (Google)
|
||||
Yao Wei
|
||||
Younes CHTIOUI
|
||||
|
|
17
CHANGES
17
CHANGES
|
@ -335,4 +335,19 @@
|
|||
- iphone/, cpp/, objc/, and glass-mirror/ are retired
|
||||
- Java 7 now used for all Java-based modules
|
||||
- Project moved to github.com/zxing/zxing
|
||||
- Many small bug fixes and improvements
|
||||
- Many small bug fixes and improvements
|
||||
|
||||
3.0.1 (18 April 2014)
|
||||
|
||||
- Several small bug fixes
|
||||
|
||||
3.1.0 (22 May 2014)
|
||||
|
||||
- Retire actionscript port
|
||||
- Small bug fixes
|
||||
|
||||
3.2.0 (15 Feb 2015)
|
||||
|
||||
- Several bug fixes, especially for Data Matrix and PDF417 parsing
|
||||
- Retired jruby binding
|
||||
- Barcode Scanner can now disable history
|
||||
|
|
36
CONTRIBUTING.md
Normal file
36
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
## Contributing
|
||||
|
||||
The project is in maintenance mode, meaning, changes are driven by contributed patches.
|
||||
There is otherwise no active development or roadmap for this project. It is "DIY".
|
||||
|
||||
Only proposed changes in the form of a pull request are likely to be acted on, but,
|
||||
these will be acted on promptly.
|
||||
|
||||
### Questions
|
||||
|
||||
Questions should be asked on the mailing list:
|
||||
https://groups.google.com/forum/#!forum/zxing
|
||||
|
||||
### Feature Requests
|
||||
|
||||
Feature requests are generally not accepted and may be closed if nobody acts on them.
|
||||
Feature requests with a pull request may be accepted. When in doubt, discuss on the
|
||||
mailing list first.
|
||||
|
||||
### Bug Reports
|
||||
|
||||
Bug reports must have enough detail to understand and reproduce the problem. Inadequate
|
||||
bug reports will be closed with a request for more information.
|
||||
|
||||
Bug reports without an associated pull request are not likely to be addressed, but will be
|
||||
left open for some time to see if anyone can contribute a solution. However, bug reports
|
||||
with a pull request are likely to be merged promptly.
|
||||
|
||||
## Licensing
|
||||
|
||||
Contributions via GitHub pull requests are gladly accepted from their original author.
|
||||
Along with any pull requests, please state that the contribution is your original work and
|
||||
that you license the work to the project under the project's open source license.
|
||||
Whether or not you state this explicitly, by submitting any copyrighted material via
|
||||
pull request, email, or other means you agree to license the material under the project's
|
||||
open source license and warrant that you have the legal authority to do so.
|
32
README.md
32
README.md
|
@ -26,17 +26,11 @@ library implemented in Java, with ports to other languages.
|
|||
| android | Android client Barcode Scanner [![Barcode Scanner](http://www.android.com/images/brand/android_app_on_play_logo_small.png)](https://play.google.com/store/apps/details?id=com.google.zxing.client.android)
|
||||
| androidtest | Android test app, ZXing Test
|
||||
| android-integration | Supports integration with Barcode Scanner via `Intent`
|
||||
| android-core | Android-related code shared among `android`, `androidtest`, `glass`
|
||||
| glass | Simple Google Glass application
|
||||
| zxingorg | The source behind `zxing.org`
|
||||
| zxing.appspot.com | The source behind web-based barcode generator at `zxing.appspot.com`
|
||||
|
||||
### Intermittently maintained
|
||||
|
||||
There are also additional modules which are contributed and/or intermittently maintained:
|
||||
|
||||
| Module | Description
|
||||
| ------------ | -----------
|
||||
| jruby | JRuby wrapper
|
||||
|
||||
### Available in previous releases
|
||||
|
||||
| Module | Description
|
||||
|
@ -45,21 +39,24 @@ There are also additional modules which are contributed and/or intermittently ma
|
|||
| [iphone](https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/iphone) | iPhone client
|
||||
| [objc](https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/objc) | Objective C port
|
||||
| [actionscript](https://github.com/zxing/zxing/tree/c1df162b95e07928afbd4830798cc1408af1ac67/actionscript) | Partial ActionScript port
|
||||
| [jruby](https://github.com/zxing/zxing/tree/a95a8fee842f67fb43799a8e0e70e4c68b509c43/jruby) | JRuby wrapper
|
||||
|
||||
### Related third-party open source projects
|
||||
### ZXing-based third-party open source projects
|
||||
|
||||
| Module | Description
|
||||
| -------------------------------------------------- | -----------
|
||||
| [QZXing](https://sourceforge.net/projects/qzxing) | port to Qt framework
|
||||
| [ZXing .NET](http://zxingnet.codeplex.com/) | port to .NET and C#, and related Windows platform
|
||||
| Module | Description
|
||||
| --------------------------------------------------------------- | -----------
|
||||
| [QZXing](https://sourceforge.net/projects/qzxing) | port to Qt framework
|
||||
| [zxing-cpp](https://github.com/glassechidna/zxing-cpp) | port to C++ (forked from the [deprecated official C++ port](https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/cpp))
|
||||
| [zxing_cpp.rb](https://github.com/glassechidna/zxing_cpp.rb) | bindings for Ruby (not just JRuby), powered by [zxing-cpp](https://github.com/glassechidna/zxing-cpp)
|
||||
| [ZXing .NET](http://zxingnet.codeplex.com/) | port to .NET and C#, and related Windows platform
|
||||
|
||||
### Other third-party open source projects
|
||||
### Other related third-party open source projects
|
||||
|
||||
| Module | Description
|
||||
| ---------------------------------------------- | -----------
|
||||
| [Barcode4J](http://barcode4j.sourceforge.net/) | Encoder library in Java
|
||||
| [ZBar](http://zbar.sourceforge.net/) | Decoder in C++, especially for iPhone
|
||||
| [Zint](http://sourceforge.net/projects/zint/) | Barcode generator
|
||||
| [Barcode4J](http://barcode4j.sourceforge.net/) | Generator library in Java
|
||||
| [ZBar](http://zbar.sourceforge.net/) | Reader library in C99
|
||||
| [Zint](http://sourceforge.net/projects/zint/) | Generator library in C99
|
||||
|
||||
## Links
|
||||
|
||||
|
@ -78,6 +75,7 @@ on StackOverflow](http://stackoverflow.com/questions/tagged/zxing).
|
|||
|
||||
[![Build Status](https://travis-ci.org/zxing/zxing.png?branch=master)](https://travis-ci.org/zxing/zxing)
|
||||
[![Coverity Status](https://scan.coverity.com/projects/1924/badge.svg)](https://scan.coverity.com/projects/1924)
|
||||
[![codecov.io](https://codecov.io/github/zxing/zxing/coverage.svg?branch=master)](https://codecov.io/github/zxing/zxing?branch=master)
|
||||
|
||||
QR code is trademarked by Denso Wave, inc. Thanks to Haase & Martin OHG for contributing the logo.
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>android-core</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
|
@ -31,7 +31,7 @@
|
|||
<parent>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>zxing-parent</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<name>ZXing Android Core</name>
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.google.zxing.client.android.camera;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.hardware.Camera;
|
||||
|
@ -36,6 +37,7 @@ import java.util.regex.Pattern;
|
|||
*
|
||||
* @author Sean Owen
|
||||
*/
|
||||
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
|
||||
public final class CameraConfigurationUtils {
|
||||
|
||||
private static final String TAG = "CameraConfiguration";
|
||||
|
@ -61,23 +63,23 @@ public final class CameraConfigurationUtils {
|
|||
String focusMode = null;
|
||||
if (autoFocus) {
|
||||
if (safeMode || disableContinuous) {
|
||||
focusMode = CameraConfigurationUtils.findSettableValue("focus mode",
|
||||
supportedFocusModes,
|
||||
Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
focusMode = findSettableValue("focus mode",
|
||||
supportedFocusModes,
|
||||
Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
} else {
|
||||
focusMode = CameraConfigurationUtils.findSettableValue("focus mode",
|
||||
supportedFocusModes,
|
||||
Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
|
||||
Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO,
|
||||
Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
focusMode = findSettableValue("focus mode",
|
||||
supportedFocusModes,
|
||||
Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
|
||||
Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO,
|
||||
Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
}
|
||||
}
|
||||
// Maybe selected auto-focus but not available, so fall through here:
|
||||
if (!safeMode && focusMode == null) {
|
||||
focusMode = CameraConfigurationUtils.findSettableValue("focus mode",
|
||||
supportedFocusModes,
|
||||
Camera.Parameters.FOCUS_MODE_MACRO,
|
||||
Camera.Parameters.FOCUS_MODE_EDOF);
|
||||
focusMode = findSettableValue("focus mode",
|
||||
supportedFocusModes,
|
||||
Camera.Parameters.FOCUS_MODE_MACRO,
|
||||
Camera.Parameters.FOCUS_MODE_EDOF);
|
||||
}
|
||||
if (focusMode != null) {
|
||||
if (focusMode.equals(parameters.getFocusMode())) {
|
||||
|
@ -92,14 +94,14 @@ public final class CameraConfigurationUtils {
|
|||
List<String> supportedFlashModes = parameters.getSupportedFlashModes();
|
||||
String flashMode;
|
||||
if (on) {
|
||||
flashMode = CameraConfigurationUtils.findSettableValue("flash mode",
|
||||
supportedFlashModes,
|
||||
Camera.Parameters.FLASH_MODE_TORCH,
|
||||
Camera.Parameters.FLASH_MODE_ON);
|
||||
flashMode = findSettableValue("flash mode",
|
||||
supportedFlashModes,
|
||||
Camera.Parameters.FLASH_MODE_TORCH,
|
||||
Camera.Parameters.FLASH_MODE_ON);
|
||||
} else {
|
||||
flashMode = CameraConfigurationUtils.findSettableValue("flash mode",
|
||||
supportedFlashModes,
|
||||
Camera.Parameters.FLASH_MODE_OFF);
|
||||
flashMode = findSettableValue("flash mode",
|
||||
supportedFlashModes,
|
||||
Camera.Parameters.FLASH_MODE_OFF);
|
||||
}
|
||||
if (flashMode != null) {
|
||||
if (flashMode.equals(parameters.getFlashMode())) {
|
||||
|
@ -263,10 +265,9 @@ public final class CameraConfigurationUtils {
|
|||
Log.i(TAG, "Negative effect already set");
|
||||
return;
|
||||
}
|
||||
String colorMode =
|
||||
CameraConfigurationUtils.findSettableValue("color effect",
|
||||
parameters.getSupportedColorEffects(),
|
||||
Camera.Parameters.EFFECT_NEGATIVE);
|
||||
String colorMode = findSettableValue("color effect",
|
||||
parameters.getSupportedColorEffects(),
|
||||
Camera.Parameters.EFFECT_NEGATIVE);
|
||||
if (colorMode != null) {
|
||||
parameters.setColorEffect(colorMode);
|
||||
}
|
||||
|
|
|
@ -18,22 +18,20 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>android-integration</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.google.android</groupId>
|
||||
<artifactId>android</artifactId>
|
||||
<version>4.1.1.4</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<parent>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>zxing-parent</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -308,7 +308,7 @@ public class IntentIntegrator {
|
|||
}
|
||||
intentScan.putExtra("SCAN_FORMATS", joinedByComma.toString());
|
||||
}
|
||||
|
||||
|
||||
// check requested camera ID
|
||||
if (cameraId >= 0) {
|
||||
intentScan.putExtra("SCAN_CAMERA_ID", cameraId);
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.google.zxing.client.android"
|
||||
android:versionName="4.6.5"
|
||||
android:versionCode="100"
|
||||
android:versionName="4.7.3"
|
||||
android:versionCode="103"
|
||||
android:installLocation="auto">
|
||||
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
|
@ -30,7 +30,7 @@
|
|||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
||||
|
||||
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="19"/>
|
||||
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="21"/>
|
||||
|
||||
<!-- Don't require camera, as this requires a rear camera. This allows it to work on the Nexus 7 -->
|
||||
<uses-feature android:name="android.hardware.camera" android:required="false"/>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> Neue Option zur automatischen Ausrichtung Veränderungen zu stoppen </li>
|
||||
<li> Neue Option, um automatisch geöffneten Webseiten </li>
|
||||
<li> Die History-Funktion kann ausgeschaltet werden </li>
|
||||
<li> Bug-Fixes </li>
|
||||
</ul>
|
||||
<p>Übersetzt von Google Translate.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li>The History feature can be turned off</li>
|
||||
<li>Bug fixes</li>
|
||||
</ul>
|
||||
</body>
|
||||
|
|
|
@ -6,10 +6,13 @@
|
|||
<link href="../style.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<p> Códigos de barras tradicionales, tales como las impresas en el embalaje del producto, se conocen también como uno códigos de barras bidimensionales. Existen varios tipos de uso común, incluyendo UPC y EAN. La mayoría de aspecto similar a este: </p>
|
||||
<p> Códigos de barras tradicionales, tales como las impresas en el embalaje del producto,
|
||||
se conocen también como uno códigos de barras bidimensionales. Existen varios tipos de uso común,
|
||||
incluyendo UPC y EAN. La mayoría de aspecto similar a este: </p>
|
||||
<p class="imgcenter"><img src="../images/big-1d.png"/></p>
|
||||
<p> Estos códigos de barras 1D contiene un código único que generalmente describe un producto, como un CD o un libro. Usted puede ver este código en el Internet para encontrar precios, comentarios y más. </p>
|
||||
<p> Si digitaliza un libro, también puede buscar en el contenido del libro para una palabra o frase, y encontrar todas las páginas en las que aparece: </p>
|
||||
<p> Estos códigos de barras 1D contiene un código único que generalmente describe un producto, como un CD o un libro.
|
||||
Usted puede ver este código en el Internet para encontrar precios, comentarios y más. </p>
|
||||
<p> Si digitaliza un libro, también puede buscar en el contenido del libro para una palabra o frase, y encontrar todas
|
||||
las páginas en las que aparece: </p>
|
||||
<p class="imgcenter"><img src="../images/search-book-contents.jpg"/></p>
|
||||
<p>Traducido por Google Translate.</p></body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -6,23 +6,25 @@
|
|||
<link href="../style.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<p><strong> Barcode Scanner </strong> También entiende cómo leer dos códigos de barras bidimensionales, como los códigos QR y códigos Data Matrix. Por ejemplo, los códigos que siguen contienen un hipervínculo a la página principal de Project ZXing: </p>
|
||||
<p><strong> Barcode Scanner </strong> También entiende cómo leer dos códigos de barras bidimensionales,
|
||||
como los códigos QR y códigos Data Matrix. Por ejemplo, los códigos que siguen contienen un hipervínculo a la
|
||||
página principal de Project ZXing: </p>
|
||||
<p class="imgcenter">
|
||||
<img src="../images/big-qr.png"/>
|
||||
<img src="../images/big-datamatrix.png"/>
|
||||
<img src="../images/big-pdf417.png"/>
|
||||
<img src="../images/big-aztec.png"/>
|
||||
</p>
|
||||
<p> También puede representar la información de contacto en un código QR, y lo puso en una tarjeta de visita o en el sitio web. Cuando se escanea, la pantalla de resultados se ofrecen una serie de acciones: </p>
|
||||
<p> También puede representar la información de contacto en un código QR, y usarlo en una tarjeta
|
||||
de visita o en un sitio web. Cuando se escanea, la pantalla de resultados se ofrecen una serie de acciones: </p>
|
||||
<p class="imgcenter"><img src="../images/contact-results-screen.jpg"/></p>
|
||||
<p> Además de las direcciones URL y la información de contacto, los códigos QR también puede contener: </p>
|
||||
<ul>
|
||||
<li> Los eventos del calendario, que se pueden añadir a su calendario </li>
|
||||
<li> Los números de teléfono, que puede marcar </li>
|
||||
<li> SMS números, que puede mensaje de texto </li>
|
||||
<li> Direcciones de correo electrónico, que se puede enviar por correo electrónico </li>
|
||||
<li> SMS números, a los que puede enviar mensaje de texto </li>
|
||||
<li> Direcciones de correo electrónico, a los que se puede enviar por correo electrónico </li>
|
||||
<li> Coordenadas Geográficas, que se puede abrir en Mapas </li>
|
||||
<li> Texto sin formato, que se puede leer, compartir con un amigo </li>
|
||||
</ul>
|
||||
<p>Traducido por Google Translate.</p></body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -2,22 +2,23 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<title> Barcode Scanner Ayuda </title>
|
||||
<title> Ayuda de Barcode Scanner</title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<p> La aplicación oficial de Android del proyecto de código abierto ZXing:<br/>
|
||||
<a href="http://github.com/zxing/zxing"> http://github.com/zxing/zxing </a></p>
|
||||
<p> Barcode Scanner utiliza la cámara de su móvil para leer códigos de barras y buscar información sobre los productos como los precios y las revisiones. </p>
|
||||
<p> Barcode Scanner utiliza la cámara de su móvil para leer códigos de barras y buscar información sobre
|
||||
los productos como los precios y las revisiones. </p>
|
||||
<p class="imgcenter"><img src="../images/scan-example.png"/></p>
|
||||
<p> También lee los códigos de barras 2D, como los Códigos QR y Data Matrix. Estos pueden contener enlaces a otros sitios web, información de contacto, como números de teléfono y direcciones de correo electrónico y mucho más. </p>
|
||||
<p> También lee los códigos de barras 2D, como los Códigos QR y Data Matrix. Estos pueden contener enlaces
|
||||
a otros sitios web, información de contacto, como números de teléfono y direcciones de correo electrónico y mucho más. </p>
|
||||
<ul class="touchable">
|
||||
<li><a href="whatsnew.html"> ¿Qué hay de nuevo en esta versión? </a></li>
|
||||
<li><a href="scanning.html"> Cómo analizar </a></li>
|
||||
<li><a href="scanning.html"> Cómo escanear </a></li>
|
||||
<li><a href="about1d.html"> Acerca de los códigos de barras 1D </a></li>
|
||||
<li><a href="about2d.html"> Acerca de los códigos de barras 2D </a></li>
|
||||
<li><a href="sharing.html"> Cómo crear códigos QR </a></li>
|
||||
<li><a href="license.html"> Política de Privacidad Información Legal y Licencia </a></li>
|
||||
<li><a href="license.html"> Política de Privacidad Información Legal y Licencia </a></li>
|
||||
</ul>
|
||||
<p>Traducido por Google Translate.</p></body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -9,11 +9,20 @@
|
|||
|
||||
<h3> Política de privacidad </h3>
|
||||
|
||||
<p><strong class="notranslate">Barcode Scanner</strong> no recoger, almacenar o transmitir información sobre sus usuarios, ni de uso de la aplicación. La aplicación tiene acceso a información personal, como contactos y favoritos solo con el fin de implementar la funcionalidad de la aplicación, tales como el intercambio de contactos y favoritos de los códigos QR en la pantalla. </p>
|
||||
<p><strong class="notranslate">Barcode Scanner</strong> no recogerá, almacenará ni transmitirá información sobre sus usuarios,
|
||||
ni de uso de la aplicación. La aplicación tiene acceso a información personal, como contactos y favoritos solo con el fin
|
||||
de implementar la funcionalidad de la aplicación, tales como el intercambio de contactos y favoritos de los códigos QR en
|
||||
la pantalla. </p>
|
||||
|
||||
<p> Tenga en cuenta que esta aplicación tiene acceso a servicios de terceros, como Google Books, Google Product Search y Amazon, con el fin de obtener información adicional después de una exploración. Estos terceros pueden recibir y registrar estas solicitudes. Además, puede ser necesario el envío de la solicitud a un servidor operado por esta aplicación, con el fin de transformar la solicitud para su uso con el servicio de terceros, tales como la firma de la solicitud. No hay información adicional se añade a las peticiones, además de los términos de la consulta. </p>
|
||||
<p> Tenga en cuenta que esta aplicación tiene acceso a servicios de terceros, como Google Books, Google Product Search
|
||||
y Amazon, con el fin de obtener información adicional después de una exploración. Estos terceros pueden recibir y
|
||||
registrar estas solicitudes. Además, puede ser necesario el envío de la solicitud a un servidor operado por esta
|
||||
aplicación, con el fin de transformar la solicitud para su uso con el servicio de terceros, tales como la firma de
|
||||
la solicitud. No hay información adicional añadida a las peticiones, además de los términos de la consulta. </p>
|
||||
|
||||
<p> También tenga en cuenta que los enlaces de esta solicitud a sitios web de terceros y aplicaciones. Una vez más, hay más información que los términos de consulta se transmiten como parte de estos enlaces. Estos sitios y aplicaciones son independientes y no afiliados a esta solicitud, y no están cubiertos por esta Política de Privacidad. </p>
|
||||
<p> También tenga en cuenta que los enlaces de esta solicitud a sitios web de terceros y aplicaciones. Una vez más,
|
||||
hay más información que los términos de consulta se transmiten como parte de estos enlaces. Estos sitios y aplicaciones
|
||||
son independientes y no afiliados a esta solicitud, y no están cubiertos por esta Política de Privacidad. </p>
|
||||
|
||||
<h3> Marcas comerciales </h3>
|
||||
|
||||
|
@ -22,9 +31,9 @@ Barcode Scanner, ZXing, QR Code, Data Matrix, Aztec</span> son marcas comerciale
|
|||
|
||||
<h3> Licencia y Derechos de Autor </h3>
|
||||
|
||||
<p> Este proyecto se basa en la <a class="notranslate" href="http://github.com/zxing/zxing">ZXing</a> código de barras de código abierto biblioteca de exploración, y está disponible para usted bajo los términos de la <a class="notranslate" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License 2.0</a> : </p>
|
||||
<p> Este proyecto se basa en la <a class="notranslate" href="http://github.com/zxing/zxing">ZXing</a> código de barras
|
||||
de código abierto biblioteca de exploración, y está disponible para usted bajo los términos de la
|
||||
<a class="notranslate" href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache License 2.0</a> : </p>
|
||||
|
||||
<p style="font-size:200%"><a class="notranslate" href="../html/apache-license.txt">Apache License 2.0</a></p>
|
||||
|
||||
<p>Traducido por Google Translate.</p></body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -2,18 +2,17 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<title> Cómo analizar </title>
|
||||
<title> Cómo escanear </title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<p> Barcode Scanner escanea continuamente una región cuadrada que aparece en su pantalla - Sólo basta definir el teléfono de modo que el código de barras es completamente dentro del rectángulo del visor: </p>
|
||||
<p> Barcode Scanner escanea continuamente una región cuadrada que aparece en su pantalla - Sólo basta introducir el código de barras es completamente dentro del rectángulo del visor: </p>
|
||||
<p class="imgcenter"><img src="../images/demo-yes.png" style="padding:5px"/><img src="../images/demo-no.png" style="padding:5px"/></p>
|
||||
<p> Códigos de barras 1D, como las que se encuentran en los productos requieren un teléfono con enfoque automático. Sin él, sólo los códigos QR y códigos Data Matrix será susceptible de ser analizada. </p>
|
||||
<p> Cuando un código de barras es leído, un sonido se reproducirá y podrás ver los resultados del análisis, una descripción de lo que contiene el código de barras, y las opciones para tomar acción sobre los contenidos. </p>
|
||||
<p> Si usted está teniendo problemas de escaneo, asegúrese de sujetar el teléfono fijo. Si la cámara no puede enfocar, mueva el teléfono más lejos o más cerca del código de barras. </p>
|
||||
<p> Códigos de barras 1D, como las que se encuentran en los productos requieren un teléfono con enfoque automático. Sin él, sólo los códigos QR y códigos Data Matrix serán susceptibles de ser analizados. </p>
|
||||
<p> Cuando un código de barras es leído, un sonido será reproducido y podrás ver los resultados del análisis, una descripción de lo que contiene el código de barras, y las distintas opciones ejecutar acciones. </p>
|
||||
<p> Si usted está teniendo problemas de escaneo, asegúrese de sujetar el teléfono estable. Si la cámara no puede enfocar, mueva el teléfono más lejos o más cerca del código de barras. </p>
|
||||
<ul class="touchable">
|
||||
<li><a href="about1d.html"> Acerca de los códigos de barras 1D </a></li>
|
||||
<li><a href="about2d.html"> Acerca de los códigos de barras 2D </a></li>
|
||||
</ul>
|
||||
<p>Traducido por Google Translate.</p></body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -6,9 +6,8 @@
|
|||
<link href="../style.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<p> Además de escanear códigos de barras 2D, escáner de código de barras también puede generar un código QR y lo mostrará en la pantalla. A continuación, puede mostrar a un amigo, y dejar que escanear el código de barras con su teléfono: </p>
|
||||
<p> Además de escanear códigos de barras 2D, Barcode Scanner también puede generar un código QR y lo mostrará en la pantalla. A continuación, lo puede mostrar a un amigo, y dejar que escanear el código de barras con su teléfono: </p>
|
||||
<p class="imgcenter"><img src="../images/scan-from-phone.png"/></p>
|
||||
<p> Para utilizar esta función, presione el botón Menú en la pantalla de exploración principal y toque Compartir. A continuación, seleccione si desea compartir un contacto, un marcador, una aplicación o el contenido del portapapeles. Un código QR se generará automáticamente. Cuando haya terminado, pulse Atrás o Inicio. </p>
|
||||
<p> Para utilizar esta función, presione el botón Menú en la pantalla de exploración principal y presione Compartir. A continuación, seleccione si desea compartir un contacto, un marcador, una aplicación o el contenido del portapapeles. Un código QR se generará automáticamente. Cuando haya terminado, pulse Atrás o Inicio. </p>
|
||||
<p> Para generar códigos QR desde su computadora, pruebe el generador ZXing Código QR: <a href="http://zxing.appspot.com/generator/"> http://zxing.appspot.com/generator/ </a></p>
|
||||
<p>Traducido por Google Translate.</p></body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<title> ¿Qué hay de nuevo en Barcode Scanner </title>
|
||||
<title> ¿Qué hay de nuevo en Barcode Scanner? </title>
|
||||
<link href="../style.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> Nueva opción para detener los cambios automáticos de orientación </li>
|
||||
<li> Nueva opción para abrir automáticamente las páginas web </li>
|
||||
<li> La función de Historia se puede apagar </li>
|
||||
<li> Corrección de errores </li>
|
||||
</ul>
|
||||
<p>Traducido por Google Translate.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> Nouvelle option pour arrêter les changements d'orientation automatique </li>
|
||||
<li> Nouvelle option pour ouvrir automatiquement les pages Web </li>
|
||||
<li> La fonction Historique peut être désactivée </li>
|
||||
<li> Corrections de bugs </li>
|
||||
</ul>
|
||||
<p>Traduite par Google Translate.</p></body>
|
||||
<p>Traduit par Google Translate.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> Nuova opzione per fermare cambiamenti automatici di orientamento </li>
|
||||
<li> Nuova opzione per aprire automaticamente le pagine web </li>
|
||||
<li> La funzione Cronologia può essere disattivata </li>
|
||||
<li> Correzioni di bug </li>
|
||||
</ul>
|
||||
<p>Tradotto da Google Translate.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> 自動向きの変化を停止する新しいオプション </li>
|
||||
<li> 新しいオプションを自動的に開いているWebページ </li>
|
||||
<li> 履歴機能をオフにすることができ </li>
|
||||
<li> バグ修正 </li>
|
||||
</ul>
|
||||
<p>Google翻訳で翻訳。</p></body>
|
||||
<p>Googleによって翻訳翻訳。</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> 자동 방향 변경을 중지 할 수있는 새로운 옵션 </li>
|
||||
<li> 웹 페이지에 자동으로 열려있는 새로운 옵션 </li>
|
||||
<li> 역사 기능을 해제 할 수 있습니다 </li>
|
||||
<li> 버그 수정 </li>
|
||||
</ul>
|
||||
<p>Google 번역에 의해 번역.</p></body>
|
||||
<p>구글 번역은 번역.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> Nieuwe optie voor automatische wijzigingen oriëntatie stoppen </li>
|
||||
<li> Nieuwe optie voor het automatisch openen van webpagina's </li>
|
||||
<li> De Geschiedenis functie kan worden uitgeschakeld </li>
|
||||
<li> Bug fixes </li>
|
||||
</ul>
|
||||
<p>Vertaald door Google Translate.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> Nova opção para parar as mudanças de orientação automática </li>
|
||||
<li> Nova opção para abrir automaticamente páginas da web </li>
|
||||
<li> O recurso de História pode ser desligado </li>
|
||||
<li> Correções de bugs </li>
|
||||
</ul>
|
||||
<p>Traduzido pelo Google Translate.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> Новая опция, чтобы остановить автоматические изменения ориентации </li>
|
||||
<li> Новая опция для автоматического открытия веб-страницы </li>
|
||||
<li> Функция сохранения истории может быть отключен </li>
|
||||
<li> Исправление ошибок </li>
|
||||
</ul>
|
||||
<p>Перевод Google Translate.</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> 新的选项来停止自动改变方向 </li>
|
||||
<li> 新的选项来自动打开网页 </li>
|
||||
<li> 历史特征可以被关闭 </li>
|
||||
<li> Bug修复 </li>
|
||||
</ul>
|
||||
<p>由谷歌自动翻译系统。</p></body>
|
||||
<p>由谷歌翻译翻译。</p></body>
|
||||
</html>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li> 新的選項來停止自動改變方向 </li>
|
||||
<li> 新的選項來自動打開網頁 </li>
|
||||
<li> 歷史特徵可以被關閉 </li>
|
||||
<li> Bug修復 </li>
|
||||
</ul>
|
||||
<p>由谷歌自動翻譯系統。</p></body>
|
||||
<p>由谷歌翻譯翻譯。</p></body>
|
||||
</html>
|
||||
|
|
|
@ -18,19 +18,17 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>android</artifactId>
|
||||
<version>4.6.5</version>
|
||||
<version>4.7.3</version>
|
||||
<packaging>apk</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>android-core</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.android</groupId>
|
||||
|
@ -41,16 +39,23 @@
|
|||
<parent>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>zxing-parent</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
|
||||
<groupId>com.simpligility.maven.plugins</groupId>
|
||||
<artifactId>android-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# be complete or up to date. (The "arithmetic" optimization can be
|
||||
# used if you are only targeting Android 2.0 or later.) Make sure you
|
||||
# test thoroughly if you go this route.
|
||||
-optimizations !code/simplification/cast,!field/*,!class/merging/*,!code/allocation/variable,!method/marking/private
|
||||
-optimizations !code/simplification/cast,!field/*,!class/merging/*,!class/unboxing/enum,!code/allocation/variable,!method/marking/private
|
||||
-optimizationpasses 5
|
||||
-allowaccessmodification
|
||||
-dontpreverify
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">تقوم بتحسين عملية المسح في إضاءة ضعيفة في بعض الهواتف، ولكن يمكن أن يتسبب في حدوث سطوع</string>
|
||||
<string name="preferences_front_light_title">استخدم إضاءة أمامية</string>
|
||||
<string name="preferences_general_title">إعدادات عامة</string>
|
||||
<string name="preferences_history_summary">تخزين عمليات الفحص الخاص بك في التاريخ</string>
|
||||
<string name="preferences_history_title">أضف إلى التاريخ</string>
|
||||
<string name="preferences_invert_scan_summary">مسح الباركود لأبيض على خلفية سوداء. لا تتوفر على بعض الأجهزة.</string>
|
||||
<string name="preferences_invert_scan_title">عكس المسح الضوئي</string>
|
||||
<string name="preferences_name">إعدادات</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Подобрява четенето при лошо осветление, но предизвиква отблясъци. Само за някои модели.</string>
|
||||
<string name="preferences_front_light_title">Използвай фенерче</string>
|
||||
<string name="preferences_general_title">Общи настройки</string>
|
||||
<string name="preferences_history_summary">Съхранявайте сканирания в историята</string>
|
||||
<string name="preferences_history_title">Добави към История</string>
|
||||
<string name="preferences_invert_scan_summary">Сканиране за бели баркодове на черен фон. Не е на разположение на някои устройства.</string>
|
||||
<string name="preferences_invert_scan_title">Обръщане на сканиране</string>
|
||||
<string name="preferences_name">Настройки</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Millora l\'escaneig amb poca llum en alguns dispositius, però pot produir enlluernament. No funciona en tots els dispositius.</string>
|
||||
<string name="preferences_front_light_title">Usa el llum frontal</string>
|
||||
<string name="preferences_general_title">Configuració general</string>
|
||||
<string name="preferences_history_summary">Emmagatzemi les seves exploracions de la història</string>
|
||||
<string name="preferences_history_title">Afegir a la Història</string>
|
||||
<string name="preferences_invert_scan_summary">Escanejar codis de barres blanques sobre fons negre. No disponible en alguns dispositius.</string>
|
||||
<string name="preferences_invert_scan_title">Invertir exploració</string>
|
||||
<string name="preferences_name">Configuració</string>
|
||||
|
|
|
@ -26,14 +26,14 @@
|
|||
<string name="button_dial">Číselník</string>
|
||||
<string name="button_email">Poslat emailem</string>
|
||||
<string name="button_get_directions">Získat nastavení</string>
|
||||
<string name="button_mms">Poslat přes MMS</string>
|
||||
<string name="button_mms">Zaslat přes MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Otevřít prohlížeč</string>
|
||||
<string name="button_product_search">Vyhledat produkt</string>
|
||||
<string name="button_search_book_contents">Hledat obsah knihy</string>
|
||||
<string name="button_share_app">Aplikace</string>
|
||||
<string name="button_share_bookmark">Záložky</string>
|
||||
<string name="button_share_by_email">Sdílet pomocí Email</string>
|
||||
<string name="button_share_by_email">Sdílet pomocí emailu</string>
|
||||
<string name="button_share_by_sms">Sdílet pomocí SMS</string>
|
||||
<string name="button_share_clipboard">Schránka</string>
|
||||
<string name="button_share_contact">Kontakty</string>
|
||||
|
@ -41,7 +41,7 @@
|
|||
<string name="button_sms">Poslat SMS</string>
|
||||
<string name="button_web_search">Hledat na webu</string>
|
||||
<string name="button_wifi">Připojení k síti</string>
|
||||
<string name="contents_contact">Info kontaktu</string>
|
||||
<string name="contents_contact">Kontakty, informace</string>
|
||||
<string name="contents_email">Emailová adresa</string>
|
||||
<string name="contents_location">Zeměpisné údaje</string>
|
||||
<string name="contents_phone">Telefonní číslo</string>
|
||||
|
@ -51,39 +51,39 @@
|
|||
<string name="history_clear_text">Vyčistit historii</string>
|
||||
<string name="history_email_title">Barcode Scanner historie</string>
|
||||
<string name="history_empty">Prázdný</string>
|
||||
<string name="history_empty_detail">Žádný čárový kód vyšetření byly zaznamenány ještě</string>
|
||||
<string name="history_send">Poslat historii</string>
|
||||
<string name="history_empty_detail">Žádný čárové kódy nebyly ještě zaznamenány</string>
|
||||
<string name="history_send">Zaslat historii</string>
|
||||
<string name="history_title">Historie</string>
|
||||
<string name="menu_encode_mecard">Použití MECARD</string>
|
||||
<string name="menu_encode_vcard">Použití vCard</string>
|
||||
<string name="menu_encode_mecard">Použij MECARD</string>
|
||||
<string name="menu_encode_vcard">Použij vCard</string>
|
||||
<string name="menu_help">Pomoc!</string>
|
||||
<string name="menu_history">Historie</string>
|
||||
<string name="menu_settings">Nastavení</string>
|
||||
<string name="menu_share">Sdílet</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulk režimu: čárový kód naskenované a uložené</string>
|
||||
<string name="msg_camera_framework_bug">Omlouváme se, fotoaparát má problém. Možná bude nutné restartovat zařízení</string>
|
||||
<string name="msg_bulk_mode_scanned">Dávkový režim: čárové kódy naskenované a uložené</string>
|
||||
<string name="msg_camera_framework_bug">Omlouváme se, zjistili jsem problém s fotoaparátem. Možná bude nutné restartovat zařízení.</string>
|
||||
<string name="msg_default_format">Formát</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Ahoj</string>
|
||||
<string name="msg_default_status">Strefte se čtverečkem na čárový kód</string>
|
||||
<string name="msg_default_status">Zaměřte čtvercem na čárový kód</string>
|
||||
<string name="msg_default_time">Čas</string>
|
||||
<string name="msg_default_type">Typ</string>
|
||||
<string name="msg_encode_contents_failed">Nepodařilo se rozkódovat čárový kód z poskytnutých údajů.</string>
|
||||
<string name="msg_encode_contents_failed">Z poskytnutých údajů se nepodařilo rozkódovat čárový kód.</string>
|
||||
<string name="msg_error">Chyba</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Litujeme, požadovanou aplikaci nelze spustit. Čárový kód je nefunkční.</string>
|
||||
<string name="msg_intent_failed">Litujeme, požadovanou aplikaci nelze spustit. Čárový kód není funkční.</string>
|
||||
<string name="msg_invalid_value">Neplatná hodnota</string>
|
||||
<string name="msg_redirect">Přesměrování</string>
|
||||
<string name="msg_sbc_book_not_searchable">Omlouváme se, tato kniha nelze nalézt.</string>
|
||||
<string name="msg_sbc_failed">Omlouváme se, narazili jsme na problém.</string>
|
||||
<string name="msg_sbc_book_not_searchable">Omlouváme se, tuto knihu nelze nalézt.</string>
|
||||
<string name="msg_sbc_failed">Omlouváme se, objevil se problém.</string>
|
||||
<string name="msg_sbc_no_page_returned">Stránka nenalezena.</string>
|
||||
<string name="msg_sbc_page">Stránka</string>
|
||||
<string name="msg_sbc_results">Výsledky</string>
|
||||
<string name="msg_sbc_searching_book">Hledání knihy\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Snippet není k dispozici</string>
|
||||
<string name="msg_share_explanation">Můžete sdílet čárový kód na vaší obrazovce a skenování, s jiným telefonem.</string>
|
||||
<string name="msg_share_text">Nebo zadejte nějaký text</string>
|
||||
<string name="msg_share_explanation">Můžete sdílet čárový kód na vaší obrazovce a načíst jej jiným telefonem.</string>
|
||||
<string name="msg_share_text">Nebo zadejte nějaký text a zmáčkněte Enter</string>
|
||||
<string name="msg_sure">Jste si jisti?</string>
|
||||
<string name="msg_unmount_usb">Omlouváme se, karta SD není přístupná.</string>
|
||||
<string name="preferences_actions_title">Byl nalezen čárový kód.\u2026</string>
|
||||
|
@ -101,41 +101,43 @@
|
|||
<string name="preferences_decode_PDF417_title">PDF417 (β)</string>
|
||||
<string name="preferences_decode_QR_title">QR kódy</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Možná zástupná řešení chyb zařízení</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">Žádný čárový kód motivový program</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">Nevybrán žádný režim snímání čárovného kódu</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Používejte pouze standardní zaostřování</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Soustavné zaměření</string>
|
||||
<string name="preferences_disable_exposure_title">No expozice</string>
|
||||
<string name="preferences_disable_metering_title">No měření</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Soustavné ostření</string>
|
||||
<string name="preferences_disable_exposure_title">Vypnuta expozice</string>
|
||||
<string name="preferences_disable_metering_title">Vypnuto měření</string>
|
||||
<string name="preferences_front_light_auto">Automatický</string>
|
||||
<string name="preferences_front_light_off">Neaktivní</string>
|
||||
<string name="preferences_front_light_on">Aktivní</string>
|
||||
<string name="preferences_front_light_summary">Zlepšuje skenování při slabém osvětlení na některých telefonech, ale může způsobit oslnění. Nefunguje na všech telefonech.</string>
|
||||
<string name="preferences_front_light_title">Použít světlo</string>
|
||||
<string name="preferences_general_title">Hlavní nastavení</string>
|
||||
<string name="preferences_invert_scan_summary">Skenování čárových kódů pro bílé na černém pozadí. Není k dispozici v některých zařízeních.</string>
|
||||
<string name="preferences_history_summary">Uložte si skeny v historii</string>
|
||||
<string name="preferences_history_title">Přidat do dějin</string>
|
||||
<string name="preferences_invert_scan_summary">Skenování čárových kódů - bílé na černém pozadí. Není k dispozici v některých zařízeních.</string>
|
||||
<string name="preferences_invert_scan_title">Obrátit skenování</string>
|
||||
<string name="preferences_name">Nastavení</string>
|
||||
<string name="preferences_orientation_title">Žádné automatické otáčení</string>
|
||||
<string name="preferences_orientation_title">Vypnout automatické otáčení</string>
|
||||
<string name="preferences_play_beep_title">Zvuky</string>
|
||||
<string name="preferences_remember_duplicates_summary">Duplikáty čárových kódú v historii ukládat samostatně, nebo jako jeden čárový kód</string>
|
||||
<string name="preferences_remember_duplicates_title">Pamatovat všechny duplikáty</string>
|
||||
<string name="preferences_remember_duplicates_summary">Duplicity čárových kódú v historii ukládat samostatně, nebo jako jeden čárový kód</string>
|
||||
<string name="preferences_remember_duplicates_title">Zapomatovat všechny duplicity</string>
|
||||
<string name="preferences_result_title">Výsledek nastavení</string>
|
||||
<string name="preferences_scanning_title">Při skenování čárových kódů pro, dekódovat\u2026</string>
|
||||
<string name="preferences_scanning_title">Během skenování čárových kódů, dekódovat\u2026</string>
|
||||
<string name="preferences_search_country">Hledání země</string>
|
||||
<string name="preferences_supplemental_summary">Získat více informací o obsahu čárového kódu</string>
|
||||
<string name="preferences_supplemental_title">Získat více informací</string>
|
||||
<string name="preferences_vibrate_title">Vibrace</string>
|
||||
<string name="result_address_book">Našel jsem kontakt</string>
|
||||
<string name="result_calendar">Našel jsem kalendář</string>
|
||||
<string name="result_email_address">Našel jsem Email</string>
|
||||
<string name="result_geo">Našel jsem Zeměpisné informace</string>
|
||||
<string name="result_isbn">Našel jsem knihu</string>
|
||||
<string name="result_product">Našel jsem produkt</string>
|
||||
<string name="result_sms">Našel jsem SMS</string>
|
||||
<string name="result_tel">Našel jsem telefoní číslo</string>
|
||||
<string name="result_text">Našel jsem nějaký text</string>
|
||||
<string name="result_uri">Našel jsem URL</string>
|
||||
<string name="result_address_book">Kontakt nalezen</string>
|
||||
<string name="result_calendar">Kalendář nalezen</string>
|
||||
<string name="result_email_address">Email nalezen</string>
|
||||
<string name="result_geo">Nalezeny zeměpisné informace</string>
|
||||
<string name="result_isbn">Nalezena Kniha</string>
|
||||
<string name="result_product">Nalezen produkt</string>
|
||||
<string name="result_sms">Nalezena SMS adresa</string>
|
||||
<string name="result_tel">Nalezeno telefoní číslo</string>
|
||||
<string name="result_text">Nalezen nějaký text</string>
|
||||
<string name="result_uri">Nalezeno URL</string>
|
||||
<string name="result_wifi">Nalezeno bezdrátová konfigurace</string>
|
||||
<string name="sbc_name">Google Knihy hledání</string>
|
||||
<string name="wifi_changing_network">Požadující připojení k síti\u2026</string>
|
||||
<string name="sbc_name">Google Book Search</string>
|
||||
<string name="wifi_changing_network">Vyžaduje připojení k síti\u2026</string>
|
||||
</resources>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Forbedrer aflæsning i svagt lys på nogle telefoner, men kan medføre genskær. Virker ikke på alle telefoner.</string>
|
||||
<string name="preferences_front_light_title">Brug frontlys</string>
|
||||
<string name="preferences_general_title">Generelle indstillinger</string>
|
||||
<string name="preferences_history_summary">Gem dine scanninger i Historie</string>
|
||||
<string name="preferences_history_title">Tilføj til Historie</string>
|
||||
<string name="preferences_invert_scan_summary">Scan for hvide stregkoder på sort baggrund. Ikke tilgængelig på nogle enheder.</string>
|
||||
<string name="preferences_invert_scan_title">Inverter scanning</string>
|
||||
<string name="preferences_name">Indstillinger</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Verbessert bei einigen Mobiltelefonen das Scannen bei schwachem Licht, kann aber Überbelichtung verursachen. Funktioniert nicht mit allen Handys.</string>
|
||||
<string name="preferences_front_light_title">Foto LED einschalten</string>
|
||||
<string name="preferences_general_title">Allgemeine Einstellungen</string>
|
||||
<string name="preferences_history_summary">Speichern Sie Ihre Scans im Verlauf</string>
|
||||
<string name="preferences_history_title">Speichern im Verlauf</string>
|
||||
<string name="preferences_invert_scan_summary">Für weiße Barcodes auf schwarzem Hintergrund. Nicht bei allen Geräten verfügbar.</string>
|
||||
<string name="preferences_invert_scan_title">Negativ-Scan</string>
|
||||
<string name="preferences_name">Einstellungen</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Βελτιώνει το σκανάρισμα με χαμηλο φωτισμό σε μερικά κινητά, ίσως όμως προκαλέσει λάμψη. Δουλεύει σε μερικά κινητά.</string>
|
||||
<string name="preferences_front_light_title">Χρήση μπροστινού φακού</string>
|
||||
<string name="preferences_general_title">Γενικές ρυθμίσεις</string>
|
||||
<string name="preferences_history_summary">Αποθηκεύστε τις σαρώσεις σας στην Ιστορία</string>
|
||||
<string name="preferences_history_title">Προσθήκη στην Ιστορία</string>
|
||||
<string name="preferences_invert_scan_summary">Σάρωση για τη λευκή barcodes σε μαύρο φόντο. Δεν διατίθεται σε ορισμένες συσκευές.</string>
|
||||
<string name="preferences_invert_scan_title">Αντιστροφή της σάρωσης</string>
|
||||
<string name="preferences_name">Ρυθμίσεις</string>
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
<string name="history_clear_text">Borrar historial</string>
|
||||
<string name="history_email_title">Historial de Escáner de código de barras</string>
|
||||
<string name="history_empty">Vacío</string>
|
||||
<string name="history_empty_detail">Ningún escanea de códigos de barras se han registrado aún</string>
|
||||
<string name="history_empty_detail">Ninguna lectura de código de barras se ha registrado aún</string>
|
||||
<string name="history_send">Enviar historial</string>
|
||||
<string name="history_title">Historial</string>
|
||||
<string name="menu_encode_mecard">Usar MECARD</string>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<string name="msg_error">Error</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Lo sentimos, la aplicación solicitada no pudo ser lanzada. El contenido de código de barras puede ser inválida.</string>
|
||||
<string name="msg_intent_failed">Lo sentimos, la aplicación solicitada no pudo ser lanzada. El contenido del código de barras puede ser inválido.</string>
|
||||
<string name="msg_invalid_value">Valor no válido</string>
|
||||
<string name="msg_redirect">Redirigir</string>
|
||||
<string name="msg_sbc_book_not_searchable">Lo sentimos, no se puede buscar en este libro.</string>
|
||||
|
@ -110,14 +110,16 @@
|
|||
<string name="preferences_front_light_off">Inactivo</string>
|
||||
<string name="preferences_front_light_on">Activo</string>
|
||||
<string name="preferences_front_light_summary">Mejora la exploración en condiciones de poca luz en algunos teléfonos, pero puede causar deslumbramiento. No funciona en todos los teléfonos.</string>
|
||||
<string name="preferences_front_light_title">Utilizar luz delantera</string>
|
||||
<string name="preferences_front_light_title">Utilizar flash</string>
|
||||
<string name="preferences_general_title">Configuración general</string>
|
||||
<string name="preferences_history_summary">Almacene escáneres en la historia</string>
|
||||
<string name="preferences_history_title">Añadir a Historia</string>
|
||||
<string name="preferences_invert_scan_summary">Escanear códigos de barras blancas sobre fondo negro. No disponible en algunos dispositivos.</string>
|
||||
<string name="preferences_invert_scan_title">Invertir exploración</string>
|
||||
<string name="preferences_name">Configuración</string>
|
||||
<string name="preferences_orientation_title">Sin rotación automática</string>
|
||||
<string name="preferences_play_beep_title">Bip</string>
|
||||
<string name="preferences_remember_duplicates_summary">Almacenar múltiples escáneres del mismo código de barras en el Historial.</string>
|
||||
<string name="preferences_remember_duplicates_summary">Almacenar múltiples lecturas del mismo código de barras en el Historial.</string>
|
||||
<string name="preferences_remember_duplicates_title">Recuerde duplicados</string>
|
||||
<string name="preferences_result_title">Configuración de resultados</string>
|
||||
<string name="preferences_scanning_title">Al escanear códigos de barras, descodificar\u2026</string>
|
||||
|
@ -131,7 +133,7 @@
|
|||
<string name="result_geo">Coordenadas geográficas encontradas</string>
|
||||
<string name="result_isbn">Libro encontrado</string>
|
||||
<string name="result_product">Producto encontrado</string>
|
||||
<string name="result_sms">Dirección de SMS encontrado</string>
|
||||
<string name="result_sms">Dirección de SMS encontrada</string>
|
||||
<string name="result_tel">Número de teléfono encontrado</string>
|
||||
<string name="result_text">Texto encontrado</string>
|
||||
<string name="result_uri">URL encontrada</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Eskaneatzea hobetzen du zenbait telefonotan argiztapena txikia denean, baina distirak eragin ditzake. Ez du telefono guztietan funtzionatzen.</string>
|
||||
<string name="preferences_front_light_title">Erabili aurreko argia</string>
|
||||
<string name="preferences_general_title">Ezarpen orokorrak</string>
|
||||
<string name="preferences_history_summary">Biltegiratu bilaketen Historian</string>
|
||||
<string name="preferences_history_title">Historia Gehitu</string>
|
||||
<string name="preferences_invert_scan_summary">Atzeko plano beltzean kodeak zuri eskaneatzeko. Zenbait gailuk ez dago eskuragarri.</string>
|
||||
<string name="preferences_invert_scan_title">Alderantzikatu eskaneatzeko</string>
|
||||
<string name="preferences_name">Ezarpenak</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Parantaa joissain laitteissa hämärässä skannaamista, mutta voi aiheuttaa häikäisyongelmia. Ei toimi kaikissa puhelimissa.</string>
|
||||
<string name="preferences_front_light_title">Käytä etuosan valoa</string>
|
||||
<string name="preferences_general_title">Yleiset asetukset</string>
|
||||
<string name="preferences_history_summary">Säilytä skannaa historia</string>
|
||||
<string name="preferences_history_title">Lisää Historia</string>
|
||||
<string name="preferences_invert_scan_summary">Etsi valkoisia viivakoodeja mustalla taustalla. Ei toimi kaikilla laitteilla.</string>
|
||||
<string name="preferences_invert_scan_title">Käänteinen (negatiivin) skannaus</string>
|
||||
<string name="preferences_name">Asetukset</string>
|
||||
|
|
|
@ -20,79 +20,79 @@
|
|||
<string name="bookmark_picker_name">Marque-pages</string>
|
||||
<string name="button_add_calendar">Ajouter à l\'agenda</string>
|
||||
<string name="button_add_contact">Ajouter un contact</string>
|
||||
<string name="button_book_search">Recherche de livres</string>
|
||||
<string name="button_book_search">Recherche de livre</string>
|
||||
<string name="button_cancel">Annuler</string>
|
||||
<string name="button_custom_product_search">Recherche personnalisée</string>
|
||||
<string name="button_dial">Composer numéro</string>
|
||||
<string name="button_email">Envoyer email</string>
|
||||
<string name="button_get_directions">Itinéraire</string>
|
||||
<string name="button_custom_product_search">Recherche personnalisée de produit</string>
|
||||
<string name="button_dial">Composer un numéro</string>
|
||||
<string name="button_email">Envoyer un courriel</string>
|
||||
<string name="button_get_directions">Obtenir un itinéraire</string>
|
||||
<string name="button_mms">Envoyer MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Ouvrir le navigateur</string>
|
||||
<string name="button_product_search">Recherche de produits</string>
|
||||
<string name="button_product_search">Recherche de produit</string>
|
||||
<string name="button_search_book_contents">Rechercher dans le contenu</string>
|
||||
<string name="button_share_app">Application</string>
|
||||
<string name="button_share_bookmark">Marque-page</string>
|
||||
<string name="button_share_by_email">Partager par email</string>
|
||||
<string name="button_share_by_sms">Partager par SMS</string>
|
||||
<string name="button_share_clipboard">Presse-papier</string>
|
||||
<string name="button_share_by_email">Partager par courriel</string>
|
||||
<string name="button_share_by_sms">Partager par texto</string>
|
||||
<string name="button_share_clipboard">Presse-papiers</string>
|
||||
<string name="button_share_contact">Contact</string>
|
||||
<string name="button_show_map">Afficher la carte</string>
|
||||
<string name="button_sms">Envoyer SMS</string>
|
||||
<string name="button_sms">Envoyer un texto</string>
|
||||
<string name="button_web_search">Recherche Web</string>
|
||||
<string name="button_wifi">Se connecter au réseau</string>
|
||||
<string name="contents_contact">Informations de contact</string>
|
||||
<string name="contents_email">Adresse email</string>
|
||||
<string name="contents_email">Adresse courriel</string>
|
||||
<string name="contents_location">Coordonnées géographiques</string>
|
||||
<string name="contents_phone">Numéro de téléphone</string>
|
||||
<string name="contents_sms">Adresse SMS</string>
|
||||
<string name="contents_text">Texte</string>
|
||||
<string name="contents_text">Texte en clair</string>
|
||||
<string name="history_clear_one_history_text">Effacer</string>
|
||||
<string name="history_clear_text">Effacer l\'historique</string>
|
||||
<string name="history_email_title">Historique de Barcode Scanner</string>
|
||||
<string name="history_empty">Vide</string>
|
||||
<string name="history_empty_detail">Aucun code-barre scanné n\'a encore été enregistré</string>
|
||||
<string name="history_empty_detail">Aucun code-barre balayé n\'a encore été enregistré</string>
|
||||
<string name="history_send">Envoyer historique</string>
|
||||
<string name="history_title">Historique</string>
|
||||
<string name="menu_encode_mecard">Format MECARD</string>
|
||||
<string name="menu_encode_vcard">Format vCard</string>
|
||||
<string name="menu_encode_mecard">Utiliser MECARD</string>
|
||||
<string name="menu_encode_vcard">Utiliser vCard</string>
|
||||
<string name="menu_help">Aide</string>
|
||||
<string name="menu_history">Historique</string>
|
||||
<string name="menu_settings">Paramètres</string>
|
||||
<string name="menu_share">Partager</string>
|
||||
<string name="msg_bulk_mode_scanned">Mode lecture en rafale : code-barres scanné et enregistré</string>
|
||||
<string name="msg_bulk_mode_scanned">Balayage en rafale\u00A0: code-barres balayés et enregistrés</string>
|
||||
<string name="msg_camera_framework_bug">Désolé, la caméra Android a rencontré un problème. Un redémarrage de l\'appareil est peut-être nécessaire.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Métadonnées</string>
|
||||
<string name="msg_default_mms_subject">Salut</string>
|
||||
<string name="msg_default_status">Placer un code-barres à l\'intérieur du rectangle pour le scanner.</string>
|
||||
<string name="msg_default_time">Temps</string>
|
||||
<string name="msg_default_status">Encadrez un code-barres avec le viseur pour le balayer.</string>
|
||||
<string name="msg_default_time">Heure</string>
|
||||
<string name="msg_default_type">Type</string>
|
||||
<string name="msg_encode_contents_failed">Impossible de créer le code-barres à partir des données fournies.</string>
|
||||
<string name="msg_encode_contents_failed">Impossible d\'encoder un code-barres à partir des données fournies.</string>
|
||||
<string name="msg_error">Erreur</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Désolé, l\'application demandée n\'a pas pu être lancée. Le contenu du code-barres n\'est peut-être pas valable.</string>
|
||||
<string name="msg_intent_failed">Désolé, l\'application demandée n\'a pas pu être lancée. Le contenu du code-barres est peut-être invalide.</string>
|
||||
<string name="msg_invalid_value">Valeur invalide</string>
|
||||
<string name="msg_redirect">Redirection</string>
|
||||
<string name="msg_sbc_book_not_searchable">Désolé, ce livre est introuvable.</string>
|
||||
<string name="msg_redirect">Réacheminement</string>
|
||||
<string name="msg_sbc_book_not_searchable">Désolé, ce livre ne peut pas être cherché.</string>
|
||||
<string name="msg_sbc_failed">Désolé, la recherche a rencontré un problème.</string>
|
||||
<string name="msg_sbc_no_page_returned">Page non trouvée</string>
|
||||
<string name="msg_sbc_no_page_returned">Aucun résultat</string>
|
||||
<string name="msg_sbc_page">Page</string>
|
||||
<string name="msg_sbc_results">Résultats</string>
|
||||
<string name="msg_sbc_searching_book">Recherche du livre\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Extrait non disponible</string>
|
||||
<string name="msg_share_explanation">Vous pouvez partager des données en affichant un code-barres sur votre écran et en le scannant avec un autre téléphone.</string>
|
||||
<string name="msg_share_text">Ou tapez du texte</string>
|
||||
<string name="msg_sure">Êtes-vous sûr ?</string>
|
||||
<string name="msg_share_explanation">Vous pouvez partager des données en affichant un code-barres sur votre écran et en le balayant avec un autre téléphone.</string>
|
||||
<string name="msg_share_text">Ou tapez du texte et appuyez sur Entrée</string>
|
||||
<string name="msg_sure">Le voulez-vous vraiment\u00A0?</string>
|
||||
<string name="msg_unmount_usb">Désolé, la carte SD n\'est pas accessible.</string>
|
||||
<string name="preferences_actions_title">Quand un code-barres est trouvé\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Utiliser l\'autofocus</string>
|
||||
<string name="preferences_auto_open_web_title">Ouvrir des pages Web automatiquement</string>
|
||||
<string name="preferences_bulk_mode_summary">Scanner et enregistrer plusieurs codes-barres d\'affilée</string>
|
||||
<string name="preferences_auto_focus_title">Utiliser la mise au point automatique</string>
|
||||
<string name="preferences_auto_open_web_title">Ouvrir les pages Web automatiquement</string>
|
||||
<string name="preferences_bulk_mode_summary">Balayer et enregistrer des codes-barres en rafale</string>
|
||||
<string name="preferences_bulk_mode_title">Mode de lecture en rafale</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copier dans le presse-papier</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Remplacements : %s = contenu, %f = format, %t = type</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copier dans le presse-papiers</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Remplacements\u00A0: %s = contenu, %f = format, %t = type</string>
|
||||
<string name="preferences_custom_product_search_title">URL de recherche personnalisée</string>
|
||||
<string name="preferences_decode_1D_industrial_title">1D industrielle</string>
|
||||
<string name="preferences_decode_1D_product_title">1D produit</string>
|
||||
|
@ -100,42 +100,44 @@
|
|||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_PDF417_title">PDF417 (β)</string>
|
||||
<string name="preferences_decode_QR_title">Codes QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Solutions de contournement des bugs de l\'appareil</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">Pas de mode scène code à barres</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Paliatifs des bogues de l\'appareil</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">Pas de mode scène de code-barres</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Utiliser uniquement le mode de mise au point standard</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Pas de mise au point continue</string>
|
||||
<string name="preferences_disable_exposure_title">Pas d\'exposition</string>
|
||||
<string name="preferences_disable_metering_title">Pas de mesure</string>
|
||||
<string name="preferences_front_light_auto">Automatique</string>
|
||||
<string name="preferences_front_light_off">Inactif</string>
|
||||
<string name="preferences_front_light_on">Actif</string>
|
||||
<string name="preferences_front_light_summary">Allumer la lampe derrière le téléphone quand la lumière ambiante est faible. Peut provoquer des reflets et ne fonctionne pas sur tous les téléphones.</string>
|
||||
<string name="preferences_front_light_title">Flash</string>
|
||||
<string name="preferences_front_light_off">Éteinte</string>
|
||||
<string name="preferences_front_light_on">Allumée</string>
|
||||
<string name="preferences_front_light_summary">Améliore le balayage lors d\'une faible luminosité sur certains téléphone, mais peut causer un reflet. Ne fonctionne pas sur tous les téléphones.</string>
|
||||
<string name="preferences_front_light_title">Utiliser la lumière frontale</string>
|
||||
<string name="preferences_general_title">Paramètres généraux</string>
|
||||
<string name="preferences_invert_scan_summary">Scanner des codes-barres blancs sur fond noir. Pas disponible sur certains appareils.</string>
|
||||
<string name="preferences_invert_scan_title">Scan négatif</string>
|
||||
<string name="preferences_history_summary">Stockez vos scans dans l\'historique</string>
|
||||
<string name="preferences_history_title">Ajouter à l\'historique</string>
|
||||
<string name="preferences_invert_scan_summary">Balayer des codes-barres blancs sur fond noir. Non disponible sur certains appareils.</string>
|
||||
<string name="preferences_invert_scan_title">Balayage négatif</string>
|
||||
<string name="preferences_name">Paramètres</string>
|
||||
<string name="preferences_orientation_title">Pas de rotation automatique</string>
|
||||
<string name="preferences_play_beep_title">Bip</string>
|
||||
<string name="preferences_remember_duplicates_summary">Enregistrer dans l\'historique les lectures multiples d\'un même code-barres</string>
|
||||
<string name="preferences_remember_duplicates_title">Enregistrer les doublons</string>
|
||||
<string name="preferences_result_title">Paramètres d\'un résultat</string>
|
||||
<string name="preferences_scanning_title">Pendant le scan de codes-barres, décoder\u2026</string>
|
||||
<string name="preferences_result_title">Paramètres de résultat</string>
|
||||
<string name="preferences_scanning_title">Pendant le balayage de codes-barres, décoder\u2026</string>
|
||||
<string name="preferences_search_country">Pays de recherche</string>
|
||||
<string name="preferences_supplemental_summary">Essayer d\'obtenir plus d\'informations sur le contenu du code-barres</string>
|
||||
<string name="preferences_supplemental_title">Obtenir plus d\'informations</string>
|
||||
<string name="preferences_supplemental_title">Obtenir plus d\'infos</string>
|
||||
<string name="preferences_vibrate_title">Vibreur</string>
|
||||
<string name="result_address_book">Informations de contact trouvées</string>
|
||||
<string name="result_calendar">Événement pour l\'agenda trouvé</string>
|
||||
<string name="result_email_address">Adresse email trouvée</string>
|
||||
<string name="result_calendar">Événement d\'agenda trouvé</string>
|
||||
<string name="result_email_address">Adresse courriel trouvée</string>
|
||||
<string name="result_geo">Coordonnées géographiques trouvées</string>
|
||||
<string name="result_isbn">Livre trouvé</string>
|
||||
<string name="result_product">Produit trouvé</string>
|
||||
<string name="result_sms">Adresse SMS trouvée</string>
|
||||
<string name="result_tel">Numéro de téléphone trouvé</string>
|
||||
<string name="result_text">Texte seul trouvé</string>
|
||||
<string name="result_text">Texte en clair trouvé</string>
|
||||
<string name="result_uri">URL trouvée</string>
|
||||
<string name="result_wifi">Configuration de réseau Wi-Fi trouvée</string>
|
||||
<string name="result_wifi">Configuration WLAN trouvée</string>
|
||||
<string name="sbc_name">Recherche Google Livres</string>
|
||||
<string name="wifi_changing_network">Demande de connexion au réseau\u2026</string>
|
||||
</resources>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">משפר את הסריקה בתאורה נמוכה בטלפונים מסוימים, אך עשוי לגרום לסנוור. לא עובד בכל הטלפונים.</string>
|
||||
<string name="preferences_front_light_title">השתמש באור הקדמי</string>
|
||||
<string name="preferences_general_title">הגדרות כלליות</string>
|
||||
<string name="preferences_history_summary">אחסן הסריקות שלך בהיסטוריה</string>
|
||||
<string name="preferences_history_title">הוסף להיסטוריה</string>
|
||||
<string name="preferences_invert_scan_summary">סרוק ברקודים לבן על רקע שחור. לא זמין על התקנים מסוימים.</string>
|
||||
<string name="preferences_invert_scan_title">היפוך לסרוק</string>
|
||||
<string name="preferences_name">הגדרות</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">कुछ फोन पर कम रोशनी में स्कैनिंग बढ़ाता है, लेकिन चमक का कारण हो सकता है. सभी फोन पर काम नहीं करता.</string>
|
||||
<string name="preferences_front_light_title">सामने प्रकाश का उपयोग करें</string>
|
||||
<string name="preferences_general_title">सामान्य सेटिंग्स</string>
|
||||
<string name="preferences_history_summary">इतिहास में अपने स्कैन स्टोर</string>
|
||||
<string name="preferences_history_title">इतिहास में जोड़ें</string>
|
||||
<string name="preferences_invert_scan_summary">काली पृष्ठभूमि पर सफेद बारकोड के लिए स्कैन करें. कुछ उपकरणों पर उपलब्ध नहीं है.</string>
|
||||
<string name="preferences_invert_scan_title">स्कैन उलटें</string>
|
||||
<string name="preferences_name">सेटिंग्स</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Javítja a szkennelést kevés fény mellett néhány telefonon, de csillogást okozhat. Nem minden telefonon működik.</string>
|
||||
<string name="preferences_front_light_title">Kamera LED használata</string>
|
||||
<string name="preferences_general_title">Általános beállítások</string>
|
||||
<string name="preferences_history_summary">Tárolja a beolvasott történelem</string>
|
||||
<string name="preferences_history_title">Add hozzá a History</string>
|
||||
<string name="preferences_invert_scan_summary">Scan fehér vonalkódok a fekete háttér. Nem csak egyes eszközöket.</string>
|
||||
<string name="preferences_invert_scan_title">Invert szkennelés</string>
|
||||
<string name="preferences_name">Beállítások</string>
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
<string name="button_book_search">Cari Buku</string>
|
||||
<string name="button_cancel">Batal</string>
|
||||
<string name="button_custom_product_search">Pencarian kustom</string>
|
||||
<string name="button_dial">Panggil nomor</string>
|
||||
<string name="button_email">Kirim surel</string>
|
||||
<string name="button_dial">Menghubungi nomor</string>
|
||||
<string name="button_email">Kirim email</string>
|
||||
<string name="button_get_directions">Dapatkan petunjuk arah</string>
|
||||
<string name="button_mms">Kirim MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
|
@ -33,7 +33,7 @@
|
|||
<string name="button_search_book_contents">Cari isi</string>
|
||||
<string name="button_share_app">Aplikasi</string>
|
||||
<string name="button_share_bookmark">Bookmark</string>
|
||||
<string name="button_share_by_email">Bagikan melalui surel</string>
|
||||
<string name="button_share_by_email">Bagikan melalui email</string>
|
||||
<string name="button_share_by_sms">Bagikan melalui SMS</string>
|
||||
<string name="button_share_clipboard">Clipboard</string>
|
||||
<string name="button_share_contact">Kontak</string>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<string name="button_web_search">Pencarian web</string>
|
||||
<string name="button_wifi">Hubungkan ke Jaringan</string>
|
||||
<string name="contents_contact">Informasi kontak</string>
|
||||
<string name="contents_email">Alamat surel</string>
|
||||
<string name="contents_email">Alamat email</string>
|
||||
<string name="contents_location">Koordinat geografis</string>
|
||||
<string name="contents_phone">Nomor telepon</string>
|
||||
<string name="contents_sms">Alamat SMS</string>
|
||||
|
@ -51,7 +51,7 @@
|
|||
<string name="history_clear_text">Hapus riwayat</string>
|
||||
<string name="history_email_title">Riwayat Barcode Scanner</string>
|
||||
<string name="history_empty">Kosong</string>
|
||||
<string name="history_empty_detail">Tidak ada scan barcode telah dicatat belum</string>
|
||||
<string name="history_empty_detail">Tidak ada pemindaian barcode yang pernah dicatat</string>
|
||||
<string name="history_send">Kirim riwayat</string>
|
||||
<string name="history_title">Riwayat</string>
|
||||
<string name="menu_encode_mecard">Gunakan MECARD</string>
|
||||
|
@ -61,8 +61,8 @@
|
|||
<string name="menu_settings">Pengaturan</string>
|
||||
<string name="menu_share">Bagikan</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulk mode: barcode sudah dipindai dan disimpan</string>
|
||||
<string name="msg_camera_framework_bug">Maaf, kamera pada Android mengalami masalah. Anda mungkin perlu me-restart perangkat.</string>
|
||||
<string name="msg_default_format">Bentuk</string>
|
||||
<string name="msg_camera_framework_bug">Maaf, kamera mengalami masalah. Anda mungkin perlu me-restart perangkat.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Hai</string>
|
||||
<string name="msg_default_status">Letakkan barcode di dalam kotak jendela untuk memindai.</string>
|
||||
|
@ -100,40 +100,42 @@
|
|||
<string name="preferences_decode_Data_Matrix_title">Data Matriks</string>
|
||||
<string name="preferences_decode_PDF417_title">PDF417 (β)</string>
|
||||
<string name="preferences_decode_QR_title">QR Codes</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Perangkat Bug Workarounds</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">Tidak ada modus barcode scene</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Gunakan hanya modus fokus standar</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Tidak ada fokus terus menerus</string>
|
||||
<string name="preferences_disable_exposure_title">Eksposur ada</string>
|
||||
<string name="preferences_disable_metering_title">Metering ada</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Device Bug Workarounds</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">Tidak ada modus tempat kejadian barcode</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Hanya gunakan mode fokus standar</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Jangan gunakan fokus terus menerus</string>
|
||||
<string name="preferences_disable_exposure_title">Tanpa eksposur</string>
|
||||
<string name="preferences_disable_metering_title">Tanpa pengukuran</string>
|
||||
<string name="preferences_front_light_auto">Otomatis</string>
|
||||
<string name="preferences_front_light_off">Non-aktif</string>
|
||||
<string name="preferences_front_light_on">Aktif</string>
|
||||
<string name="preferences_front_light_summary">Meningkatkan scanning dalam cahaya rendah pada beberapa ponsel, namun dapat menyebabkan silau. Tidak bekerja pada semua ponsel.</string>
|
||||
<string name="preferences_front_light_summary">Meningkatkan pemindaian dalam cahaya rendah pada beberapa ponsel, namun dapat menyebabkan silau. Tidak dapat bekerja pada semua ponsel.</string>
|
||||
<string name="preferences_front_light_title">Gunakan lampu depan</string>
|
||||
<string name="preferences_general_title">Pengaturan umum</string>
|
||||
<string name="preferences_history_summary">Simpan hasil pemindaian Anda dalam riwayat</string>
|
||||
<string name="preferences_history_title">Tambahkan ke riwayat</string>
|
||||
<string name="preferences_invert_scan_summary">Memindai barcode putih pada latar belakang hitam. Tidak tersedia pada beberapa perangkat.</string>
|
||||
<string name="preferences_invert_scan_title">Balikkan memindai</string>
|
||||
<string name="preferences_invert_scan_title">Membalikkan pemindaian</string>
|
||||
<string name="preferences_name">Pengaturan</string>
|
||||
<string name="preferences_orientation_title">Tidak ada rotasi otomatis</string>
|
||||
<string name="preferences_play_beep_title">Beep</string>
|
||||
<string name="preferences_orientation_title">Jangan rotasi otomatis</string>
|
||||
<string name="preferences_play_beep_title">Bunyi</string>
|
||||
<string name="preferences_remember_duplicates_summary">Simpan beberapa pindaian dari barcode yang sama di dalam Riwayat</string>
|
||||
<string name="preferences_remember_duplicates_title">Ingat duplikasi</string>
|
||||
<string name="preferences_result_title">Hasil pengaturan</string>
|
||||
<string name="preferences_scanning_title">Ketika memindai barcode, decode\u2026</string>
|
||||
<string name="preferences_search_country">Pencarian negara</string>
|
||||
<string name="preferences_search_country">Pilih negara</string>
|
||||
<string name="preferences_supplemental_summary">Mencoba mendapatkan beberapa informasi mengenai isi barcode</string>
|
||||
<string name="preferences_supplemental_title">Ambil informasi lebih lanjut</string>
|
||||
<string name="preferences_vibrate_title">Bergetar</string>
|
||||
<string name="result_address_book">Informasi kontak ditemukan</string>
|
||||
<string name="result_calendar">Kalendar acara ditemukan</string>
|
||||
<string name="result_email_address">Alamat surel ditemukan</string>
|
||||
<string name="result_email_address">Alamat email ditemukan</string>
|
||||
<string name="result_geo">Koordinat geografis ditemukan</string>
|
||||
<string name="result_isbn">Buku ditemukan</string>
|
||||
<string name="result_product">Produk ditemukan</string>
|
||||
<string name="result_sms">Alamat SMS ditemukan</string>
|
||||
<string name="result_tel">Nomor telepon ditemukan</string>
|
||||
<string name="result_text">Teks biasa ditemukan</string>
|
||||
<string name="result_text">Teks ditemukan</string>
|
||||
<string name="result_uri">URL ditemukan</string>
|
||||
<string name="result_wifi">Konfigurasi WLAN ditemukan</string>
|
||||
<string name="sbc_name">Pencarian Google Book</string>
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
<string name="msg_redirect">Inoltra</string>
|
||||
<string name="msg_sbc_book_not_searchable">Spiacenti, questo libro non è ricercabile.</string>
|
||||
<string name="msg_sbc_failed">Spiacenti, la ricerca ha avuto un problema.</string>
|
||||
<string name="msg_sbc_no_page_returned">Nessuna pagina restitiuta</string>
|
||||
<string name="msg_sbc_no_page_returned">Nessuna pagina restituita</string>
|
||||
<string name="msg_sbc_page">Pagina</string>
|
||||
<string name="msg_sbc_results">Risultati</string>
|
||||
<string name="msg_sbc_searching_book">Ricerca libro\u2026</string>
|
||||
|
@ -97,7 +97,7 @@
|
|||
<string name="preferences_decode_1D_industrial_title">1D industriali</string>
|
||||
<string name="preferences_decode_1D_product_title">1D prodotto</string>
|
||||
<string name="preferences_decode_Aztec_title">Aztec</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Matrice Dati</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_PDF417_title">PDF417 (β)</string>
|
||||
<string name="preferences_decode_QR_title">Codici QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Soluzioni alternative dispositivo Bug</string>
|
||||
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Migliora la scansione con poca luminosità su alcuni telefoni, ma può provocare abbagliamento. Non funziona su tutti i telefoni.</string>
|
||||
<string name="preferences_front_light_title">Usa luce frontale</string>
|
||||
<string name="preferences_general_title">Impostazioni generali</string>
|
||||
<string name="preferences_history_summary">Mantieni le tue scansioni nella Cronologia</string>
|
||||
<string name="preferences_history_title">Aggiungi alla Cronologia</string>
|
||||
<string name="preferences_invert_scan_summary">Scansione dei codici a barre bianche su sfondo nero. Non disponibile su alcuni dispositivi.</string>
|
||||
<string name="preferences_invert_scan_title">Invertire la scansione</string>
|
||||
<string name="preferences_name">Impostazioni</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">スキャン時のライトを制御します</string>
|
||||
<string name="preferences_front_light_title">ライトの制御</string>
|
||||
<string name="preferences_general_title">一般設定</string>
|
||||
<string name="preferences_history_summary">歴史の中のあなたのスキャンを保管してください</string>
|
||||
<string name="preferences_history_title">歴史に追加</string>
|
||||
<string name="preferences_invert_scan_summary">黒地に白のバーコードをスキャン。一部のデバイスでは使用できません。</string>
|
||||
<string name="preferences_invert_scan_title">スキャンを反転</string>
|
||||
<string name="preferences_name">設定</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">특정 기기에서는 어두운 환경에서의 스캐닝 기능을 향상 시키지만 너무 밝을 수도 있습니다. 모든 기기에서 작동되지 않습니다.</string>
|
||||
<string name="preferences_front_light_title">플래시 사용하기</string>
|
||||
<string name="preferences_general_title">일반 설정</string>
|
||||
<string name="preferences_history_summary">역사에서 스캔을 저장</string>
|
||||
<string name="preferences_history_title">역사에 추가</string>
|
||||
<string name="preferences_invert_scan_summary">검정 바탕에 흰색 바코드에 대한 스캔. 일부 장치에서 사용할 수 없습니다.</string>
|
||||
<string name="preferences_invert_scan_title">스캔 반전</string>
|
||||
<string name="preferences_name">설정</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Verbetert het scannen bij weinig licht bij sommige telefoons, maar kan schittering veroorzaken. Werkt niet op alle telefoons.</string>
|
||||
<string name="preferences_front_light_title">Flitser gebruiken</string>
|
||||
<string name="preferences_general_title">Algemene instellingen</string>
|
||||
<string name="preferences_history_summary">Bewaar uw scans in de Geschiedenis</string>
|
||||
<string name="preferences_history_title">Toevoegen aan Geschiedenis</string>
|
||||
<string name="preferences_invert_scan_summary">Scan naar witte barcodes op een zwarte achtergrond. Niet beschikbaar op sommige apparaten.</string>
|
||||
<string name="preferences_invert_scan_title">Scan omkeren</string>
|
||||
<string name="preferences_name">Instellingen</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Polepsza skanowanie przy małej ilości światła w niektórych telefonach, ale może powodować odbłysk. Nie działa na wszystkich telefonach.</string>
|
||||
<string name="preferences_front_light_title">Używaj lampy frontowej</string>
|
||||
<string name="preferences_general_title">Ustawienia ogólne</string>
|
||||
<string name="preferences_history_summary">Przechowywanie skanów w historii</string>
|
||||
<string name="preferences_history_title">Dodaj do historii</string>
|
||||
<string name="preferences_invert_scan_summary">Skanowanie białych kodów kreskowych na czarnym tle. Nie dostępne w niektórych urządzeniach.</string>
|
||||
<string name="preferences_invert_scan_title">Odwróć skanowania</string>
|
||||
<string name="preferences_name">Ustawienia</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Melhora a leitura em luz fraca em alguns telefones, mas pode causar clarões. Não disponível em certos dispositivos.</string>
|
||||
<string name="preferences_front_light_title">Usar luz da frente</string>
|
||||
<string name="preferences_general_title">Definições Gerais</string>
|
||||
<string name="preferences_history_summary">Armazene seus scans em História</string>
|
||||
<string name="preferences_history_title">Adicionar à História</string>
|
||||
<string name="preferences_invert_scan_summary">Procurar por códigos de barras brancos em fundo preto. Não disponível em certos dispositivos.</string>
|
||||
<string name="preferences_invert_scan_title">Inverter leitura</string>
|
||||
<string name="preferences_name">Definições</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Îmbunătățește scanarea în lumină redusă, dar poate cauza strălucire excesivă. Nu funcționează la toate aparatele.</string>
|
||||
<string name="preferences_front_light_title">Folosește lumina frontală</string>
|
||||
<string name="preferences_general_title">Configurări generale</string>
|
||||
<string name="preferences_history_summary">Păstrați scanate în istorie</string>
|
||||
<string name="preferences_history_title">Adauga la Istorie</string>
|
||||
<string name="preferences_invert_scan_summary">Scanează coduri de bară albe pe fundal negru. Indisponibil pe unele aparate.</string>
|
||||
<string name="preferences_invert_scan_title">Scanare în negativ</string>
|
||||
<string name="preferences_name">Configurări</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Улучшает распознавание в условиях низкой освещенности, но может вызвать блики. Работает не на всех устройствах.</string>
|
||||
<string name="preferences_front_light_title">Фонарик</string>
|
||||
<string name="preferences_general_title">Общие настройки</string>
|
||||
<string name="preferences_history_summary">Храните ваши сканы в истории</string>
|
||||
<string name="preferences_history_title">Добавить в истории</string>
|
||||
<string name="preferences_invert_scan_summary">Сканирование белых штрих-кодов на черном фоне. Не работает на некоторых устройствах.</string>
|
||||
<string name="preferences_invert_scan_title">Инвертировать</string>
|
||||
<string name="preferences_name">Настройки</string>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<string name="button_search_book_contents">Vyhľadať obsah</string>
|
||||
<string name="button_share_app">Aplikácia</string>
|
||||
<string name="button_share_bookmark">Záložka</string>
|
||||
<string name="button_share_by_email">Zdieľať cez e-mail</string>
|
||||
<string name="button_share_by_email">Zdieľať cez email</string>
|
||||
<string name="button_share_by_sms">Zdieľať cez SMS</string>
|
||||
<string name="button_share_clipboard">Schránka</string>
|
||||
<string name="button_share_contact">Kontakt</string>
|
||||
|
@ -42,14 +42,14 @@
|
|||
<string name="button_web_search">Hľadať na webe</string>
|
||||
<string name="button_wifi">Pripojiť sa sieti</string>
|
||||
<string name="contents_contact">Informácie o kontakte</string>
|
||||
<string name="contents_email">E-mailová adresa</string>
|
||||
<string name="contents_email">Emailová adresa</string>
|
||||
<string name="contents_location">Geografické súradnice</string>
|
||||
<string name="contents_phone">Telefónne číslo</string>
|
||||
<string name="contents_sms">SMS adresa</string>
|
||||
<string name="contents_text">Obyčajný text</string>
|
||||
<string name="history_clear_one_history_text">Vymazať</string>
|
||||
<string name="history_clear_text">Vymazať históriu</string>
|
||||
<string name="history_email_title">História Barcode Scanneru</string>
|
||||
<string name="history_email_title">História Barcode Scannera</string>
|
||||
<string name="history_empty">Prázdna</string>
|
||||
<string name="history_empty_detail">Žiadne čiarové kódy neboli zaznamenané</string>
|
||||
<string name="history_send">Poslať históriu</string>
|
||||
|
@ -65,18 +65,18 @@
|
|||
<string name="msg_default_format">Formát</string>
|
||||
<string name="msg_default_meta">Metadáta</string>
|
||||
<string name="msg_default_mms_subject">Ahoj</string>
|
||||
<string name="msg_default_status">Umiestnite čiarový kód do vnútra obdĺžnika hľadáčiku pre skenovanie.</string>
|
||||
<string name="msg_default_status">Umiestnite čiarový kód do vnútra obdĺžnika hľadáčiku pre skenovanie</string>
|
||||
<string name="msg_default_time">Čas</string>
|
||||
<string name="msg_default_type">Typ</string>
|
||||
<string name="msg_encode_contents_failed">Nie je možné zakódovať čiarový kód z poskytnutých údajov.</string>
|
||||
<string name="msg_encode_contents_failed">Nie je možné zakódovať čiarový kód z poskytnutých údajov</string>
|
||||
<string name="msg_error">Chyba</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Ospravedlňujeme sa, požadovaná aplikácia nemohla byť spustená. Obsah čiarového kódu je možno neplatný.</string>
|
||||
<string name="msg_invalid_value">Neplatná hodnota</string>
|
||||
<string name="msg_redirect">Presmerovať</string>
|
||||
<string name="msg_sbc_book_not_searchable">Ospravedlňujeme sa, táto kniha nie je prehliadateľná.</string>
|
||||
<string name="msg_sbc_failed">Ospravedlňujeme sa, vyhľadávanie narazilo na problém.</string>
|
||||
<string name="msg_sbc_book_not_searchable">Ospravedlňujeme sa, táto kniha nie je prehliadateľná</string>
|
||||
<string name="msg_sbc_failed">Ospravedlňujeme sa, vyhľadávanie narazilo na problém</string>
|
||||
<string name="msg_sbc_no_page_returned">Nenašla sa žiadna stránka</string>
|
||||
<string name="msg_sbc_page">Stránka</string>
|
||||
<string name="msg_sbc_results">Výsledky</string>
|
||||
|
@ -85,10 +85,10 @@
|
|||
<string name="msg_share_explanation">Môžete zdieľať dáta zobrazením čiarového kódu na displeji vášho zariadenia a jeho zoskenovaním iným zariadením</string>
|
||||
<string name="msg_share_text">Alebo zadajte nejaký text</string>
|
||||
<string name="msg_sure">Ste si istí?</string>
|
||||
<string name="msg_unmount_usb">Ospravedlňujeme sa, SD karta nie je prístupná.</string>
|
||||
<string name="msg_unmount_usb">Ospravedlňujeme sa, SD karta nie je prístupná</string>
|
||||
<string name="preferences_actions_title">Pri zistení čiarového kódu</string>
|
||||
<string name="preferences_auto_focus_title">Použiť automatické zaostrenie</string>
|
||||
<string name="preferences_auto_open_web_title">Otvorte webové stránky automaticky</string>
|
||||
<string name="preferences_auto_open_web_title">Otvoriť webové stránky automaticky</string>
|
||||
<string name="preferences_bulk_mode_summary">Skenovať a ukladať veľa čiarových kódov bez prerušenia</string>
|
||||
<string name="preferences_bulk_mode_title">Hromadný režim skenovania</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopírovať do schránky</string>
|
||||
|
@ -102,7 +102,7 @@
|
|||
<string name="preferences_decode_QR_title">QR kódy</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Možné chyby zariadenia</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">Bez scénického režimu čiarového kódu</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Použiť iba štandardné zaostrenie.</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Použiť iba štandardné zaostrenie</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Bez nepretržitého zaostrovania</string>
|
||||
<string name="preferences_disable_exposure_title">Bez expozície</string>
|
||||
<string name="preferences_disable_metering_title">Bez úpravy jasu</string>
|
||||
|
@ -112,7 +112,9 @@
|
|||
<string name="preferences_front_light_summary">Použiť prisvetlenie</string>
|
||||
<string name="preferences_front_light_title">Použiť predné svetlo</string>
|
||||
<string name="preferences_general_title">Všeobecné nastavenia</string>
|
||||
<string name="preferences_invert_scan_summary">Skenovať biele čiarové kódy na čiernom pozadí. Nie je k dispozícii na všetkých zariadeniach.</string>
|
||||
<string name="preferences_history_summary">Uložiť si skeny v histórii</string>
|
||||
<string name="preferences_history_title">Pridať do histórie</string>
|
||||
<string name="preferences_invert_scan_summary">Skenovať biele čiarové kódy na čiernom pozadí. Nie je k dispozícii na všetkých zariadeniach</string>
|
||||
<string name="preferences_invert_scan_title">Invertované skenovanie</string>
|
||||
<string name="preferences_name">Nastavenia</string>
|
||||
<string name="preferences_orientation_title">Neotáčať automaticky</string>
|
||||
|
@ -127,7 +129,7 @@
|
|||
<string name="preferences_vibrate_title">Vibrovať</string>
|
||||
<string name="result_address_book">Nájdená informácia o kontakte</string>
|
||||
<string name="result_calendar">Nájdená udalosť kalendára</string>
|
||||
<string name="result_email_address">Nájdená e-mailová adresa</string>
|
||||
<string name="result_email_address">Nájdená emailová adresa</string>
|
||||
<string name="result_geo">Nájdená zemepisná súradnica</string>
|
||||
<string name="result_isbn">Nájdená kniha</string>
|
||||
<string name="result_product">Nájdený tovar</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Izboljša branje pri slabi svetlobi na nekaterih telefonih, a lahko povzroči blesk. Ne deluje na vseh telefonih.</string>
|
||||
<string name="preferences_front_light_title">Uporabite sprednjo luč</string>
|
||||
<string name="preferences_general_title">Splošne nastavitve</string>
|
||||
<string name="preferences_history_summary">Shranjevanje skeniranih dokumentov v zgodovini</string>
|
||||
<string name="preferences_history_title">Dodaj v zgodovino</string>
|
||||
<string name="preferences_invert_scan_summary">Scan za beli črtne kode na črni podlagi. Ni na voljo na nekaterih napravah.</string>
|
||||
<string name="preferences_invert_scan_title">Obrni skeniranje</string>
|
||||
<string name="preferences_name">Nastavitve</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Förbättrar inskanning i svag belysing på vissa telefoner, men kan orsaka bländning. Ej tillgängligt på vissa enheter.</string>
|
||||
<string name="preferences_front_light_title">Använd frontljus</string>
|
||||
<string name="preferences_general_title">Grundläggande inställningar</string>
|
||||
<string name="preferences_history_summary">Lagra dina skanningar i historia</string>
|
||||
<string name="preferences_history_title">Lägg till Historia</string>
|
||||
<string name="preferences_invert_scan_summary">Skanna in vita streckkoder mot svart bakgrund. Ej tillgängligt på vissa enheter. </string>
|
||||
<string name="preferences_invert_scan_title">Invertera inskanning</string>
|
||||
<string name="preferences_name">Inställningar</string>
|
||||
|
|
143
android/res/values-th/strings.xml
Normal file
143
android/res/values-th/strings.xml
Normal file
|
@ -0,0 +1,143 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2014 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">แอพพลิเคชั่น</string>
|
||||
<string name="bookmark_picker_name">บุ๊คมาร์ก</string>
|
||||
<string name="button_add_calendar">เพิ่มไปยังปฏิทิน</string>
|
||||
<string name="button_add_contact">เพิ่มผู้ติดต่อ</string>
|
||||
<string name="button_book_search">ค้นหาหนังสือ</string>
|
||||
<string name="button_cancel">ยกเลิก</string>
|
||||
<string name="button_custom_product_search">ค้นหาแบบกำหนดเอง</string>
|
||||
<string name="button_dial">เรียกเลขหมาย</string>
|
||||
<string name="button_email">ส่งอีเมล</string>
|
||||
<string name="button_get_directions">รับข้อมูลเส้นทาง</string>
|
||||
<string name="button_mms">ส่ง MMS</string>
|
||||
<string name="button_ok">ตกลง</string>
|
||||
<string name="button_open_browser">เปิดเบราว์เซอร์</string>
|
||||
<string name="button_product_search">ค้นหาสินค้า</string>
|
||||
<string name="button_search_book_contents">ค้นหาเนื้อหา</string>
|
||||
<string name="button_share_app">แอพพลิเคชั่น</string>
|
||||
<string name="button_share_bookmark">บุ๊คมาร์ก</string>
|
||||
<string name="button_share_by_email">แบ่งปันผ่านอีเมล</string>
|
||||
<string name="button_share_by_sms">แบ่งปันผ่าน SMS</string>
|
||||
<string name="button_share_clipboard">คลิปบอร์ด</string>
|
||||
<string name="button_share_contact">ผู้ติดต่อ</string>
|
||||
<string name="button_show_map">แสดงแผนที่</string>
|
||||
<string name="button_sms">ส่ง SMS</string>
|
||||
<string name="button_web_search">ค้นหาเว็บ</string>
|
||||
<string name="button_wifi">เชื่อมต่อกับเครือข่าย</string>
|
||||
<string name="contents_contact">ข้อมูลผู้ติดต่อ</string>
|
||||
<string name="contents_email">ที่อยู่อีเมล</string>
|
||||
<string name="contents_location">พิกัดทางภูมิศาสตร์</string>
|
||||
<string name="contents_phone">เบอร์โทรศัพท์</string>
|
||||
<string name="contents_sms">ที่อยู่ SMS</string>
|
||||
<string name="contents_text">ข้อความธรรมดา</string>
|
||||
<string name="history_clear_one_history_text">ล้าง</string>
|
||||
<string name="history_clear_text">ล้างประวัติ</string>
|
||||
<string name="history_email_title">ประวัติ Barcode Scanner</string>
|
||||
<string name="history_empty">ว่าง</string>
|
||||
<string name="history_empty_detail">ไม่มีบาร์โค้ดที่ถูกบันทึกไว้</string>
|
||||
<string name="history_send">ส่งประวัติ</string>
|
||||
<string name="history_title">ประวัติ</string>
|
||||
<string name="menu_encode_mecard">ใช้ MECARD</string>
|
||||
<string name="menu_encode_vcard">ใช้ vCard</string>
|
||||
<string name="menu_help">ช่วยเหลือ</string>
|
||||
<string name="menu_history">ประวัติ</string>
|
||||
<string name="menu_settings">การตั้งค่า</string>
|
||||
<string name="menu_share">แบ่งปัน</string>
|
||||
<string name="msg_bulk_mode_scanned">โหมดเป็นกลุ่ม: บาร์โค้ดที่สแกนและบันทึกไว้</string>
|
||||
<string name="msg_camera_framework_bug">ขออภัย พบปัญหาของกล้อง Android คุณอาจจะต้องรีสตาร์ทอุปกรณ์</string>
|
||||
<string name="msg_default_format">รูปแบบ</string>
|
||||
<string name="msg_default_meta">ข้อมูลเมตา</string>
|
||||
<string name="msg_default_mms_subject">สวัสดี</string>
|
||||
<string name="msg_default_status">วางบาร์โค้ดภายในสี่เหลี่ยมผืนผ้าที่ช่องมองภาพเพื่อสแกน</string>
|
||||
<string name="msg_default_time">เวลา</string>
|
||||
<string name="msg_default_type">ชนิด</string>
|
||||
<string name="msg_encode_contents_failed">ไม่สามารถเข้ารหัสบาร์โค้ดจากข้อมูลที่มี</string>
|
||||
<string name="msg_error">ข้อผิดพลาด</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">ขออภัย แอพพลิเคชั่นที่ร้องขอไม่สามารถเปิดใช้ได้ เนื้อหาบาร์โค้ดอาจจะไม่ถูกต้อง</string>
|
||||
<string name="msg_invalid_value">ค่าไม่ถูกต้อง</string>
|
||||
<string name="msg_redirect">เปลี่ยนเส้นทาง</string>
|
||||
<string name="msg_sbc_book_not_searchable">ขออภัย ไม่สามารถค้นหาหนังสือเล่มนี้ได้</string>
|
||||
<string name="msg_sbc_failed">ขออภัย พบปัญหาในการค้นหา</string>
|
||||
<string name="msg_sbc_no_page_returned">ไม่มีหน้าที่ส่งกลับมา</string>
|
||||
<string name="msg_sbc_page">หน้า</string>
|
||||
<string name="msg_sbc_results">ผลลัพธ์</string>
|
||||
<string name="msg_sbc_searching_book">กำลังค้นหาหนังสือ\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">ส่วนย่อยไม่สามารถใช้ได้</string>
|
||||
<string name="msg_share_explanation">คุณสามารถแบ่งปันข้อมูลโดยการแสดงบาร์โค้ดบนหน้าจอของคุณและสแกนด้วยโทรศัพท์อื่น</string>
|
||||
<string name="msg_share_text">หรือพิมพ์ข้อความบางอย่างและกด Enter</string>
|
||||
<string name="msg_sure">คุณแน่ใจหรือไม่?</string>
|
||||
<string name="msg_unmount_usb">ขออภัย ไม่สามารถเข้าถึง SD การ์ดได้</string>
|
||||
<string name="preferences_actions_title">เมื่อพบบาร์โค้ด\u2026</string>
|
||||
<string name="preferences_auto_focus_title">ใช้ระบบโฟกัสอัตโนมัติ</string>
|
||||
<string name="preferences_auto_open_web_title">เปิดหน้าเว็บโดยอัตโนมัติ</string>
|
||||
<string name="preferences_bulk_mode_summary">สแกนและบันทึกบาร์โค้ดเป็นจำนวนมากอย่างต่อเนื่อง</string>
|
||||
<string name="preferences_bulk_mode_title">โหมดการสแกนเป็นกลุ่ม</string>
|
||||
<string name="preferences_copy_to_clipboard_title">คัดลอกไปยังคลิปบอร์ด</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">การแทนที่: %s = เนื้อหา, %f = รูปแบบ, %t = ชนิด</string>
|
||||
<string name="preferences_custom_product_search_title">ค้นหาตาม URL ที่กำหนดเอง</string>
|
||||
<string name="preferences_decode_1D_industrial_title">1D อุตสาหกรรม</string>
|
||||
<string name="preferences_decode_1D_product_title">1D สินค้า</string>
|
||||
<string name="preferences_decode_Aztec_title">แอซเท็ก</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">ข้อมูลเมทริกซ์</string>
|
||||
<string name="preferences_decode_PDF417_title">PDF417 (β)</string>
|
||||
<string name="preferences_decode_QR_title">คิวอาร์โค้ด</string>
|
||||
<string name="preferences_device_bug_workarounds_title">วิธีการแก้ปัญหาจุดบกพร่องของอุปกรณ์</string>
|
||||
<string name="preferences_disable_barcode_scene_mode_title">ไม่มีโหมดฉากบาร์โค้ด</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">ใช้โหมดโฟกัสมาตรฐานเท่านั้น</string>
|
||||
<string name="preferences_disable_continuous_focus_title">ไม่มีการโฟกัสอย่างต่อเนื่อง</string>
|
||||
<string name="preferences_disable_exposure_title">ไม่มีการการเปิดรับแสง</string>
|
||||
<string name="preferences_disable_metering_title">ไม่มีการวัดแสง</string>
|
||||
<string name="preferences_front_light_auto">อัตโนมัติ</string>
|
||||
<string name="preferences_front_light_off">ปิด</string>
|
||||
<string name="preferences_front_light_on">เปิด</string>
|
||||
<string name="preferences_front_light_summary">ปรับปรุงการสแกนในที่มีแสงน้อยบนโทรศัพท์บางรุ่น แต่อาจก่อให้เกิดแสงจ้า ไม่ได้ทำงานบนโทรศัพท์ทุกรุ่น</string>
|
||||
<string name="preferences_front_light_title">ใช้แฟลช</string>
|
||||
<string name="preferences_general_title">การตั้งค่าทั่วไป</string>
|
||||
<string name="preferences_history_summary">เก็บภาพสแกนในประวัติศาสตร์</string>
|
||||
<string name="preferences_history_title">เพิ่มลงในประวัติศาสตร์</string>
|
||||
<string name="preferences_invert_scan_summary">สแกนบาร์โค้ดสีขาวบนพื้นหลังสีดำ ไม่สามารถใช้ได้บนบางอุปกรณ์</string>
|
||||
<string name="preferences_invert_scan_title">สลับการสแกน</string>
|
||||
<string name="preferences_name">การตั้งค่า</string>
|
||||
<string name="preferences_orientation_title">ไม่มีการหมุนอัตโนมัติ</string>
|
||||
<string name="preferences_play_beep_title">เสียงเตือน</string>
|
||||
<string name="preferences_remember_duplicates_summary">จัดเก็บการสแกนบาร์โค้ดที่เหมือนกันหลายครั้งในประวัติ</string>
|
||||
<string name="preferences_remember_duplicates_title">จดจำรายการที่ซ้ำกัน</string>
|
||||
<string name="preferences_result_title">ผลการตั้งค่า</string>
|
||||
<string name="preferences_scanning_title">เมื่อสแกนหาบาร์โค้ด, ถอดรหัส\u2026</string>
|
||||
<string name="preferences_search_country">ประเทศที่ค้นหา</string>
|
||||
<string name="preferences_supplemental_summary">พยายามที่จะเรียกข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหาของบาร์โค้ด</string>
|
||||
<string name="preferences_supplemental_title">เรียกข้อมูลเพิ่มเติม</string>
|
||||
<string name="preferences_vibrate_title">การสั่น</string>
|
||||
<string name="result_address_book">พบข้อมูลผู้ติดต่อ</string>
|
||||
<string name="result_calendar">พบเหตุการณ์ในปฏิทิน</string>
|
||||
<string name="result_email_address">พบที่อยู่อีเมล</string>
|
||||
<string name="result_geo">พบพิกัดทางภูมิศาสตร์</string>
|
||||
<string name="result_isbn">พบหนังสือ</string>
|
||||
<string name="result_product">พบสินค้า</string>
|
||||
<string name="result_sms">พบที่อยู่ SMS</string>
|
||||
<string name="result_tel">พบเบอร์โทรศัพท์</string>
|
||||
<string name="result_text">พบข้อความธรรมดา</string>
|
||||
<string name="result_uri">พบ URL</string>
|
||||
<string name="result_wifi">พบการกำหนดค่า WLAN</string>
|
||||
<string name="sbc_name">ค้นหาหนังสือจาก Google</string>
|
||||
<string name="wifi_changing_network">กำลังร้องขอการเชื่อมต่อกับเครือข่าย\u2026</string>
|
||||
</resources>
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Bazı telefonlarda düşük ışıkta taramayı iyileştirir, ancak parlamaya neden olabilir. Tüm telefonlarda sonuç vermez.</string>
|
||||
<string name="preferences_front_light_title">Ön ışığı kullan</string>
|
||||
<string name="preferences_general_title">Genel ayarlar</string>
|
||||
<string name="preferences_history_summary">Tarih içinde taramaları saklayın</string>
|
||||
<string name="preferences_history_title">Tarih ekle</string>
|
||||
<string name="preferences_invert_scan_summary">Siyah zemin üzerine beyaz barkod tarama. Bazı cihazlar mevcut değildir.</string>
|
||||
<string name="preferences_invert_scan_title">Tarama haricindekileri</string>
|
||||
<string name="preferences_name">Ayarlar</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">Покращує розпізнавання при поганому освітлення, але може викликати відблиски. Працює не на всіх пристроях.</string>
|
||||
<string name="preferences_front_light_title">Ліхтарик</string>
|
||||
<string name="preferences_general_title">Загальні налаштування</string>
|
||||
<string name="preferences_history_summary">Зберігайте ваші скани в історії</string>
|
||||
<string name="preferences_history_title">Додати в історії</string>
|
||||
<string name="preferences_invert_scan_summary">Сканування білих штрих-кодів на чорному фоні. Не працює на деяких пристроях.</string>
|
||||
<string name="preferences_invert_scan_title">Інвертувати</string>
|
||||
<string name="preferences_name">Налаштування</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">前灯可用时,打开前灯</string>
|
||||
<string name="preferences_front_light_title">前灯</string>
|
||||
<string name="preferences_general_title">一般设置</string>
|
||||
<string name="preferences_history_summary">存储在历史的扫描</string>
|
||||
<string name="preferences_history_title">加入历史</string>
|
||||
<string name="preferences_invert_scan_summary">黑色背景上的白色条形码扫描。在某些设备上。</string>
|
||||
<string name="preferences_invert_scan_title">反向扫描</string>
|
||||
<string name="preferences_name">设置</string>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_summary">改善在低光源的環境下掃描的成功率,但有可能造成過度曝光的現象</string>
|
||||
<string name="preferences_front_light_title">使用前光源</string>
|
||||
<string name="preferences_general_title">一般設定</string>
|
||||
<string name="preferences_history_summary">存儲在歷史的掃描</string>
|
||||
<string name="preferences_history_title">加入歷史</string>
|
||||
<string name="preferences_invert_scan_summary">掃描黑底白字的條碼(某些設備上無法使用)</string>
|
||||
<string name="preferences_invert_scan_title">黑底白字掃描</string>
|
||||
<string name="preferences_name">設定</string>
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string-array name="country_codes">
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string-array name="country_codes" tools:ignore="MissingTranslation">
|
||||
<item>-</item>
|
||||
<item>AR</item>
|
||||
<item>AU</item>
|
||||
|
@ -49,7 +49,7 @@
|
|||
<item>TW</item>
|
||||
<item>US</item>
|
||||
</string-array>
|
||||
<string-array name="preferences_front_light_values">
|
||||
<string-array name="preferences_front_light_values" tools:ignore="MissingTranslation">
|
||||
<item>ON</item>
|
||||
<item>AUTO</item>
|
||||
<item>OFF</item>
|
||||
|
|
|
@ -112,6 +112,8 @@
|
|||
<string name="preferences_front_light_off">Off</string>
|
||||
<string name="preferences_front_light_on">On</string>
|
||||
<string name="preferences_general_title">General settings</string>
|
||||
<string name="preferences_history_summary">Store your scans in History</string>
|
||||
<string name="preferences_history_title">Add to History</string>
|
||||
<string name="preferences_invert_scan_title">Invert scan</string>
|
||||
<string name="preferences_invert_scan_summary">Scan for white barcodes on black background. Not available on some devices.</string>
|
||||
<string name="preferences_name">Settings</string>
|
||||
|
|
|
@ -63,6 +63,11 @@
|
|||
android:defaultValue="false"
|
||||
android:title="@string/preferences_remember_duplicates_title"
|
||||
android:summary="@string/preferences_remember_duplicates_summary"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_history"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_history_title"
|
||||
android:summary="@string/preferences_history_summary"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_supplemental"
|
||||
android:defaultValue="true"
|
||||
|
|
|
@ -136,8 +136,6 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
|
|||
setContentView(R.layout.capture);
|
||||
|
||||
hasSurface = false;
|
||||
historyManager = new HistoryManager(this);
|
||||
historyManager.trimHistory();
|
||||
inactivityTimer = new InactivityTimer(this);
|
||||
beepManager = new BeepManager(this);
|
||||
ambientLightManager = new AmbientLightManager(this);
|
||||
|
@ -148,6 +146,10 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
|
|||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
// historyManager must be initialized here to update the history preference
|
||||
historyManager = new HistoryManager(this);
|
||||
historyManager.trimHistory();
|
||||
|
||||
// CameraManager must be initialized here, not in onCreate(). This is necessary because we don't
|
||||
// want to open the camera driver and measure the screen size if we're going to show the help on
|
||||
|
@ -196,6 +198,8 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
|
|||
&& (intent == null || intent.getBooleanExtra(Intents.Scan.SAVE_HISTORY, true));
|
||||
|
||||
source = IntentSource.NONE;
|
||||
sourceUrl = null;
|
||||
scanFromWebPageManager = null;
|
||||
decodeFormats = null;
|
||||
characterSet = null;
|
||||
|
||||
|
@ -218,7 +222,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
|
|||
cameraManager.setManualFramingRect(width, height);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (intent.hasExtra(Intents.Scan.CAMERA_ID)) {
|
||||
int cameraId = intent.getIntExtra(Intents.Scan.CAMERA_ID, -1);
|
||||
if (cameraId >= 0) {
|
||||
|
@ -292,6 +296,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
|
|||
ambientLightManager.stop();
|
||||
beepManager.close();
|
||||
cameraManager.closeDriver();
|
||||
//historyManager = null; // Keep for onActivityResult
|
||||
if (!hasSurface) {
|
||||
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
|
||||
SurfaceHolder surfaceHolder = surfaceView.getHolder();
|
||||
|
@ -678,6 +683,7 @@ public final class CaptureActivity extends Activity implements SurfaceHolder.Cal
|
|||
|
||||
if (scanFromWebPageManager != null && scanFromWebPageManager.isScanFromWebPage()) {
|
||||
String replyURL = scanFromWebPageManager.buildReplyURL(rawResult, resultHandler);
|
||||
scanFromWebPageManager = null;
|
||||
sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS);
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ public final class Intents {
|
|||
* Example: "EAN_13,EAN_8,QR_CODE". This overrides {@link #MODE}.
|
||||
*/
|
||||
public static final String FORMATS = "SCAN_FORMATS";
|
||||
|
||||
|
||||
/**
|
||||
* Optional parameter to specify the id of the camera from which to recognize barcodes.
|
||||
* Overrides the default camera that would otherwise would have been selected.
|
||||
|
|
|
@ -42,6 +42,7 @@ public final class PreferencesActivity extends Activity {
|
|||
public static final String KEY_FRONT_LIGHT_MODE = "preferences_front_light_mode";
|
||||
public static final String KEY_BULK_MODE = "preferences_bulk_mode";
|
||||
public static final String KEY_REMEMBER_DUPLICATES = "preferences_remember_duplicates";
|
||||
public static final String KEY_ENABLE_HISTORY = "preferences_history";
|
||||
public static final String KEY_SUPPLEMENTAL = "preferences_supplemental";
|
||||
public static final String KEY_AUTO_FOCUS = "preferences_auto_focus";
|
||||
public static final String KEY_INVERT_SCAN = "preferences_invert_scan";
|
||||
|
|
|
@ -76,8 +76,6 @@ final class CameraConfigurationManager {
|
|||
|
||||
initializeTorch(parameters, prefs, safeMode);
|
||||
|
||||
CameraConfigurationUtils.setBestPreviewFPS(parameters);
|
||||
|
||||
CameraConfigurationUtils.setFocus(
|
||||
parameters,
|
||||
prefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true),
|
||||
|
@ -102,6 +100,9 @@ final class CameraConfigurationManager {
|
|||
}
|
||||
|
||||
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
|
||||
|
||||
Log.i(TAG, "Final camera parameters: " + parameters.flatten());
|
||||
|
||||
camera.setParameters(parameters);
|
||||
|
||||
Camera.Parameters afterParameters = camera.getParameters();
|
||||
|
@ -126,7 +127,7 @@ final class CameraConfigurationManager {
|
|||
if (camera != null) {
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
if (parameters != null) {
|
||||
String flashMode = camera.getParameters().getFlashMode();
|
||||
String flashMode = parameters.getFlashMode();
|
||||
return flashMode != null &&
|
||||
(Camera.Parameters.FLASH_MODE_ON.equals(flashMode) ||
|
||||
Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode));
|
||||
|
|
|
@ -52,7 +52,7 @@ public final class CameraManager {
|
|||
private Rect framingRectInPreview;
|
||||
private boolean initialized;
|
||||
private boolean previewing;
|
||||
private int requestedCameraId = -1;
|
||||
private int requestedCameraId = OpenCameraInterface.NO_REQUESTED_CAMERA;
|
||||
private int requestedFramingRectWidth;
|
||||
private int requestedFramingRectHeight;
|
||||
/**
|
||||
|
@ -76,13 +76,8 @@ public final class CameraManager {
|
|||
public synchronized void openDriver(SurfaceHolder holder) throws IOException {
|
||||
Camera theCamera = camera;
|
||||
if (theCamera == null) {
|
||||
|
||||
if (requestedCameraId >= 0) {
|
||||
theCamera = OpenCameraInterface.open(requestedCameraId);
|
||||
} else {
|
||||
theCamera = OpenCameraInterface.open();
|
||||
}
|
||||
|
||||
|
||||
theCamera = OpenCameraInterface.open(requestedCameraId);
|
||||
if (theCamera == null) {
|
||||
throw new IOException();
|
||||
}
|
||||
|
@ -280,11 +275,7 @@ public final class CameraManager {
|
|||
* @param cameraId camera ID of the camera to use. A negative value means "no preference".
|
||||
*/
|
||||
public synchronized void setManualCameraId(int cameraId) {
|
||||
if (initialized) {
|
||||
throw new IllegalStateException();
|
||||
} else {
|
||||
requestedCameraId = cameraId;
|
||||
}
|
||||
requestedCameraId = cameraId;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -20,7 +20,7 @@ import android.content.SharedPreferences;
|
|||
import com.google.zxing.client.android.PreferencesActivity;
|
||||
|
||||
/**
|
||||
* Enumerates settings of the prefernce controlling the front light.
|
||||
* Enumerates settings of the preference controlling the front light.
|
||||
*/
|
||||
public enum FrontLightMode {
|
||||
|
||||
|
|
|
@ -26,11 +26,14 @@ public final class OpenCameraInterface {
|
|||
private OpenCameraInterface() {
|
||||
}
|
||||
|
||||
|
||||
/** For {@link #open(int)}, means no preference for which camera to open. */
|
||||
public static final int NO_REQUESTED_CAMERA = -1;
|
||||
|
||||
/**
|
||||
* Opens the requested camera with {@link Camera#open(int)}, if one exists.
|
||||
*
|
||||
* @param cameraId camera ID of the camera to use. A negative value means "no preference"
|
||||
* @param cameraId camera ID of the camera to use. A negative value
|
||||
* or {@link #NO_REQUESTED_CAMERA} means "no preference"
|
||||
* @return handle to {@link Camera} that was opened
|
||||
*/
|
||||
public static Camera open(int cameraId) {
|
||||
|
@ -40,9 +43,9 @@ public final class OpenCameraInterface {
|
|||
Log.w(TAG, "No cameras!");
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
boolean explicitRequest = cameraId >= 0;
|
||||
|
||||
|
||||
if (!explicitRequest) {
|
||||
// Select a camera if no explicit camera requested
|
||||
int index = 0;
|
||||
|
@ -57,7 +60,7 @@ public final class OpenCameraInterface {
|
|||
|
||||
cameraId = index;
|
||||
}
|
||||
|
||||
|
||||
Camera camera;
|
||||
if (cameraId < numCameras) {
|
||||
Log.i(TAG, "Opening camera #" + cameraId);
|
||||
|
@ -75,14 +78,4 @@ public final class OpenCameraInterface {
|
|||
return camera;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Opens a rear-facing camera with {@link Camera#open(int)}, if one exists, or opens camera 0.
|
||||
*
|
||||
* @return handle to {@link Camera} that was opened
|
||||
*/
|
||||
public static Camera open() {
|
||||
return open(-1);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -190,6 +190,9 @@ final class QRCodeEncoder {
|
|||
InputStream stream = null;
|
||||
try {
|
||||
stream = activity.getContentResolver().openInputStream(uri);
|
||||
if (stream == null) {
|
||||
throw new WriterException("Can't open stream for " + uri);
|
||||
}
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
byte[] buffer = new byte[2048];
|
||||
int bytesRead;
|
||||
|
|
|
@ -69,9 +69,12 @@ public final class HistoryManager {
|
|||
private static final String[] ID_DETAIL_COL_PROJECTION = { DBHelper.ID_COL, DBHelper.DETAILS_COL };
|
||||
|
||||
private final Activity activity;
|
||||
private final boolean enableHistory;
|
||||
|
||||
public HistoryManager(Activity activity) {
|
||||
this.activity = activity;
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
enableHistory = prefs.getBoolean(PreferencesActivity.KEY_ENABLE_HISTORY, true);
|
||||
}
|
||||
|
||||
public boolean hasHistoryItems() {
|
||||
|
@ -152,7 +155,7 @@ public final class HistoryManager {
|
|||
// Do not save this item to the history if the preference is turned off, or the contents are
|
||||
// considered secure.
|
||||
if (!activity.getIntent().getBooleanExtra(Intents.Scan.SAVE_HISTORY, true) ||
|
||||
handler.areContentsSecure()) {
|
||||
handler.areContentsSecure() || !enableHistory) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -265,13 +268,14 @@ public final class HistoryManager {
|
|||
* and double-quoted. Double-quotes within values are escaped with a sequence of two
|
||||
* double-quotes. The fields output are:</p>
|
||||
*
|
||||
* <ul>
|
||||
* <ol>
|
||||
* <li>Raw text</li>
|
||||
* <li>Display text</li>
|
||||
* <li>Format (e.g. QR_CODE)</li>
|
||||
* <li>Timestamp</li>
|
||||
* <li>Unix timestamp (milliseconds since the epoch)</li>
|
||||
* <li>Formatted version of timestamp</li>
|
||||
* </ul>
|
||||
* <li>Supplemental info (e.g. price info for a product barcode)</li>
|
||||
* </ol>
|
||||
*/
|
||||
CharSequence buildHistory() {
|
||||
SQLiteOpenHelper helper = new DBHelper(activity);
|
||||
|
|
|
@ -146,7 +146,7 @@ public final class AddressBookResultHandler extends ResultHandler {
|
|||
dialPhone(addressResult.getPhoneNumbers()[0]);
|
||||
break;
|
||||
case 3:
|
||||
sendEmail(addressResult.getEmails()[0], null, null);
|
||||
sendEmail(addressResult.getEmails(), null, null, null, null);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -52,15 +52,14 @@ public final class EmailAddressResultHandler extends ResultHandler {
|
|||
EmailAddressParsedResult emailResult = (EmailAddressParsedResult) getResult();
|
||||
switch (index) {
|
||||
case 0:
|
||||
sendEmailFromUri(emailResult.getMailtoURI(),
|
||||
emailResult.getEmailAddress(),
|
||||
emailResult.getSubject(),
|
||||
emailResult.getBody());
|
||||
sendEmail(emailResult.getTos(),
|
||||
emailResult.getCCs(),
|
||||
emailResult.getBCCs(),
|
||||
emailResult.getSubject(),
|
||||
emailResult.getBody());
|
||||
break;
|
||||
case 1:
|
||||
String[] addresses = new String[1];
|
||||
addresses[0] = emailResult.getEmailAddress();
|
||||
addEmailOnlyContact(addresses, null);
|
||||
addEmailOnlyContact(emailResult.getTos(), null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ import com.google.zxing.client.result.ResultParser;
|
|||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.Uri;
|
||||
|
@ -40,6 +41,7 @@ import android.util.Log;
|
|||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Locale;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* A base class for the Android-specific barcode handlers. These allow the app to polymorphically
|
||||
|
@ -224,27 +226,49 @@ public abstract class ResultHandler {
|
|||
}
|
||||
}
|
||||
|
||||
// No field for URL, birthday; use notes
|
||||
StringBuilder aggregatedNotes = new StringBuilder();
|
||||
ArrayList<ContentValues> data = new ArrayList<>();
|
||||
if (urls != null) {
|
||||
for (String url : urls) {
|
||||
if (url != null && !url.isEmpty()) {
|
||||
aggregatedNotes.append('\n').append(url);
|
||||
ContentValues row = new ContentValues(2);
|
||||
row.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Website.CONTENT_ITEM_TYPE);
|
||||
row.put(ContactsContract.CommonDataKinds.Website.URL, url);
|
||||
data.add(row);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (String aNote : new String[] { birthday, note }) {
|
||||
if (aNote != null) {
|
||||
aggregatedNotes.append('\n').append(aNote);
|
||||
}
|
||||
|
||||
if (birthday != null) {
|
||||
ContentValues row = new ContentValues(3);
|
||||
row.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE);
|
||||
row.put(ContactsContract.CommonDataKinds.Event.TYPE, ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY);
|
||||
row.put(ContactsContract.CommonDataKinds.Event.START_DATE, birthday);
|
||||
data.add(row);
|
||||
}
|
||||
|
||||
if (nicknames != null) {
|
||||
for (String nickname : nicknames) {
|
||||
if (nickname != null && !nickname.isEmpty()) {
|
||||
aggregatedNotes.append('\n').append(nickname);
|
||||
ContentValues row = new ContentValues(3);
|
||||
row.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Nickname.CONTENT_ITEM_TYPE);
|
||||
row.put(ContactsContract.CommonDataKinds.Nickname.TYPE,
|
||||
ContactsContract.CommonDataKinds.Nickname.TYPE_DEFAULT);
|
||||
row.put(ContactsContract.CommonDataKinds.Nickname.NAME, nickname);
|
||||
data.add(row);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!data.isEmpty()) {
|
||||
intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, data);
|
||||
}
|
||||
|
||||
StringBuilder aggregatedNotes = new StringBuilder();
|
||||
if (note != null) {
|
||||
aggregatedNotes.append('\n').append(note);
|
||||
}
|
||||
if (geo != null) {
|
||||
aggregatedNotes.append('\n').append(geo[0]).append(',').append(geo[1]);
|
||||
}
|
||||
|
@ -293,18 +317,23 @@ public abstract class ResultHandler {
|
|||
}
|
||||
|
||||
final void shareByEmail(String contents) {
|
||||
sendEmailFromUri("mailto:", null, null, contents);
|
||||
sendEmail(null, null, null, null, contents);
|
||||
}
|
||||
|
||||
final void sendEmail(String address, String subject, String body) {
|
||||
sendEmailFromUri("mailto:" + address, address, subject, body);
|
||||
}
|
||||
|
||||
// Use public Intent fields rather than private GMail app fields to specify subject and body.
|
||||
final void sendEmailFromUri(String uri, String email, String subject, String body) {
|
||||
Intent intent = new Intent(Intent.ACTION_SEND, Uri.parse(uri));
|
||||
if (email != null) {
|
||||
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {email});
|
||||
final void sendEmail(String[] to,
|
||||
String[] cc,
|
||||
String[] bcc,
|
||||
String subject,
|
||||
String body) {
|
||||
Intent intent = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
||||
if (to != null && to.length != 0) {
|
||||
intent.putExtra(Intent.EXTRA_EMAIL, to);
|
||||
}
|
||||
if (cc != null && cc.length != 0) {
|
||||
intent.putExtra(Intent.EXTRA_CC, cc);
|
||||
}
|
||||
if (bcc != null && bcc.length != 0) {
|
||||
intent.putExtra(Intent.EXTRA_BCC, bcc);
|
||||
}
|
||||
putExtra(intent, Intent.EXTRA_SUBJECT, subject);
|
||||
putExtra(intent, Intent.EXTRA_TEXT, body);
|
||||
|
@ -467,19 +496,18 @@ public abstract class ResultHandler {
|
|||
} catch (UnsupportedEncodingException e) {
|
||||
// can't happen; UTF-8 is always supported. Continue, I guess, without encoding
|
||||
}
|
||||
String url = text;
|
||||
String url = customProductSearch;
|
||||
if (rawResult != null) {
|
||||
// Replace %f but only if it doesn't seem to be a hex escape sequence. This remains
|
||||
// problematic but avoids the more surprising problem of breaking escapes
|
||||
url = url.replace("%f(?![0-9a-f])", rawResult.getBarcodeFormat().toString());
|
||||
url = url.replaceFirst("%f(?![0-9a-f])", rawResult.getBarcodeFormat().toString());
|
||||
if (url.contains("%t")) {
|
||||
ParsedResult parsedResultAgain = ResultParser.parseResult(rawResult);
|
||||
url = url.replace("%t", parsedResultAgain.getType().toString());
|
||||
}
|
||||
}
|
||||
// Replace %s last as it might contain itself %f or %t
|
||||
url = customProductSearch.replace("%s", url);
|
||||
return url;
|
||||
return url.replace("%s", text);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
|
||||
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="19"/>
|
||||
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="21"/>
|
||||
|
||||
<supports-screens android:xlargeScreens="true"
|
||||
android:largeScreens="true"
|
||||
|
|
|
@ -25,17 +25,14 @@
|
|||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>android-integration</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>android-core</artifactId>
|
||||
<version>${project.parent.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.android</groupId>
|
||||
|
@ -46,16 +43,23 @@
|
|||
<parent>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>zxing-parent</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
|
||||
<groupId>com.simpligility.maven.plugins</groupId>
|
||||
<artifactId>android-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-deploy-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# be complete or up to date. (The "arithmetic" optimization can be
|
||||
# used if you are only targeting Android 2.0 or later.) Make sure you
|
||||
# test thoroughly if you go this route.
|
||||
-optimizations !code/simplification/cast,!field/*,!class/merging/*,!code/allocation/variable,!method/marking/private
|
||||
-optimizations !code/simplification/cast,!field/*,!class/merging/*,!class/unboxing/enum,!code/allocation/variable,!method/marking/private
|
||||
-optimizationpasses 5
|
||||
-allowaccessmodification
|
||||
-dontpreverify
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>core</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
|
@ -32,7 +32,7 @@
|
|||
<parent>
|
||||
<groupId>com.google.zxing</groupId>
|
||||
<artifactId>zxing-parent</artifactId>
|
||||
<version>3.0.2-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -30,8 +30,23 @@ public final class ChecksumException extends ReaderException {
|
|||
// do nothing
|
||||
}
|
||||
|
||||
public static ChecksumException getChecksumInstance() {
|
||||
return instance;
|
||||
private ChecksumException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
public static ChecksumException getChecksumInstance() {
|
||||
if (isStackTrace) {
|
||||
return new ChecksumException();
|
||||
} else {
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
public static ChecksumException getChecksumInstance(Throwable cause) {
|
||||
if (isStackTrace) {
|
||||
return new ChecksumException(cause);
|
||||
} else {
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -44,12 +44,19 @@ public enum EncodeHintType {
|
|||
|
||||
/**
|
||||
* Specifies a minimum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.
|
||||
*
|
||||
* @deprecated use width/height params in
|
||||
* {@link com.google.zxing.datamatrix.DataMatrixWriter#encode(String, BarcodeFormat, int, int)}
|
||||
*/
|
||||
@Deprecated
|
||||
MIN_SIZE,
|
||||
|
||||
/**
|
||||
* Specifies a maximum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.
|
||||
*
|
||||
* @deprecated without replacement
|
||||
*/
|
||||
@Deprecated
|
||||
MAX_SIZE,
|
||||
|
||||
/**
|
||||
|
|
|
@ -28,11 +28,25 @@ public final class FormatException extends ReaderException {
|
|||
private static final FormatException instance = new FormatException();
|
||||
|
||||
private FormatException() {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
private FormatException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
public static FormatException getFormatInstance() {
|
||||
return instance;
|
||||
if (isStackTrace) {
|
||||
return new FormatException();
|
||||
} else {
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
public static FormatException getFormatInstance(Throwable cause) {
|
||||
if (isStackTrace) {
|
||||
return new FormatException(cause);
|
||||
} else {
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -25,10 +25,17 @@ package com.google.zxing;
|
|||
*/
|
||||
public abstract class ReaderException extends Exception {
|
||||
|
||||
// disable stack traces when not running inside test units
|
||||
protected static final boolean isStackTrace = System.getProperty("surefire.test.class.path") != null;
|
||||
|
||||
ReaderException() {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
ReaderException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
// Prevent stack traces from being taken
|
||||
// srowen says: huh, my IDE is saying this is not an override. native methods can't be overridden?
|
||||
// This, at least, does not hurt. Because we use a singleton pattern here, it doesn't matter anyhow.
|
||||
|
|
|
@ -71,7 +71,7 @@ public class ResultPoint {
|
|||
* Orders an array of three ResultPoints in an order [A,B,C] such that AB is less than AC
|
||||
* and BC is less than AC, and the angle between BC and BA is less than 180 degrees.
|
||||
*
|
||||
* @param patterns array of three {@link ResultPoint} to order
|
||||
* @param patterns array of three {@code ResultPoint} to order
|
||||
*/
|
||||
public static void orderBestPatterns(ResultPoint[] patterns) {
|
||||
|
||||
|
|
|
@ -229,8 +229,8 @@ public final class Decoder {
|
|||
try {
|
||||
ReedSolomonDecoder rsDecoder = new ReedSolomonDecoder(gf);
|
||||
rsDecoder.decode(dataWords, numECCodewords);
|
||||
} catch (ReedSolomonException ignored) {
|
||||
throw FormatException.getFormatInstance();
|
||||
} catch (ReedSolomonException ex) {
|
||||
throw FormatException.getFormatInstance(ex);
|
||||
}
|
||||
|
||||
// Now perform the unstuffing operation.
|
||||
|
|
|
@ -21,24 +21,48 @@ package com.google.zxing.client.result;
|
|||
*/
|
||||
public final class EmailAddressParsedResult extends ParsedResult {
|
||||
|
||||
private final String emailAddress;
|
||||
private final String[] tos;
|
||||
private final String[] ccs;
|
||||
private final String[] bccs;
|
||||
private final String subject;
|
||||
private final String body;
|
||||
private final String mailtoURI;
|
||||
|
||||
EmailAddressParsedResult(String emailAddress,
|
||||
String subject,
|
||||
String body,
|
||||
String mailtoURI) {
|
||||
super(ParsedResultType.EMAIL_ADDRESS);
|
||||
this.emailAddress = emailAddress;
|
||||
this.subject = subject;
|
||||
this.body = body;
|
||||
this.mailtoURI = mailtoURI;
|
||||
EmailAddressParsedResult(String to) {
|
||||
this(new String[] {to}, null, null, null, null);
|
||||
}
|
||||
|
||||
EmailAddressParsedResult(String[] tos,
|
||||
String[] ccs,
|
||||
String[] bccs,
|
||||
String subject,
|
||||
String body) {
|
||||
super(ParsedResultType.EMAIL_ADDRESS);
|
||||
this.tos = tos;
|
||||
this.ccs = ccs;
|
||||
this.bccs = bccs;
|
||||
this.subject = subject;
|
||||
this.body = body;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return first elements of {@link #getTos()} or {@code null} if none
|
||||
* @deprecated use {@link #getTos()}
|
||||
*/
|
||||
@Deprecated
|
||||
public String getEmailAddress() {
|
||||
return emailAddress;
|
||||
return tos == null || tos.length == 0 ? null : tos[0];
|
||||
}
|
||||
|
||||
public String[] getTos() {
|
||||
return tos;
|
||||
}
|
||||
|
||||
public String[] getCCs() {
|
||||
return ccs;
|
||||
}
|
||||
|
||||
public String[] getBCCs() {
|
||||
return bccs;
|
||||
}
|
||||
|
||||
public String getSubject() {
|
||||
|
@ -49,14 +73,21 @@ public final class EmailAddressParsedResult extends ParsedResult {
|
|||
return body;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return "mailto:"
|
||||
* @deprecated without replacement
|
||||
*/
|
||||
@Deprecated
|
||||
public String getMailtoURI() {
|
||||
return mailtoURI;
|
||||
return "mailto:";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDisplayResult() {
|
||||
StringBuilder result = new StringBuilder(30);
|
||||
maybeAppend(emailAddress, result);
|
||||
maybeAppend(tos, result);
|
||||
maybeAppend(ccs, result);
|
||||
maybeAppend(bccs, result);
|
||||
maybeAppend(subject, result);
|
||||
maybeAppend(body, result);
|
||||
return result.toString();
|
||||
|
|
|
@ -19,6 +19,7 @@ package com.google.zxing.client.result;
|
|||
import com.google.zxing.Result;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* Represents a result that encodes an e-mail address, either as a plain address
|
||||
|
@ -28,35 +29,52 @@ import java.util.Map;
|
|||
*/
|
||||
public final class EmailAddressResultParser extends ResultParser {
|
||||
|
||||
private static final Pattern COMMA = Pattern.compile(",");
|
||||
|
||||
@Override
|
||||
public EmailAddressParsedResult parse(Result result) {
|
||||
String rawText = getMassagedText(result);
|
||||
String emailAddress;
|
||||
if (rawText.startsWith("mailto:") || rawText.startsWith("MAILTO:")) {
|
||||
// If it starts with mailto:, assume it is definitely trying to be an email address
|
||||
emailAddress = rawText.substring(7);
|
||||
int queryStart = emailAddress.indexOf('?');
|
||||
String hostEmail = rawText.substring(7);
|
||||
int queryStart = hostEmail.indexOf('?');
|
||||
if (queryStart >= 0) {
|
||||
emailAddress = emailAddress.substring(0, queryStart);
|
||||
hostEmail = hostEmail.substring(0, queryStart);
|
||||
}
|
||||
hostEmail = urlDecode(hostEmail);
|
||||
String[] tos = null;
|
||||
if (!hostEmail.isEmpty()) {
|
||||
tos = COMMA.split(hostEmail);
|
||||
}
|
||||
emailAddress = urlDecode(emailAddress);
|
||||
Map<String,String> nameValues = parseNameValuePairs(rawText);
|
||||
String[] ccs = null;
|
||||
String[] bccs = null;
|
||||
String subject = null;
|
||||
String body = null;
|
||||
if (nameValues != null) {
|
||||
if (emailAddress.isEmpty()) {
|
||||
emailAddress = nameValues.get("to");
|
||||
if (tos == null) {
|
||||
String tosString = nameValues.get("to");
|
||||
if (tosString != null) {
|
||||
tos = COMMA.split(tosString);
|
||||
}
|
||||
}
|
||||
String ccString = nameValues.get("cc");
|
||||
if (ccString != null) {
|
||||
ccs = COMMA.split(ccString);
|
||||
}
|
||||
String bccString = nameValues.get("bcc");
|
||||
if (bccString != null) {
|
||||
bccs = COMMA.split(bccString);
|
||||
}
|
||||
subject = nameValues.get("subject");
|
||||
body = nameValues.get("body");
|
||||
}
|
||||
return new EmailAddressParsedResult(emailAddress, subject, body, rawText);
|
||||
return new EmailAddressParsedResult(tos, ccs, bccs, subject, body);
|
||||
} else {
|
||||
if (!EmailDoCoMoResultParser.isBasicallyValidEmailAddress(rawText)) {
|
||||
return null;
|
||||
}
|
||||
emailAddress = rawText;
|
||||
return new EmailAddressParsedResult(emailAddress, null, null, "mailto:" + emailAddress);
|
||||
return new EmailAddressParsedResult(rawText);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,17 +37,18 @@ public final class EmailDoCoMoResultParser extends AbstractDoCoMoResultParser {
|
|||
if (!rawText.startsWith("MATMSG:")) {
|
||||
return null;
|
||||
}
|
||||
String[] rawTo = matchDoCoMoPrefixedField("TO:", rawText, true);
|
||||
if (rawTo == null) {
|
||||
String[] tos = matchDoCoMoPrefixedField("TO:", rawText, true);
|
||||
if (tos == null) {
|
||||
return null;
|
||||
}
|
||||
String to = rawTo[0];
|
||||
if (!isBasicallyValidEmailAddress(to)) {
|
||||
return null;
|
||||
for (String to : tos) {
|
||||
if (!isBasicallyValidEmailAddress(to)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
String subject = matchSingleDoCoMoPrefixedField("SUB:", rawText, false);
|
||||
String body = matchSingleDoCoMoPrefixedField("BODY:", rawText, false);
|
||||
return new EmailAddressParsedResult(to, subject, body, "mailto:" + to);
|
||||
return new EmailAddressParsedResult(tos, null, null, subject, body);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -116,7 +116,7 @@ public abstract class ResultParser {
|
|||
}
|
||||
|
||||
protected static String unescapeBackslash(String escaped) {
|
||||
int backslash = escaped.indexOf((int) '\\');
|
||||
int backslash = escaped.indexOf('\\');
|
||||
if (backslash < 0) {
|
||||
return escaped;
|
||||
}
|
||||
|
@ -208,13 +208,13 @@ public abstract class ResultParser {
|
|||
int start = i; // Found the start of a match here
|
||||
boolean more = true;
|
||||
while (more) {
|
||||
i = rawText.indexOf((int) endChar, i);
|
||||
i = rawText.indexOf(endChar, i);
|
||||
if (i < 0) {
|
||||
// No terminating end character? uh, done. Set i such that loop terminates and break
|
||||
i = rawText.length();
|
||||
more = false;
|
||||
} else if (rawText.charAt(i - 1) == '\\') {
|
||||
// semicolon was escaped so continue
|
||||
} else if (countPrecedingBackslashes(rawText, i) % 2 != 0) {
|
||||
// semicolon was escaped (odd count of preceding backslashes) so continue
|
||||
i++;
|
||||
} else {
|
||||
// found a match
|
||||
|
@ -239,6 +239,18 @@ public abstract class ResultParser {
|
|||
return matches.toArray(new String[matches.size()]);
|
||||
}
|
||||
|
||||
private static int countPrecedingBackslashes(CharSequence s, int pos) {
|
||||
int count = 0;
|
||||
for (int i = pos - 1; i >= 0; i--) {
|
||||
if (s.charAt(i) == '\\') {
|
||||
count++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
static String matchSinglePrefixedField(String prefix, String rawText, char endChar, boolean trim) {
|
||||
String[] matches = matchPrefixedField(prefix, rawText, endChar, trim);
|
||||
return matches == null ? null : matches[0];
|
||||
|
|
|
@ -45,7 +45,10 @@ public final class SMTPResultParser extends ResultParser {
|
|||
subject = subject.substring(0, colon);
|
||||
}
|
||||
}
|
||||
String mailtoURI = "mailto:" + emailAddress;
|
||||
return new EmailAddressParsedResult(emailAddress, subject, body, mailtoURI);
|
||||
return new EmailAddressParsedResult(new String[] {emailAddress},
|
||||
null,
|
||||
null,
|
||||
subject,
|
||||
body);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,8 @@ import java.util.regex.Pattern;
|
|||
*/
|
||||
public final class URIResultParser extends ResultParser {
|
||||
|
||||
private static final Pattern URL_WITH_PROTOCOL_PATTERN = Pattern.compile("[a-zA-Z0-9]{2,}:");
|
||||
// See http://www.ietf.org/rfc/rfc2396.txt
|
||||
private static final Pattern URL_WITH_PROTOCOL_PATTERN = Pattern.compile("[a-zA-Z][a-zA-Z0-9+-.]+:");
|
||||
private static final Pattern URL_WITHOUT_PROTOCOL_PATTERN = Pattern.compile(
|
||||
"([a-zA-Z0-9\\-]+\\.)+[a-zA-Z]{2,}" + // host name elements
|
||||
"(:\\d{1,5})?" + // maybe port
|
||||
|
|
|
@ -62,6 +62,66 @@ public final class BitMatrix implements Cloneable {
|
|||
this.bits = bits;
|
||||
}
|
||||
|
||||
public static BitMatrix parse(String stringRepresentation, String setString, String unsetString) {
|
||||
if (stringRepresentation == null) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
|
||||
boolean[] bits = new boolean[stringRepresentation.length()];
|
||||
int bitsPos = 0;
|
||||
int rowStartPos = 0;
|
||||
int rowLength = -1;
|
||||
int nRows = 0;
|
||||
int pos = 0;
|
||||
while (pos < stringRepresentation.length()) {
|
||||
if (stringRepresentation.charAt(pos) == '\n' ||
|
||||
stringRepresentation.charAt(pos) == '\r') {
|
||||
if (bitsPos > rowStartPos) {
|
||||
if(rowLength == -1) {
|
||||
rowLength = bitsPos - rowStartPos;
|
||||
}
|
||||
else if (bitsPos - rowStartPos != rowLength) {
|
||||
throw new IllegalArgumentException("row lengths do not match");
|
||||
}
|
||||
rowStartPos = bitsPos;
|
||||
nRows++;
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
else if (stringRepresentation.substring(pos, pos + setString.length()).equals(setString)) {
|
||||
pos += setString.length();
|
||||
bits[bitsPos] = true;
|
||||
bitsPos++;
|
||||
}
|
||||
else if (stringRepresentation.substring(pos, pos + unsetString.length()).equals(unsetString)) {
|
||||
pos += unsetString.length();
|
||||
bits[bitsPos] = false;
|
||||
bitsPos++;
|
||||
} else {
|
||||
throw new IllegalArgumentException(
|
||||
"illegal character encountered: " + stringRepresentation.substring(pos));
|
||||
}
|
||||
}
|
||||
|
||||
// no EOL at end?
|
||||
if (bitsPos > rowStartPos) {
|
||||
if(rowLength == -1) {
|
||||
rowLength = bitsPos - rowStartPos;
|
||||
} else if (bitsPos - rowStartPos != rowLength) {
|
||||
throw new IllegalArgumentException("row lengths do not match");
|
||||
}
|
||||
nRows++;
|
||||
}
|
||||
|
||||
BitMatrix matrix = new BitMatrix(rowLength, nRows);
|
||||
for (int i = 0; i < bitsPos; i++) {
|
||||
if (bits[i]) {
|
||||
matrix.set(i % rowLength, i / rowLength);
|
||||
}
|
||||
}
|
||||
return matrix;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Gets the requested bit, where true means black.</p>
|
||||
*
|
||||
|
@ -85,6 +145,11 @@ public final class BitMatrix implements Cloneable {
|
|||
bits[offset] |= 1 << (x & 0x1f);
|
||||
}
|
||||
|
||||
public void unset(int x, int y) {
|
||||
int offset = y * rowSize + (x / 32);
|
||||
bits[offset] &= ~(1 << (x & 0x1f));
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Flips the given bit.</p>
|
||||
*
|
||||
|
@ -96,6 +161,27 @@ public final class BitMatrix implements Cloneable {
|
|||
bits[offset] ^= 1 << (x & 0x1f);
|
||||
}
|
||||
|
||||
/**
|
||||
* Exclusive-or (XOR): Flip the bit in this {@code BitMatrix} if the corresponding
|
||||
* mask bit is set.
|
||||
*
|
||||
* @param mask XOR mask
|
||||
*/
|
||||
public void xor(BitMatrix mask) {
|
||||
if (width != mask.getWidth() || height != mask.getHeight()
|
||||
|| rowSize != mask.getRowSize()) {
|
||||
throw new IllegalArgumentException("input matrix dimensions do not match");
|
||||
}
|
||||
BitArray rowArray = new BitArray(width / 32 + 1);
|
||||
for (int y = 0; y < height; y++) {
|
||||
int offset = y * rowSize;
|
||||
int[] row = mask.getRow(y, rowArray).getBitArray();
|
||||
for (int x = 0; x < rowSize; x++) {
|
||||
bits[offset + x] ^= row[x];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears all bits (sets to false).
|
||||
*/
|
||||
|
@ -295,6 +381,13 @@ public final class BitMatrix implements Cloneable {
|
|||
return height;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The row size of the matrix
|
||||
*/
|
||||
public int getRowSize() {
|
||||
return rowSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (!(o instanceof BitMatrix)) {
|
||||
|
@ -317,12 +410,24 @@ public final class BitMatrix implements Cloneable {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return toString("X ", " ");
|
||||
}
|
||||
|
||||
public String toString(String setString, String unsetString) {
|
||||
return toString(setString, unsetString, "\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated call {@link #toString(String,String)} only, which uses \n line separator always
|
||||
*/
|
||||
@Deprecated
|
||||
public String toString(String setString, String unsetString, String lineSeparator) {
|
||||
StringBuilder result = new StringBuilder(height * (width + 1));
|
||||
for (int y = 0; y < height; y++) {
|
||||
for (int x = 0; x < width; x++) {
|
||||
result.append(get(x, y) ? "X " : " ");
|
||||
result.append(get(x, y) ? setString : unsetString);
|
||||
}
|
||||
result.append('\n');
|
||||
result.append(lineSeparator);
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@ public enum CharacterSetECI {
|
|||
|
||||
/**
|
||||
* @param value character set ECI value
|
||||
* @return {@link CharacterSetECI} representing ECI of given value, or null if it is legal but
|
||||
* @return {@code CharacterSetECI} representing ECI of given value, or null if it is legal but
|
||||
* unsupported
|
||||
* @throws FormatException if ECI value is invalid
|
||||
*/
|
||||
|
|
|
@ -60,17 +60,19 @@ public final class DataMatrixWriter implements Writer {
|
|||
|
||||
// Try to get force shape & min / max size
|
||||
SymbolShapeHint shape = SymbolShapeHint.FORCE_NONE;
|
||||
Dimension minSize = null;
|
||||
Dimension minSize = new Dimension(width, height);
|
||||
Dimension maxSize = null;
|
||||
if (hints != null) {
|
||||
SymbolShapeHint requestedShape = (SymbolShapeHint) hints.get(EncodeHintType.DATA_MATRIX_SHAPE);
|
||||
if (requestedShape != null) {
|
||||
shape = requestedShape;
|
||||
}
|
||||
@SuppressWarnings("deprecation")
|
||||
Dimension requestedMinSize = (Dimension) hints.get(EncodeHintType.MIN_SIZE);
|
||||
if (requestedMinSize != null) {
|
||||
minSize = requestedMinSize;
|
||||
}
|
||||
@SuppressWarnings("deprecation")
|
||||
Dimension requestedMaxSize = (Dimension) hints.get(EncodeHintType.MAX_SIZE);
|
||||
if (requestedMaxSize != null) {
|
||||
maxSize = requestedMaxSize;
|
||||
|
|
|
@ -94,8 +94,9 @@ final class DataBlock {
|
|||
int max = result[0].codewords.length;
|
||||
for (int i = longerBlocksNumDataCodewords; i < max; i++) {
|
||||
for (int j = 0; j < numResultBlocks; j++) {
|
||||
int iOffset = specialVersion && j > 7 ? i - 1 : i;
|
||||
result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];
|
||||
int jOffset = specialVersion ? (j + 8) % numResultBlocks : j;
|
||||
int iOffset = specialVersion && jOffset > 7 ? i - 1 : i;
|
||||
result[jOffset].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -71,6 +71,9 @@ final class DecodedBitStreamParser {
|
|||
'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
|
||||
};
|
||||
|
||||
// Shift 2 for Text is the same encoding as C40
|
||||
private static final char[] TEXT_SHIFT2_SET_CHARS = C40_SHIFT2_SET_CHARS;
|
||||
|
||||
private static final char[] TEXT_SHIFT3_SET_CHARS = {
|
||||
'`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
|
||||
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', (char) 127
|
||||
|
@ -139,7 +142,7 @@ final class DecodedBitStreamParser {
|
|||
return Mode.PAD_ENCODE;
|
||||
} else if (oneByte <= 229) { // 2-digit data 00-99 (Numeric Value + 130)
|
||||
int value = oneByte - 130;
|
||||
if (value < 10) { // padd with '0' for single digit values
|
||||
if (value < 10) { // pad with '0' for single digit values
|
||||
result.append('0');
|
||||
}
|
||||
result.append(value);
|
||||
|
@ -319,13 +322,13 @@ final class DecodedBitStreamParser {
|
|||
break;
|
||||
case 2:
|
||||
// Shift 2 for Text is the same encoding as C40
|
||||
if (cValue < C40_SHIFT2_SET_CHARS.length) {
|
||||
char c40char = C40_SHIFT2_SET_CHARS[cValue];
|
||||
if (cValue < TEXT_SHIFT2_SET_CHARS.length) {
|
||||
char textChar = TEXT_SHIFT2_SET_CHARS[cValue];
|
||||
if (upperShift) {
|
||||
result.append((char) (c40char + 128));
|
||||
result.append((char) (textChar + 128));
|
||||
upperShift = false;
|
||||
} else {
|
||||
result.append(c40char);
|
||||
result.append(textChar);
|
||||
}
|
||||
} else if (cValue == 27) { // FNC1
|
||||
result.append((char) 29); // translate as ASCII 29
|
||||
|
|
|
@ -72,16 +72,12 @@ final class X12Encoder extends C40Encoder {
|
|||
context.updateSymbolInfo();
|
||||
int available = context.getSymbolInfo().getDataCapacity() - context.getCodewordCount();
|
||||
int count = buffer.length();
|
||||
if (count == 2) {
|
||||
context.pos -= count;
|
||||
if (context.getRemainingCharacters() > 1 || available > 1 ||
|
||||
context.getRemainingCharacters() != available) {
|
||||
context.writeCodeword(HighLevelEncoder.X12_UNLATCH);
|
||||
context.pos -= 2;
|
||||
context.signalEncoderChange(HighLevelEncoder.ASCII_ENCODATION);
|
||||
} else if (count == 1) {
|
||||
context.pos--;
|
||||
if (available > 1) {
|
||||
context.writeCodeword(HighLevelEncoder.X12_UNLATCH);
|
||||
}
|
||||
//NOP - No unlatch necessary
|
||||
}
|
||||
if (context.getNewEncoding() < 0) {
|
||||
context.signalEncoderChange(HighLevelEncoder.ASCII_ENCODATION);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ import com.google.zxing.FormatException;
|
|||
import com.google.zxing.NotFoundException;
|
||||
import com.google.zxing.Reader;
|
||||
import com.google.zxing.Result;
|
||||
import com.google.zxing.ResultPoint;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -58,30 +59,33 @@ public final class ByQuadrantReader implements Reader {
|
|||
int halfWidth = width / 2;
|
||||
int halfHeight = height / 2;
|
||||
|
||||
BinaryBitmap topLeft = image.crop(0, 0, halfWidth, halfHeight);
|
||||
try {
|
||||
return delegate.decode(topLeft, hints);
|
||||
// No need to call makeAbsolute as results will be relative to original top left here
|
||||
return delegate.decode(image.crop(0, 0, halfWidth, halfHeight), hints);
|
||||
} catch (NotFoundException re) {
|
||||
// continue
|
||||
}
|
||||
|
||||
BinaryBitmap topRight = image.crop(halfWidth, 0, halfWidth, halfHeight);
|
||||
try {
|
||||
return delegate.decode(topRight, hints);
|
||||
Result result = delegate.decode(image.crop(halfWidth, 0, halfWidth, halfHeight), hints);
|
||||
makeAbsolute(result.getResultPoints(), halfWidth, 0);
|
||||
return result;
|
||||
} catch (NotFoundException re) {
|
||||
// continue
|
||||
}
|
||||
|
||||
BinaryBitmap bottomLeft = image.crop(0, halfHeight, halfWidth, halfHeight);
|
||||
try {
|
||||
return delegate.decode(bottomLeft, hints);
|
||||
Result result = delegate.decode(image.crop(0, halfHeight, halfWidth, halfHeight), hints);
|
||||
makeAbsolute(result.getResultPoints(), 0, halfHeight);
|
||||
return result;
|
||||
} catch (NotFoundException re) {
|
||||
// continue
|
||||
}
|
||||
|
||||
BinaryBitmap bottomRight = image.crop(halfWidth, halfHeight, halfWidth, halfHeight);
|
||||
try {
|
||||
return delegate.decode(bottomRight, hints);
|
||||
Result result = delegate.decode(image.crop(halfWidth, halfHeight, halfWidth, halfHeight), hints);
|
||||
makeAbsolute(result.getResultPoints(), halfWidth, halfHeight);
|
||||
return result;
|
||||
} catch (NotFoundException re) {
|
||||
// continue
|
||||
}
|
||||
|
@ -89,7 +93,9 @@ public final class ByQuadrantReader implements Reader {
|
|||
int quarterWidth = halfWidth / 2;
|
||||
int quarterHeight = halfHeight / 2;
|
||||
BinaryBitmap center = image.crop(quarterWidth, quarterHeight, halfWidth, halfHeight);
|
||||
return delegate.decode(center, hints);
|
||||
Result result = delegate.decode(center, hints);
|
||||
makeAbsolute(result.getResultPoints(), quarterWidth, quarterHeight);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -97,4 +103,13 @@ public final class ByQuadrantReader implements Reader {
|
|||
delegate.reset();
|
||||
}
|
||||
|
||||
private static void makeAbsolute(ResultPoint[] points, int leftOffset, int topOffset) {
|
||||
if (points != null) {
|
||||
for (int i = 0; i < points.length; i++) {
|
||||
ResultPoint relative = points[i];
|
||||
points[i] = new ResultPoint(relative.getX() + leftOffset, relative.getY() + topOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue