Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4971f58f44 | ||
|
|
0bf24080a8 | ||
|
|
04a21f71ef | ||
|
|
e22a215863 | ||
|
|
881829e7b2 | ||
|
|
2ad261f3b6 | ||
|
|
e0fdda78b3 | ||
|
|
9c3710c56d | ||
|
|
ddcab46d47 | ||
|
|
076da26075 | ||
|
|
dbc37714f9 | ||
|
|
50e57eaf25 | ||
|
|
340f7f9d1d | ||
|
|
a42bd793bb | ||
|
|
6e531f5395 | ||
|
|
79b3fddcf8 | ||
|
|
09f3c8f193 | ||
|
|
5f82f216fd | ||
|
|
8424e3ea31 | ||
|
|
15ce34aa92 | ||
|
|
8dfc1e37c0 | ||
|
|
a0d3b7ba87 | ||
|
|
a234dc3a9a | ||
|
|
a00f70e25b | ||
|
|
ef555c0153 | ||
|
|
9fffb53f73 | ||
|
|
b82c6200c0 | ||
|
|
5bb347c392 | ||
|
|
f8033614fa | ||
|
|
46cc2fb1a1 | ||
|
|
f2ac1e77bb | ||
|
|
89c84880c6 | ||
|
|
352fe07850 | ||
|
|
00abe33314 | ||
|
|
142df25d7e | ||
|
|
021d775835 | ||
|
|
06df0c4d64 | ||
|
|
32c70af812 | ||
|
|
7cc1777e7a | ||
|
|
23e0564594 | ||
|
|
0447384bea | ||
|
|
b4d66e28e2 | ||
|
|
ee1c56d99f |
@@ -1,5 +1,25 @@
|
||||
# Change Log
|
||||
|
||||
## 1.60.3
|
||||
* Fix saving custom language
|
||||
* Update Brazilian Portuguese translation
|
||||
* Update Chinese translation
|
||||
* Update Czech localisation
|
||||
* Update Russian translation
|
||||
* Update Italian language
|
||||
|
||||
## 1.60.2
|
||||
* Expand escape sequences in encoding input
|
||||
* Update Taiwan translation
|
||||
|
||||
## 1.60.1
|
||||
* Support sending scans via bluetooth
|
||||
* Fix resolving error correction level for recreation
|
||||
* Improve asset image compression
|
||||
* Update ZXing C++
|
||||
* Update Italian translation
|
||||
* Update Russian translation
|
||||
|
||||
## 1.59.0
|
||||
* Add setting error correction for AZTEC/PDF417
|
||||
* Fix setting error correction level for QR Codes
|
||||
|
||||
@@ -17,6 +17,13 @@ which requires `ACCESS_FINE_LOCATION`.
|
||||
|
||||
On Android Q an better, this permission is not requested nor required.
|
||||
|
||||
### [BLUETOOTH][BLUETOOTH], [BLUETOOTH_ADMIN][BLUETOOTH_ADMIN] and [BLUETOOTH_CONNECT][BLUETOOTH_CONNECT]
|
||||
|
||||
Required to optionally forward scans to a Bluetooth device.
|
||||
|
||||
[BLUETOOTH][BLUETOOTH] and [BLUETOOTH_ADMIN][BLUETOOTH_ADMIN] are required
|
||||
before Android S. [BLUETOOTH_CONNECT][BLUETOOTH_CONNECT] from Android S on.
|
||||
|
||||
### [CAMERA][CAMERA]
|
||||
|
||||
Required to read a barcode from the camera image.
|
||||
@@ -54,6 +61,9 @@ From Android R, `ACCESS_WIFI_STATE` is required for
|
||||
which is used to remove individual network suggestions.
|
||||
|
||||
[ACCESS_FINE_LOCATION]: https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION
|
||||
[BLUETOOTH]: https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH
|
||||
[BLUETOOTH_ADMIN]: https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_ADMIN
|
||||
[BLUETOOTH_CONNECT]: https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_CONNECT
|
||||
[CAMERA]: https://developer.android.com/reference/android/Manifest.permission#CAMERA
|
||||
[INTERNET]: https://developer.android.com/reference/android/Manifest.permission#INTERNET
|
||||
[VIBRATE]: https://developer.android.com/reference/android/Manifest.permission#VIBRATE
|
||||
|
||||
@@ -4,13 +4,12 @@ apply plugin: 'kotlin-android'
|
||||
android {
|
||||
namespace 'de.markusfisch.android.binaryeye'
|
||||
compileSdkVersion sdk_version
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 9
|
||||
targetSdkVersion sdk_version
|
||||
|
||||
versionCode 116
|
||||
versionName '1.59.0'
|
||||
versionCode 120
|
||||
versionName '1.60.3'
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
@@ -66,5 +65,5 @@ dependencies {
|
||||
implementation "com.android.support:preference-v14:$support_version"
|
||||
implementation 'com.github.markusfisch:CameraView:1.9.1'
|
||||
implementation 'com.github.markusfisch:ScalingImageView:1.4.1'
|
||||
implementation 'com.github.markusfisch:zxing-cpp:v2.0.0.0'
|
||||
implementation 'com.github.markusfisch:zxing-cpp:v2.0.0.1'
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 8.2 KiB |
@@ -6,6 +6,11 @@
|
||||
android:xlargeScreens="true"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
|
||||
android:maxSdkVersion="28"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH"
|
||||
android:maxSdkVersion="30"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
|
||||
android:maxSdkVersion="30"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
|
||||
@@ -314,7 +314,7 @@ private fun String.trimAndTerminate(): String {
|
||||
// for special chars.
|
||||
private val escapedRegex = """\\([\\;,":])""".toRegex()
|
||||
private val String.unescape: String
|
||||
get() = this.replace(escapedRegex) { escaped ->
|
||||
get() = replace(escapedRegex) { escaped ->
|
||||
escaped.groupValues[1]
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.widget.SeekBar
|
||||
import de.markusfisch.android.binaryeye.R
|
||||
import de.markusfisch.android.binaryeye.adapter.prettifyFormatName
|
||||
import de.markusfisch.android.binaryeye.app.*
|
||||
import de.markusfisch.android.binaryeye.bluetooth.sendBluetoothAsync
|
||||
import de.markusfisch.android.binaryeye.content.copyToClipboard
|
||||
import de.markusfisch.android.binaryeye.content.execShareIntent
|
||||
import de.markusfisch.android.binaryeye.content.openUrl
|
||||
@@ -426,7 +427,8 @@ class CameraActivity : AppCompatActivity() {
|
||||
tryHarder = prefs.tryHarder,
|
||||
tryRotate = prefs.autoRotate,
|
||||
tryInvert = true,
|
||||
tryDownscale = true
|
||||
tryDownscale = true,
|
||||
maxNumberOfSymbols = 1
|
||||
)
|
||||
var useLocalAverage = false
|
||||
camera.setPreviewCallback { frameData, _ ->
|
||||
@@ -449,7 +451,8 @@ class CameraActivity : AppCompatActivity() {
|
||||
}
|
||||
formats = formatsToRead.joinToString()
|
||||
}
|
||||
)?.let { result ->
|
||||
)?.let { results ->
|
||||
val result = results.first()
|
||||
if (result.text != ignoreNext) {
|
||||
postResult(result)
|
||||
decoding = false
|
||||
@@ -591,11 +594,7 @@ class CameraActivity : AppCompatActivity() {
|
||||
Intent(Intent.ACTION_VIEW, returnUri)
|
||||
)
|
||||
else -> {
|
||||
showResult(
|
||||
this@CameraActivity,
|
||||
result,
|
||||
bulkMode
|
||||
)
|
||||
showResult(result, bulkMode)
|
||||
// If this app was invoked via a deep link but without
|
||||
// a return URI, we probably don't want to return to
|
||||
// the camera screen after scanning, but to the caller.
|
||||
@@ -628,13 +627,12 @@ class CameraActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
fun showResult(
|
||||
activity: Activity,
|
||||
fun Activity.showResult(
|
||||
result: Result,
|
||||
bulkMode: Boolean = false,
|
||||
) {
|
||||
if (prefs.copyImmediately) {
|
||||
activity.copyToClipboard(result.text)
|
||||
copyToClipboard(result.text)
|
||||
}
|
||||
val scan = result.toScan()
|
||||
if (prefs.useHistory) {
|
||||
@@ -642,7 +640,7 @@ fun showResult(
|
||||
}
|
||||
if (prefs.sendScanActive && prefs.sendScanUrl.isNotEmpty()) {
|
||||
if (prefs.sendScanType == "4") {
|
||||
activity.openUrl(
|
||||
openUrl(
|
||||
prefs.sendScanUrl + scan.content.urlEncode()
|
||||
)
|
||||
return
|
||||
@@ -652,18 +650,40 @@ fun showResult(
|
||||
prefs.sendScanType
|
||||
) { code, body ->
|
||||
if (code == null || code < 200 || code > 299) {
|
||||
activity.errorFeedback()
|
||||
errorFeedback()
|
||||
}
|
||||
if (body != null && body.isNotEmpty()) {
|
||||
activity.toast(body)
|
||||
toast(body)
|
||||
} else if (code == null || code > 299) {
|
||||
activity.toast(R.string.background_request_failed)
|
||||
toast(R.string.background_request_failed)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (prefs.sendScanBluetooth &&
|
||||
prefs.sendScanBluetoothHost.isNotEmpty() &&
|
||||
hasBluetoothPermission()
|
||||
) {
|
||||
scan.sendBluetoothAsync(
|
||||
prefs.sendScanBluetoothHost
|
||||
) { connected, sent ->
|
||||
toast(
|
||||
when {
|
||||
!connected -> {
|
||||
errorFeedback()
|
||||
R.string.bluetooth_connect_fail
|
||||
}
|
||||
!sent -> {
|
||||
errorFeedback()
|
||||
R.string.bluetooth_send_fail
|
||||
}
|
||||
else -> R.string.bluetooth_send_success
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
if (!bulkMode) {
|
||||
activity.startActivity(
|
||||
MainActivity.getDecodeIntent(activity, scan)
|
||||
startActivity(
|
||||
MainActivity.getDecodeIntent(this, scan)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ class PickActivity : AppCompatActivity() {
|
||||
tryRotate = true,
|
||||
tryInvert = true,
|
||||
tryDownscale = true,
|
||||
maxNumberOfSymbols = 1,
|
||||
formats = prefs.barcodeFormats.joinToString()
|
||||
)
|
||||
|
||||
@@ -145,7 +146,7 @@ class PickActivity : AppCompatActivity() {
|
||||
)
|
||||
}
|
||||
scope.launch {
|
||||
cropped.decode()?.let {
|
||||
cropped.decode()?.first()?.let {
|
||||
withContext(Dispatchers.Main) {
|
||||
if (isFinishing) {
|
||||
return@withContext
|
||||
@@ -243,7 +244,7 @@ class PickActivity : AppCompatActivity() {
|
||||
private fun showResult() {
|
||||
val r = result
|
||||
if (r != null) {
|
||||
showResult(this, r)
|
||||
showResult(r)
|
||||
finish()
|
||||
} else {
|
||||
applicationContext.toast(R.string.no_barcode_found)
|
||||
|
||||
@@ -3,6 +3,7 @@ package de.markusfisch.android.binaryeye.app
|
||||
import android.Manifest
|
||||
import android.app.Activity
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import android.support.v4.app.ActivityCompat
|
||||
import android.support.v4.content.ContextCompat
|
||||
|
||||
@@ -32,6 +33,18 @@ fun Activity.hasLocationPermission(callback: () -> Any): Boolean {
|
||||
)
|
||||
}
|
||||
|
||||
const val PERMISSION_BLUETOOTH = 4
|
||||
fun Activity.hasBluetoothPermission() = if (
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.S
|
||||
) {
|
||||
hasPermission(
|
||||
Manifest.permission.BLUETOOTH_CONNECT,
|
||||
PERMISSION_BLUETOOTH
|
||||
)
|
||||
} else {
|
||||
false
|
||||
}
|
||||
|
||||
private fun Activity.hasPermission(
|
||||
permission: String,
|
||||
requestCode: Int
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
package de.markusfisch.android.binaryeye.bluetooth
|
||||
|
||||
import android.bluetooth.BluetoothAdapter
|
||||
import android.bluetooth.BluetoothDevice
|
||||
import android.bluetooth.BluetoothSocket
|
||||
import android.support.v7.preference.ListPreference
|
||||
import de.markusfisch.android.binaryeye.database.Scan
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import java.io.IOException
|
||||
import java.io.OutputStreamWriter
|
||||
import java.util.*
|
||||
|
||||
fun Scan.sendBluetoothAsync(
|
||||
host: String,
|
||||
callback: (Boolean, Boolean) -> Unit
|
||||
) {
|
||||
CoroutineScope(Dispatchers.IO).launch(Dispatchers.IO) {
|
||||
val connected = if (isConnected) {
|
||||
true
|
||||
} else {
|
||||
connect(host)
|
||||
}
|
||||
val sent = if (connected) {
|
||||
send(content)
|
||||
} else {
|
||||
false
|
||||
}
|
||||
withContext(Dispatchers.Main) {
|
||||
callback(connected, sent)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun setBluetoothHosts(listPref: ListPreference) {
|
||||
val devices = try {
|
||||
BluetoothAdapter.getDefaultAdapter().bondedDevices
|
||||
} catch (e: SecurityException) {
|
||||
// Do nothing, either the user has denied Bluetooth access
|
||||
// or the permission was removed by the system. We're catching
|
||||
// the exception to keep the app from crashing.
|
||||
null
|
||||
} ?: return
|
||||
listPref.entries = devices.map {
|
||||
it.name
|
||||
}.toTypedArray()
|
||||
listPref.entryValues = devices.map {
|
||||
it.address
|
||||
}.toTypedArray()
|
||||
listPref.callChangeListener(listPref.value)
|
||||
}
|
||||
|
||||
private var socket: BluetoothSocket? = null
|
||||
private var writer: OutputStreamWriter? = null
|
||||
|
||||
private val blue = BluetoothAdapter.getDefaultAdapter()
|
||||
private val uuid = UUID.fromString(
|
||||
"8a8478c9-2ca8-404b-a0de-101f34ab71ae"
|
||||
)
|
||||
|
||||
private var isConnected = false
|
||||
|
||||
private fun connect(deviceName: String): Boolean = try {
|
||||
val device = findByName(deviceName) ?: throw RuntimeException(
|
||||
"Bluetooth device not found"
|
||||
)
|
||||
socket = device.createRfcommSocketToServiceRecord(uuid)
|
||||
socket?.connect()
|
||||
writer = socket?.outputStream?.writer()
|
||||
isConnected = true
|
||||
true
|
||||
} catch (e: Exception) {
|
||||
close()
|
||||
false
|
||||
}
|
||||
|
||||
private fun send(message: String): Boolean = try {
|
||||
writer?.apply {
|
||||
write(message)
|
||||
write("\n")
|
||||
flush()
|
||||
}
|
||||
true
|
||||
} catch (e: Exception) {
|
||||
close()
|
||||
false
|
||||
}
|
||||
|
||||
private fun close() {
|
||||
try {
|
||||
writer?.close()
|
||||
} catch (e: IOException) {
|
||||
// Catch exception if writer wasn't initialized.
|
||||
}
|
||||
try {
|
||||
socket?.close()
|
||||
} catch (e: IOException) {
|
||||
// Nothing we can do about this but keep
|
||||
// the app from crashing.
|
||||
}
|
||||
writer = null
|
||||
socket = null
|
||||
isConnected = false
|
||||
}
|
||||
|
||||
private fun findByName(findableName: String): BluetoothDevice? {
|
||||
val deviceList = blue.bondedDevices
|
||||
for (device in deviceList) {
|
||||
if (device.address == findableName) {
|
||||
return device
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
@@ -178,9 +178,9 @@ fun Scan.toRecreation(
|
||||
Format.valueOf(format),
|
||||
when (errorCorrectionLevel) {
|
||||
"L" -> 0
|
||||
"M" -> 1
|
||||
"Q" -> 2
|
||||
"H" -> 3
|
||||
"M" -> 4
|
||||
"Q" -> 6
|
||||
"H" -> 8
|
||||
else -> -1
|
||||
},
|
||||
size,
|
||||
|
||||
@@ -11,6 +11,7 @@ import de.markusfisch.android.binaryeye.R
|
||||
import de.markusfisch.android.binaryeye.adapter.prettifyFormatName
|
||||
import de.markusfisch.android.binaryeye.app.addFragment
|
||||
import de.markusfisch.android.binaryeye.app.prefs
|
||||
import de.markusfisch.android.binaryeye.text.unescape
|
||||
import de.markusfisch.android.binaryeye.view.hideSoftKeyboard
|
||||
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
|
||||
import de.markusfisch.android.binaryeye.widget.toast
|
||||
@@ -25,6 +26,7 @@ class EncodeFragment : Fragment() {
|
||||
private lateinit var sizeView: TextView
|
||||
private lateinit var sizeBarView: SeekBar
|
||||
private lateinit var contentView: EditText
|
||||
private lateinit var unescapeCheckBox: CheckBox
|
||||
|
||||
private val formats = arrayListOf(
|
||||
Format.AZTEC,
|
||||
@@ -125,6 +127,8 @@ class EncodeFragment : Fragment() {
|
||||
initSizeBar()
|
||||
|
||||
contentView = view.findViewById(R.id.content)
|
||||
unescapeCheckBox = view.findViewById(R.id.unescape)
|
||||
unescapeCheckBox.isChecked = prefs.expandEscapeSequences
|
||||
|
||||
val args = arguments
|
||||
args?.getString(CONTENT)?.let {
|
||||
@@ -155,10 +159,19 @@ class EncodeFragment : Fragment() {
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
prefs.indexOfLastSelectedFormat = formatView.selectedItemPosition
|
||||
prefs.expandEscapeSequences = unescapeCheckBox.isChecked
|
||||
}
|
||||
|
||||
private fun Context.encode() {
|
||||
val content = contentView.text.toString()
|
||||
var content = contentView.text.toString()
|
||||
if (unescapeCheckBox.isChecked) {
|
||||
try {
|
||||
content = content.unescape()
|
||||
} catch (e: IllegalArgumentException) {
|
||||
toast(e.message ?: "Invalid escape sequence")
|
||||
return
|
||||
}
|
||||
}
|
||||
if (content.isEmpty()) {
|
||||
toast(R.string.error_no_content)
|
||||
return
|
||||
|
||||
@@ -18,12 +18,14 @@ import android.support.v7.preference.PreferenceGroup
|
||||
import de.markusfisch.android.binaryeye.R
|
||||
import de.markusfisch.android.binaryeye.activity.SplashActivity
|
||||
import de.markusfisch.android.binaryeye.app.addFragment
|
||||
import de.markusfisch.android.binaryeye.app.hasBluetoothPermission
|
||||
import de.markusfisch.android.binaryeye.app.prefs
|
||||
import de.markusfisch.android.binaryeye.media.beepConfirm
|
||||
import de.markusfisch.android.binaryeye.preference.UrlPreference
|
||||
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
|
||||
import de.markusfisch.android.binaryeye.view.systemBarRecyclerViewScrollListener
|
||||
import de.markusfisch.android.binaryeye.widget.toast
|
||||
import de.markusfisch.android.binaryeye.bluetooth.setBluetoothHosts
|
||||
|
||||
class PreferencesFragment : PreferenceFragmentCompat() {
|
||||
private val changeListener = object : OnSharedPreferenceChangeListener {
|
||||
@@ -39,6 +41,14 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
||||
beepConfirm()
|
||||
setSummary(preference)
|
||||
}
|
||||
"send_scan_bluetooth" -> {
|
||||
if (prefs.sendScanBluetooth &&
|
||||
activity?.hasBluetoothPermission() == false
|
||||
) {
|
||||
prefs.sendScanBluetooth = false
|
||||
}
|
||||
setSummary(preference)
|
||||
}
|
||||
else -> setSummary(preference)
|
||||
}
|
||||
}
|
||||
@@ -46,9 +56,20 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
||||
|
||||
override fun onCreatePreferences(state: Bundle?, rootKey: String?) {
|
||||
addPreferencesFromResource(R.xml.preferences)
|
||||
setBluetoothResources()
|
||||
wireClearNetworkPreferences()
|
||||
}
|
||||
|
||||
private fun setBluetoothResources() {
|
||||
if (prefs.sendScanBluetooth &&
|
||||
activity?.hasBluetoothPermission() == true
|
||||
) {
|
||||
setBluetoothHosts(
|
||||
findPreference("send_scan_bluetooth_host") as ListPreference
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun wireClearNetworkPreferences() {
|
||||
findPreference("clear_network_suggestions").apply {
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
|
||||
@@ -122,6 +143,12 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
||||
setTargetFragment(this@PreferencesFragment, 0)
|
||||
show(fm, null)
|
||||
}
|
||||
} else if (preference.key == "send_scan_bluetooth_host") {
|
||||
val ac = activity ?: return
|
||||
if (ac.hasBluetoothPermission()) {
|
||||
setBluetoothHosts(preference as ListPreference)
|
||||
}
|
||||
super.onDisplayPreferenceDialog(preference)
|
||||
} else {
|
||||
super.onDisplayPreferenceDialog(preference)
|
||||
}
|
||||
|
||||
@@ -165,9 +165,21 @@ class Preferences {
|
||||
apply(SEND_SCAN_TYPE, value)
|
||||
field = value
|
||||
}
|
||||
var sendScanBluetooth = false
|
||||
set(value) {
|
||||
apply(SEND_SCAN_BLUETOOTH, value)
|
||||
field = value
|
||||
}
|
||||
var sendScanBluetoothHost: String = ""
|
||||
set(value) {
|
||||
apply(SEND_SCAN_BLUETOOTH_HOST, value)
|
||||
field = value
|
||||
}
|
||||
var customLocale: String = ""
|
||||
set(value) {
|
||||
apply(CUSTOM_LOCALE, value)
|
||||
// Make sure this setting is written immediately because
|
||||
// the app is about to restart.
|
||||
commit(CUSTOM_LOCALE, value)
|
||||
field = value
|
||||
}
|
||||
var indexOfLastSelectedFormat: Int = 0
|
||||
@@ -185,6 +197,11 @@ class Preferences {
|
||||
apply(FREE_ROTATION, value)
|
||||
field = value
|
||||
}
|
||||
var expandEscapeSequences = true
|
||||
set(value) {
|
||||
apply(EXPAND_ESCAPE_SEQUENCES, value)
|
||||
field = value
|
||||
}
|
||||
|
||||
fun init(context: Context) {
|
||||
preferences = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
@@ -260,6 +277,16 @@ class Preferences {
|
||||
preferences.getString(SEND_SCAN_TYPE, sendScanType)?.also {
|
||||
sendScanType = it
|
||||
}
|
||||
sendScanBluetooth = preferences.getBoolean(
|
||||
SEND_SCAN_BLUETOOTH,
|
||||
sendScanBluetooth
|
||||
)
|
||||
preferences.getString(
|
||||
SEND_SCAN_BLUETOOTH_HOST,
|
||||
sendScanBluetoothHost
|
||||
)?.also {
|
||||
sendScanBluetoothHost = it
|
||||
}
|
||||
preferences.getString(CUSTOM_LOCALE, customLocale)?.also {
|
||||
customLocale = it
|
||||
}
|
||||
@@ -272,6 +299,10 @@ class Preferences {
|
||||
indexOfLastSelectedEcLevel
|
||||
)
|
||||
freeRotation = preferences.getBoolean(FREE_ROTATION, freeRotation)
|
||||
expandEscapeSequences = preferences.getBoolean(
|
||||
EXPAND_ESCAPE_SEQUENCES,
|
||||
expandEscapeSequences
|
||||
)
|
||||
}
|
||||
|
||||
fun beepTone() = when (beepToneName) {
|
||||
@@ -301,6 +332,10 @@ class Preferences {
|
||||
preferences.edit().putInt(label, value).apply()
|
||||
}
|
||||
|
||||
private fun commit(label: String, value: String) {
|
||||
preferences.edit().putString(label, value).commit()
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.HONEYCOMB)
|
||||
private fun apply(label: String, value: Set<String>) {
|
||||
preferences.edit().putStringSet(label, value).apply()
|
||||
@@ -334,9 +369,12 @@ class Preferences {
|
||||
private const val SEND_SCAN_ACTIVE = "send_scan_active"
|
||||
private const val SEND_SCAN_URL = "send_scan_url"
|
||||
private const val SEND_SCAN_TYPE = "send_scan_type"
|
||||
private const val SEND_SCAN_BLUETOOTH = "send_scan_bluetooth"
|
||||
private const val SEND_SCAN_BLUETOOTH_HOST = "send_scan_bluetooth_host"
|
||||
private const val CUSTOM_LOCALE = "custom_locale"
|
||||
private const val INDEX_OF_LAST_SELECTED_FORMAT = "index_of_last_selected_format"
|
||||
private const val INDEX_OF_LAST_SELECTED_EC_LEVEL = "index_of_last_selected_ec_level"
|
||||
private const val FREE_ROTATION = "free_rotation"
|
||||
private const val EXPAND_ESCAPE_SEQUENCES = "expand_escape_sequences"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
package de.markusfisch.android.binaryeye.text
|
||||
|
||||
/**
|
||||
* Copyright (c) 2000, Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// This code is based on Google's own implementation:
|
||||
// http://www.java2s.com/example/android-utility-method/string-escape/javascriptunescape-string-s-dc359.html
|
||||
fun String.unescape(): String {
|
||||
val len = length
|
||||
var i = 0
|
||||
fun String.expand() = when (val ec = get(i++)) {
|
||||
'n' -> '\n'
|
||||
'r' -> '\r'
|
||||
't' -> '\t'
|
||||
'b' -> '\b'
|
||||
'\\', '\"', '\'', '<', '>', '|' -> ec
|
||||
'0', '1', '2', '3', '4', '5', '6', '7' -> {
|
||||
val limit = if (ec < '4') 3 else 2
|
||||
var l = 1
|
||||
--i // Back to index of first digit.
|
||||
while (l < limit &&
|
||||
i + l < len &&
|
||||
get(i + l) in '0'..'7'
|
||||
) {
|
||||
++l
|
||||
}
|
||||
val from = i
|
||||
i += l
|
||||
substring(from, i).toInt(8).toChar()
|
||||
}
|
||||
'x', 'u' -> {
|
||||
val l = if (ec == 'u') 4 else 2
|
||||
val hexCode = try {
|
||||
substring(i, i + l)
|
||||
} catch (_: IndexOutOfBoundsException) {
|
||||
throw IllegalArgumentException(
|
||||
"Invalid unicode sequence [${substring(i)}] at index $i"
|
||||
)
|
||||
}
|
||||
val unicodeValue = try {
|
||||
hexCode.toInt(16)
|
||||
} catch (_: NumberFormatException) {
|
||||
throw IllegalArgumentException(
|
||||
"Invalid unicode sequence [$hexCode] at index $i"
|
||||
)
|
||||
}
|
||||
i += l
|
||||
unicodeValue.toChar()
|
||||
}
|
||||
else -> throw IllegalArgumentException(
|
||||
"Unknown escape code [$ec] at index $i"
|
||||
)
|
||||
}
|
||||
|
||||
val sb = StringBuilder()
|
||||
while (i < len) {
|
||||
val ch = get(i++)
|
||||
sb.append(if (ch == '\\' && i < len) expand() else ch)
|
||||
}
|
||||
return sb.toString()
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 731 B |
|
Before Width: | Height: | Size: 899 B After Width: | Height: | Size: 583 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 755 B |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 899 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 698 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 16 KiB |
@@ -82,6 +82,12 @@
|
||||
android:inputType="textMultiLine"
|
||||
android:hint="@string/input_content_here"
|
||||
android:importantForAutofill="no"/>
|
||||
<CheckBox
|
||||
android:id="@+id/unescape"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="@string/unescape"/>
|
||||
</LinearLayout>
|
||||
</de.markusfisch.android.binaryeye.widget.ConfinedScrollView>
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 6.9 KiB |
@@ -43,6 +43,7 @@
|
||||
<string name="size">পিক্সেলে আকার</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">এখানে তথ্য দাও</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">সংকেতকরণ</string>
|
||||
<string name="error_no_content">তথ্য নেই</string>
|
||||
<string name="error_encoding_barcode">বারকোড বানানো যায়নি</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Open in external browser</string>
|
||||
<string name="test_url">পরীক্ষার জন্য ইউআরএল</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">আসলেই এটা মুছবে?</string>
|
||||
<string name="really_remove_all_scans">আসলেই সব মুছবে?</string>
|
||||
<string name="really_remove_selected_scans">আসলেই নির্বাচিত সব মুছবে?</string>
|
||||
|
||||
@@ -16,21 +16,21 @@
|
||||
<string name="error_correction_level_m" formatted="false">Střední (~15% korekce)</string>
|
||||
<string name="error_correction_level_q" formatted="false">Čtvrtinový (~25% korekce)</string>
|
||||
<string name="error_correction_level_h" formatted="false">Vysoký (~30% korekce)</string>
|
||||
<string name="colors">Fore and background</string>
|
||||
<string name="colors_black_on_white">Black on white</string>
|
||||
<string name="colors_white_on_black">White on black</string>
|
||||
<string name="colors_black_on_transparent">Black on transparent</string>
|
||||
<string name="colors_white_on_transparent">White on transparent</string>
|
||||
<string name="sequence_size">Sequence size</string>
|
||||
<string name="sequence_index">Sequence index</string>
|
||||
<string name="sequence_id">Sequence ID</string>
|
||||
<string name="colors">Popředí a pozadí</string>
|
||||
<string name="colors_black_on_white">Černá na bílé</string>
|
||||
<string name="colors_white_on_black">Bílá na černé</string>
|
||||
<string name="colors_black_on_transparent">Černá na průhledné</string>
|
||||
<string name="colors_white_on_transparent">Bílá na průhledné</string>
|
||||
<string name="sequence_size">Velikost sekvence</string>
|
||||
<string name="sequence_index">Index sekvence</string>
|
||||
<string name="sequence_id">ID sekvence</string>
|
||||
<string name="gtin_issue_number">Číslo edice</string>
|
||||
<string name="gtin_country">Možná země původu</string>
|
||||
<string name="gtin_price">Doporučená cena</string>
|
||||
<string name="gtin_add_on">rozšíření UPC EAN</string>
|
||||
<string name="barcode_version_number">Version</string>
|
||||
<string name="qr_version_and_modules">%1$s (%2$d modules)</string>
|
||||
<string name="toggle_flash">Zap/vyp blesk</string>
|
||||
<string name="barcode_version_number">Verze</string>
|
||||
<string name="qr_version_and_modules">%1$s (%2$d modulů)</string>
|
||||
<string name="toggle_flash">Přepnout blesk</string>
|
||||
<string name="error_flash">Zapnutí/vypnutí blesku selhalo</string>
|
||||
<string name="share">Sdílet</string>
|
||||
<string name="share_as">Sdílet jako</string>
|
||||
@@ -45,11 +45,12 @@
|
||||
<string name="size">Velikost v pixelech</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Sem vložte obsah</string>
|
||||
<string name="unescape">Rozšířit escape sekvence</string>
|
||||
<string name="encode">ZAKÓDOVAT</string>
|
||||
<string name="error_no_content">Chybí obsah</string>
|
||||
<string name="error_encoding_barcode">Nepodařilo se vygenerovat čárový kód</string>
|
||||
<string name="view_barcode">Zobrazit čárový kód</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="info">Informace</string>
|
||||
<string name="switch_camera">Přepnout kameru</string>
|
||||
<string name="bulk_mode">Skenovat nepřetržitě</string>
|
||||
<string name="bulk_mode_summary">Vždy začít v módu nepřetržitého skenování.</string>
|
||||
@@ -82,15 +83,15 @@
|
||||
<string name="show_toast_in_bulk_mode_summary">Krátce zobrazit data v módu nepřetržitého skenování.</string>
|
||||
<string name="vibrate">Zavibrovat při detekování</string>
|
||||
<string name="vibrate_summary">Zařízení zavibruje, když rozpozná čárový kód.</string>
|
||||
<string name="beep">Beep on detection</string>
|
||||
<string name="beep_summary">Enable this if you want your device to beep when a code is recognized.</string>
|
||||
<string name="beep_tone">Beep tone</string>
|
||||
<string name="tone_cdma_confirm">CDMA confirm</string>
|
||||
<string name="beep">Pípnout při rozpoznání</string>
|
||||
<string name="beep_summary">Povolte, pokud chcete pípnutí při rozpoznání kódu.</string>
|
||||
<string name="beep_tone">Tón pípnutí</string>
|
||||
<string name="tone_cdma_confirm">Potvrzení CDMA</string>
|
||||
<string name="tone_sup_confirm">Call supervisory confirm</string>
|
||||
<string name="tone_sup_radio_ack">Call supervisory radio path acknowledgment</string>
|
||||
<string name="tone_prop_ack">Positive acknowledgment</string>
|
||||
<string name="tone_prop_beep">General beep</string>
|
||||
<string name="tone_prop_beep2">General double beep</string>
|
||||
<string name="tone_prop_ack">Kladné potvrzení příjmu</string>
|
||||
<string name="tone_prop_beep">Obecné pípnutí</string>
|
||||
<string name="tone_prop_beep2">Dvojité obecné pípnutí</string>
|
||||
<string name="use_history">Ukládat historii skenování</string>
|
||||
<string name="use_history_summary">Rozpoznané kódy se uloží do zařízení.</string>
|
||||
<string name="ignore_consecutive_duplicates">Ignorovat duplikáty</string>
|
||||
@@ -103,8 +104,8 @@
|
||||
<string name="show_meta_data_summary">Zobrazí další data o naskenovaném čárovém kódu.</string>
|
||||
<string name="show_hex_dump">Zobrazit hex dump</string>
|
||||
<string name="show_hex_dump_summary">Zobrazí hex dump naskenovaného obsahu.</string>
|
||||
<string name="show_recreation">Show recreated barcode</string>
|
||||
<string name="show_recreation_summary">Recreate and show barcode from read content if possible.</string>
|
||||
<string name="show_recreation">Zobrazit zrekonstruovaný kód</string>
|
||||
<string name="show_recreation_summary">Zrekonstruovat a zobrazit čárový kód z přečteného obrazu, pokud je to možné.</string>
|
||||
<string name="close_automatically">Vrátit se po zkopírování/sdílení</string>
|
||||
<string name="close_automatically_summary">Po zkopírovaní či sdílení se automaticky vrátí na skenovací obrazovku.</string>
|
||||
<string name="default_search_engine">Nerozpoznaná data otevřít v</string>
|
||||
@@ -119,13 +120,20 @@
|
||||
<string name="send_scan_active">Předávat skeny</string>
|
||||
<string name="send_scan_active_summary">Zapnout předávání skenů na danou URL</string>
|
||||
<string name="send_scan_url">Posílat každý sken na URL</string>
|
||||
<string name="send_scan_type">Typ requestu pro každý sken</string>
|
||||
<string name="send_scan_type">Typ požadavku pro každý sken</string>
|
||||
<string name="send_type_get_add_content">GET a simply add content</string>
|
||||
<string name="send_type_get_query_string">GET with complete query string</string>
|
||||
<string name="send_type_post_form">POST application/x-www-form-urlencoded</string>
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Otevřít v prohlížeči</string>
|
||||
<string name="test_url">Otestovat URL</string>
|
||||
<string name="send_scan_bluetooth">Přesměrovat skeny přes Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Skeny se přesměrují na daného hostitele Bluetooth.</string>
|
||||
<string name="send_scan_bluetooth_host">Hostitel</string>
|
||||
<string name="no_bluetooth_hosts_paired">Není spárován žádný hostitel</string>
|
||||
<string name="bluetooth_connect_fail">Nelze se připojit k zařízení Bluetooth.</string>
|
||||
<string name="bluetooth_send_fail">Nelze odesílat na zařízení Bluetooth.</string>
|
||||
<string name="bluetooth_send_success">Odesílání přes Bluetooth se zdařilo.</string>
|
||||
<string name="really_remove_scan">Opravdu odstranit sken?</string>
|
||||
<string name="really_remove_all_scans">Opravdu odstranit všechny skeny?</string>
|
||||
<string name="really_remove_selected_scans">Opravdu odstranit zvolené skeny?</string>
|
||||
@@ -143,9 +151,9 @@
|
||||
<string name="file_name">Název souboru</string>
|
||||
<string name="error_saving_file">Soubor se nepodařilo uložit</string>
|
||||
<string name="error_file_exists">Soubor již existuje</string>
|
||||
<string name="connect_to_wifi">Připojit k WiFi</string>
|
||||
<string name="wifi_config_failed">Nepodařilo se nastavit WiFi</string>
|
||||
<string name="wifi_added">WiFi přidána</string>
|
||||
<string name="connect_to_wifi">Připojit k Wi-Fi</string>
|
||||
<string name="wifi_config_failed">Nepodařilo se nastavit Wi-Fi</string>
|
||||
<string name="wifi_added">Wi-Fi přidána</string>
|
||||
<string name="sms_send">Poslat SMS</string>
|
||||
<string name="sms_error">Nepodařilo se poslat SMS</string>
|
||||
<string name="tel_dial">Vytočit číslo</string>
|
||||
@@ -167,7 +175,7 @@
|
||||
<string name="export_database">SQLite databáze</string>
|
||||
<string name="saved_in_downloads">Uloženo do složky Stahování</string>
|
||||
<string name="rotate_image_cw">Otočit obrázek po směru hodinových ručiček</string>
|
||||
<string name="toggle_free_rotation">Toggle free rotation</string>
|
||||
<string name="toggle_free_rotation">Přepnout zámek natočení</string>
|
||||
<string name="pick_file">Vybrat obrázek</string>
|
||||
<string name="pick_code_to_scan">Vyberte kód k naskenování</string>
|
||||
<string name="shortcut_decode">Skenovat čárový kód</string>
|
||||
@@ -184,6 +192,6 @@
|
||||
<string name="wifi_anonymous_identity">Anonymní identita</string>
|
||||
<string name="wifi_identity">Identita</string>
|
||||
<string name="wifi_phase2">Ověření Phase 2</string>
|
||||
<string name="network_suggestions">Network suggestions</string>
|
||||
<string name="remove_suggestion">Remove suggestion</string>
|
||||
<string name="network_suggestions">Návrhy sítí</string>
|
||||
<string name="remove_suggestion">Odebrat návrh</string>
|
||||
</resources>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Størrelse i pixels</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Indtast indhold her</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">INDKOD</string>
|
||||
<string name="error_no_content">Manglende indhold</string>
|
||||
<string name="error_encoding_barcode">Stregkode kan ikke genereres</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Åbn i ekstern browser</string>
|
||||
<string name="test_url">Test URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Vil du virkelig fjerne scanningen?</string>
|
||||
<string name="really_remove_all_scans">Vil du virkelig fjerne alle scanninger?</string>
|
||||
<string name="really_remove_selected_scans">Vil du virkelig fjerne valgte scanninger?</string>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Größe in Pixel</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Gib den Inhalt hier ein</string>
|
||||
<string name="unescape">Escape-Sequenzen interpretieren</string>
|
||||
<string name="encode">KODIEREN</string>
|
||||
<string name="error_no_content">Fehlender Inhalt</string>
|
||||
<string name="error_encoding_barcode">Barcode kann nicht generiert werden</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">In externem Browser öffnen</string>
|
||||
<string name="test_url">Test URL</string>
|
||||
<string name="send_scan_bluetooth">Scans per Bluetooth weiterleiten</string>
|
||||
<string name="send_scan_bluetooth_summary">Aktivieren Sie diese Option, um Scans an das angegebene Bluetooth-Gerät weiterzuleiten.</string>
|
||||
<string name="send_scan_bluetooth_host">Gerät</string>
|
||||
<string name="no_bluetooth_hosts_paired">Keine Geräte verbunden</string>
|
||||
<string name="bluetooth_connect_fail">Es kann leider keine Verbindung zum Bluetooth-Gerät hergestellt werden</string>
|
||||
<string name="bluetooth_send_fail">Senden zum Bluetooth-Gerät fehlgeschlagen</string>
|
||||
<string name="bluetooth_send_success">Erfolgreich zum Bluetooth-Gerät gesendet</string>
|
||||
<string name="really_remove_scan">Code wirklich entfernen?</string>
|
||||
<string name="really_remove_all_scans">Alle Codes entfernen?</string>
|
||||
<string name="really_remove_selected_scans">Alle ausgewählten Codes entfernen?</string>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Tamaño en píxeles</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Introduzca el contenido aquí</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">CODIFICAR</string>
|
||||
<string name="error_no_content">Contenido no disponible</string>
|
||||
<string name="error_encoding_barcode">No se pudo generar el código de barras</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Abrir en el navegador</string>
|
||||
<string name="test_url">URL de prueba</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">¿Realmente desea borrar el escaneo seleccionado?</string>
|
||||
<string name="really_remove_all_scans">¿Realmente desea borrar todo lo escaneado?</string>
|
||||
<string name="really_remove_selected_scans">¿Realmente desea borrar los escaneos seleccionados?</string>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">اندازه به پیکسل</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">محتویات ورودی را اینجا بنویسید</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">رمزگذاری</string>
|
||||
<string name="error_no_content">محتویاتی نیست</string>
|
||||
<string name="error_encoding_barcode">بارکد نمیتواند ایجاد شود</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">گشودن در مرورگر خارجی</string>
|
||||
<string name="test_url">آزمودن نشانی</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">برای برداشتن پویش مطمئنید؟</string>
|
||||
<string name="really_remove_all_scans">برای برداشتن همهٔ پویشها مطمئنید؟</string>
|
||||
<string name="really_remove_selected_scans">برای برداشتن پویشهای برگزیده شده مطمئنید؟</string>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
<string name="size">Taille en pixels</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Votre contenu ici</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">ENCODER</string>
|
||||
<string name="error_no_content">Contenu manquant</string>
|
||||
<string name="error_encoding_barcode">Le code-barres ne peut pas être généré</string>
|
||||
@@ -125,6 +126,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Ouvrir dans un navigateur externe</string>
|
||||
<string name="test_url">Tester l\'URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Supprimer le scan ?</string>
|
||||
<string name="really_remove_all_scans">Supprimer tous les scans ?</string>
|
||||
<string name="really_remove_selected_scans">Supprimer les scans sélectionnés ?</string>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Méret képpontban</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Itt adja meg a tartalmat</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">KÓDOLÁS</string>
|
||||
<string name="error_no_content">Hiányzó tartalom</string>
|
||||
<string name="error_encoding_barcode">A vonalkódot nem lehet előállítani</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Megnyitás külső böngészőben</string>
|
||||
<string name="test_url">Teszt URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Valóban eltávolítja a beolvasást?</string>
|
||||
<string name="really_remove_all_scans">Valóban eltávolítja az összes beolvasását?</string>
|
||||
<string name="really_remove_selected_scans">Valóban eltávolítja a kijelölt beolvasásokat?</string>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
<string name="size">Ukuran dalam piksel</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Masukkan konten di sini</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">ENKODE</string>
|
||||
<string name="error_no_content">Tidak ada konten</string>
|
||||
<string name="error_encoding_barcode">Barcode tidak bisa dibuat</string>
|
||||
@@ -123,6 +124,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Buka di peramban eksternal</string>
|
||||
<string name="test_url">URL Tes</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Yakin menghapus pindaian?</string>
|
||||
<string name="really_remove_all_scans">Yakin menghapus semua pindaian?</string>
|
||||
<string name="really_remove_selected_scans">Yakin menghapus pindaian yang dipilih?</string>
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<item quantity="other">%2$d caratteri, %1$s</item>
|
||||
</plurals>
|
||||
<string name="error_correction_level">Livello correzione errori</string>
|
||||
<string name="error_correction_level_l" formatted="false">Basso (correzione del ~7%)</string>
|
||||
<string name="error_correction_level_m" formatted="false">Medio (correzione del ~15%)</string>
|
||||
<string name="error_correction_level_q" formatted="false">Quartile (correzione del ~25%)</string>
|
||||
<string name="error_correction_level_h" formatted="false">Alto (correzione del ~30%)</string>
|
||||
<string name="error_correction_level_l" formatted="false">Basso (correzione ~7%)</string>
|
||||
<string name="error_correction_level_m" formatted="false">Medio (correzione ~15%)</string>
|
||||
<string name="error_correction_level_q" formatted="false">Quartile (correzione ~25%)</string>
|
||||
<string name="error_correction_level_h" formatted="false">Alto (correzione ~30%)</string>
|
||||
<string name="colors">Colore primo piano/sfondo</string>
|
||||
<string name="colors_black_on_white">Nero su bianco</string>
|
||||
<string name="colors_white_on_black">Bianco su nero</string>
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Dimensioni (pixel)</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Inserisci qui il contenuto</string>
|
||||
<string name="unescape">Espandi sequenze escape</string>
|
||||
<string name="encode">CODIFICA</string>
|
||||
<string name="error_no_content">Contenuto mancante</string>
|
||||
<string name="error_encoding_barcode">Il codice a barre non può essere generato</string>
|
||||
@@ -77,7 +78,7 @@
|
||||
<string name="try_harder">Ottimizza il lettore per accuratezza</string>
|
||||
<string name="try_harder_summary">Attiva questa opzione per codici molto difficili da leggere. Riduce le prestazioni.</string>
|
||||
<string name="show_toast_in_bulk_mode">Visualizza i dati in modalità continua</string>
|
||||
<string name="show_toast_in_bulk_mode_summary">Durante la scansione continua vsualizza brevemente i dati scansionati.</string>
|
||||
<string name="show_toast_in_bulk_mode_summary">Durante la scansione continua visualizza brevemente i dati scansionati.</string>
|
||||
<string name="vibrate">Vibra quando rilevato</string>
|
||||
<string name="vibrate_summary">Attivalo se vuoi che il dispositivo vibri quando viene riconosciuto un codice.</string>
|
||||
<string name="beep">Beep al rilevamento</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Apri nel browser esterno</string>
|
||||
<string name="test_url">Prova URL</string>
|
||||
<string name="send_scan_bluetooth">Inoltra scansioni con Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Abilita per inoltrare le scansioni ad un determinato host Bluetooth.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">Nessun host accoppiato</string>
|
||||
<string name="bluetooth_connect_fail">Impossibile connettersi al dispositivo Bluetooth.</string>
|
||||
<string name="bluetooth_send_fail">Impossibile inviare al dispositivo Bluetooth.</string>
|
||||
<string name="bluetooth_send_success">Invio via Bluetooth riuscito.</string>
|
||||
<string name="really_remove_scan">Vuoi rimuovere la scansione?</string>
|
||||
<string name="really_remove_all_scans">Vuoi rimuovere tutte le scansioni?</string>
|
||||
<string name="really_remove_selected_scans">Vuoi rimuovere le scansioni selezionate?</string>
|
||||
@@ -182,6 +190,6 @@
|
||||
<string name="wifi_anonymous_identity">Identità anonima</string>
|
||||
<string name="wifi_identity">Identità</string>
|
||||
<string name="wifi_phase2">Metodo fase 2</string>
|
||||
<string name="network_suggestions">Suggerimenti di rete</string>
|
||||
<string name="remove_suggestion">Cancella suggerimento</string>
|
||||
<string name="network_suggestions">Suggerimenti rete</string>
|
||||
<string name="remove_suggestion">Elimina suggerimento</string>
|
||||
</resources>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
<string name="size">大きさ(ピクセル)</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">ここに内容を入力</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">エンコード</string>
|
||||
<string name="error_no_content">内容が指定されていません</string>
|
||||
<string name="error_encoding_barcode">バーコードを作成できませんでした</string>
|
||||
@@ -123,6 +124,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">外部ブラウザで開く</string>
|
||||
<string name="test_url">URLをテスト</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">このスキャン履歴を削除しても宜しいですか?</string>
|
||||
<string name="really_remove_all_scans">全てのスキャン履歴を削除しても宜しいですか?</string>
|
||||
<string name="really_remove_selected_scans">選択されたスキャン履歴を削除しても宜しいですか?</string>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">ზომა პიქსელებში</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">შეიყვანეთ ტექსტი აქ</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">შექმნა"</string>
|
||||
<string name="error_no_content">მონაცემები არაა</string>
|
||||
<string name="error_encoding_barcode">შტრიხ-კოდის შექმნა შეუძლებელია</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Open in external browser</string>
|
||||
<string name="test_url">Test URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">ნამდვილად გსურთ სკანირების წაშლა?</string>
|
||||
<string name="really_remove_all_scans">ნამდვილად გსურთ ყველაფრის წაშლა?</string>
|
||||
<string name="really_remove_selected_scans">ნამდვილად გსურთ შერჩეული შტრიხ-კოდების წაშლა?</string>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
<string name="content">Content</string>
|
||||
<string name="binary_data">(binary data)</string>
|
||||
<plurals name="barcode_info">
|
||||
<item quantity="one">%2$d character, %1$s</item>
|
||||
<item quantity="other">%2$d characters, %1$s</item>
|
||||
</plurals>
|
||||
<string name="error_correction_level">Error correction level</string>
|
||||
@@ -43,6 +42,7 @@
|
||||
<string name="size">Size in pixels</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Input content here</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">ENCODE</string>
|
||||
<string name="error_no_content">Missing content</string>
|
||||
<string name="error_encoding_barcode">Barcode cannot be generated</string>
|
||||
@@ -124,6 +124,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Open in external browser</string>
|
||||
<string name="test_url">Test URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Really remove scan?</string>
|
||||
<string name="really_remove_all_scans">Really remove all scans?</string>
|
||||
<string name="really_remove_selected_scans">Really remove selected scans?</string>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Afmeting in pixels</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Voer hier de inhoud in</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">Coderen</string>
|
||||
<string name="error_no_content">Inhoud ontbreekt</string>
|
||||
<string name="error_encoding_barcode">Kan geen barcode aanmaken</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST toepassing/json</string>
|
||||
<string name="send_type_external_browser">Open in external browser</string>
|
||||
<string name="test_url">Test URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Scan echt verwijderen?</string>
|
||||
<string name="really_remove_all_scans">Alle scans echt verwijderen?</string>
|
||||
<string name="really_remove_selected_scans">Geselecteerde scans verwijderen?</string>
|
||||
|
||||
@@ -63,6 +63,12 @@
|
||||
<string name="really_remove_scan">Czy naprawdę usunąć skan?</string>
|
||||
<string name="really_remove_selected_scans">Czy naprawdę usunąć wybrane skany?</string>
|
||||
<string name="binary_data">(dane binarne)</string>
|
||||
<plurals name="barcode_info">
|
||||
<item quantity="one">%2$d character, %1$s</item>
|
||||
<item quantity="few">%2$d characters, %1$s</item>
|
||||
<item quantity="many">%2$d characters, %1$s</item>
|
||||
<item quantity="other">%2$d characters, %1$s</item>
|
||||
</plurals>
|
||||
<string name="show_hex_dump">Pokazuj zrzut szesnastkowy</string>
|
||||
<string name="show_hex_dump_summary">Pokaż zeskanowaną zawartośc w postaci szesnastkowej</string>
|
||||
<string name="show_recreation">Show recreated barcode</string>
|
||||
@@ -138,6 +144,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Otwórz w zewnętrznej przeglądarce</string>
|
||||
<string name="test_url">Testuj URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="copy_password">Skopiuj hasło do schowka</string>
|
||||
<string name="copied_password_to_clipboard">Hasło skopiowane do schowka</string>
|
||||
<string name="gtin_price">Sugerowana cena</string>
|
||||
@@ -161,6 +174,7 @@
|
||||
<string name="cannot_resolve_action">Żadna aplikacja nie może tego otworzyć</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Wprowadź zawartość tutaj</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="pick_list_separator">Jak oddzielić elementy listy?</string>
|
||||
<string name="enter_name">Wprowadź nazwę opisującą skan</string>
|
||||
<string name="auto_rotate">Rozpoznawaj kody kreskowe 1D pionowo</string>
|
||||
|
||||
@@ -34,15 +34,16 @@
|
||||
<string name="share_as">Compartilhar em qual formato?</string>
|
||||
<string name="copy_to_clipboard">Copiar ao clipboard</string>
|
||||
<string name="copied_to_clipboard">Copiado ao clipboard</string>
|
||||
<string name="copy_password">Copiar senha ao clipboard</string>
|
||||
<string name="copy_password">Copiar a senha ao clipboard</string>
|
||||
<string name="copied_password_to_clipboard">Senha copiada ao clipboard</string>
|
||||
<string name="open_url">Abrir a URL</string>
|
||||
<string name="cannot_resolve_action">Nenhum app consegue abrir isto</string>
|
||||
<string name="cannot_resolve_action">Nenhum app pode abrir isto</string>
|
||||
<string name="pick_search_engine">Escolha site de busca</string>
|
||||
<string name="format">Formato</string>
|
||||
<string name="size">Tamanho em píxeis</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Digite algum conteúdo aqui</string>
|
||||
<string name="unescape">Expandir sequências de escape</string>
|
||||
<string name="encode">CODIFICAR</string>
|
||||
<string name="error_no_content">Digite algum conteúdo acima</string>
|
||||
<string name="error_encoding_barcode">Não foi possível gerar este código</string>
|
||||
@@ -54,7 +55,7 @@
|
||||
<string name="bulk_mode_delay">Adiar durante digitalização contínua</string>
|
||||
<string name="restrict_format">Limitar formato</string>
|
||||
<string name="remove_restriction">Remover limitação</string>
|
||||
<string name="scan_format">Escanear %s</string>
|
||||
<string name="scan_format">Digitalizar %s</string>
|
||||
<string name="quarter_second">Um quarto de segundo</string>
|
||||
<string name="half_second">Meio segundo</string>
|
||||
<string name="a_second">1 segundo</string>
|
||||
@@ -82,15 +83,15 @@
|
||||
<string name="vibrate_summary">Ative esta opção se quiser que seu dispositivo vibre ao reconhecer um código.</string>
|
||||
<string name="beep">Bipar ao reconhecer</string>
|
||||
<string name="beep_summary">Ative esta opção se quiser ouvir um bip ao reconhecer um código.</string>
|
||||
<string name="beep_tone">Sinal sonoro</string>
|
||||
<string name="tone_cdma_confirm">Confirmação do CDMA</string>
|
||||
<string name="tone_sup_confirm">Solicitar confirmação de controle</string>
|
||||
<string name="tone_sup_radio_ack">Solicitar confirmação do caminho de rádio</string>
|
||||
<string name="beep_tone">Tipo do bipe</string>
|
||||
<string name="tone_cdma_confirm">Confirmação CDMA</string>
|
||||
<string name="tone_sup_confirm">Confirmação de controle</string>
|
||||
<string name="tone_sup_radio_ack">Reconhecimento de caminho de rádio</string>
|
||||
<string name="tone_prop_ack">Reconhecimento positivo</string>
|
||||
<string name="tone_prop_beep">Bip geral</string>
|
||||
<string name="tone_prop_beep2">Bip duplo geral</string>
|
||||
<string name="tone_prop_beep">Bipe comum</string>
|
||||
<string name="tone_prop_beep2">Bipe duplo comum</string>
|
||||
<string name="use_history">Ativar histórico de digitalizações</string>
|
||||
<string name="use_history_summary">Salve códigos reconhecidos no seu dispositivo.</string>
|
||||
<string name="use_history_summary">Salve códigos reconhecidos no dispositivo.</string>
|
||||
<string name="ignore_consecutive_duplicates">Ignorar duplicações</string>
|
||||
<string name="ignore_consecutive_duplicates_summary">Não salvar duplicações consecutivas no histórico de digitalizações.</string>
|
||||
<string name="open_immediately">Abrir imediatamente</string>
|
||||
@@ -102,7 +103,7 @@
|
||||
<string name="show_hex_dump">Mostrar impressão hexadecimal</string>
|
||||
<string name="show_hex_dump_summary">Mostrar impressão hexadecimal de conteúdo digitalizado.</string>
|
||||
<string name="show_recreation">Mostrar código recriado</string>
|
||||
<string name="show_recreation_summary">Se possível, recriar e mostrar código de conteúdo lido.</string>
|
||||
<string name="show_recreation_summary">Se possível, recriar e mostrar código do conteúdo lido.</string>
|
||||
<string name="close_automatically">Voltar após copiar/compartilhar</string>
|
||||
<string name="close_automatically_summary">Voltar automaticamente à tela de digitalização após copiar ou compartilhar um código examinado.</string>
|
||||
<string name="default_search_engine">Abrir dados desconhecidos em</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Abrir em navegador externo</string>
|
||||
<string name="test_url">Testar a URL</string>
|
||||
<string name="send_scan_bluetooth">Encaminhar as digitalizações ao Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Ativar o encaminhamento de digitalizações ao determinado host de Bluetooth.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">Nenhum host emparelhado</string>
|
||||
<string name="bluetooth_connect_fail">Não foi possível conectar ao dispositivo de bluetooth.</string>
|
||||
<string name="bluetooth_send_fail">Não foi possível encaminhar para dispositivo de bluetooth.</string>
|
||||
<string name="bluetooth_send_success">Envio ao bluetooth concluído com sucesso.</string>
|
||||
<string name="really_remove_scan">Deseja remover esta digitalização?</string>
|
||||
<string name="really_remove_all_scans">Deseja remover todas as digitalizações?</string>
|
||||
<string name="really_remove_selected_scans">Deseja remover digitalizações selecionados?</string>
|
||||
@@ -131,12 +139,12 @@
|
||||
<string name="copy_scan">Copiar digitalização</string>
|
||||
<string name="edit_scan">Editar identificação</string>
|
||||
<string name="remove_scan">Remover digitalização</string>
|
||||
<string name="enter_name">Digite nome para identificar esta digitalização</string>
|
||||
<string name="enter_name">Digite um nome para identificar esta digitalização</string>
|
||||
<string name="enter_name_hint">Nome da digitalização</string>
|
||||
<string name="no_barcode_found">Nenhum código encontrado</string>
|
||||
<string name="pick_list_separator">Como separar itens da lista?</string>
|
||||
<string name="separator_line_break">Quebra de linha</string>
|
||||
<string name="separator_ruler">Régua</string>
|
||||
<string name="separator_ruler">Hífen</string>
|
||||
<string name="save_as_file_name">Salvar para Downloads?</string>
|
||||
<string name="file_name">Nome do arquivo</string>
|
||||
<string name="error_saving_file">Não foi possível salvar este arquivo</string>
|
||||
@@ -156,7 +164,7 @@
|
||||
<string name="vevent_failed">Não foi possível adicionar ao calendário</string>
|
||||
<string name="otpauth_add">Adicionar 2FA</string>
|
||||
<string name="search_web">Buscar na internet</string>
|
||||
<string name="search_scan">Buscar em digitalizações feitas</string>
|
||||
<string name="search_scan">Buscar nas digitalizações salvas</string>
|
||||
<string name="export_to_file">Exportar para arquivo</string>
|
||||
<string name="export_as">Exportar em qual formato?</string>
|
||||
<string name="export_csv_comma">Arquivo CSV com vírgulas</string>
|
||||
@@ -168,7 +176,7 @@
|
||||
<string name="toggle_free_rotation">Ativar rotação livre</string>
|
||||
<string name="pick_file">Escolha imagem</string>
|
||||
<string name="pick_code_to_scan">Escolha código para digitalizar</string>
|
||||
<string name="shortcut_decode">Escaneie código</string>
|
||||
<string name="shortcut_decode">Digitalizar código</string>
|
||||
<string name="shortcut_encode">Criar código</string>
|
||||
<string name="shortcut_preferences">Configurações</string>
|
||||
<string name="background_request_failed">A solicitação em segundo plano falhou</string>
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
<string name="size">Размер в пикселях</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Введите текст здесь</string>
|
||||
<string name="unescape">Раскрывать управляющие последовательности</string>
|
||||
<string name="encode">Создать</string>
|
||||
<string name="error_no_content">Нет данных</string>
|
||||
<string name="error_encoding_barcode">Штрих-код не может быть создан</string>
|
||||
@@ -126,6 +127,13 @@
|
||||
<string name="send_type_post_json">POST-приложение/json</string>
|
||||
<string name="send_type_external_browser">Открыть во внешнем браузере</string>
|
||||
<string name="test_url">Проверка URL</string>
|
||||
<string name="send_scan_bluetooth">Отправлять сканирования по bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Пересылать сканированные данные на указанный узел bluetooth.</string>
|
||||
<string name="send_scan_bluetooth_host">Узел</string>
|
||||
<string name="no_bluetooth_hosts_paired">Нет сопряжённых узлов</string>
|
||||
<string name="bluetooth_connect_fail">Невозможно подключиться к bluetooth-устройству.</string>
|
||||
<string name="bluetooth_send_fail">Невозможно отправить на bluetooth-устройство.</string>
|
||||
<string name="bluetooth_send_success">Успешно отправлено по bluetooth.</string>
|
||||
<string name="really_remove_scan">Удалить сканирование?</string>
|
||||
<string name="really_remove_all_scans">Удалить все сканирования?</string>
|
||||
<string name="really_remove_selected_scans">Удалить выбранные штрих-коды?</string>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Piksel türünde boyut</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">İçeriği buraya gir</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">KODLA</string>
|
||||
<string name="error_no_content">İçerik eksik</string>
|
||||
<string name="error_encoding_barcode">Barkod yaratılamadı</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Harici tarayıcıda aç</string>
|
||||
<string name="test_url">URL\'yi sına</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Tarama gerçekten silinsin mi?</string>
|
||||
<string name="really_remove_all_scans">Tüm taramalar gerçekten silinsin mi?</string>
|
||||
<string name="really_remove_selected_scans">Seçili taramalar gerçekten silinsin mi?</string>
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
<string name="size">Розмір у пікселях</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Введіть вміст сюди</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">КОДУВАТИ</string>
|
||||
<string name="error_no_content">Відсутній вміст</string>
|
||||
<string name="error_encoding_barcode">Неможливо створити штрих-код</string>
|
||||
@@ -125,6 +126,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Відкрити у зовнішньому браузері</string>
|
||||
<string name="test_url">Перевірити URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Дійсно видалити сканування?</string>
|
||||
<string name="really_remove_all_scans">Дійсно видалити всі сканування?</string>
|
||||
<string name="really_remove_selected_scans">Дійсно видалити вибрані сканування?</string>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
<string name="size">Kích cỡ theo pixel</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Nhập nội dung vào đây</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">MÃ HOÁ</string>
|
||||
<string name="error_no_content">Thiếu nội dung</string>
|
||||
<string name="error_encoding_barcode">Không thể tạo ra mã vạch</string>
|
||||
@@ -123,6 +124,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Open in external browser</string>
|
||||
<string name="test_url">URL thử</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Thật sự xoá lần quét này?</string>
|
||||
<string name="really_remove_all_scans">Thật sự xoá tất cả các lần quét?</string>
|
||||
<string name="really_remove_selected_scans">Thật sự xoá các lần quét được chọn?</string>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
<string name="size">图片尺寸</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">在这里输入内容</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">编码</string>
|
||||
<string name="error_no_content">缺少内容</string>
|
||||
<string name="error_encoding_barcode">无法生成条码</string>
|
||||
@@ -123,6 +124,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">在外部浏览器中打开</string>
|
||||
<string name="test_url">测试 URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">确定删除记录?</string>
|
||||
<string name="really_remove_all_scans">确定删除全部记录?</string>
|
||||
<string name="really_remove_selected_scans">确定删除所选记录?</string>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<resources>
|
||||
<string-array name="locale_names">
|
||||
<item>@string/follow_system_settings</item>
|
||||
<item>英文</item>
|
||||
<item>德文</item>
|
||||
<item>西班牙</item>
|
||||
<item>法文</item>
|
||||
<item>匈牙利</item>
|
||||
<item>印尼</item>
|
||||
<item>義大利</item>
|
||||
<item>喬治亞</item>
|
||||
<item>荷蘭</item>
|
||||
<item>波斯</item>
|
||||
<item>波蘭</item>
|
||||
<item>巴西 (葡萄牙)</item>
|
||||
<item>俄羅斯</item>
|
||||
<item>土耳其</item>
|
||||
<item>烏克蘭</item>
|
||||
<item>中文</item>
|
||||
<item>繁體中文</item>
|
||||
<item>簡體中文</item>
|
||||
<item>日文</item>
|
||||
<item>捷克</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -1,8 +1,8 @@
|
||||
<resources>
|
||||
<string name="camera_error">不能開啓相機,請重試</string>
|
||||
<string name="camera_error">無法開啟相機,請再試一次</string>
|
||||
<string name="scan_code">掃描條碼</string>
|
||||
<string name="compose_barcode">製作條碼</string>
|
||||
<string name="decode_barcode">解讀條碼</string>
|
||||
<string name="decode_barcode">解析條碼</string>
|
||||
<string name="content">内容</string>
|
||||
<string name="binary_data">(二進位資料)</string>
|
||||
<plurals name="barcode_info">
|
||||
@@ -13,7 +13,7 @@
|
||||
<string name="error_correction_level_m" formatted="false">中 (~15% 準確度)</string>
|
||||
<string name="error_correction_level_q" formatted="false">較高 (~25% 準確度)</string>
|
||||
<string name="error_correction_level_h" formatted="false">高 (~30% 準確度)</string>
|
||||
<string name="colors">前景和背景</string>
|
||||
<string name="colors">前景與背景</string>
|
||||
<string name="colors_black_on_white">白底黑字</string>
|
||||
<string name="colors_white_on_black">黑底白字</string>
|
||||
<string name="colors_black_on_transparent">透明底黑字</string>
|
||||
@@ -26,22 +26,23 @@
|
||||
<string name="gtin_price">建議價格</string>
|
||||
<string name="gtin_add_on">UPC EAN 擴充</string>
|
||||
<string name="barcode_version_number">版本</string>
|
||||
<string name="qr_version_and_modules">%1$s (%2$d modules)</string>
|
||||
<string name="toggle_flash">開關閃光燈</string>
|
||||
<string name="error_flash">開關閃光燈時發生錯誤</string>
|
||||
<string name="qr_version_and_modules">%1$s (%2$d 模組)</string>
|
||||
<string name="toggle_flash">控制閃光燈</string>
|
||||
<string name="error_flash">控制閃光燈時發生錯誤</string>
|
||||
<string name="share">分享</string>
|
||||
<string name="share_as">以何種方式分享?</string>
|
||||
<string name="share_as">您要以何種方式分享?</string>
|
||||
<string name="copy_to_clipboard">複製到剪貼簿</string>
|
||||
<string name="copied_to_clipboard">已複製到剪貼簿</string>
|
||||
<string name="copy_password">複製密碼到剪貼簿</string>
|
||||
<string name="copied_password_to_clipboard">已複製密碼到剪貼簿</string>
|
||||
<string name="open_url">開啟連結</string>
|
||||
<string name="cannot_resolve_action">沒有相關程式可以開啟它</string>
|
||||
<string name="cannot_resolve_action">沒有可開啟這個項目的應用程式</string>
|
||||
<string name="pick_search_engine">選擇一個搜尋引擎</string>
|
||||
<string name="format">格式</string>
|
||||
<string name="size">圖片尺寸</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">在這裡輸入內容</string>
|
||||
<string name="input_content_here">請在這裡輸入內容</string>
|
||||
<string name="unescape">展開逸出序列</string>
|
||||
<string name="encode">編碼</string>
|
||||
<string name="error_no_content">缺少內容</string>
|
||||
<string name="error_encoding_barcode">無法產生條碼</string>
|
||||
@@ -49,120 +50,127 @@
|
||||
<string name="info">關於</string>
|
||||
<string name="switch_camera">切換相機</string>
|
||||
<string name="bulk_mode">連續掃描</string>
|
||||
<string name="bulk_mode_summary">始終開啟連續掃描。</string>
|
||||
<string name="bulk_mode_summary">始終開啟連續掃描</string>
|
||||
<string name="bulk_mode_delay">連續掃描間的延遲</string>
|
||||
<string name="restrict_format">限制格式</string>
|
||||
<string name="remove_restriction">刪除限制</string>
|
||||
<string name="scan_format">掃描 %s</string>
|
||||
<string name="quarter_second">四分之一秒</string>
|
||||
<string name="half_second">半秒</string>
|
||||
<string name="a_second">一秒</string>
|
||||
<string name="two_seconds">兩秒</string>
|
||||
<string name="five_seconds">五秒</string>
|
||||
<string name="a_second">1 秒</string>
|
||||
<string name="two_seconds">2 秒</string>
|
||||
<string name="five_seconds">5 秒</string>
|
||||
<string name="history">歷史記錄</string>
|
||||
<string name="preferences">偏好設定</string>
|
||||
<string name="preferences">設定</string>
|
||||
<string name="scan_category">掃描</string>
|
||||
<string name="content_category">內容</string>
|
||||
<string name="locale_category">語言</string>
|
||||
<string name="custom_locale">設定語言</string>
|
||||
<string name="follow_system_settings">跟隨系統設定</string>
|
||||
<string name="show_crop_handle">顯示裁切範圍選擇器</string>
|
||||
<string name="show_crop_handle_summary">把掃描區域限制在選定範圍內。</string>
|
||||
<string name="show_crop_handle_summary">將掃描區域限制在指定範圍內</string>
|
||||
<string name="barcode_formats">條碼格式</string>
|
||||
<string name="zoom_by_swiping">上下滑動縮放</string>
|
||||
<string name="zoom_by_swiping_summary">通過上下滑動在掃描界面控制相機縮放。</string>
|
||||
<string name="zoom_by_swiping_summary">透過上下滑動在掃描介面控制相機縮放</string>
|
||||
<string name="auto_rotate">識別豎直的 1D 條碼</string>
|
||||
<string name="auto_rotate_summary">自動旋轉相機以識別豎直的 1D 條碼(可能會影響一些裝置的掃描性能)</string>
|
||||
<string name="auto_rotate_summary">自動旋轉相機以識別豎直的 1D 條碼 (可能會影響某些裝置的掃描效能)</string>
|
||||
<string name="try_harder">提高掃描準確度</string>
|
||||
<string name="try_harder_summary">掃描很難識別的條碼時可啟用此選項,但會降低掃描速度。</string>
|
||||
<string name="try_harder_summary">掃描不易識別的條碼時可啟用此選項,但會降低速度</string>
|
||||
<string name="show_toast_in_bulk_mode">在連續掃描模式中顯示資料</string>
|
||||
<string name="show_toast_in_bulk_mode_summary">連續掃描時簡要顯示掃描資料。</string>
|
||||
<string name="vibrate">振動提示</string>
|
||||
<string name="vibrate_summary">識別條碼時振動提示。</string>
|
||||
<string name="beep">Beep on detection</string>
|
||||
<string name="beep_summary">Enable this if you want your device to beep when a code is recognized.</string>
|
||||
<string name="beep_tone">Beep tone</string>
|
||||
<string name="tone_cdma_confirm">CDMA confirm</string>
|
||||
<string name="tone_sup_confirm">Call supervisory confirm</string>
|
||||
<string name="tone_sup_radio_ack">Call supervisory radio path acknowledgment</string>
|
||||
<string name="tone_prop_ack">Positive acknowledgment</string>
|
||||
<string name="tone_prop_beep">General beep</string>
|
||||
<string name="tone_prop_beep2">General double beep</string>
|
||||
<string name="show_toast_in_bulk_mode_summary">連續掃描時簡要顯示掃描資料</string>
|
||||
<string name="vibrate">震動提醒</string>
|
||||
<string name="vibrate_summary">識別條碼時震動</string>
|
||||
<string name="beep">偵測音效</string>
|
||||
<string name="beep_summary">若您希望裝置識別條碼時提醒,請啟用這個選項</string>
|
||||
<string name="beep_tone">提示音調</string>
|
||||
<string name="tone_cdma_confirm">CDMA 確認</string>
|
||||
<string name="tone_sup_confirm">呼叫監控確認</string>
|
||||
<string name="tone_sup_radio_ack">呼叫監控無線電台應答</string>
|
||||
<string name="tone_prop_ack">積極應答</string>
|
||||
<string name="tone_prop_beep">標準嗶聲</string>
|
||||
<string name="tone_prop_beep2">標準連續嗶聲</string>
|
||||
<string name="use_history">儲存掃描記錄</string>
|
||||
<string name="use_history_summary">在本機儲存掃描記錄。</string>
|
||||
<string name="use_history_summary">在本機儲存掃描記錄</string>
|
||||
<string name="ignore_consecutive_duplicates">不儲存重複歷史記錄</string>
|
||||
<string name="ignore_consecutive_duplicates_summary">在掃描歷史中不儲存連續的重複項目。</string>
|
||||
<string name="ignore_consecutive_duplicates_summary">掃描記錄中不儲存連續的重複項目</string>
|
||||
<string name="open_immediately">立即開啟</string>
|
||||
<string name="open_immediately_summary">跳過檢查並立即開啟內容。如果啟用,可能會開啟有害內容。</string>
|
||||
<string name="open_immediately_summary">跳過檢查並立即開啟。可能會開啟有害內容</string>
|
||||
<string name="copy_immediately">自動複製掃描結果到剪貼簿</string>
|
||||
<string name="copy_immediately_summary">自動將掃描的內容複製到剪貼簿。請注意,其他 App 可能會在背景監控剪貼簿。</string>
|
||||
<string name="show_meta_data">顯示 Metadata</string>
|
||||
<string name="show_meta_data_summary">顯示已掃描條碼的額外資訊。</string>
|
||||
<string name="copy_immediately_summary">自動將掃描內容複製到剪貼簿。請注意,其他應用程式可能會在背景監控剪貼簿</string>
|
||||
<string name="show_meta_data">顯示中繼資料</string>
|
||||
<string name="show_meta_data_summary">顯示已掃描條碼的額外資訊</string>
|
||||
<string name="show_hex_dump">顯示 Hex dump</string>
|
||||
<string name="show_hex_dump_summary">顯示已掃描條碼的 Hex dump。</string>
|
||||
<string name="show_recreation">顯示重新創建的條碼</string>
|
||||
<string name="show_recreation_summary">如果可以,就從讀取內容中重新創建並顯示條碼。</string>
|
||||
<string name="close_automatically">複製/分享後自動返回</string>
|
||||
<string name="close_automatically_summary">複製或分享讀取的內容後自動返回掃描主要界面。</string>
|
||||
<string name="default_search_engine">使用何種方式開啟未知資料</string>
|
||||
<string name="show_hex_dump_summary">顯示已掃描條碼的十六進位轉儲資訊</string>
|
||||
<string name="show_recreation">顯示重新產生的條碼</string>
|
||||
<string name="show_recreation_summary">如果可以,從讀取內容中重新建立並顯示條碼</string>
|
||||
<string name="close_automatically">複製 / 分享後自動返回</string>
|
||||
<string name="close_automatically_summary">複製或分享讀取的內容後自動返回掃描畫面</string>
|
||||
<string name="default_search_engine">開啟未知資料的方式</string>
|
||||
<string name="always_ask">總是詢問</string>
|
||||
<string name="open_with_url">使用 URL 開啟未知資料</string>
|
||||
<string name="clear_network_suggestions">清除網路建議</string>
|
||||
<string name="clear_network_suggestions_summary">移除此 App 之前提供的所有網路建議。</string>
|
||||
<string name="really_remove_all_networks">真的要移除所有網路嗎?</string>
|
||||
<string name="clear_network_suggestions_summary">移除應用程式先前提供的所有網路建議</string>
|
||||
<string name="really_remove_all_networks">您確定要移除所有網路嗎?</string>
|
||||
<string name="clear_network_suggestions_success">網路建議已清除</string>
|
||||
<string name="clear_network_suggestions_nothing_to_remove">沒有什麼可以移除的</string>
|
||||
<string name="clear_network_suggestions_nothing_to_remove">沒有可移除的項目</string>
|
||||
<string name="send_category">轉發</string>
|
||||
<string name="send_scan_active">轉發掃描</string>
|
||||
<string name="send_scan_active_summary">啟用以將掃描轉發到給定的 URL</string>
|
||||
<string name="send_scan_active_summary">啟用以將掃描轉發到指定 URL</string>
|
||||
<string name="send_scan_url">將每個掃描結果傳送到 URL</string>
|
||||
<string name="send_scan_type">每次掃描的請求類型</string>
|
||||
<string name="send_type_get_add_content">GET 簡單附加資料</string>
|
||||
<string name="send_type_get_query_string">GET 完整查詢資料</string>
|
||||
<string name="send_type_post_form">POST application/x-www-form-urlencoded</string>
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">在外部瀏覽器中開啟</string>
|
||||
<string name="send_type_external_browser">以外部瀏覽器開啟</string>
|
||||
<string name="test_url">測試 URL</string>
|
||||
<string name="really_remove_scan">確定刪除記錄?</string>
|
||||
<string name="really_remove_all_scans">確定刪除全部掃描記錄?</string>
|
||||
<string name="really_remove_selected_scans">確定刪除所選掃描記錄?</string>
|
||||
<string name="send_scan_bluetooth">透過藍牙轉發掃描</string>
|
||||
<string name="send_scan_bluetooth_summary">啟用以將掃描轉發到指定藍牙裝置</string>
|
||||
<string name="send_scan_bluetooth_host">主機</string>
|
||||
<string name="no_bluetooth_hosts_paired">沒有配對主機</string>
|
||||
<string name="bluetooth_connect_fail">無法連線到藍牙裝置</string>
|
||||
<string name="bluetooth_send_fail">無法傳送到藍牙裝置</string>
|
||||
<string name="bluetooth_send_success">藍牙傳送完成</string>
|
||||
<string name="really_remove_scan">確定刪除記錄?</string>
|
||||
<string name="really_remove_all_scans">確定要刪除所有掃描記錄?</string>
|
||||
<string name="really_remove_selected_scans">確定要刪除選擇的掃描記錄?</string>
|
||||
<string name="clear_history">清空記錄</string>
|
||||
<string name="copy_scan">複製掃描記錄</string>
|
||||
<string name="edit_scan">編輯名稱</string>
|
||||
<string name="remove_scan">刪除所選記錄</string>
|
||||
<string name="enter_name">輸入名稱</string>
|
||||
<string name="enter_name_hint">掃描描述</string>
|
||||
<string name="no_barcode_found">未找到條碼</string>
|
||||
<string name="pick_list_separator">如何分隔清單項目?</string>
|
||||
<string name="no_barcode_found">找不到條碼</string>
|
||||
<string name="pick_list_separator">如何分隔清單項目?</string>
|
||||
<string name="separator_line_break">換行符號</string>
|
||||
<string name="separator_ruler">分割線</string>
|
||||
<string name="save_as_file_name">在下載資料夾儲存為檔案?</string>
|
||||
<string name="save_as_file_name">在下載資料夾儲存為檔案?</string>
|
||||
<string name="file_name">檔案名稱</string>
|
||||
<string name="error_saving_file">無法儲存檔案</string>
|
||||
<string name="error_file_exists">檔案已存在</string>
|
||||
<string name="connect_to_wifi">連線到 WiFi</string>
|
||||
<string name="wifi_config_failed">無法配置 WiFi</string>
|
||||
<string name="wifi_added">WiFi 已加入</string>
|
||||
<string name="connect_to_wifi">連線到 Wi-Fi</string>
|
||||
<string name="wifi_config_failed">無法配置 Wi-Fi</string>
|
||||
<string name="wifi_added">已加入 Wi-Fi</string>
|
||||
<string name="sms_send">發送簡訊</string>
|
||||
<string name="sms_error">無法發送簡訊</string>
|
||||
<string name="tel_dial">撥打號碼</string>
|
||||
<string name="tel_error">無法撥打此號碼</string>
|
||||
<string name="mail_send">發送郵件</string>
|
||||
<string name="mail_error">無法發送郵件</string>
|
||||
<string name="vcard_add">加入到通訊錄</string>
|
||||
<string name="vcard_failed">無法加入到通訊錄</string>
|
||||
<string name="vevent_add">加入到日曆</string>
|
||||
<string name="vevent_failed">無法加入到日曆</string>
|
||||
<string name="vcard_add">加入通訊錄</string>
|
||||
<string name="vcard_failed">無法加入通訊錄</string>
|
||||
<string name="vevent_add">加入日曆</string>
|
||||
<string name="vevent_failed">無法加入日曆</string>
|
||||
<string name="otpauth_add">加入雙重驗證 (2FA)</string>
|
||||
<string name="search_web">在網路上搜尋</string>
|
||||
<string name="search_scan">搜尋掃描記錄</string>
|
||||
<string name="export_to_file">匯出為檔案</string>
|
||||
<string name="export_as">另存為?</string>
|
||||
<string name="export_to_file">匯出檔案</string>
|
||||
<string name="export_as">另存為?</string>
|
||||
<string name="export_csv_comma">逗號分隔的 CSV 檔案</string>
|
||||
<string name="export_csv_semicolon">分號分隔的 CSV 檔案</string>
|
||||
<string name="export_json">JSON 檔案</string>
|
||||
<string name="export_database">導出 SQLite 資料庫</string>
|
||||
<string name="saved_in_downloads">已儲存到下載目錄</string>
|
||||
<string name="export_database">匯出 SQLite 資料庫</string>
|
||||
<string name="saved_in_downloads">已儲存至下載資料夾</string>
|
||||
<string name="rotate_image_cw">順時針旋轉圖片</string>
|
||||
<string name="toggle_free_rotation">切換自由旋轉</string>
|
||||
<string name="pick_file">選擇圖片檔案</string>
|
||||
@@ -177,10 +185,10 @@
|
||||
<string name="wifi_type">驗證類型</string>
|
||||
<string name="wifi_password">密碼</string>
|
||||
<string name="wifi_hidden">隱藏的網路</string>
|
||||
<string name="wifi_eap">EAP method</string>
|
||||
<string name="wifi_eap">EAP 方式</string>
|
||||
<string name="wifi_anonymous_identity">匿名身分</string>
|
||||
<string name="wifi_identity">身分</string>
|
||||
<string name="wifi_phase2">Phase 2 method</string>
|
||||
<string name="network_suggestions">Network suggestions</string>
|
||||
<string name="remove_suggestion">Remove suggestion</string>
|
||||
<string name="wifi_phase2">Phase 2 方式</string>
|
||||
<string name="network_suggestions">網路建議</string>
|
||||
<string name="remove_suggestion">移除建議</string>
|
||||
</resources>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<resources>
|
||||
<string-array name="bluetooth_host_names">
|
||||
<item>@string/no_bluetooth_hosts_paired</item>
|
||||
</string-array>
|
||||
<string-array name="bluetooth_host_values">
|
||||
<item>@string/no_bluetooth_hosts_paired_value</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -3,4 +3,5 @@
|
||||
<string name="url_hint" translatable="false">http://example.com/</string>
|
||||
<string name="url_hint_add_content" translatable="false">http://example.com/?content=</string>
|
||||
<string name="project_url" translatable="false">https://github.com/markusfisch/BinaryEye</string>
|
||||
<string name="no_bluetooth_hosts_paired_value" translatable="false" />
|
||||
</resources>
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
<string name="size">Size in pixels</string>
|
||||
<string name="width_by_height">%1$d×%2$d</string>
|
||||
<string name="input_content_here">Input content here</string>
|
||||
<string name="unescape">Expand escape sequences</string>
|
||||
<string name="encode">ENCODE</string>
|
||||
<string name="error_no_content">Missing content</string>
|
||||
<string name="error_encoding_barcode">Barcode cannot be generated</string>
|
||||
@@ -124,6 +125,13 @@
|
||||
<string name="send_type_post_json">POST application/json</string>
|
||||
<string name="send_type_external_browser">Open in external browser</string>
|
||||
<string name="test_url">Test URL</string>
|
||||
<string name="send_scan_bluetooth">Forward scans with Bluetooth</string>
|
||||
<string name="send_scan_bluetooth_summary">Enable to forwards scans to a given Bluetooth host.</string>
|
||||
<string name="send_scan_bluetooth_host">Host</string>
|
||||
<string name="no_bluetooth_hosts_paired">No Hosts Paired</string>
|
||||
<string name="bluetooth_connect_fail">Could not connect to bluetooth device.</string>
|
||||
<string name="bluetooth_send_fail">Could not send to bluetooth device.</string>
|
||||
<string name="bluetooth_send_success">Successful bluetooth send.</string>
|
||||
<string name="really_remove_scan">Really remove scan?</string>
|
||||
<string name="really_remove_all_scans">Really remove all scans?</string>
|
||||
<string name="really_remove_selected_scans">Really remove selected scans?</string>
|
||||
|
||||
@@ -91,6 +91,17 @@
|
||||
android:entries="@array/send_type_names"
|
||||
android:entryValues="@array/send_type_values"
|
||||
android:defaultValue="0"/>
|
||||
<android.support.v7.preference.SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:key="send_scan_bluetooth"
|
||||
android:title="@string/send_scan_bluetooth"
|
||||
android:summary="@string/send_scan_bluetooth_summary"/>
|
||||
<ListPreference
|
||||
android:key="send_scan_bluetooth_host"
|
||||
android:title="@string/send_scan_bluetooth_host"
|
||||
android:entries="@array/bluetooth_host_names"
|
||||
android:entryValues="@array/bluetooth_host_values"
|
||||
android:defaultValue="@string/no_bluetooth_hosts_paired_value"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/content_category">
|
||||
<android.support.v7.preference.SwitchPreferenceCompat
|
||||
|
||||
@@ -91,6 +91,17 @@
|
||||
android:entries="@array/send_type_names"
|
||||
android:entryValues="@array/send_type_values"
|
||||
android:defaultValue="0"/>
|
||||
<android.support.v7.preference.SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:key="send_scan_bluetooth"
|
||||
android:title="@string/send_scan_bluetooth"
|
||||
android:summary="@string/send_scan_bluetooth_summary"/>
|
||||
<ListPreference
|
||||
android:key="send_scan_bluetooth_host"
|
||||
android:title="@string/send_scan_bluetooth_host"
|
||||
android:entries="@array/bluetooth_host_names"
|
||||
android:entryValues="@array/bluetooth_host_values"
|
||||
android:defaultValue="@string/no_bluetooth_hosts_paired_value"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/content_category">
|
||||
<android.support.v7.preference.SwitchPreferenceCompat
|
||||
|
||||
@@ -86,6 +86,17 @@
|
||||
android:entries="@array/send_type_names"
|
||||
android:entryValues="@array/send_type_values"
|
||||
android:defaultValue="0"/>
|
||||
<android.support.v7.preference.SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:key="send_scan_bluetooth"
|
||||
android:title="@string/send_scan_bluetooth"
|
||||
android:summary="@string/send_scan_bluetooth_summary"/>
|
||||
<ListPreference
|
||||
android:key="send_scan_bluetooth_host"
|
||||
android:title="@string/send_scan_bluetooth_host"
|
||||
android:entries="@array/bluetooth_host_names"
|
||||
android:entryValues="@array/bluetooth_host_values"
|
||||
android:defaultValue="@string/no_bluetooth_hosts_paired_value"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/content_category">
|
||||
<android.support.v7.preference.SwitchPreferenceCompat
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package de.markusfisch.android.binaryeye.text
|
||||
|
||||
import junit.framework.TestCase.assertEquals
|
||||
import org.junit.Test
|
||||
|
||||
class EscapeTest {
|
||||
@Test
|
||||
fun oneLetter() {
|
||||
assertEquals("foo\\nbar".unescape(), "foo\nbar")
|
||||
assertEquals("foo\\tbar".unescape(), "foo\tbar")
|
||||
assertEquals("\\tfoo\\tbar\\n".unescape(), "\tfoo\tbar\n")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun specialChars() {
|
||||
assertEquals("foo\\\\bar".unescape(), "foo\\bar")
|
||||
assertEquals("foo\\\"bar".unescape(), "foo\"bar")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun hexCode() {
|
||||
assertEquals("\\x48\\x65\\x78".unescape(), "Hex")
|
||||
assertEquals("\\u263A".unescape(), "☺")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun incomplete() {
|
||||
assertEquals("foo\\".unescape(), "foo\\")
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
buildscript {
|
||||
ext {
|
||||
kotlin_version = '1.7.20'
|
||||
tools_version = '7.3.1'
|
||||
kotlin_version = '1.8.0'
|
||||
tools_version = '7.4.2'
|
||||
sdk_version = 33
|
||||
support_version = '25.3.1'
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Funguje na výšku i na šířku, dokáže přečíst otočené kódy,
|
||||
používá Material Design a v neposlední řadě umí čárové kódy i generovat.
|
||||
|
||||
Binary Eye pro skenování používá knihovnu ZXing ("Zebra Crossing").
|
||||
Pro skenování používá knihovnu ZXing-C++ ("Zebra Crossing").
|
||||
Podporované formáty: AZTEC, CODABAR, CODE 39, CODE 93, CODE 128,
|
||||
DATA MATRIX, EAN 8, EAN 13, ITF, PDF417, QR CODE, RSS 14, RSS EXPANDED,
|
||||
UPC A, UPC E and UPC EAN EXTENSION.
|
||||
UPC A, UPC E a UPC EAN EXTENSION.
|
||||
|
||||
Tato aplikace je open source:
|
||||
Tato aplikace má otevřený kód:
|
||||
https://github.com/markusfisch/BinaryEye
|
||||
|
||||
@@ -1 +1 @@
|
||||
Jen další skener čárových kódů pro Android. Zdarma, bez reklam a open source.
|
||||
Ještě další skener čárových kódů pro Android. Zdarma, bez reklam a s otevřeným kódem.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Ještě další čtečka čárových kódů
|
||||
@@ -0,0 +1,7 @@
|
||||
* Support sending scans via bluetooth
|
||||
* Fix resolving error correction level for recreation
|
||||
* Improve asset image compression
|
||||
* Update ZXing C++
|
||||
* Update Italian translation
|
||||
* Update Russian translation
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
* Support sending scans via bluetooth
|
||||
* Fix resolving error correction level for recreation
|
||||
* Improve asset image compression
|
||||
* Update ZXing C++
|
||||
* Update Italian translation
|
||||
* Update Russian translation
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
* Expand escape sequences in encoding input
|
||||
* Update Taiwan translation
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Works in portrait and landscape orientation, can read inverted codes,
|
||||
is Material Design and can also generate barcodes.
|
||||
|
||||
Uses the ZXing ("Zebra Crossing") barcode scanning library.
|
||||
Uses the ZXing-C++ ("Zebra Crossing") barcode scanning library.
|
||||
Supported barcode formats are: AZTEC, CODABAR, CODE 39, CODE 93, CODE 128,
|
||||
DATA MATRIX, EAN 8, EAN 13, ITF, PDF417, QR CODE, RSS 14, RSS EXPANDED,
|
||||
UPC A, UPC E and UPC EAN EXTENSION.
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 435 KiB After Width: | Height: | Size: 388 KiB |