Compare commits

...
70 Commits
Author SHA1 Message Date
Markus Fisch 947bbf3031 Advance version number to 1.44.0 2021-06-05 14:49:33 +02:00
GazandGitHub b3b57a7ba8 Update Traditional Chinese Translation 2021-06-04 15:29:00 +02:00
solokotandGitHub 1627f3ead9 Update Russian language 2021-06-03 13:53:53 +02:00
Heimen StoffelsandGitHub 4343f5da82 Update Dutch translation 2021-06-02 22:18:41 +02:00
Markus Fisch 67395a067d Add a setting to choose barcode formats to scan
This setting isn't available before Honeycomb because there is
no MultiSelectListPreference before.
2021-06-02 19:05:55 +02:00
Markus Fisch 0de571f3c1 Ask before removing network suggestions
To avoid unintentional removal.
2021-06-02 19:02:38 +02:00
Markus Fisch d83cd77a87 Update changelogs for F-Droid 2021-06-02 19:02:38 +02:00
Heimen StoffelsandGitHub 5ca7aff5df Updated Dutch translation 2021-06-02 18:58:19 +02:00
solokotandGitHub e4cc516a9b Updated & improved Russian language 2021-06-02 18:57:52 +02:00
Markus Fisch f160cf0953 Advance version number to 1.43.0 2021-06-01 22:04:17 +02:00
Markus Fisch ef5b5aa34a Add a preference to remove network suggestions
Because as it turns out, WiFi network suggestions cannot be removed
by the user. Which is pretty silly in my opinion. But anyway, now a
user can remove all the networks added by Binary Eye.
2021-06-01 21:57:20 +02:00
GazandGitHub 536ee5bc3d Update Traditional Chinese Translation 2021-05-25 12:03:51 +02:00
solokotandGitHub 0becada572 Update Russian language 2021-05-25 11:55:34 +02:00
Markus Fisch 0c773d6f05 Update changelogs for F-Droid 2021-05-24 22:19:23 +02:00
Markus Fisch f2df364840 Advance version number to 1.42.0 2021-05-24 22:18:26 +02:00
Markus Fisch 5740b43568 Add a setting to pick a default search engine
To open unknown data with.
2021-05-24 22:12:13 +02:00
GazandGitHub b384b99b01 Update zh-TW(Traditional Chinese) Translation 2021-05-23 12:21:27 +02:00
Heimen StoffelsandGitHub 6affa4ce25 Update Dutch translation 2021-05-18 18:40:05 +02:00
Markus Fisch 455d329fff Remove resolveActivity() for opening content
Because on Android 11+ resolveActivity() can no longer be used
to query if there's an app that can handle the intent for privacy
reasons.
2021-05-07 22:15:38 +02:00
Markus Fisch 792be87283 Advance version number to 1.41.1 2021-05-06 23:01:49 +02:00
Markus Fisch 381e10bddc Ignore exceptions in MultiFormatReader.decode()
Usually it's bad practice to blindly catch *all* exceptions
because this can hide problems we want to know about.

But since ZXing has some errors (like all software) and I don't
want this app to break in the hands of my users, which won't
see the stack trace anyway, it's better to just catch all
exceptions that may happen in MultiFormatReader.decode().
2021-05-06 17:19:49 +02:00
Markus Fisch 220d1b9d4c Remove useless context argument
The argument is never used except for calling the function again.
A leftover from an earlier implementation.
2021-05-06 17:10:00 +02:00
Markus Fisch 020cd2c192 Update tools and gradle version
And migrate from jcenter() back to mavenCentral().
2021-05-05 20:50:50 +02:00
OymateandGitHub e8766a0fd1 Update Bengali translation 2021-05-02 13:31:28 +02:00
yzqzssandGitHub 69c6d1324e Update Simplified Chinese (Zh-rCN) 2021-05-01 19:50:13 +02:00
Markus Fisch 2dd0c48225 Format comments like sentences
Makes reading multiline comments easier.
2021-04-27 19:59:21 +02:00
Markus Fisch faa536274b Update build tools 2021-04-27 19:58:31 +02:00
Markus Fisch 0a944f9fb8 Add latest changelog for F-Droid 2021-04-13 19:47:59 +02:00
Markus Fisch a31982646a Advance version number to 1.41.0 2021-04-10 14:19:54 +02:00
Markus Fisch 4320ee8fcc Crop by default for new installations
To increase performance on bad devices.
2021-04-10 14:13:29 +02:00
Markus Fisch d890bf28fa Fix creating Locale from resource format
Locale() requires the country part as secondary argument and
can't use the resource format "lang-country" directly.
2021-04-09 10:23:45 +02:00
Markus Fisch 6347bd568c Fix XMl of Bengali language 2021-04-07 12:15:03 +02:00
OymateandGitHub 9de11e2ae8 Add Bangla translation 2021-04-07 11:12:15 +02:00
Ryota HasegawaandGitHub 57c381e310 Add missing Japanese locale 2021-03-25 09:28:20 +01:00
Balázs ÚrandGitHub a11650eaa5 Update Hungarian language pack
* Update Hungarian translation
* Add Hungarian app description
2021-03-24 09:34:14 +01:00
solokotandGitHub e85b006e40 Update Russian app description 2021-03-20 19:59:29 +01:00
OymateandGitHub a6c25be316 Add translation for Bangla
* Create title.txt
* Create summary.txt
* Create short_description.txt
* Create full_description.txt
2021-03-20 17:44:48 +01:00
fossddandGitHub 2b011325a6 Add summary from other languages 2021-03-18 09:37:24 +01:00
Markus Fisch fb96d5ecf8 Rename fastlane locale directories
On request of F-Droid.
2021-03-17 20:28:34 +01:00
Markus Fisch 897d61a646 Truncate all toasts with strings from the outside
Ellipsize texts in Toasts after 128 characters to not clutter the UI
with too long texts.

There's at least one case where too long toast texts caused crashes:
https://github.com/markusfisch/BinaryEye/issues/166
2021-03-13 16:08:32 +01:00
Markus Fisch ac67db6491 Advance version number to 1.40.0 2021-03-09 20:09:19 +01:00
solokotandGitHub 84bc7dad30 Update Russian language 2021-03-09 20:03:32 +01:00
Markus Fisch b21af65b68 Only reset bulk mode if it's always enabled
Otherwise the current state would be lost and rotating the device
with bulk mode on would reset it.
2021-03-08 20:18:35 +01:00
Markus Fisch a7adec7177 Share hex dump if content is binary
Instead of just sharing "(binary data)" which is quite useless.
2021-03-08 20:13:25 +01:00
Markus Fisch fc6fcfa743 Only show the first 50 characters in data Toast
More is just cluttering the UI.
2021-03-08 19:58:05 +01:00
Markus Fisch 47f95fc67a Add a setting to show/hide Toast with scanned data
When scanning continuously.

If we are scanning many codes at once, this might be too
cumbersome.
2021-03-08 19:50:38 +01:00
solokotandGitHub deccc9eb36 Update Russian language 2021-03-08 19:27:02 +01:00
Markus Fisch 6505312b44 Add latest changelog for F-Droid 2021-03-02 20:07:26 +01:00
Markus Fisch cb82fc3252 Advance version number to 1.39.0 2021-03-02 20:06:15 +01:00
Markus Fisch 636ac2386a Add a setting to always start in bulk mode 2021-03-02 19:51:41 +01:00
Markus Fisch 49d32ff95c Remove trying to resolve activities on API 30+.
Avoid using `intent.resolveActivity()` at API level 30+ due to the
new package visibility restrictions. In order for `resolveActivity()`
to "see" another package, we would need to list that package/intent
in a `<queries>` block in the Manifest.

But since we used `resolveActivity()` only to avoid an exception
if the Intent cannot be resolved, it's much easier and more robust
to just try and catch that exception if necessary.

This fixes adding contacts (and other things) on API level 30+.
2021-03-02 19:12:56 +01:00
ElaborendumandGitHub fed7d561c5 Update Spanish translation 2021-02-27 11:34:59 +01:00
Markus Fisch 8e22290c5f Refactor settings label to change language
"Custom locale" is a bit too cumbersome.
2021-02-18 16:38:17 +01:00
ss11mikandGitHub b33e474d12 Update Czech translation
* Fix screwed indentation
* Add missing plural
* Add short_description.txt
* Add full_description.txt
2021-02-18 16:37:02 +01:00
ss11mikandGitHub 40a05a1fc0 Add Czech translation
* Add Czech translation
* Add Czech strings
2021-02-18 09:58:46 +01:00
Markus Fisch d947764882 Add latest changelog for F-Droid 2021-02-13 18:00:51 +01:00
Markus Fisch 1a5a8e0fa1 Advance version number to 1.38.0 2021-02-13 18:00:00 +01:00
Markus Fisch e6d9d54866 Add a quick settings tile to scan from settings 2021-02-12 15:29:59 +01:00
Markus Fisch 538155bf04 Optimize some vector drawables with avocado 2021-02-12 15:28:16 +01:00
Markus Fisch 3266a58041 Remove double icon 2021-02-12 15:27:48 +01:00
Markus Fisch d594a43d6d Make background requests time out after 5 seconds 2021-02-07 20:26:48 +01:00
gnuhead-chiebandGitHub 0aa1f80451 Add Japanese translation 2021-01-25 21:23:00 +01:00
Markus Fisch 36eff75546 Move clipboard and sharing functions into content 2021-01-24 19:41:12 +01:00
Markus Fisch 8aef9c22dd Move file saving functions into io folder 2021-01-24 19:35:29 +01:00
Markus Fisch 1a159b35ee Move soft keyboard extensions into view 2021-01-24 19:32:29 +01:00
Markus Fisch 05ab87caa8 Move system bar functions into view folder
Because the system bars are just views in the end.
2021-01-24 19:28:55 +01:00
Markus Fisch a3f0185f08 Refactor Content.kt to Fragments.kt
Because it's all about fragments really.
2021-01-24 19:24:01 +01:00
Markus Fisch 104f409486 Move Vibrator extension functions into os folder 2021-01-24 19:19:24 +01:00
Bastien JansenandGitHub eb8f578bd8 Updated French translation
* fixed a few incorrect/confusing translations
* added missing translations
2021-01-24 19:12:21 +01:00
Markus Fisch a8e420fc95 Add changelogs for F-Droid 2021-01-23 18:52:13 +01:00
117 changed files with 1814 additions and 643 deletions
+48
View File
@@ -1,5 +1,53 @@
# Change Log
## 1.44.0
* Add a setting to choose barcode formats to scan
* Ask before removing network suggestions
* Update Traditional Chinese Translation
* Update Russian language
* Update Dutch translation
## 1.43.0
* Add a preference item to remove WiFi network suggestions
* Update Traditional Chinese Translation
* Update Russian language
## 1.42.0
* Add a setting to pick a default search engine
* Update Traditional Chinese
* Update Dutch translation
## 1.41.1
* Update Bengali translation
* Update Simplified Chinese
## 1.41.0
* Use cropping limiter by default for new installations
* Truncate all toasts with strings from the outside
* Add Bangla translation
* Add missing Japanese locale
* Update Hungarian translation
* Update Russian app description
## 1.40.0
* Add a setting to show/hide scanned data when scanning continuously
* Only show the first 50 characters when scanning continuously
* Share binary data as hex dump
* Update Russian language
## 1.39.0
* Fix adding contacts and calendar entries on Android 11+
* Add a setting to always start in bulk mode
* Add Czech translation
* Update Spanish translation
* Update Czech translation
## 1.38.0
* Add a quick settings tile to scan from settings
* Make custom background requests time out after 5 seconds
* Add Japanese translation
* Updated French translation
## 1.37.0
* Improve formatting date and time in history listing
* Add haptic and audible feedback for background request errors
+2 -2
View File
@@ -9,8 +9,8 @@ android {
minSdkVersion 9
targetSdkVersion sdk_version
versionCode 76
versionName '1.37.0'
versionCode 84
versionName '1.44.0'
// it's recommended to set this value to the lowest API level
// able to provide all the functionality
+9
View File
@@ -89,6 +89,15 @@
android:name=".activity.MainActivity"
android:label="@string/app_name"
android:exported="true"/>
<service
android:name=".service.ScanTileService"
android:icon="@drawable/ic_action_scan"
android:label="@string/scan_code"
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE"/>
</intent-filter>
</service>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
@@ -2,8 +2,8 @@ package de.markusfisch.android.binaryeye.actions
import android.content.Context
import android.content.Intent
import de.markusfisch.android.binaryeye.app.execShareIntent
import de.markusfisch.android.binaryeye.app.parseAndNormalizeUri
import de.markusfisch.android.binaryeye.content.execShareIntent
import de.markusfisch.android.binaryeye.widget.toast
interface IAction {
@@ -21,7 +21,7 @@ abstract class IntentAction : IAction {
val intent = createIntent(context, data) ?: return context.toast(
errorMsg
)
execShareIntent(context, intent)
context.execShareIntent(intent)
}
abstract suspend fun createIntent(context: Context, data: ByteArray): Intent?
@@ -43,6 +43,6 @@ abstract class SchemeAction : IAction {
final override suspend fun execute(context: Context, data: ByteArray) {
val uri = parseAndNormalizeUri(String(data))
execShareIntent(context, Intent(intentAction, uri))
context.execShareIntent(Intent(intentAction, uri))
}
}
@@ -5,10 +5,9 @@ import android.content.Intent
import de.markusfisch.android.binaryeye.R
import de.markusfisch.android.binaryeye.actions.IAction
import de.markusfisch.android.binaryeye.app.alertDialog
import de.markusfisch.android.binaryeye.app.execShareIntent
import de.markusfisch.android.binaryeye.app.parseAndNormalizeUri
import de.markusfisch.android.binaryeye.app.prefs
import de.markusfisch.android.binaryeye.widget.toast
import de.markusfisch.android.binaryeye.content.startIntent
import java.net.URLEncoder
object OpenOrSearchAction : IAction {
@@ -18,28 +17,36 @@ object OpenOrSearchAction : IAction {
override fun canExecuteOn(data: ByteArray): Boolean = false
override suspend fun execute(context: Context, data: ByteArray) {
val intent = openUri(context, String(data)) ?: return
execShareIntent(context, intent)
view(context, String(data), true)
}
private suspend fun openUri(context: Context, data: String, search: Boolean = true): Intent? {
val uri = parseAndNormalizeUri(data)
val intent = Intent(Intent.ACTION_VIEW, uri)
when {
intent.resolveActivity(context.packageManager) != null -> return intent
search -> return getSearchIntent(context, data)
else -> context.toast(R.string.cannot_resolve_action)
private suspend fun view(context: Context, s: String, search: Boolean) {
val intent = Intent(Intent.ACTION_VIEW, parseAndNormalizeUri(s))
if (!context.startIntent(intent) && search) {
openSearch(context, s)
}
return null
}
private suspend fun getSearchIntent(context: Context, query: String): Intent? {
private suspend fun openSearch(context: Context, query: String) {
val defaultSearchUrl = prefs.defaultSearchUrl
if (defaultSearchUrl.isNotEmpty()) {
view(
context,
defaultSearchUrl + URLEncoder.encode(query, "utf-8"),
false
)
return
}
val names = context.resources.getStringArray(
R.array.search_engines_names
).toMutableList()
val urls = context.resources.getStringArray(
R.array.search_engines_values
).toMutableList()
// Remove the "Always ask" entry. The arrays search_engines_*
// are used in the preferences too.
names.removeFirst()
urls.removeFirst()
if (prefs.openWithUrl.isNotEmpty()) {
names.add(prefs.openWithUrl)
urls.add(prefs.openWithUrl)
@@ -49,7 +56,7 @@ object OpenOrSearchAction : IAction {
setItems(names.toTypedArray()) { _, which ->
resume(urls[which] + URLEncoder.encode(query, "utf-8"))
}
} ?: return null
return openUri(context, queryUri, false)
} ?: return
view(context, queryUri, false)
}
}
@@ -56,7 +56,8 @@ object VEventAction : IntentAction() {
}
}
@SuppressLint("SimpleDateFormat") // we definitely don't wan't the local format
// We definitely don't wan't the local format.
@SuppressLint("SimpleDateFormat")
private val dateFormats = listOf(
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"),
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"),
@@ -10,6 +10,12 @@ import android.support.annotation.RequiresApi
import de.markusfisch.android.binaryeye.R
import java.util.*
@RequiresApi(Build.VERSION_CODES.Q)
fun removeNetworkSuggestions(context: Context): Int =
(context.applicationContext.getSystemService(
Context.WIFI_SERVICE
) as WifiManager).removeNetworkSuggestions(listOf())
/**
* Normal:
* WIFI:S:[network SSID];T:<WPA|WEP|nopass|>;P:[network password];H:<true|false|>;;
@@ -45,7 +51,7 @@ object WifiConnector {
invoke(parsedData.password)
}
return if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
// WifiConfiguration is deprecated in Android Q
// WifiConfiguration is deprecated in Android Q.
@Suppress("DEPRECATION")
WifiConfiguration().apply(parsedData)
} else {
@@ -58,7 +64,7 @@ object WifiConnector {
Context.WIFI_SERVICE
) as WifiManager
return if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
// WifiConfiguration is deprecated in Android Q
// WifiConfiguration is deprecated in Android Q.
@Suppress("DEPRECATION")
val wifiConfig = config as WifiConfiguration
if (wifiManager.enableWifi() &&
@@ -72,7 +78,7 @@ object WifiConnector {
} else {
val suggestion = (config as WifiNetworkSuggestion.Builder).build()
val suggestions = listOf(suggestion)
// remove previous conflicting network suggestion
// Remove previous conflicting network suggestion.
wifiManager.removeNetworkSuggestions(suggestions)
val result = wifiManager.addNetworkSuggestions(suggestions)
if (result == WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS) {
@@ -84,11 +90,11 @@ object WifiConnector {
}
internal fun parseMap(string: String): Map<String, String>? {
// normally those codes should have the last semicolon, but many
// generators don't add it
// Normally those codes should have the last semicolon, but many
// generators don't add it.
val wifiRegex = """^WIFI:((?:.+?:(?:[^\\;]|\\.)*;)+);?$""".toRegex()
// should be: ^(.+):((?:[^\\;,":]|\\.)*);$ but allows unescaped , "
// and : because many QR Code creators don't escape properly
// Should be: ^(.+):((?:[^\\;,":]|\\.)*);$ but allows unescaped , "
// and : because many QR Code creators don't escape properly.
val pairRegex = """(.+?):((?:[^\\;]|\\.)*);""".toRegex()
return wifiRegex.matchEntire(
string
@@ -102,7 +108,7 @@ object WifiConnector {
internal class SimpleDataAccessor private constructor(
private val inputMap: Map<String, String>
) {
// this should be private but because of testing it isn't possible
// This should be private but because of testing it isn't possible.
internal val ssid: String
get() = inputMap.getValue("S").unescape
internal val securityType: String
@@ -212,7 +218,7 @@ object WifiConnector {
return this.applyCommon(data)?.applySecurity(data)
}
// WifiConfiguration is deprecated in Android Q
// WifiConfiguration is deprecated in Android Q.
@Suppress("DEPRECATION")
private fun WifiConfiguration.apply(
data: SimpleDataAccessor
@@ -274,7 +280,7 @@ object WifiConnector {
allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN)
allowedProtocols.set(WifiConfiguration.Protocol.RSN) // WPA2
allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP)
@Suppress("DEPRECATION") // TKIP is insecure and has bad performance
@Suppress("DEPRECATION") // TKIP is insecure and has bad performance.
allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP)
allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP)
allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP)
@@ -300,8 +306,8 @@ object WifiConnector {
}
}
// keep possibility of wrongly unescaped \ by explicitly searching
// for special chars
// Keep possibility of wrongly unescaped \ by explicitly searching
// for special chars.
private val escapedRegex = """\\([\\;,":])""".toRegex()
private val String.unescape: String
get() = this.replace(escapedRegex) { escaped ->
@@ -327,12 +333,12 @@ private fun String.isHex() = length == 64 && matches(hexRegex)
private fun WifiManager.enableWifi(): Boolean {
// setWifiEnabled() will always return false for Android Q
// because Q doesn't allow apps to enable/disable Wi-Fi anymore
// because Q doesn't allow apps to enable/disable Wi-Fi anymore.
@Suppress("DEPRECATION")
return isWifiEnabled || setWifiEnabled(true)
}
// WifiConfiguration is deprecated in Android Q
// WifiConfiguration is deprecated in Android Q.
@Suppress("DEPRECATION")
private fun WifiManager.removeOldNetwork(
wifiConfig: WifiConfiguration
@@ -345,13 +351,13 @@ private fun WifiManager.removeOldNetwork(
removeNetwork(it)
}
} catch (e: SecurityException) {
// the user didn't allow ACCESS_FINE_LOCATION which is
// required to access configuredNetworks and that's fine
// The user didn't allow ACCESS_FINE_LOCATION which is
// required to access configuredNetworks and that's fine.
}
return true
}
// WifiConfiguration is deprecated in Android Q
// WifiConfiguration is deprecated in Android Q.
@Suppress("DEPRECATION")
private fun WifiManager.enableNewNetwork(
wifiConfig: WifiConfiguration
@@ -26,12 +26,17 @@ import com.google.zxing.Result
import com.google.zxing.ResultMetadataType
import de.markusfisch.android.binaryeye.R
import de.markusfisch.android.binaryeye.app.*
import de.markusfisch.android.binaryeye.content.copyToClipboard
import de.markusfisch.android.binaryeye.content.execShareIntent
import de.markusfisch.android.binaryeye.database.Scan
import de.markusfisch.android.binaryeye.graphics.Mapping
import de.markusfisch.android.binaryeye.graphics.frameToView
import de.markusfisch.android.binaryeye.graphics.isPortrait
import de.markusfisch.android.binaryeye.net.sendAsync
import de.markusfisch.android.binaryeye.os.error
import de.markusfisch.android.binaryeye.os.vibrate
import de.markusfisch.android.binaryeye.rs.Preprocessor
import de.markusfisch.android.binaryeye.view.initSystemBars
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
import de.markusfisch.android.binaryeye.widget.DetectorView
import de.markusfisch.android.binaryeye.widget.toast
@@ -69,7 +74,7 @@ class CameraActivity : AppCompatActivity() {
private var decoding = true
private var returnResult = false
private var frontFacing = false
private var bulkMode = false
private var bulkMode = prefs.bulkMode
private var ignoreNext: String? = null
private var fallbackBuffer: IntArray? = null
@@ -114,7 +119,8 @@ class CameraActivity : AppCompatActivity() {
super.onCreate(state)
setContentView(R.layout.activity_camera)
// necessary to get the right translation after setting a custom locale
// Necessary to get the right translation after setting a
// custom locale.
setTitle(R.string.scan_code)
rs = RenderScript.create(this)
@@ -151,7 +157,15 @@ class CameraActivity : AppCompatActivity() {
override fun onResume() {
super.onResume()
System.gc()
zxing.updateHints(prefs.tryHarder)
zxing.updateHints(
prefs.tryHarder,
prefs.barcodeFormats
)
if (prefs.bulkMode && bulkMode != prefs.bulkMode) {
bulkMode = prefs.bulkMode
invalidateOptionsMenu()
ignoreNext = null
}
returnResult = "com.google.zxing.client.android.SCAN" == intent.action
if (hasCameraPermission(this)) {
openCamera()
@@ -183,7 +197,7 @@ class CameraActivity : AppCompatActivity() {
private fun closeCamera() {
cameraView.close()
// closing the camera will also shut off the flash
// Closing the camera will also shut off the flash.
flash = false
}
@@ -204,8 +218,8 @@ class CameraActivity : AppCompatActivity() {
}
override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
// always give crop handle precedence over other controls
// because it can easily overlap and would then be inaccessible
// Always give crop handle precedence over other controls
// because it can easily overlap and would then be inaccessible.
if (detectorView.onTouchEvent(ev)) {
return true
}
@@ -247,6 +261,7 @@ class CameraActivity : AppCompatActivity() {
R.id.bulk_mode -> {
bulkMode = bulkMode xor true
item.isChecked = bulkMode
ignoreNext = null
true
}
R.id.preferences -> {
@@ -276,11 +291,7 @@ class CameraActivity : AppCompatActivity() {
Intent.ACTION_VIEW,
Uri.parse(getString(R.string.project_url))
)
if (intent.resolveActivity(packageManager) != null) {
startActivity(intent)
} else {
toast(R.string.project_url)
}
execShareIntent(intent)
}
private fun handleSendText(intent: Intent) {
@@ -322,8 +333,8 @@ class CameraActivity : AppCompatActivity() {
}
}
MotionEvent.ACTION_UP -> {
// stop calling focusTo() as soon as it returns false
// to avoid throwing and catching future exceptions
// Stop calling focusTo() as soon as it returns false
// to avoid throwing and catching future exceptions.
if (focus) {
focus = cameraView.focusTo(v, event.x, event.y)
if (focus) {
@@ -371,9 +382,9 @@ class CameraActivity : AppCompatActivity() {
}
override fun onCameraReady(camera: Camera) {
// reset preprocessor to make sure it always fits the current
// frame orientation; important for landscape to landscape
// orientation changes
// Reset preprocessor to make sure it always fits the current
// frame orientation. Important for landscape to landscape
// orientation changes.
resetPreProcessor()
val frameWidth = cameraView.frameWidth
val frameHeight = cameraView.frameHeight
@@ -433,7 +444,7 @@ class CameraActivity : AppCompatActivity() {
params.zoom = zoom
camera.parameters = params
} catch (e: RuntimeException) {
// ignore; there's nothing we can do
// Ignore. There's nothing we can do.
}
}
}
@@ -504,7 +515,7 @@ class CameraActivity : AppCompatActivity() {
camera.parameters = parameters
flash = flash xor true
} catch (e: RuntimeException) {
// ignore; there's nothing we can do
// Ignore. There's nothing we can do.
}
}
}
@@ -548,9 +559,9 @@ class CameraActivity : AppCompatActivity() {
zxing.decode(frameData, w, h, invert)
} catch (e: RSRuntimeException) {
prefs.forceCompat = prefs.forceCompat xor true
// now the only option is to restart the app because
// Now the only option is to restart the app because
// RenderScript.forceCompat() needs to be called before
// RenderScript is initialized
// RenderScript is initialized.
restartApp(this)
null
}
@@ -604,12 +615,12 @@ class CameraActivity : AppCompatActivity() {
) {
null
} else {
// map ROI in detectorView to cameraView
// Map ROI in detectorView to cameraView.
val previewRect = cameraView.previewRect
// previewRect may be larger than the screen (and thus as the
// detectorView) in which case its left and/or top coordinate
// will be negative which must then be clamped to the
// screen/DetectorView
// screen/DetectorView.
val previewLeft = max(0, previewRect.left)
val previewTop = max(0, previewRect.top)
val previewRoi = Rect(
@@ -626,8 +637,8 @@ class CameraActivity : AppCompatActivity() {
previewRoi.right.toFloat() / previewRectWidth,
previewRoi.bottom.toFloat() / previewRectHeight
)
// since the ROI is always centered and symmetric, we don't
// need to distinguish between 0 and 180 or 90 and 270 degree
// Since the ROI is always centered and symmetric, we don't
// need to distinguish between 0 and 180 or 90 and 270 degree.
if (isPortrait(frameOrientation)) {
Rect(
(normalizedRoi.top * frameWidth.toFloat()).roundToInt(),
@@ -647,7 +658,7 @@ class CameraActivity : AppCompatActivity() {
}
private fun postResult(result: Result) {
// get mapping for the current rotate value
// Get mapping for the current rotate value.
val mapping = getMapping()
cameraView.post {
val rp = result.resultPoints
@@ -664,7 +675,9 @@ class CameraActivity : AppCompatActivity() {
)
if (bulkMode) {
ignoreNext = result.text
toast(result.text)
if (prefs.showToastInBulkMode) {
toast(result.text)
}
detectorView.postDelayed({
decoding = true
}, 500)
@@ -15,6 +15,8 @@ import de.markusfisch.android.binaryeye.fragment.DecodeFragment
import de.markusfisch.android.binaryeye.fragment.EncodeFragment
import de.markusfisch.android.binaryeye.fragment.HistoryFragment
import de.markusfisch.android.binaryeye.fragment.PreferencesFragment
import de.markusfisch.android.binaryeye.view.colorSystemAndToolBars
import de.markusfisch.android.binaryeye.view.initSystemBars
import de.markusfisch.android.binaryeye.view.recordToolbarHeight
class MainActivity : AppCompatActivity() {
@@ -20,7 +20,10 @@ import de.markusfisch.android.binaryeye.app.*
import de.markusfisch.android.binaryeye.graphics.crop
import de.markusfisch.android.binaryeye.graphics.loadImageUri
import de.markusfisch.android.binaryeye.graphics.mapResult
import de.markusfisch.android.binaryeye.os.vibrate
import de.markusfisch.android.binaryeye.rs.fixTransparency
import de.markusfisch.android.binaryeye.view.colorSystemAndToolBars
import de.markusfisch.android.binaryeye.view.initSystemBars
import de.markusfisch.android.binaryeye.view.recordToolbarHeight
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
import de.markusfisch.android.binaryeye.widget.CropImageView
@@ -51,10 +54,14 @@ class PickActivity : AppCompatActivity() {
super.onCreate(state)
setContentView(R.layout.activity_pick)
// necessary to get the right translation after setting a custom locale
// Necessary to get the right translation after setting a custom
// locale.
setTitle(R.string.pick_code_to_scan)
zxing.updateHints(true)
zxing.updateHints(
true,
prefs.barcodeFormats
)
rs = RenderScript.create(this)
vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
@@ -9,9 +9,9 @@ class SplashActivity : AppCompatActivity() {
override fun onCreate(state: Bundle?) {
super.onCreate(state)
// it's important _not_ to inflate a layout file here
// It's important _not_ to inflate a layout file here
// because that would happen after the app is fully
// initialized what is too late
// initialized what is too late.
setRestartCount(intent)
startActivity(Intent(applicationContext, CameraActivity::class.java))
@@ -75,7 +75,7 @@ class ScansAdapter(context: Context, cursor: Cursor) :
icon, 0, 0, 0
)
holder.formatView.text = prettifyFormatName(cursor.getString(formatIndex))
// view.isSelected needs to be put on the queue to work
// view.isSelected needs to be put on the queue to work.
val selected = cursor.getLong(idIndex) == selectedScanId
view.post {
view.isSelected = selected
@@ -6,7 +6,12 @@ import java.util.*
fun Context.applyLocale(localeName: String) {
if (localeName.isNotEmpty()) {
val locale = Locale(localeName)
val localeParts = localeName.split("-")
val locale = if (localeParts.size == 2) {
Locale(localeParts[0], localeParts[1])
} else {
Locale(localeName)
}
Locale.setDefault(locale)
val conf = resources.configuration
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
@@ -1,4 +1,4 @@
package de.markusfisch.android.binaryeye.app
package de.markusfisch.android.binaryeye.content
import android.content.ClipData
import android.content.Context
@@ -1,5 +1,6 @@
package de.markusfisch.android.binaryeye.app
package de.markusfisch.android.binaryeye.content
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
import android.net.Uri
@@ -10,11 +11,32 @@ import de.markusfisch.android.binaryeye.R
import de.markusfisch.android.binaryeye.widget.toast
import java.io.File
fun Context.execShareIntent(intent: Intent) {
if (!startIntent(intent)) {
toast(R.string.cannot_resolve_action)
}
}
fun Context.startIntent(intent: Intent) = try {
// Avoid using `intent.resolveActivity()` at API level 30+ due
// to the new package visibility restrictions. In order for
// `resolveActivity()` to "see" another package, we would need
// to list that package/intent in a `<queries>` block in the
// Manifest. But since we used `resolveActivity()` only to avoid
// an exception if the Intent cannot be resolved, it's much easier
// and more robust to just try and catch that exception if
// necessary.
startActivity(intent)
true
} catch (e: ActivityNotFoundException) {
false
}
fun shareText(context: Context, text: String, type: String = "text/plain") {
val intent = Intent(Intent.ACTION_SEND)
intent.putExtra(Intent.EXTRA_TEXT, text)
intent.type = type
execShareIntent(context, intent)
context.execShareIntent(intent)
}
fun shareUri(context: Context, uri: Uri, type: String) {
@@ -22,15 +44,7 @@ fun shareUri(context: Context, uri: Uri, type: String) {
intent.putExtra(Intent.EXTRA_STREAM, uri)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
intent.type = type
execShareIntent(context, intent)
}
fun execShareIntent(context: Context, intent: Intent) {
if (intent.resolveActivity(context.packageManager) != null) {
context.startActivity(intent)
} else {
context.toast(R.string.cannot_resolve_action)
}
context.execShareIntent(intent)
}
fun shareFile(context: Context, file: File, type: String) {
@@ -3,7 +3,7 @@ package de.markusfisch.android.binaryeye.database
import android.content.Context
import android.database.Cursor
import de.markusfisch.android.binaryeye.app.toHexString
import de.markusfisch.android.binaryeye.app.writeExternalFile
import de.markusfisch.android.binaryeye.io.writeExternalFile
import java.io.ByteArrayOutputStream
import java.io.OutputStream
@@ -2,7 +2,7 @@ package de.markusfisch.android.binaryeye.database
import android.app.Activity
import android.os.Environment
import de.markusfisch.android.binaryeye.app.writeExternalFile
import de.markusfisch.android.binaryeye.io.writeExternalFile
import java.io.File
import java.io.FileInputStream
@@ -3,7 +3,7 @@ package de.markusfisch.android.binaryeye.database
import android.content.Context
import android.database.Cursor
import de.markusfisch.android.binaryeye.app.toHexString
import de.markusfisch.android.binaryeye.app.writeExternalFile
import de.markusfisch.android.binaryeye.io.writeExternalFile
import org.json.JSONArray
import org.json.JSONException
import org.json.JSONObject
@@ -138,8 +138,12 @@ private fun getRawBytes(result: Result): ByteArray? {
for (seg in segments as Iterable<ByteArray>) {
bytes += seg
}
// byte segments can never be shorter than the text.
// Zxing cuts off content prefixes like "WIFI:"
// If the byte segments are shorter than the converted string, the
// content of the QR Code has been encoded with different encoding
// modes (e.g. some parts in alphanumeric, some in byte encoding).
// This is because Zxing only records byte segments for byte encoded
// parts. Please note the byte segments can actually be longer than
// the string because Zxing cuts off prefixes like "WIFI:".
return if (bytes.size >= result.text.length) bytes else null
}
@@ -11,7 +11,13 @@ import android.widget.EditText
import com.google.zxing.BarcodeFormat
import com.google.zxing.EncodeHintType
import de.markusfisch.android.binaryeye.R
import de.markusfisch.android.binaryeye.app.*
import de.markusfisch.android.binaryeye.app.hasWritePermission
import de.markusfisch.android.binaryeye.content.copyToClipboard
import de.markusfisch.android.binaryeye.content.shareFile
import de.markusfisch.android.binaryeye.content.shareText
import de.markusfisch.android.binaryeye.io.addSuffixIfNotGiven
import de.markusfisch.android.binaryeye.io.toSaveResult
import de.markusfisch.android.binaryeye.io.writeExternalFile
import de.markusfisch.android.binaryeye.view.doOnApplyWindowInsets
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
import de.markusfisch.android.binaryeye.widget.ConfinedScalingImageView
@@ -87,7 +93,7 @@ class BarcodeFragment : Fragment() {
)
imageView.setImageBitmap(barcodeBitmap)
imageView.post {
// make sure to invoke this after ScalingImageView.onLayout()
// Make sure to invoke this after ScalingImageView.onLayout().
imageView.minWidth /= 2f
}
@@ -142,7 +148,7 @@ class BarcodeFragment : Fragment() {
.show()
}
// dialogs do not have a parent view
// Dialogs do not have a parent view.
@SuppressLint("InflateParams")
private fun askForFileNameAndSave(fileType: FileType) {
val ac = activity ?: return
@@ -17,7 +17,12 @@ import de.markusfisch.android.binaryeye.actions.wifi.WifiAction
import de.markusfisch.android.binaryeye.activity.MainActivity
import de.markusfisch.android.binaryeye.adapter.prettifyFormatName
import de.markusfisch.android.binaryeye.app.*
import de.markusfisch.android.binaryeye.content.copyToClipboard
import de.markusfisch.android.binaryeye.content.shareText
import de.markusfisch.android.binaryeye.database.Scan
import de.markusfisch.android.binaryeye.io.askForFileName
import de.markusfisch.android.binaryeye.io.toSaveResult
import de.markusfisch.android.binaryeye.io.writeExternalFile
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
import de.markusfisch.android.binaryeye.widget.toast
import kotlinx.coroutines.CoroutineScope
@@ -41,6 +46,7 @@ class DecodeFragment : Fragment() {
private var closeAutomatically = false
private var action = ActionRegistry.DEFAULT_ACTION
private var isBinary = false
private var raw: ByteArray = ByteArray(0)
private var id = 0L
override fun onCreate(state: Bundle?) {
@@ -72,7 +78,7 @@ class DecodeFragment : Fragment() {
isBinary = hasNonPrintableCharacters(
inputContent
) or inputContent.isEmpty()
val raw = scan.raw ?: inputContent.toByteArray()
raw = scan.raw ?: inputContent.toByteArray()
format = scan.format
contentView = view.findViewById(R.id.content)
@@ -216,13 +222,13 @@ class DecodeFragment : Fragment() {
true
}
R.id.copy_to_clipboard -> {
copyToClipboard(content)
copyToClipboard(textOrHex())
maybeBackOrFinish()
true
}
R.id.share -> {
context?.also {
shareText(it, content)
shareText(it, textOrHex())
maybeBackOrFinish()
}
true
@@ -243,6 +249,12 @@ class DecodeFragment : Fragment() {
}
}
private fun textOrHex() = if (isBinary) {
raw.toHexString()
} else {
content
}
private fun copyPasswordToClipboard() {
val ac = action
if (ac is WifiAction) {
@@ -12,8 +12,8 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel
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.hideSoftKeyboard
import de.markusfisch.android.binaryeye.app.prefs
import de.markusfisch.android.binaryeye.view.hideSoftKeyboard
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
import java.util.*
@@ -21,12 +21,15 @@ import android.widget.ListView
import de.markusfisch.android.binaryeye.R
import de.markusfisch.android.binaryeye.adapter.ScansAdapter
import de.markusfisch.android.binaryeye.app.*
import de.markusfisch.android.binaryeye.content.copyToClipboard
import de.markusfisch.android.binaryeye.content.shareText
import de.markusfisch.android.binaryeye.database.Database
import de.markusfisch.android.binaryeye.database.exportCsv
import de.markusfisch.android.binaryeye.database.exportDatabase
import de.markusfisch.android.binaryeye.database.exportJson
import de.markusfisch.android.binaryeye.view.setPaddingFromWindowInsets
import de.markusfisch.android.binaryeye.view.useVisibility
import de.markusfisch.android.binaryeye.io.askForFileName
import de.markusfisch.android.binaryeye.io.toSaveResult
import de.markusfisch.android.binaryeye.view.*
import de.markusfisch.android.binaryeye.widget.toast
import kotlinx.coroutines.*
@@ -221,7 +224,7 @@ class HistoryFragment : Fragment() {
true
}
R.id.export_history -> {
askToExportToFile(context)
askToExportToFile()
true
}
else -> super.onOptionsItemSelected(item)
@@ -262,7 +265,7 @@ class HistoryFragment : Fragment() {
View.GONE
}
cursor?.let { cursor ->
// close previous cursor
// Close previous cursor.
scansAdapter?.also { it.changeCursor(null) }
scansAdapter = ScansAdapter(ac, cursor)
listView.adapter = scansAdapter
@@ -295,7 +298,7 @@ class HistoryFragment : Fragment() {
DecodeFragment.newInstance(scan)
)
} catch (e: IllegalArgumentException) {
// ignore, can never happen
// Ignore, can never happen.
}
}
@@ -304,7 +307,7 @@ class HistoryFragment : Fragment() {
return cursor?.getString(cursor.getColumnIndex(Database.SCANS_NAME))
}
// dialogs don't have a parent layout
// Dialogs don't have a parent layout.
@SuppressLint("InflateParams")
private fun askForName(context: Context, id: Long, text: String?) {
val view = LayoutInflater.from(context).inflate(
@@ -357,11 +360,11 @@ class HistoryFragment : Fragment() {
.show()
}
private fun askToExportToFile(context: Context) {
private fun askToExportToFile() {
scope.launch {
val ac = activity ?: return@launch
progressView.useVisibility {
if (!hasWritePermission(ac) { askToExportToFile(context) }) {
if (!hasWritePermission(ac) { askToExportToFile() }) {
return@useVisibility
}
val options = context.resources.getStringArray(
@@ -1,21 +1,28 @@
package de.markusfisch.android.binaryeye.fragment
import android.app.Activity
import android.app.AlertDialog
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
import android.net.wifi.WifiManager
import android.os.Build
import android.os.Bundle
import android.support.annotation.RequiresApi
import android.support.v14.preference.MultiSelectListPreference
import android.support.v7.preference.ListPreference
import android.support.v7.preference.Preference
import android.support.v7.preference.PreferenceFragmentCompat
import android.support.v7.preference.PreferenceGroup
import de.markusfisch.android.binaryeye.R
import de.markusfisch.android.binaryeye.actions.wifi.removeNetworkSuggestions
import de.markusfisch.android.binaryeye.activity.SplashActivity
import de.markusfisch.android.binaryeye.app.prefs
import de.markusfisch.android.binaryeye.app.systemBarRecyclerViewScrollListener
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
class PreferencesFragment : PreferenceFragmentCompat() {
private val changeListener = object : OnSharedPreferenceChangeListener {
@@ -36,6 +43,43 @@ class PreferencesFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(state: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.preferences)
activity?.setTitle(R.string.preferences)
wireClearNetworkPreferences()
}
private fun wireClearNetworkPreferences() {
val pref = findPreference("clear_network_suggestions") ?: return
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
pref.isVisible = false
} else {
pref.setOnPreferenceClickListener { _ ->
askToClearNetworkSuggestions(context)
true
}
}
}
@RequiresApi(Build.VERSION_CODES.Q)
private fun askToClearNetworkSuggestions(context: Context) {
AlertDialog.Builder(context)
.setMessage(R.string.really_remove_all_networks)
.setPositiveButton(android.R.string.ok) { _, _ ->
clearNetworkSuggestions(context)
}
.setNegativeButton(android.R.string.cancel) { _, _ -> }
.show()
}
@RequiresApi(Build.VERSION_CODES.Q)
private fun clearNetworkSuggestions(context: Context) {
context.toast(
if (
removeNetworkSuggestions(context) == WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS
) {
R.string.clear_network_suggestions_success
} else {
R.string.clear_network_suggestions_nothing_to_remove
}
)
}
override fun onResume() {
@@ -81,6 +125,13 @@ class PreferencesFragment : PreferenceFragmentCompat() {
is ListPreference -> {
preference.setSummary(preference.entry)
}
is MultiSelectListPreference -> {
preference.setSummary(
preference.values.joinToString(", ") {
it.replace(Regex("_"), " ")
}
)
}
is PreferenceGroup -> {
setSummaries(preference)
}
@@ -98,6 +149,6 @@ private fun Activity.restartApp() {
}
startActivity(intent)
finish()
// restart to begin with an unmodified Locale to follow system settings
// Restart to begin with an unmodified Locale to follow system settings.
Runtime.getRuntime().exit(0)
}
@@ -72,7 +72,7 @@ data class Mapping(
}
fun map(points: Array<ResultPoint?>): List<Point> =
// because ZXing apparently returns null in this array sometimes
// Because ZXing apparently returns null in this array sometimes.
points.filterNotNull().map { map(it) }
private fun rotate(point: Point) = when (frameOrientation) {
@@ -1,4 +1,4 @@
package de.markusfisch.android.binaryeye.app
package de.markusfisch.android.binaryeye.io
import android.app.Activity
import android.content.ContentValues
@@ -9,6 +9,7 @@ import android.provider.MediaStore
import android.support.annotation.MainThread
import android.widget.EditText
import de.markusfisch.android.binaryeye.R
import de.markusfisch.android.binaryeye.app.alertDialog
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
@@ -87,6 +87,7 @@ private fun request(
var con: HttpURLConnection? = null
return try {
con = URL(url).openConnection() as HttpURLConnection
con.connectTimeout = 5000
writer?.invoke(con)
val body = con.inputStream.readHead()
Response(con.responseCode, body)
@@ -1,8 +1,9 @@
package de.markusfisch.android.binaryeye.app
package de.markusfisch.android.binaryeye.os
import android.os.Build
import android.os.VibrationEffect
import android.os.Vibrator
import de.markusfisch.android.binaryeye.app.prefs
private const val MILLISECONDS = 100L
private val errorPatternTimings = longArrayOf(
@@ -2,17 +2,43 @@ package de.markusfisch.android.binaryeye.preference
import android.content.Context
import android.content.SharedPreferences
import android.os.Build
import android.preference.PreferenceManager
import android.support.annotation.RequiresApi
class Preferences {
lateinit var preferences: SharedPreferences
var cropHandleX = -1
var barcodeFormats = setOf(
"AZTEC",
"CODABAR",
"CODE_39",
"CODE_93",
"CODE_128",
"DATA_MATRIX",
"EAN_8",
"EAN_13",
"ITF",
"MAXICODE",
"PDF_417",
"QR_CODE",
"RSS_14",
"RSS_EXPANDED",
"UPC_A",
"UPC_E",
"UPC_EAN_EXTENSION"
)
@RequiresApi(Build.VERSION_CODES.HONEYCOMB)
set(value) {
apply(BARCODE_FORMATS, value)
field = value
}
var cropHandleX = -2 // -2 means set default roi.
set(value) {
apply(CROP_HANDLE_X, value)
field = value
}
var cropHandleY = -1
var cropHandleY = -2
set(value) {
apply(CROP_HANDLE_Y, value)
field = value
@@ -34,18 +60,32 @@ class Preferences {
}
var autoRotate = false
set(value) {
// immediately save this setting before it shouldn't change
// on the fly while scanning
// Immediately save this setting before it shouldn't change
// on the fly while scanning.
commit(AUTO_ROTATE, value)
field = value
}
var tryHarder = false
set(value) {
// immediately save this setting because it's only ever read
// before the camera is opened
// Immediately save this setting because it's only ever read
// before the camera is opened.
commit(TRY_HARDER, value)
field = value
}
var bulkMode = false
set(value) {
// Immediately save this setting because it's only ever read
// before the camera is opened.
commit(BULK_MODE, value)
field = value
}
var showToastInBulkMode = true
set(value) {
// Immediately save this setting because it's only ever read
// before the camera is opened.
commit(SHOW_TOAST_IN_BULK_MODE, value)
field = value
}
var vibrate = true
set(value) {
apply(VIBRATE, value)
@@ -86,6 +126,11 @@ class Preferences {
apply(CLOSE_AUTOMATICALLY, value)
field = value
}
var defaultSearchUrl = ""
set(value) {
apply(DEFAULT_SEARCH_URL, value)
field = value
}
var openWithUrl: String = ""
set(value) {
apply(OPEN_WITH_URL, value)
@@ -113,8 +158,8 @@ class Preferences {
}
var forceCompat: Boolean = false
set(value) {
// since the app may be about to crash when forceCompat is set,
// it's necessary to `commit()` this synchronously
// Since the app may be about to crash when forceCompat is set,
// it's necessary to `commit()` this synchronously.
commit(FORCE_COMPAT, value)
field = value
}
@@ -125,16 +170,29 @@ class Preferences {
}
fun update() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
preferences.getStringSet(BARCODE_FORMATS, barcodeFormats)?.let {
barcodeFormats = it
}
}
cropHandleX = preferences.getInt(CROP_HANDLE_X, cropHandleX)
cropHandleY = preferences.getInt(CROP_HANDLE_Y, cropHandleY)
cropHandleOrientation = preferences.getInt(
CROP_HANDLE_ORIENTATION,
cropHandleOrientation
)
showCropHandle = preferences.getBoolean(SHOW_CROP_HANDLE, showCropHandle)
showCropHandle = preferences.getBoolean(
SHOW_CROP_HANDLE,
showCropHandle
)
zoomBySwiping = preferences.getBoolean(ZOOM_BY_SWIPING, zoomBySwiping)
autoRotate = preferences.getBoolean(AUTO_ROTATE, autoRotate)
tryHarder = preferences.getBoolean(TRY_HARDER, tryHarder)
bulkMode = preferences.getBoolean(BULK_MODE, bulkMode)
showToastInBulkMode = preferences.getBoolean(
SHOW_TOAST_IN_BULK_MODE,
showToastInBulkMode
)
vibrate = preferences.getBoolean(VIBRATE, vibrate)
useHistory = preferences.getBoolean(USE_HISTORY, useHistory)
ignoreConsecutiveDuplicates = preferences.getBoolean(
@@ -155,6 +213,9 @@ class Preferences {
CLOSE_AUTOMATICALLY,
closeAutomatically
)
preferences.getString(DEFAULT_SEARCH_URL, defaultSearchUrl)?.also {
defaultSearchUrl = it
}
preferences.getString(OPEN_WITH_URL, openWithUrl)?.also {
openWithUrl = it
}
@@ -193,7 +254,13 @@ class Preferences {
preferences.edit().putInt(label, value).apply()
}
@RequiresApi(Build.VERSION_CODES.HONEYCOMB)
private fun apply(label: String, value: Set<String>) {
preferences.edit().putStringSet(label, value).apply()
}
companion object {
const val BARCODE_FORMATS = "barcode_formats"
const val CROP_HANDLE_X = "crop_handle_x"
const val CROP_HANDLE_Y = "crop_handle_y"
const val CROP_HANDLE_ORIENTATION = "crop_handle_orientation"
@@ -201,6 +268,8 @@ class Preferences {
const val ZOOM_BY_SWIPING = "zoom_by_swiping"
const val AUTO_ROTATE = "auto_rotate"
const val TRY_HARDER = "try_harder"
const val BULK_MODE = "bulk_mode"
const val SHOW_TOAST_IN_BULK_MODE = "show_toast_in_bulk_mode"
const val VIBRATE = "vibrate"
const val USE_HISTORY = "use_history"
const val IGNORE_CONSECUTIVE_DUPLICATES = "ignore_consecutive_duplicates"
@@ -209,6 +278,7 @@ class Preferences {
const val SHOW_META_DATA = "show_meta_data"
const val SHOW_HEX_DUMP = "show_hex_dump"
const val CLOSE_AUTOMATICALLY = "close_automatically"
const val DEFAULT_SEARCH_URL = "default_search_url"
const val OPEN_WITH_URL = "open_with_url"
const val SEND_SCAN_URL = "send_scan_url"
const val SEND_SCAN_TYPE = "send_scan_type"
@@ -60,11 +60,11 @@ class Preprocessor(
outWidth = (roiWidth * SCALE_FACTOR).roundToInt()
outHeight = (roiHeight * SCALE_FACTOR).roundToInt()
// make sure the dimensions are always a multiple of 4
// Make sure the dimensions are always a multiple of 4.
outWidth -= outWidth % 4
outHeight -= outHeight % 4
// make sure the dimensions are always greater than 4
// Make sure the dimensions are always greater than 4.
outWidth = max(4, outWidth)
outHeight = max(4, outHeight)
} else {
@@ -130,7 +130,7 @@ class Preprocessor(
rotateScript._inWidth = t.x
rotateScript._inHeight = t.y
rotateScript.forEach_rotate90(
rotatedAlloc, // ignored in kernel, just to satisfy forEach
rotatedAlloc, // Ignored in kernel, just to satisfy forEach.
rotatedAlloc
)
rotatedAlloc?.copyTo(frame)
@@ -0,0 +1,18 @@
package de.markusfisch.android.binaryeye.service
import android.content.Intent
import android.os.Build
import android.service.quicksettings.TileService
import android.support.annotation.RequiresApi
import de.markusfisch.android.binaryeye.activity.CameraActivity
@RequiresApi(Build.VERSION_CODES.N)
class ScanTileService : TileService() {
@RequiresApi(Build.VERSION_CODES.N)
override fun onClick() {
super.onClick()
val intent = Intent(applicationContext, CameraActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivityAndCollapse(intent)
}
}
@@ -1,4 +1,4 @@
package de.markusfisch.android.binaryeye.app
package de.markusfisch.android.binaryeye.view
import android.content.Context
import android.view.View
@@ -1,4 +1,4 @@
package de.markusfisch.android.binaryeye.app
package de.markusfisch.android.binaryeye.view
import android.content.Context
import android.content.ContextWrapper
@@ -20,8 +20,8 @@ val systemBarListViewScrollListener = object : AbsListView.OnScrollListener {
visibleItemCount: Int,
totalItemCount: Int
) {
// give Android some time to settle down before running this,
// not putting it on the queue makes it only work sometimes
// Give Android some time to settle down before running this,
// not putting it on the queue makes it only work sometimes.
view.post {
val scrolled = firstVisibleItem > 0 ||
(totalItemCount > 0 && firstChildScrolled(view))
@@ -59,7 +59,7 @@ private fun lastChildOutOfView(listView: AbsListView): Boolean {
fun initSystemBars(activity: AppCompatActivity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// keeps the soft keyboard from repositioning the layout
// Keeps the soft keyboard from repositioning the layout.
val window = activity.window
window.setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
@@ -109,11 +109,11 @@ fun colorSystemAndToolBars(
}
activity.supportActionBar?.setBackgroundDrawable(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// avoid allocation on Honeycomb and better
// Avoid allocation on Honeycomb and better.
actionBarBackground.color = topColor
actionBarBackground
} else {
// ColorDrawable.setColor() doesn't exist pre Honeycomb
// ColorDrawable.setColor() doesn't exist pre Honeycomb.
ColorDrawable(topColor)
}
)
@@ -29,10 +29,10 @@ fun View.doOnApplyWindowInsets(f: (View, Rect) -> Unit) {
f(v, insetsWithToolbar(insets))
insets
}
// it's important to explicitly request the insets (again) in
// It's important to explicitly request the insets (again) in
// case the view was created in Fragment.onCreateView() because
// setOnApplyWindowInsetsListener() won't fire when the view
// isn't attached
// isn't attached.
requestApplyInsetsWhenAttached()
}
}
@@ -4,7 +4,7 @@ import android.content.Context
import android.graphics.Canvas
import android.graphics.Rect
import android.util.AttributeSet
import de.markusfisch.android.binaryeye.app.colorSystemAndToolBars
import de.markusfisch.android.binaryeye.view.colorSystemAndToolBars
import de.markusfisch.android.scalingimageview.widget.ScalingImageView
open class ConfinedScalingImageView : ScalingImageView {
@@ -3,7 +3,7 @@ package de.markusfisch.android.binaryeye.widget
import android.content.Context
import android.util.AttributeSet
import android.widget.ScrollView
import de.markusfisch.android.binaryeye.app.colorSystemAndToolBars
import de.markusfisch.android.binaryeye.view.colorSystemAndToolBars
class ConfinedScrollView : ScrollView {
private var scrollable = false
@@ -23,8 +23,8 @@ class ConfinedScrollView : ScrollView {
) {
super.onLayout(changed, left, top, right, bottom)
if (changed) {
// give Android some time to settle down before running this,
// not putting it on the queue makes it only work sometimes
// Give Android some time to settle down before running this,
// not putting it on the queue makes it only work sometimes.
post {
getChildAt(0)?.also { child ->
scrollable = height < child.height + paddingTop + paddingBottom
@@ -165,7 +165,6 @@ class DetectorView : View {
if (handleGrabbed) {
if (!handleActive) {
setHandleToDefaultRoi()
handleActive = true
} else {
snap(x, y)
}
@@ -188,6 +187,7 @@ class DetectorView : View {
(center.x + mn).roundToInt(),
(center.y + mn).roundToInt()
)
handleActive = true
}
private fun snap(x: Int, y: Int) {
@@ -227,6 +227,9 @@ class DetectorView : View {
width - handleXRadius - paddingRight - padding,
height - handleYRadius - paddingBottom - fabHeight
)
if (handlePos.x == -2) {
setHandleToDefaultRoi()
}
if (handleActive) {
updateClipRect()
} else {
@@ -255,7 +258,7 @@ class DetectorView : View {
if (minDist < 1) {
return
}
// canvas.clipRect() doesn't work reliably below KITKAT
// canvas.clipRect() doesn't work reliably below KITKAT.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
val radius = min(minDist / 2, cornerRadius).toFloat()
canvas.save()
@@ -11,6 +11,12 @@ fun Context.toast(message: Int) = Toast.makeText(
fun Context.toast(message: String) = Toast.makeText(
applicationContext,
message,
message.ellipsize(128),
Toast.LENGTH_LONG
).show()
private fun String.ellipsize(max: Int) = if (length < max) {
this
} else {
"${take(max)}"
}
@@ -11,44 +11,30 @@ class Zxing(possibleResultPoint: ResultPointCallback? = null) {
private val multiFormatReader = MultiFormatReader()
init {
val decodeFormats = EnumSet.noneOf(
BarcodeFormat::class.java
)
decodeFormats.addAll(
EnumSet.copyOf(
listOf(
BarcodeFormat.AZTEC,
BarcodeFormat.CODABAR,
BarcodeFormat.CODE_39,
BarcodeFormat.CODE_93,
BarcodeFormat.CODE_128,
BarcodeFormat.DATA_MATRIX,
BarcodeFormat.EAN_8,
BarcodeFormat.EAN_13,
BarcodeFormat.ITF,
BarcodeFormat.MAXICODE,
BarcodeFormat.PDF_417,
BarcodeFormat.QR_CODE,
BarcodeFormat.RSS_14,
BarcodeFormat.RSS_EXPANDED,
BarcodeFormat.UPC_A,
BarcodeFormat.UPC_E,
BarcodeFormat.UPC_EAN_EXTENSION
)
)
)
hints[DecodeHintType.POSSIBLE_FORMATS] = decodeFormats
possibleResultPoint?.let {
hints[DecodeHintType.NEED_RESULT_POINT_CALLBACK] = it
}
}
fun updateHints(tryHarder: Boolean) {
fun updateHints(tryHarder: Boolean, formats: Set<String>) {
if (tryHarder) {
hints[DecodeHintType.TRY_HARDER] = java.lang.Boolean.TRUE
} else {
hints.remove(DecodeHintType.TRY_HARDER)
}
setDecodeFormats(formats)
}
private fun setDecodeFormats(formats: Set<String>) {
val decodeFormats = EnumSet.noneOf(
BarcodeFormat::class.java
)
decodeFormats.addAll(
EnumSet.copyOf(
formats.map { BarcodeFormat.valueOf(it) }
)
)
hints[DecodeHintType.POSSIBLE_FORMATS] = decodeFormats
}
fun decode(
@@ -113,7 +99,13 @@ class Zxing(possibleResultPoint: ResultPointCallback? = null) {
val bitmap = BinaryBitmap(HybridBinarizer(source))
return try {
multiFormatReader.decode(bitmap, hints)
} catch (e: ReaderException) {
} catch (e: Exception) {
// Usually it's bad practice to blindly catch *all* exceptions
// because this can hide problems we want to know about. But
// since ZXing has some errors (like all software) and I don't
// want this app to break in the hands of my users, which won't
// see the stack trace anyway, it's better to just catch all
// exceptions here and live on.
null
} finally {
multiFormatReader.reset()
@@ -1,12 +1,4 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="M54,55.787m-5.719,0a5.719,5.719 0,1 1,11.438 0a5.719,5.719 0,1 1,-11.438 0"
android:fillColor="#ffffff"/>
<path
android:pathData="M48.639,37.916L45.368,41.491L39.703,41.491C37.738,41.491 36.129,43.099 36.129,45.065L36.129,66.509C36.129,68.475 37.738,70.084 39.703,70.084L68.297,70.084C70.262,70.084 71.871,68.475 71.871,66.509L71.871,45.065C71.871,43.099 70.262,41.491 68.297,41.491L62.632,41.491L59.361,37.916ZM54,64.722C49.068,64.722 45.065,60.719 45.065,55.787C45.065,50.855 49.068,46.852 54,46.852C58.932,46.852 62.935,50.855 62.935,55.787C62.935,60.719 58.932,64.722 54,64.722Z"
android:fillColor="#ffffff"/>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108" android:viewportHeight="108">
<path android:pathData="M48.281 55.787a5.719 5.719 0 1 1 11.438 0 5.719 5.719 0 1 1-11.438 0" android:fillColor="#ffffff"/>
<path android:pathData="M48.639 37.916l-3.271 3.575h-5.665c-1.965 0-3.574 1.608-3.574 3.574v21.444c0 1.966 1.609 3.575 3.574 3.575h28.594c1.965 0 3.574-1.609 3.574-3.575V45.065c0-1.966-1.609-3.574-3.574-3.574h-5.665l-3.271-3.575zM54 64.722c-4.932 0-8.935-4.003-8.935-8.935s4.003-8.935 8.935-8.935 8.935 4.003 8.935 8.935-4.003 8.935-8.935 8.935z" android:fillColor="#ffffff"/>
</vector>
@@ -1,9 +1,3 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="M69.75,56.25L56.25,56.25L56.25,69.75L51.75,69.75L51.75,56.25L38.25,56.25L38.25,51.75L51.75,51.75L51.75,38.25L56.25,38.25L56.25,51.75L69.75,51.75Z"
android:fillColor="#FFFFFF"/>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108" android:viewportHeight="108">
<path android:pathData="M69.75 56.25h-13.5v13.5h-4.5v-13.5h-13.5v-4.5h13.5v-13.5h4.5v13.5h13.5z" android:fillColor="#FFFFFF"/>
</vector>
@@ -1,9 +1,3 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:pathData="M70.057,56.114C70.147,55.439 70.192,54.742 70.192,54C70.192,53.281 70.147,52.561 70.034,51.886L74.6,48.333C75.005,48.018 75.117,47.411 74.87,46.961L70.552,39.495C70.282,39 69.72,38.843 69.225,39L63.85,41.159C62.726,40.305 61.534,39.585 60.207,39.045L59.397,33.333C59.307,32.793 58.858,32.411 58.318,32.411L49.682,32.411C49.142,32.411 48.715,32.793 48.625,33.333L47.816,39.045C46.489,39.585 45.274,40.327 44.172,41.159L38.798,39C38.303,38.82 37.741,39 37.471,39.495L33.175,46.961C32.906,47.433 32.996,48.018 33.445,48.333L38.011,51.886C37.898,52.561 37.808,53.303 37.808,54C37.808,54.697 37.853,55.439 37.966,56.114L33.4,59.667C32.996,59.982 32.883,60.589 33.13,61.039L37.448,68.505C37.718,69 38.28,69.158 38.775,69L44.15,66.841C45.274,67.696 46.466,68.415 47.793,68.955L48.603,74.667C48.715,75.207 49.142,75.589 49.682,75.589L58.318,75.589C58.858,75.589 59.307,75.207 59.375,74.667L60.184,68.955C61.511,68.415 62.726,67.696 63.828,66.841L69.202,69C69.697,69.18 70.259,69 70.529,68.505L74.847,61.039C75.117,60.544 75.005,59.982 74.577,59.667ZM54,62.096C49.547,62.096 45.904,58.453 45.904,54C45.904,49.547 49.547,45.904 54,45.904C58.453,45.904 62.096,49.547 62.096,54C62.096,58.453 58.453,62.096 54,62.096Z"
android:fillColor="#ffffff"/>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108" android:viewportHeight="108">
<path android:pathData="M70.057 56.114c0.09-0.675 0.135-1.372 0.135-2.114 0-0.719-0.045-1.439-0.158-2.114l4.566-3.553c0.405-0.315 0.517-0.922 0.27-1.372l-4.318-7.466C70.282 39 69.72 38.843 69.225 39l-5.375 2.159c-1.124-0.854-2.316-1.574-3.643-2.114l-0.81-5.712c-0.09-0.54-0.539-0.922-1.079-0.922h-8.636c-0.54 0-0.967 0.382-1.057 0.922l-0.809 5.712c-1.327 0.54-2.542 1.282-3.644 2.114L38.798 39c-0.495-0.18-1.057 0-1.327 0.495l-4.296 7.466c-0.269 0.472-0.179 1.057 0.27 1.372l4.566 3.553c-0.113 0.675-0.203 1.417-0.203 2.114 0 0.697 0.045 1.439 0.158 2.114L33.4 59.667c-0.404 0.315-0.517 0.922-0.27 1.372l4.318 7.466C37.718 69 38.28 69.158 38.775 69l5.375-2.159c1.124 0.855 2.316 1.574 3.643 2.114l0.81 5.712c0.112 0.54 0.539 0.922 1.079 0.922h8.636c0.54 0 0.989-0.382 1.057-0.922l0.809-5.712c1.327-0.54 2.542-1.259 3.644-2.114L69.202 69c0.495 0.18 1.057 0 1.327-0.495l4.318-7.466c0.27-0.495 0.158-1.057-0.27-1.372zM54 62.096c-4.453 0-8.096-3.643-8.096-8.096s3.643-8.096 8.096-8.096 8.096 3.643 8.096 8.096-3.643 8.096-8.096 8.096z" android:fillColor="#ffffff"/>
</vector>
+2 -2
View File
@@ -1,3 +1,3 @@
<vector android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24.0" android:viewportWidth="24.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M15.5 14h-0.79l-0.28-0.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-0.59 4.23-1.57L14 14.71v0.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
<vector android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M3 11h8V3H3v8zm2-6h4v4H5V5zM3 21h8v-8H3v8zm2-6h4v4H5v-4zm8-12v8h8V3h-8zm6 6h-4V5h4v4zm0 10h2v2h-2zm-6-6h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm2 2h2v2h-2zm2-2h2v2h-2zm0-4h2v2h-2zm2 2h2v2h-2z"/>
</vector>
+1 -1
View File
@@ -17,6 +17,6 @@
style="@style/FAB"
android:id="@+id/scan"
android:contentDescription="@string/scan_code"
android:src="@drawable/ic_action_scan"/>
android:src="@drawable/ic_action_search"/>
</android.support.design.widget.CoordinatorLayout>
</merge>
+144
View File
@@ -0,0 +1,144 @@
<resources>
<string name="no_camera_no_fun">এই অ্যাপ ক্যামেরা অনুমতি ছাড়া কোনো কাজের না। বিদায়।</string>
<string name="camera_error">ক্যামেরা পাওয়া যাচ্ছে না, পরে চেষ্টা করো</string>
<string name="scan_code">সংকেতের পাঠোদ্ধার</string>
<string name="compose_barcode">বারকোড বানাও</string>
<string name="decode_barcode">বারকোডের পাঠোদ্ধার</string>
<string name="content">তথ্য</string>
<string name="binary_data">(বাইনারি তথ্য)</string>
<plurals name="barcode_info">
<item quantity="one">%2$dটি অক্ষর, %1$s</item>
<item quantity="other">%2$dটি অক্ষর, %1$s</item>
</plurals>
<string name="error_correction_level">ত্রুটি ঠিককরণ পরিমাণ</string>
<string name="error_correction_level_l" formatted="false">কম (~&#37; ঠিককরণ)</string>
<string name="error_correction_level_m" formatted="false">মধ্যম (~১৫&#37; ঠিককরণ)</string>
<string name="error_correction_level_q" formatted="false">বেশি (~২৫&#37; ঠিককরণ)</string>
<string name="error_correction_level_h" formatted="false">অনেক বেশি (~৩০&#37; ঠিককরণ)</string>
<string name="issue_number">সমস্যা ক্রম</string>
<string name="orientation">দিক</string>
<string name="other_meta_data">মেটাতথ্য</string>
<string name="pdf417_extra_metadata">পিডিএফ৪১৭ মেটাতথ্য</string>
<string name="possible_country">তৈরির সম্ভাব্য দেশ</string>
<string name="suggested_price">প্রস্তসবিত দাম</string>
<string name="upc_ean_extension">ইউপিসি ইএএন বর্ধিত</string>
<string name="toggle_flash">আলো</string>
<string name="share">ভাগ করো</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="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="encode">সংকেতকরণ</string>
<string name="error_no_content">তথ্য নেই</string>
<string name="error_encoding_barcode">বারকোড বানানো যায়নি</string>
<string name="view_barcode">বারকোড দেখো</string>
<string name="info">তথ্য</string>
<string name="switch_camera">ক্যামেরা পাল্টাও</string>
<string name="bulk_mode">ধারাবাহিকভাবে খুঁজো</string>
<string name="bulk_mode_summary">শুরুতে সবসময় ধারাবাহিকভাবে খুঁজো</string>
<string name="history">ইতিহাস</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="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">ওপরে/নিচে টানো বড়ো করার জন্য</string>
<string name="zoom_by_swiping_summary">ক্যামেরার ছোটো-বড় নিয়ন্ত্রণের জন্য উপরে-নিচে টানো।</string>
<string name="auto_rotate">খাড়া ১ডি বারকোড সনাক্ত করো</string>
<string name="auto_rotate_summary">১ডি বারকোড সনাক্ত করতে স্বয়ংক্রিয়ভাবে ঘুরাও। যন্ত্রনির্ভরে এটি কার্যসম্পাদনের হার কমাতে পারে।</string>
<string name="try_harder">পাঠকের নির্ভুলতা বাড়াও</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="use_history">ইতিহাস সংরক্ষণ করো।</string>
<string name="use_history_summary">সনাক্তকৃত সংকেত যন্ত্রে সংরক্ষণ করো।</string>
<string name="ignore_consecutive_duplicates">দ্বিত্ব উপেক্ষা করো</string>
<string name="ignore_consecutive_duplicates_summary">দুইটা ইতিহাস সংরক্ষণ করবে না।</string>
<string name="open_immediately">সাথে সাথে খুলো</string>
<string name="open_immediately_summary">না দেখে সাথে সাথে খুলো। সক্রিয় থাকলে ক্ষতিকারক তথ্য খুলতে পারে।</string>
<string name="copy_immediately">ক্লিপবোর্ডে রাখো</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) সংকেত দেখাও</string>
<string name="show_hex_dump_summary">পড়া তথ্যের ষড় সংকেত দেখাও</string>
<string name="close_automatically">অনুলিপি/ভাগ করার পরে পিছনে যাও</string>
<string name="close_automatically_summary">তথ্য অনুলিপি/ভাগ করার পরে স্বয়ংক্রিয়ভাবে পিছনে যাও।</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">অজানা ইউআরএল খুলো</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">অন্যকে পাঠাও</string>
<string name="send_scan_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="test_url">পরীক্ষার জন্য ইউআরএল</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="separator_line_break">বাক্য বিরতি</string>
<string name="separator_ruler">মাপকাঠি</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">ওয়াইফাইর সাথে যুক্ত করো</string>
<string name="wifi_config_failed">ওয়াইফাইয়ে ঠিক করে যুক্ত হওয়া যায়নি</string>
<string name="wifi_added">ওয়াইফাই যোগকৃত</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="otpauth_add">২এফএ যোগ করো</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_csv_comma">কমাসহ সিএসভি(.csv) নথি</string>
<string name="export_csv_semicolon">সেমিকোলনসহ সিএসভি(.csv) নথি</string>
<string name="export_json">জেসন নথি</string>
<string name="export_database">এসকিউলাইট তথ্যভিত্তি</string>
<string name="saved_in_downloads">ডাউনলোডে সংরক্ষিত</string>
<string name="rotate_image_cw">ছবি ঘড়ির দিকে ঘুরাও</string>
<string name="pick_file">ছবি নাও</string>
<string name="pick_code_to_scan">খুঁজার জন্য কোড নাও</string>
<string name="shortcut_decode">বারকোড খুজো</string>
<string name="shortcut_encode">বারকোড বানাও</string>
<string name="shortcut_preferences">পছন্দসমূহ</string>
<string name="background_request_failed">পটভূমির অনুরোধ ব্যর্থ</string>
</resources>
+145
View File
@@ -0,0 +1,145 @@
<resources>
<string name="no_camera_no_fun">Bez oprávnění k fotoaparátu tato aplikace nemá smysl. Na viděnou.</string>
<string name="camera_error">Nepodařilo se otevřít fotoaparát, prosím zkuste to znovu</string>
<string name="scan_code">Skenovat kód</string>
<string name="compose_barcode">Vytvořit čárový kód</string>
<string name="decode_barcode">Dekódovat čárový kód</string>
<string name="content">Obsah</string>
<string name="binary_data">(binární data)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d znak, %1$s</item>
<item quantity="few">%2$d znaky, %1$s</item>
<item quantity="other">%2$d znaků, %1$s</item>
</plurals>
<string name="error_correction_level">Stupeň korekce chyb</string>
<string name="error_correction_level_l" formatted="false">Nízký (~7&#37; korekce)</string>
<string name="error_correction_level_m" formatted="false">Střední (~15&#37; korekce)</string>
<string name="error_correction_level_q" formatted="false">Čtvrtinový (~25&#37; korekce)</string>
<string name="error_correction_level_h" formatted="false">Vysoký (~30&#37; korekce)</string>
<string name="issue_number">Issue number</string>
<string name="orientation">Orientace</string>
<string name="other_meta_data">Metadata</string>
<string name="pdf417_extra_metadata">PDF417 metadata</string>
<string name="possible_country">Možná země původu</string>
<string name="suggested_price">Doporučená cena</string>
<string name="upc_ean_extension">rozšíření UPC EAN</string>
<string name="toggle_flash">Zap/vyp blesk</string>
<string name="share">Sdílet</string>
<string name="share_as">Sdílet jako</string>
<string name="copy_to_clipboard">Zkopírovat do schránky</string>
<string name="copied_to_clipboard">Zkopírováno do schránky</string>
<string name="copy_password">Zkopírovat heslo do schránky</string>
<string name="copied_password_to_clipboard">Heslo zkopírováno do schránky</string>
<string name="open_url">Otevřít URL</string>
<string name="cannot_resolve_action">Nemáte aplikaci, která by to uměla otevřít</string>
<string name="pick_search_engine">Zvolte vyhledávač</string>
<string name="format">Formát</string>
<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="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="switch_camera">Přepnout kameru</string>
<string name="bulk_mode">Skenovat nepřetržitě</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Historie</string>
<string name="preferences">Nastavení</string>
<string name="scan_category">Skenování</string>
<string name="content_category">Obsah</string>
<string name="locale_category">Jazyk</string>
<string name="custom_locale">Zvolit jazyk</string>
<string name="follow_system_settings">Řídit se nastavením systému</string>
<string name="show_crop_handle">Zobrazovat hrany výřezu</string>
<string name="show_crop_handle_summary">Omezí skenování na zvolenou oblast.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Potáhnutím nahoru/dolů přiblížit</string>
<string name="zoom_by_swiping_summary">Přetáhnutím nahoru nebo dolů se zvětší / zmenší úroveň přiblížení.</string>
<string name="auto_rotate">Rozpoznávat otočené 1D čárové kódy</string>
<string name="auto_rotate_summary">Automaticky otočí obraz a tak detekuje 1D čárové kódy na výšku. Na některých zařízeních může snížit výkonnost.</string>
<string name="try_harder">Optimalizovat pro přesnost</string>
<string name="try_harder_summary">Použijte pro velmi nečitelné kódy. Sníží výkonnost.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</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="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>
<string name="ignore_consecutive_duplicates_summary">Další skeny stejného kódu se nebudou ukládat.</string>
<string name="open_immediately">Otevírat okamžitě</string>
<string name="open_immediately_summary">Přeskočí kontrolu a otevře obsah okamžitě. Může otevřít škodlivý obsah.</string>
<string name="copy_immediately">Vložit do schránky</string>
<string name="copy_immediately_summary">Automaticky zkopírovat naskenovaný obsah do schránky. Pozor, jiné aplikace jej mohou ze schránky přečíst, i když neběží.</string>
<string name="show_meta_data">Zobrazit metadata</string>
<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="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">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Otevřít neznámá data pomocí URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Přesměrování</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_type_get_add_content">GET a simply add content</string>
<string name="send_type_get_query_string">GET with compelete 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="test_url">Otestovat URL</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>
<string name="clear_history">Vymazat historii</string>
<string name="copy_scan">Zkopírovat sken</string>
<string name="edit_scan">Upravit popisek</string>
<string name="remove_scan">Odstranit sken</string>
<string name="enter_name">Napište název popisující sken</string>
<string name="enter_name_hint">Název skenu</string>
<string name="no_barcode_found">Čárový kód nenalezen</string>
<string name="pick_list_separator">Jak mají být odděleny položky?</string>
<string name="separator_line_break">Nový řádek</string>
<string name="separator_ruler">Svislice</string>
<string name="save_as_file_name">Uložit jako do složky Stahování</string>
<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="sms_send">Poslat SMS</string>
<string name="sms_error">Nepodařilo se poslat SMS</string>
<string name="tel_dial">Vytočit číslo</string>
<string name="tel_error">Nepodařilo se vytočit číslo</string>
<string name="mail_send">Poslat email</string>
<string name="mail_error">Nepodařilo se poslat email</string>
<string name="vcard_add">Přidat do kontaktů</string>
<string name="vcard_failed">Nepodařilo se přidat do kontaktů</string>
<string name="vevent_add">Vložit do kalendáře</string>
<string name="vevent_failed">Nepodařilo se vložit do kalendáře</string>
<string name="otpauth_add">Přidat 2FA</string>
<string name="search_web">Vyhledat na webu</string>
<string name="search_scan">Vyhledat sken</string>
<string name="export_to_file">Exportovat do souboru</string>
<string name="export_as">Exportovat jako</string>
<string name="export_csv_comma">CSV oddělené čárkami</string>
<string name="export_csv_semicolon">CSV oddělené středníky</string>
<string name="export_json">soubor JSON</string>
<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="pick_file">Zvolte obrázek</string>
<string name="pick_code_to_scan">Zvolte kód k naskenování</string>
<string name="shortcut_decode">Skenovat čárový kód</string>
<string name="shortcut_encode">Vytvořit čárový kód</string>
<string name="shortcut_preferences">Nastavení</string>
<string name="background_request_failed">Požadavek na pozadí selhal</string>
</resources>
+12 -1
View File
@@ -43,21 +43,25 @@
<string name="info">Info</string>
<string name="switch_camera">Kamera wechseln</string>
<string name="bulk_mode">Fortlaufend Scannen</string>
<string name="bulk_mode_summary">Immer mit fortlaufendem Scannen starten.</string>
<string name="history">Gespeicherte Codes</string>
<string name="preferences">Einstellungen</string>
<string name="scan_category">Scannen</string>
<string name="content_category">Inhalt</string>
<string name="locale_category">Sprache</string>
<string name="custom_locale">Abweichendes Gebietsschema</string>
<string name="custom_locale">Spracheinstellung</string>
<string name="follow_system_settings">Systemeinstellung übernehmen</string>
<string name="show_crop_handle">Ausschnitt verkleinern anzeigen</string>
<string name="show_crop_handle_summary">Scannen auf einen anpassbaren Bereich einschränken.</string>
<string name="barcode_formats">Barcode Formate</string>
<string name="zoom_by_swiping">Geste für Kamerazoom</string>
<string name="zoom_by_swiping_summary">Im Kamerabildschirm nach oben oder unten streichen, um den Kamerazoom zu steuern.</string>
<string name="auto_rotate">Vertikale Erkennung</string>
<string name="auto_rotate_summary">Das Kamerabild automatisch drehen um vertikale 1D Barcodes zu erkennen. Je nach Gerät kann dies die Leistung beeinträchtigen.</string>
<string name="try_harder">Gründliche Suche</string>
<string name="try_harder_summary">Aktivieren Sie diese Option für sehr schwer lesbare Codes. Beeinträchtigt die Leistung.</string>
<string name="show_toast_in_bulk_mode">Daten einblenden</string>
<string name="show_toast_in_bulk_mode_summary">Die gescannten Daten werden kurz eingeblenet, wenn fortlaufend gescannt wird.</string>
<string name="vibrate">Bei Erkennung vibrieren</string>
<string name="vibrate_summary">Das Gerät soll vibrieren wenn ein Code erkannt wird.</string>
<string name="use_history">Codes speichern</string>
@@ -74,7 +78,14 @@
<string name="show_hex_dump_summary">Zeigt einen Hexdump des eingelesenen Inhalts an.</string>
<string name="close_automatically">Automatisch zurückkehren</string>
<string name="close_automatically_summary">Nach dem Kopieren/Teilen automatisch zum Scanbildschirm zurückkehren.</string>
<string name="default_search_engine">Unbekannte Daten öffnen mit</string>
<string name="always_ask">Immer fragen</string>
<string name="open_with_url">URL zum Öffnen unbekannter Daten</string>
<string name="clear_network_suggestions">WiFi Netzwerkvorschläge entfernen</string>
<string name="clear_network_suggestions_summary">Betrifft alle WiFi Netzwerke, die zuvor mit dieser App bereitgestellt wurden.</string>
<string name="really_remove_all_networks">Alle Netzwerkvorschläge entfernen?</string>
<string name="clear_network_suggestions_success">Netzwerkvorschläge entfernt</string>
<string name="clear_network_suggestions_nothing_to_remove">Nichts zu entfernen</string>
<string name="send_category">Weiterleitung</string>
<string name="send_scan_url">URL die für jeden Scan aufgerufen werden soll</string>
<string name="send_scan_type">Typ des Requests für jeden Scan</string>
+76 -65
View File
@@ -1,36 +1,36 @@
<resources>
<string name="no_camera_no_fun">Esta aplicación no tendría sentido usar sin acceso a la cámara. Adiós.</string>
<string name="camera_error">Sin acceso a la cámara, por favor, inténtelo de nuevo</string>
<string name="no_camera_no_fun">Esta aplicación no tiene sentido usar sin acceso a la cámara. Adiós.</string>
<string name="camera_error">No se puede acceder a la cámara, por favor, inténtelo de nuevo</string>
<string name="scan_code">Escanear código de barras</string>
<string name="compose_barcode">Componer código de barras</string>
<string name="decode_barcode">Decodificar código de barras</string>
<string name="content">Contenido</string>
<string name="binary_data">(binario)</string>
<string name="binary_data">(datos binarios)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d caracter, %1$s</item>
<item quantity="one">%2$d carácter, %1$s</item>
<item quantity="other">%2$d caracteres, %1$s</item>
</plurals>
<string name="error_correction_level">Nivel de corrección de errores</string>
<string name="error_correction_level_l" formatted="false">Low (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false">Medium (~15&#37; correction)</string>
<string name="error_correction_level_q" formatted="false">Quartile (~25&#37; correction)</string>
<string name="error_correction_level_h" formatted="false">High (~30&#37; correction)</string>
<string name="error_correction_level_l" formatted="false">Bajo (~7&#37; de correcn)</string>
<string name="error_correction_level_m" formatted="false">Medio (~15&#37; de correcn)</string>
<string name="error_correction_level_q" formatted="false">Cuartil (~25&#37; de correcn)</string>
<string name="error_correction_level_h" formatted="false">Alto (~30&#37; de correcn)</string>
<string name="issue_number">Número de emisión</string>
<string name="orientation">Orientación</string>
<string name="other_meta_data">Metadatos</string>
<string name="pdf417_extra_metadata">Metadatos PDF417</string>
<string name="possible_country">Posible país de fabricación</string>
<string name="suggested_price">Precio sugerido</string>
<string name="upc_ean_extension">UPC EAN extension</string>
<string name="upc_ean_extension">Extensión UPC EAN</string>
<string name="toggle_flash">Activar la linterna</string>
<string name="share">Compartir</string>
<string name="share_as">Share as?</string>
<string name="share_as">¿Compartir como?</string>
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="copied_to_clipboard">Copiado al portapapeles</string>
<string name="copy_password">Copy password into clipboard</string>
<string name="copy_password">Copiar contraseña al portapapeles</string>
<string name="copied_password_to_clipboard">Contraseña copiada al portapapeles</string>
<string name="open_url">Abrir URL</string>
<string name="cannot_resolve_action">Ninguna aplicación puede abrir esto</string>
<string name="cannot_resolve_action">Ninguna aplicación puede abrir eso</string>
<string name="pick_search_engine">Elija un motor de búsqueda</string>
<string name="format">Formato</string>
<string name="size">Tamaño en píxeles</string>
@@ -42,51 +42,62 @@
<string name="view_barcode">Ver código de barras</string>
<string name="info">Información</string>
<string name="switch_camera">Cambiar cámara</string>
<string name="bulk_mode">Scan continuously</string>
<string name="bulk_mode">Escanear constantemente</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Historial</string>
<string name="preferences">Configuración</string>
<string name="scan_category">Scan</string>
<string name="content_category">Content</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">Show cropping limiter</string>
<string name="show_crop_handle_summary">Restrict scanning to a customizable region.</string>
<string name="zoom_by_swiping">Aumento de cámara al deslizar hacia arriba/abajo</string>
<string name="zoom_by_swiping_summary">Swipe up or down in camera screen to control the camera zoom.</string>
<string name="scan_category">Escanear</string>
<string name="content_category">Contenido</string>
<string name="locale_category">Idioma</string>
<string name="custom_locale">Idioma personalizado</string>
<string name="follow_system_settings">Seguir los ajustes del sistema</string>
<string name="show_crop_handle">Mostrar el delimitador de recorte</string>
<string name="show_crop_handle_summary">Restringir el escaneo a una región personalizable.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Deslice hacia arriba/abajo para ampliar</string>
<string name="zoom_by_swiping_summary">Deslice su dedo hacia arriba o abajo en la pantalla para controlar el aumento de la cámara.</string>
<string name="auto_rotate">Reconocer los códigos de barras 1D verticalmente</string>
<string name="auto_rotate_summary">Automatically rotate the camera frame to recognize vertical 1D barcodes. Depending on the device, this may affect performance.</string>
<string name="try_harder">Optimizar el lector para la precisión, no la velocidad</string>
<string name="try_harder_summary">Enable this option for very hard to read codes. Will affect performance.</string>
<string name="vibrate">Vibración en la detección</string>
<string name="vibrate_summary">Enable this if you want your device to vibrate when a code is recognized.</string>
<string name="use_history">Guardar historial de escaneados</string>
<string name="use_history_summary">Save recognized codes on your device.</string>
<string name="ignore_consecutive_duplicates">No guardar duplicados consecutivos</string>
<string name="ignore_consecutive_duplicates_summary">Do not save consecutive duplicates in the scan history.</string>
<string name="open_immediately">Saltar la inspección y abrir el contenido inmediatamente</string>
<string name="open_immediately_summary">Skip inspection and open contents immediately. May open harmful content if enabled.</string>
<string name="copy_immediately">Automatically copy contents into clipboard</string>
<string name="copy_immediately_summary">Automatically copy scanned contents into clipboard. Please note that other apps may snoop on your clipboard in the background.</string>
<string name="auto_rotate_summary">Rotar automáticamente el marco de la cámara para reconocer los códigos de barras 1D verticales. Dependiendo del dispositivo, esto puede afectar al rendimiento.</string>
<string name="try_harder">Optimizar la precisión del lector</string>
<string name="try_harder_summary">Active esta opción para códigos muy difíciles de leer. Esto afectará al rendimiento.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">Vibrar al detectar</string>
<string name="vibrate_summary">Active esta opción si desea que su dispositivo vibre cuando se reconozca un código.</string>
<string name="use_history">Guardar historial de escaneo</string>
<string name="use_history_summary">Guardar códigos reconocidos en su dispositivo.</string>
<string name="ignore_consecutive_duplicates">Ignorar duplicados</string>
<string name="ignore_consecutive_duplicates_summary">No guarde duplicados consecutivos en el historial de escaneo.</string>
<string name="open_immediately">Abrir inmediatamente</string>
<string name="open_immediately_summary">Omite la inspección y abre el contenido inmediatamente. Puede abrir contenido dañino si está activado.</string>
<string name="copy_immediately">Poner en el portapapeles</string>
<string name="copy_immediately_summary">Copiar contenido al portapapeles automáticamente. Ten en cuenta que otras aplicaciones pueden husmear en tu portapapeles en segundo plano.</string>
<string name="show_meta_data">Mostrar metadatos</string>
<string name="show_meta_data_summary">Show additional data about the scanned barcoded.</string>
<string name="show_hex_dump">Mostrar volcado hexagonal</string>
<string name="show_hex_dump_summary">Show a hex dump of the scanned contents.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="open_with_url">Abrir datos desconocidos con URL</string>
<string name="send_category">Forwarding</string>
<string name="send_scan_url">Send every scan to URL</string>
<string name="send_scan_type">Type of request for every scan</string>
<string name="send_type_get_add_content">GET and simply add content</string>
<string name="send_type_get_query_string">GET with compelete query string</string>
<string name="show_meta_data_summary">Mostrar datos adicionales del código escaneado.</string>
<string name="show_hex_dump">Mostrar dump hexadecimal</string>
<string name="show_hex_dump_summary">Mostrar un dump hexadecimal del contenido escaneado.</string>
<string name="close_automatically">Retroceder luego de Copiar/Compartir</string>
<string name="close_automatically_summary">Regresar automáticamente a la pantalla de escaneo luego de copiar o compartir el contenido leído.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Abrir datos desconocidos con la URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Reenvío</string>
<string name="send_scan_url">Enviar todo escaneo a la URL</string>
<string name="send_scan_type">Tipo de solicitud para cada escaneo</string>
<string name="send_type_get_add_content">GET y solo añadir contenido</string>
<string name="send_type_get_query_string">GET con consulta completa</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="test_url">Test URL</string>
<string name="test_url">URL de prueba</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>
<string name="clear_history">Borrar historial</string>
<string name="clear_history">Borrar el historial</string>
<string name="copy_scan">Copiar escaneo</string>
<string name="edit_scan">Editar etiqueta</string>
<string name="remove_scan">Borrar escaneo</string>
@@ -100,34 +111,34 @@
<string name="file_name">Nombre del archivo</string>
<string name="error_saving_file">No se puede guardar el archivo</string>
<string name="error_file_exists">El archivo ya existe</string>
<string name="connect_to_wifi">Conectar a WiFi</string>
<string name="wifi_config_failed">No se pudo configurar el WiFi</string>
<string name="wifi_added">WiFi añadido</string>
<string name="connect_to_wifi">Conectar al Wifi</string>
<string name="wifi_config_failed">No se pudo configurar el Wifi</string>
<string name="wifi_added">Wifi añadido</string>
<string name="sms_send">Enviar SMS</string>
<string name="sms_error">No se puedo enviar SMS</string>
<string name="tel_dial">Marcar número</string>
<string name="tel_error">No se pudo marcar el número</string>
<string name="mail_send">Enviar correo</string>
<string name="mail_error">No se pudo enviar correo</string>
<string name="mail_error">No se pudo enviar el correo</string>
<string name="vcard_add">Añadir a contactos</string>
<string name="vcard_failed">No se pudo añadir a los contactos</string>
<string name="vevent_add">Añadir se pudo calendario</string>
<string name="vevent_add">Añadir al calendario</string>
<string name="vevent_failed">No se pudo añadir al calendario</string>
<string name="otpauth_add">Añadir 2FA</string>
<string name="search_web">Buscar en la web</string>
<string name="search_scan">Buscar escaneos</string>
<string name="search_scan">Buscar escaneo</string>
<string name="export_to_file">Exportar a archivo</string>
<string name="export_as">¿Dónde desea exportar?</string>
<string name="export_csv_comma">CSV con comas</string>
<string name="export_csv_semicolon">CSV con punto y coma</string>
<string name="export_json">Exportar como JSON</string>
<string name="export_database">Exportar base de datos SQLite</string>
<string name="export_as">¿Exportar como?</string>
<string name="export_csv_comma">Archivo CSV con comas</string>
<string name="export_csv_semicolon">Archivo CSV con punto y coma</string>
<string name="export_json">Archivo JSON</string>
<string name="export_database">Base de datos SQLite</string>
<string name="saved_in_downloads">Guardado en Descargas</string>
<string name="rotate_image_cw">Rotar la imagen en el sentido de las agujas del reloj</string>
<string name="pick_file">Seleccionar archivo de imagen</string>
<string name="pick_code_to_scan">Escoge el código para escanear</string>
<string name="shortcut_decode">Escanear un código de barras</string>
<string name="shortcut_encode">Crear un código de barras</string>
<string name="rotate_image_cw">Rotar la imagen en sentido horario</string>
<string name="pick_file">Seleccionar imagen</string>
<string name="pick_code_to_scan">Seleccione el código a escanear</string>
<string name="shortcut_decode">Escanear un código</string>
<string name="shortcut_encode">Crear un código</string>
<string name="shortcut_preferences">Ajustes</string>
<string name="background_request_failed">Background request failed</string>
<string name="background_request_failed">Solicitud de fondo fallida</string>
</resources>
+26 -15
View File
@@ -1,11 +1,11 @@
<resources>
<string name="no_camera_no_fun">Cette application n\'a aucun sens sans accès possible à la caméra. Au revoir.</string>
<string name="no_camera_no_fun">Cette application ne peut pas fonctionner sans accès à la caméra. Au revoir.</string>
<string name="camera_error">Impossible d\'accéder à la caméra, veuillez réessayer</string>
<string name="scan_code">Scanner le code</string>
<string name="compose_barcode">Créer un code-barres</string>
<string name="decode_barcode">Décoder le code-barres</string>
<string name="content">Contenu</string>
<string name="binary_data">(binary data)</string>
<string name="binary_data">(données binaires)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d caractère, %1$s</item>
<item quantity="other">%2$d caractères, %1$s</item>
@@ -22,7 +22,7 @@
<string name="possible_country">Pays de fabrication possible</string>
<string name="suggested_price">Prix suggéré</string>
<string name="upc_ean_extension">UPC EAN extension</string>
<string name="toggle_flash">Toggle flash</string>
<string name="toggle_flash">Activer le flash</string>
<string name="share">Partager</string>
<string name="share_as">Partager comme ?</string>
<string name="copy_to_clipboard">Copier dans le presse-papiers</string>
@@ -43,24 +43,28 @@
<string name="info">Info</string>
<string name="switch_camera">Changer de camera</string>
<string name="bulk_mode">Scan continu</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Historique</string>
<string name="preferences">Préférences</string>
<string name="scan_category">Scan</string>
<string name="content_category">Contenu</string>
<string name="locale_category">Langue</string>
<string name="custom_locale">Local personnalisé</string>
<string name="custom_locale">Langue personnalisée</string>
<string name="follow_system_settings">Suivre les réglages du système</string>
<string name="show_crop_handle">Afficher le limiter de capture</string>
<string name="show_crop_handle">Afficher le bouton de rognage</string>
<string name="show_crop_handle_summary">Restreindre le scan à une région personnalisée.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Balayage haut/bas pour zoomer</string>
<string name="zoom_by_swiping_summary">Balayez vers le haut ou vers le bas dans l’écran de la caméra pour contrôler le zoom de la caméra.</string>
<string name="auto_rotate">Reconnaître les codes-barres 1D verticaux</string>
<string name="auto_rotate_summary">Tourner automatiquement le cadre de la caméra pour reconnaître les codes-barres 1D verticaux. En fonction de l\'appareil, cela peut affecter les performances.</string>
<string name="try_harder">Optimiser la précision du lecteur</string>
<string name="try_harder_summary">Activez cette option pour les codes très difficiles à lire. Affectera les performances.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">Vibrer à la détection</string>
<string name="vibrate_summary">Activez ceci si vous voulez que votre appareil vibre lorsquun code est reconnu.</string>
<string name="use_history">Sauvegarder l\'histoire des scans</string>
<string name="use_history">Sauvegarder l\'historique des scans</string>
<string name="use_history_summary">Sauvegarder les codes reconnus sur votre appareil.</string>
<string name="ignore_consecutive_duplicates">Ignorer les doublons</string>
<string name="ignore_consecutive_duplicates_summary">Ne pas sauvegarder les doublons dans l\'historique des scans.</string>
@@ -70,25 +74,32 @@
<string name="copy_immediately_summary">Copier automatiquement les contenus scannés dans le presse-papiers. Veuillez noter que les autres applications peuvent fouiner dans votre presse-papiers en arrière-plan.</string>
<string name="show_meta_data">Afficher les méta-données</string>
<string name="show_meta_data_summary">Afficher les données supplémentaires sur le code-barres scanné.</string>
<string name="show_hex_dump">Show hex dump</string>
<string name="show_hex_dump_summary">Show a hex dump of the scanned contents.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="show_hex_dump">Afficher le dump hexa</string>
<string name="show_hex_dump_summary">Affiche un dump hexadécimal du contenu scanné.</string>
<string name="close_automatically">Revenir après une copie/partage</string>
<string name="close_automatically_summary">Revient automatiquement sur l\'écran de scan après avoir copié ou partagé le contenu lu.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Ouvrir des données inconnues avec lURL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Transfert</string>
<string name="send_scan_url">Envoyer chaque scan avec l\'URL</string>
<string name="send_scan_url">Envoyer chaque scan vers une URL</string>
<string name="send_scan_type">Type de requête pour chaque scan</string>
<string name="send_type_get_add_content">GET et ajouter simplement le contenu</string>
<string name="send_type_get_query_string">GET avec chaîne de requête complète</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="test_url">Test URL</string>
<string name="test_url">Tester l\'URL</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>
<string name="clear_history">Effacer l\'historique</string>
<string name="copy_scan">Copier scan</string>
<string name="edit_scan">Editer l\'étiquette</string>
<string name="copy_scan">Copier le scan</string>
<string name="edit_scan">Éditer l\'étiquette</string>
<string name="remove_scan">Supprimer le scan</string>
<string name="enter_name">Saisir un nom décrivant le scan</string>
<string name="enter_name_hint">Nom du scan</string>
@@ -104,7 +115,7 @@
<string name="wifi_config_failed">Impossible de configurer le WiFi</string>
<string name="wifi_added">WiFi ajouté</string>
<string name="sms_send">Envoyer SMS</string>
<string name="sms_error">Ne pas envoyer de SMS</string>
<string name="sms_error">Impossible d\'envoyer le SMS</string>
<string name="tel_dial">Numéro de téléphone</string>
<string name="tel_error">Impossible de composer le numéro</string>
<string name="mail_send">Envoyer le mail</string>
+75 -64
View File
@@ -10,25 +10,25 @@
<item quantity="one">%2$d karakter, %1$s</item>
<item quantity="other">%2$d karakter, %1$s</item>
</plurals>
<string name="error_correction_level">Error correction level</string>
<string name="error_correction_level_l" formatted="false">Low (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false">Medium (~15&#37; correction)</string>
<string name="error_correction_level_q" formatted="false">Quartile (~25&#37; correction)</string>
<string name="error_correction_level_h" formatted="false">High (~30&#37; correction)</string>
<string name="issue_number">Issue number</string>
<string name="orientation">Orientation</string>
<string name="other_meta_data">Metadata</string>
<string name="pdf417_extra_metadata">PDF417 metadata</string>
<string name="possible_country">Possible country of manufacture</string>
<string name="suggested_price">Suggested price</string>
<string name="upc_ean_extension">UPC EAN extension</string>
<string name="error_correction_level">Hibajavítási szint</string>
<string name="error_correction_level_l" formatted="false">Alacsony (~7&#37; javítás)</string>
<string name="error_correction_level_m" formatted="false">Közepes (~15&#37; javítás)</string>
<string name="error_correction_level_q" formatted="false">Kvartilis (~25&#37; javítás)</string>
<string name="error_correction_level_h" formatted="false">Magas (~30&#37; javítás)</string>
<string name="issue_number">Hibaszám</string>
<string name="orientation">Tájolás</string>
<string name="other_meta_data">Metaadat</string>
<string name="pdf417_extra_metadata">PDF417 metaadat</string>
<string name="possible_country">Gyártó lehetséges országa</string>
<string name="suggested_price">Ajánlott ár</string>
<string name="upc_ean_extension">UPC EAN kiterjesztés</string>
<string name="toggle_flash">Vaku be- vagy kikapcsolása</string>
<string name="share">Megosztás</string>
<string name="share_as">Share as?</string>
<string name="share_as">Megosztja másként?</string>
<string name="copy_to_clipboard">Másolás a vágólapra</string>
<string name="copied_to_clipboard">Vágólapra helyezés</string>
<string name="copy_password">Copy password into clipboard</string>
<string name="copied_password_to_clipboard">Password copied to clipboard</string>
<string name="copy_password">Jelszó másolása a vágólapra</string>
<string name="copied_password_to_clipboard">Jelszó kimásolva a vágólapra</string>
<string name="open_url">URL megnyitása</string>
<string name="cannot_resolve_action">Nincs alkalmazás, amely meg tudná nyitni azt</string>
<string name="pick_search_engine">Válasszon keresőmotort</string>
@@ -42,56 +42,67 @@
<string name="view_barcode">Vonalkód megtekintése</string>
<string name="info">Információ</string>
<string name="switch_camera">Kamera átkapcsolása</string>
<string name="bulk_mode">Scan continuously</string>
<string name="bulk_mode">Beolvasás folyamatosan</string>
<string name="bulk_mode_summary">Mindig folyamatos beolvasást indítson.</string>
<string name="history">Előzmények</string>
<string name="preferences">Beállítások</string>
<string name="scan_category">Scan</string>
<string name="content_category">Content</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">Show cropping limiter</string>
<string name="show_crop_handle_summary">Restrict scanning to a customizable region.</string>
<string name="zoom_by_swiping">Zoom camera by swiping up/down</string>
<string name="zoom_by_swiping_summary">Swipe up or down in camera screen to control the camera zoom.</string>
<string name="auto_rotate">Recognize 1D barcodes vertically</string>
<string name="auto_rotate_summary">Automatically rotate the camera frame to recognize vertical 1D barcodes. Depending on the device, this may affect performance.</string>
<string name="try_harder">Optimize reader for accuracy, not speed</string>
<string name="try_harder_summary">Enable this option for very hard to read codes. Will affect performance.</string>
<string name="vibrate">Vibrate on detection</string>
<string name="vibrate_summary">Enable this if you want your device to vibrate when a code is recognized.</string>
<string name="scan_category">Beolvasás</string>
<string name="content_category">Tartalom</string>
<string name="locale_category">Nyelv</string>
<string name="custom_locale">Egyéni nyelv</string>
<string name="follow_system_settings">Rendszerbeállítások követése</string>
<string name="show_crop_handle">Levágási korlátozó megjelenítése</string>
<string name="show_crop_handle_summary">Beolvasás korlátozása egy személyre szabható területre.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Kamera nagyítása fel/le pöccintéssel</string>
<string name="zoom_by_swiping_summary">Pöccintsen fel vagy le a kamera képernyőjén a kamera nagyításának vezérléséhez.</string>
<string name="auto_rotate">1D vonalkódok felismerése függőlegesen</string>
<string name="auto_rotate_summary">A kamera keretének automatikus forgatása a függőleges 1D vonalkódok felismeréséhez. Az eszköztől függően ez hatással lehet a teljesítményre.</string>
<string name="try_harder">Olvasó optimalizálása a pontossághoz a sebesség helyett</string>
<string name="try_harder_summary">Nagyon nehezen olvasható kódoknál engedélyezze ezt a lehetőséget. Hatással lesz a teljesítményre.</string>
<string name="show_toast_in_bulk_mode">Adatok megjelenítése folyamatos módban</string>
<string name="show_toast_in_bulk_mode_summary">A beolvasott adatok gyors megjelenítése folyamatos beolvasáskor.</string>
<string name="vibrate">Rezgetés felismeréskor</string>
<string name="vibrate_summary">Akkor engedélyezze ezt, ha rezgetni szeretné az eszközét egy kód felismerésekor.</string>
<string name="use_history">Beolvasási előzmények mentése</string>
<string name="use_history_summary">Save recognized codes on your device.</string>
<string name="ignore_consecutive_duplicates">Do not save consecutive duplicates</string>
<string name="ignore_consecutive_duplicates_summary">Do not save consecutive duplicates in the scan history.</string>
<string name="use_history_summary">Felismert kódok mentése a saját eszközén.</string>
<string name="ignore_consecutive_duplicates">Ne mentsen egymást követő azonos adatokat</string>
<string name="ignore_consecutive_duplicates_summary">Ne mentse az egymást követő azonos adatokat a beolvasási előzményekbe.</string>
<string name="open_immediately">Vizsgálat kihagyása és a tartalom azonnali megnyitása</string>
<string name="open_immediately_summary">Skip inspection and open contents immediately. May open harmful content if enabled.</string>
<string name="copy_immediately">Automatically copy contents into clipboard</string>
<string name="copy_immediately_summary">Automatically copy scanned contents into clipboard. Please note that other apps may snoop on your clipboard in the background.</string>
<string name="show_meta_data">Show metadata</string>
<string name="show_meta_data_summary">Show additional data about the scanned barcoded.</string>
<string name="show_hex_dump">Show hex dump</string>
<string name="show_hex_dump_summary">Show a hex dump of the scanned contents.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="open_immediately_summary">Vizsgálat kihagyása és a tartalom azonnali megnyitása. Ártalmas tartalmat is megnyithat, ha engedélyezve van.</string>
<string name="copy_immediately">Tartalom automatikus másolása a vágólapra</string>
<string name="copy_immediately_summary">Beolvasott tartalom automatikus másolása a vágólapra. Ne feledje, hogy más alkalmazások megfigyelhetik a vágólapját a háttérben.</string>
<string name="show_meta_data">Metaadatok megjelenítése</string>
<string name="show_meta_data_summary">További adatok megjelenítése a beolvasott vonalkódokról.</string>
<string name="show_hex_dump">Hexakiírás megjelenítése</string>
<string name="show_hex_dump_summary">A beolvasott tartalom hexakiírásának megjelenítése.</string>
<string name="close_automatically">Ugrás vissza másolás vagy megosztás után</string>
<string name="close_automatically_summary">Automatikus visszatérés a beolvasási képernyőre a beolvasott tartalom másolása vagy megosztása után.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Ismeretlen adat megnyitása URL-lel</string>
<string name="send_category">Forwarding</string>
<string name="send_scan_url">Send every scan to URL</string>
<string name="send_scan_type">Type of request for every scan</string>
<string name="send_type_get_add_content">GET and simply add content</string>
<string name="send_type_get_query_string">GET with compelete query string</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Továbbítás</string>
<string name="send_scan_url">Összes beolvasás küldése egy URL-re</string>
<string name="send_scan_type">Kérés típusa az egyes beolvasásoknál</string>
<string name="send_type_get_add_content">GET és a tartalom egyszerű hozzáadása</string>
<string name="send_type_get_query_string">GET a teljes lekérdezési karakterlánccal</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="test_url">Test URL</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">Really remove selected scans?</string>
<string name="really_remove_selected_scans">Valóban eltávolítja a kijelölt beolvasásokat?</string>
<string name="clear_history">Előzmények törlése</string>
<string name="copy_scan">Copy scan</string>
<string name="edit_scan">Edit label</string>
<string name="remove_scan">Remove scan</string>
<string name="enter_name">Enter a name to describe the scan</string>
<string name="enter_name_hint">Name of the scan</string>
<string name="copy_scan">Beolvasás másolása</string>
<string name="edit_scan">Címke szerkesztése</string>
<string name="remove_scan">Beolvasás eltávolítása</string>
<string name="enter_name">Adjon meg egy nevet a beolvasás leírásához</string>
<string name="enter_name_hint">A beolvasás neve</string>
<string name="no_barcode_found">Nem található vonalkód</string>
<string name="pick_list_separator">Hogyan kell elválasztani a listaelemeket?</string>
<string name="separator_line_break">Sortörés</string>
@@ -115,19 +126,19 @@
<string name="vevent_failed">Nem sikerült hozzáadni a naptárhoz</string>
<string name="otpauth_add">Kétlépcsős hitelesítés hozzáadása</string>
<string name="search_web">Keresés a weben</string>
<string name="search_scan">Search scan</string>
<string name="search_scan">Beolvasás keresése</string>
<string name="export_to_file">Exportálás fájlba</string>
<string name="export_as">Export as?</string>
<string name="export_csv_comma">CSV file with commas</string>
<string name="export_csv_semicolon">CSV file with semicolons</string>
<string name="export_json">JSON file</string>
<string name="export_database">SQLite database</string>
<string name="export_as">Exportálja másként?</string>
<string name="export_csv_comma">CSV-fájl vesszővel</string>
<string name="export_csv_semicolon">CSV-fájl pontosvesszővel</string>
<string name="export_json">JSON-fájl</string>
<string name="export_database">SQLite adatbázis</string>
<string name="saved_in_downloads">Elmentve a letöltésekbe</string>
<string name="rotate_image_cw">Kép forgatása jobbra</string>
<string name="pick_file">Képfájl kiválasztása</string>
<string name="pick_code_to_scan">Kód kiválasztása a beolvasáshoz</string>
<string name="shortcut_decode">Scan a barcode</string>
<string name="shortcut_encode">Create a barcode</string>
<string name="shortcut_preferences">Settings</string>
<string name="background_request_failed">Background request failed</string>
<string name="shortcut_decode">Vonalkód beolvasása</string>
<string name="shortcut_encode">Vonalkód létrehozása</string>
<string name="shortcut_preferences">Beállítások</string>
<string name="background_request_failed">A háttérkérés sikertelen</string>
</resources>
+11
View File
@@ -42,6 +42,7 @@
<string name="info">Info</string>
<string name="switch_camera">Ganti kamera</string>
<string name="bulk_mode">Pindai tanpa henti</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Riwayat</string>
<string name="preferences">Preferensi</string>
<string name="scan_category">Pemindaian</string>
@@ -51,12 +52,15 @@
<string name="follow_system_settings">Ikuti pengaturan sistem</string>
<string name="show_crop_handle">Tampilkan pembatas pemotongan</string>
<string name="show_crop_handle_summary">Batasi pemindaian ke batas area tertentu.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Geser ke atas/bawah untuk memperbesar</string>
<string name="zoom_by_swiping_summary">Geser layar kamera ke atas atau ke bawah untuk mengontrol perbesaran gambar.</string>
<string name="auto_rotate">Kenali barcode vertikal 1D</string>
<string name="auto_rotate_summary">Otomatis putar frame kamera mengenali barcode vertikal 1D. Tergantung pada perangkat, mungkin akan berpengaruh pada performa.</string>
<string name="try_harder">Optimalkan akurasi pembaca</string>
<string name="try_harder_summary">Aktifkan opsi ini untuk kode yang susah dibaca. Akan berpengaruh pada performa.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">Bergetar saat mendeteksi</string>
<string name="vibrate_summary">Aktifkan opsi ini jika anda ingin perangkat anda bergetar ketika kode berhasil dipindai.</string>
<string name="use_history">Simpan riwayat pemindaian</string>
@@ -73,7 +77,14 @@
<string name="show_hex_dump_summary">Tampilkan hex dump dari konten hasil pemindaian.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Buka data tak dikenal dengan URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Penerusan</string>
<string name="send_scan_url">Kirim setiap pindaian ke URL</string>
<string name="send_scan_type">Tipe permintaan untuk setiap pindaian</string>
+12 -1
View File
@@ -43,21 +43,25 @@
<string name="info">Info</string>
<string name="switch_camera">Cambia fotocamera</string>
<string name="bulk_mode">Scansione continua</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Cronologia</string>
<string name="preferences">Preferenze</string>
<string name="scan_category">Scansione</string>
<string name="content_category">Contenuto</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="custom_locale">Custom language</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">Mostra riquadro di limite</string>
<string name="show_crop_handle_summary">Limita la scansione ad una regione personalizzata.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Zoom fotocamera scorrendo su/giù</string>
<string name="zoom_by_swiping_summary">Scorri su o giù per controllare lo zoom della fotocamera.</string>
<string name="auto_rotate">Riconosci i codici a barre 1D verticalmente</string>
<string name="auto_rotate_summary">Ruota automaticamente la fotocamera per riconoscere i codici a barre 1D verticali. In base al dispositivo, potrebbe ridurre le prestazioni.</string>
<string name="try_harder">Ottimizza il lettore per accuratezza, non velocità</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">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</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="use_history">Salva cronologia delle scansioni</string>
@@ -74,7 +78,14 @@
<string name="show_hex_dump_summary">Mostra un dump esadecimale dei contenuti scansionati.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Apri dati sconosciuti con URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Inoltro</string>
<string name="send_scan_url">Invia ogni scansione ad un URL</string>
<string name="send_scan_type">Tipo di richiesta per ogni scansione</string>
+144
View File
@@ -0,0 +1,144 @@
<resources>
<string name="no_camera_no_fun">このアプリはカメラへのアクセス許可なしでは動作しません。終了します。</string>
<string name="camera_error">カメラに接続できませんでした。再試行してください。</string>
<string name="scan_code">バーコードをスキャン</string>
<string name="compose_barcode">バーコードを作成</string>
<string name="decode_barcode">バーコードを復号</string>
<string name="content">内容</string>
<string name="binary_data">(バイナリデータ)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d 文字, %1$s</item>
<item quantity="other">%2$d 文字, %1$s</item>
</plurals>
<string name="error_correction_level">誤り訂正レベル</string>
<string name="error_correction_level_l" formatted="false">低 (~7&#37; の正確性)</string>
<string name="error_correction_level_m" formatted="false">中 (~15&#37; の正確性)</string>
<string name="error_correction_level_q" formatted="false">高 (~25&#37; の正確性)</string>
<string name="error_correction_level_h" formatted="false">最高 (~30&#37; の正確性)</string>
<string name="issue_number">発行番号</string>
<string name="orientation">方向</string>
<string name="other_meta_data">メタデータ</string>
<string name="pdf417_extra_metadata">PDF417 メタデータ</string>
<string name="possible_country">製造国</string>
<string name="suggested_price">価格</string>
<string name="upc_ean_extension">UPC/EAN 拡張型</string>
<string name="toggle_flash">フラッシュを切り替え</string>
<string name="share">共有</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">URLを開く</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="encode">エンコード</string>
<string name="error_no_content">内容が指定されていません</string>
<string name="error_encoding_barcode">バーコードを作成できませんでした</string>
<string name="view_barcode">バーコードを確認</string>
<string name="info">ソースコード</string>
<string name="switch_camera">カメラを切り替え</string>
<string name="bulk_mode">まとめてスキャンする</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">履歴</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="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">スワイプでズーム調節</string>
<string name="zoom_by_swiping_summary">上下にスワイプすることで、カメラのズームを調節できるようにします。</string>
<string name="auto_rotate">縦向きの一次元バーコードを読み取る</string>
<string name="auto_rotate_summary">自動的に画像を回転させ、縦方向の一次元バーコードを読み取れるようにします。端末によっては処理速度に影響が出る場合があります。</string>
<string name="try_harder">より正確な読み込みを試みる</string>
<string name="try_harder_summary">バーコードをうまく読み取れない場合はこのオプションを有効にしてください。処理速度に影響が出る場合があります。</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">認識時に振動する</string>
<string name="vibrate_summary">バーコードが認識されたときにバイブレーションを行います。</string>
<string name="use_history">スキャン履歴を保存する</string>
<string name="use_history_summary">認識されたバーコードを端末に保存しておきます。</string>
<string name="ignore_consecutive_duplicates">重複を破棄する</string>
<string name="ignore_consecutive_duplicates_summary">重複したスキャン履歴を保存しないようにします。</string>
<string name="open_immediately">すぐにコンテンツを開く</string>
<string name="open_immediately_summary">確認画面なしでコンテンツをすぐに開くようにします。有害なコンテンツを開いてしまうリスクがあります。</string>
<string name="copy_immediately">自動的にクリップボードにコピー</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">16進数を表示</string>
<string name="show_hex_dump_summary">スキャンされたコンテンツの16進数データを確認できるようにします。</string>
<string name="close_automatically">コピー/共有後に戻る</string>
<string name="close_automatically_summary">コンテンツをコピー/共有した後、自動的にスキャン画面に戻るようにします。</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">未知のデータを次のURLから開く</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">転送</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="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="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="separator_line_break">改行</string>
<string name="separator_ruler">ルーラー</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="sms_send">SMSを送信</string>
<string name="sms_error">SMSを送信できませんでした</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="otpauth_add">二段階認証を追加</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_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="rotate_image_cw">時計回りに回転</string>
<string name="pick_file">画像を選択して読み込み</string>
<string name="pick_code_to_scan">スキャンするバーコードを選択</string>
<string name="shortcut_decode">バーコードをスキャン</string>
<string name="shortcut_encode">バーコードを作成</string>
<string name="shortcut_preferences">設定</string>
<string name="background_request_failed">バックグラウンド要求に失敗しました</string>
</resources>
+12 -1
View File
@@ -45,21 +45,25 @@
<string name="info">ინფორმაცია</string>
<string name="switch_camera">კამერის გადართვა</string>
<string name="bulk_mode">სკანირება უწყვეტად</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">ისტორია</string>
<string name="preferences">პარამეტრები</string>
<string name="scan_category">სკანირება</string>
<string name="content_category">კონტენტი</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="custom_locale">Custom language</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">სკანირების არეალის ჩვენება</string>
<string name="show_crop_handle_summary">სკანირების შეზღუდვა შერჩეული არეალით.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">მასშტაბირება თითის მოძრაობით მაღლა/დაბლა</string>
<string name="zoom_by_swiping_summary">გაატარეთ თითი მაღლა ან დაბლა კამერის მასშტაბირების სამართავად.</string>
<string name="auto_rotate">1D ვერტიკალური შტრიხ-კოდების ამოცნობა</string>
<string name="auto_rotate_summary">კამერის ავტომატური შეტრიალება ვერტიკალური 1D შტრიხ-კოდების ამოსაცნობად. მოწყობილობიდან გამომდინარე, შესაძლოა იმოქმედოს წარმადობაზე.</string>
<string name="try_harder">წაკითხვის ოპტიმიზირება სიზუსტეზე და არა სისწრაფეზე</string>
<string name="try_harder_summary">ეს პარამეტრი ჩართეთ იმ შტრიხ-კოდებისთვის, რომელთა ამოცნობაც ძალიან ძნელია. მოქმედებს წარმადობაზე.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">ვიბრირება პოვნისას</string>
<string name="vibrate_summary">ჩართეთ ეს პარამეტრი, თუ გსურთ მოწყობილობის ვიბრირება,როდესაც შტრიხ-კოდი ამოცნობილი იქნება.</string>
<string name="use_history">სკანირების ისტორიის შენახვა</string>
@@ -76,7 +80,14 @@
<string name="show_hex_dump_summary">სკანირებული შტრიხ-კოდის კონტენტის თექვსმეტობითი dump-ის ჩვენება.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">უცნობი მონაცემების ამ ბმულის საშუალებით გახსნა</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">გადაგზავნა</string>
<string name="send_scan_url">ყოველი სკანირებული შტრიხ-კოდის ბმულის საშუალებით გახსნა</string>
<string name="send_scan_type">მოთხოვნის ტიპი ყოველი სკანირებული შტრიხ-კოდისთვის</string>
+114 -103
View File
@@ -1,133 +1,144 @@
<resources>
<string name="no_camera_no_fun">Deze app kan niet werken zonder cameratoegang. Tot ziens.</string>
<string name="camera_error">Kan camera niet openen; probeer het opnieuw.</string>
<string name="camera_error">De camera kan niet worden geopend. Probeer het opnieuw.</string>
<string name="scan_code">Scan een code</string>
<string name="compose_barcode">Scan een barcode</string>
<string name="decode_barcode">Barcode decoderen</string>
<string name="content">Inhoud</string>
<string name="binary_data">(binaire data)</string>
<plurals name="barcode_info">
<item quantity="one">%2$d character, %1$s</item>
<item quantity="other">%2$d characters, %1$s</item>
<item quantity="one">%2$d teken, %1$s</item>
<item quantity="other">%2$d tekens, %1$s</item>
</plurals>
<string name="error_correction_level">Error correction level</string>
<string name="error_correction_level_l" formatted="false">Low (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false">Medium (~15&#37; correction)</string>
<string name="error_correction_level_q" formatted="false">Quartile (~25&#37; correction)</string>
<string name="error_correction_level_h" formatted="false">High (~30&#37; correction)</string>
<string name="issue_number">Issue number</string>
<string name="orientation">Orientation</string>
<string name="other_meta_data">Metadata</string>
<string name="pdf417_extra_metadata">PDF417 metadata</string>
<string name="possible_country">Possible country of manufacture</string>
<string name="suggested_price">Suggested price</string>
<string name="upc_ean_extension">UPC EAN extension</string>
<string name="toggle_flash">Flitslicht schakelen</string>
<string name="error_correction_level">Foutcorrectieniveau</string>
<string name="error_correction_level_l" formatted="false">Laag (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false">Gemiddeld (~15&#37; correction)</string>
<string name="error_correction_level_q" formatted="false">Hoger (~25&#37; correction)</string>
<string name="error_correction_level_h" formatted="false">Hoog (~30&#37; correction)</string>
<string name="issue_number">Getal toekennen</string>
<string name="orientation">Oriëntatie</string>
<string name="other_meta_data">Metagegevens</string>
<string name="pdf417_extra_metadata">PDF417-metagegevens</string>
<string name="possible_country">Mogelijk land van herkomst</string>
<string name="suggested_price">Adviesprijs</string>
<string name="upc_ean_extension">UPC EAN-extensie</string>
<string name="toggle_flash">Flits aan/uit</string>
<string name="share">Delen</string>
<string name="share_as">Share as?</string>
<string name="share_as">Delen als?</string>
<string name="copy_to_clipboard">Kopiëren naar klembord</string>
<string name="copied_to_clipboard">Kopieer de inhoud naar het klembord</string>
<string name="copy_password">Copy password into clipboard</string>
<string name="copied_password_to_clipboard">Password copied to clipboard</string>
<string name="copied_to_clipboard">De inhoud is gekopieerd naar het klembord</string>
<string name="copy_password">Wachtwoord kopiëren naar klembord</string>
<string name="copied_password_to_clipboard">Het wachtwoord is gekopieerd naar het klembord</string>
<string name="open_url">URL openen</string>
<string name="cannot_resolve_action">Er is geen app aangetroffen die dit kan openen</string>
<string name="pick_search_engine">Een zoekmachine kiezen</string>
<string name="pick_search_engine">Zoekmachine kiezen</string>
<string name="format">Formaat</string>
<string name="size">Grootte, 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="encode">CODEREN</string>
<string name="error_no_content">Inhoud ontbreekt</string>
<string name="error_encoding_barcode">Barcode kan niet gegenereerd worden</string>
<string name="error_no_content">De inhoud ontbreekt</string>
<string name="error_encoding_barcode">De barcode kan niet worden gegenereerd</string>
<string name="view_barcode">Barcode bekijken</string>
<string name="info">Informatie</string>
<string name="switch_camera">Camera wisselen</string>
<string name="bulk_mode">Scan continuously</string>
<string name="switch_camera">Andere camera</string>
<string name="bulk_mode">Continu scannen</string>
<string name="bulk_mode_summary">Blijf continu scannen.</string>
<string name="history">Geschiedenis</string>
<string name="preferences">Voorkeuren</string>
<string name="scan_category">Scan</string>
<string name="content_category">Content</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">Show cropping limiter</string>
<string name="show_crop_handle_summary">Restrict scanning to a customizable region.</string>
<string name="zoom_by_swiping">Zoom camera by swiping up/down</string>
<string name="zoom_by_swiping_summary">Swipe up or down in camera screen to control the camera zoom.</string>
<string name="auto_rotate">Recognize 1D barcodes vertically</string>
<string name="auto_rotate_summary">Automatically rotate the camera frame to recognize vertical 1D barcodes. Depending on the device, this may affect performance.</string>
<string name="try_harder">Optimize reader for accuracy, not speed</string>
<string name="try_harder_summary">Enable this option for very hard to read codes. Will affect performance.</string>
<string name="vibrate">Vibrate on detection</string>
<string name="vibrate_summary">Enable this if you want your device to vibrate when a code is recognized.</string>
<string name="use_history">Scan-geschiedenis behouden</string>
<string name="use_history_summary">Save recognized codes on your device.</string>
<string name="ignore_consecutive_duplicates">Do not save consecutive duplicates</string>
<string name="ignore_consecutive_duplicates_summary">Do not save consecutive duplicates in the scan history.</string>
<string name="open_immediately">Skip inspection and open contents immediately</string>
<string name="open_immediately_summary">Skip inspection and open contents immediately. May open harmful content if enabled.</string>
<string name="copy_immediately">Automatically copy contents into clipboard</string>
<string name="copy_immediately_summary">Automatically copy scanned contents into clipboard. Please note that other apps may snoop on your clipboard in the background.</string>
<string name="show_meta_data">Show metadata</string>
<string name="show_meta_data_summary">Show additional data about the scanned barcoded.</string>
<string name="show_hex_dump">Show hex dump</string>
<string name="show_hex_dump_summary">Show a hex dump of the scanned contents.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="really_remove_scan">Scan echt verwijderen?</string>
<string name="really_remove_all_scans">Echt alle scans verwijderen?</string>
<string name="really_remove_selected_scans">Really remove selected scans?</string>
<string name="preferences">Instellingen</string>
<string name="scan_category">Scannen</string>
<string name="content_category">Inhoud</string>
<string name="locale_category">Taal</string>
<string name="custom_locale">Andere taal</string>
<string name="follow_system_settings">Systeeminstellingen gebruiken</string>
<string name="show_crop_handle">Bijsnijdhulpmiddel tonen</string>
<string name="show_crop_handle_summary">Beperk scannen tot een aanpasbaar gebied.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Camera zoomen door omhoog/omlaag te vegen</string>
<string name="zoom_by_swiping_summary">Veeg omhoog of omlaag op het camerascherm om in en uit te zoomen.</string>
<string name="auto_rotate">1D-barcodes verticaal scannen</string>
<string name="auto_rotate_summary">Draai de camera automatisch 1D-barcodes verticaal te scannen. Let op: dit kan van invloed zijn op de prestaties.</string>
<string name="try_harder">Scanner optimaliseren voor juistheid i.p.v. snelheid</string>
<string name="try_harder_summary">Schakel deze optie in voor moeilijk afleesbare codes. Let op: de prestaties leiden hieronder.</string>
<string name="show_toast_in_bulk_mode">Data tonen in continumodus</string>
<string name="show_toast_in_bulk_mode_summary">Toon de gescande data in continumodus.</string>
<string name="vibrate">Trillen na herkennen</string>
<string name="vibrate_summary">Schakel deze optie in als je wilt dat je apparaat trilt na het herkennen van een barcode.</string>
<string name="use_history">Scangeschiedenis bewaren</string>
<string name="use_history_summary">Bewaar herkende codes op je apparaat.</string>
<string name="ignore_consecutive_duplicates">Opeenvolgende duplicaten niet bewaren</string>
<string name="ignore_consecutive_duplicates_summary">Bewaar opeenvolgende duplicaten niet in de scangeschiedenis.</string>
<string name="open_immediately">Inspectie overslaan en inhoud direct tonen</string>
<string name="open_immediately_summary">Sla de inspectie over en open de inhoud direct. Let op: sommige inhoud kan schadelijk zijn.</string>
<string name="copy_immediately">Inhoud automatisch kopiëren naar klembord</string>
<string name="copy_immediately_summary">Kopieer de gescande inhoud automatisch naar het klembord. Let op: andere apps kunnen mogelijk meelezen op de achtergrond.</string>
<string name="show_meta_data">Metagegevens tonen</string>
<string name="show_meta_data_summary">Toon aanvullende gegevens over de gescande barcode.</string>
<string name="show_hex_dump">Hexdump tonen</string>
<string name="show_hex_dump_summary">Toon een hexdump van de gescande inhoud.</string>
<string name="close_automatically">Terugkeren na kopiëren/delen</string>
<string name="close_automatically_summary">Keer automatisch terug naar naar het scanscherm na het kopiëren/delen van een item.</string>
<string name="really_remove_scan">Weet je zeker dat je de scan wilt verwijderen?</string>
<string name="really_remove_all_scans">Weet je zeker dat je de scans wilt verwijderen?</string>
<string name="really_remove_selected_scans">Weet je zeker dat je de selectie wilt verwijderen?</string>
<string name="clear_history">Geschiedenis wissen</string>
<string name="copy_scan">Copy scan</string>
<string name="edit_scan">Edit label</string>
<string name="remove_scan">Remove scan</string>
<string name="enter_name">Enter a name to describe the scan</string>
<string name="enter_name_hint">Name of the scan</string>
<string name="no_barcode_found">Geen barcode gevonden</string>
<string name="copy_scan">Scan kopiëren</string>
<string name="edit_scan">Label aanpassen</string>
<string name="remove_scan">Scan verwijderen</string>
<string name="enter_name">Geef de scan een naam</string>
<string name="enter_name_hint">Naam</string>
<string name="no_barcode_found">Geen barcode aangetroffen</string>
<string name="separator_line_break">Nieuwe regel</string>
<string name="separator_ruler">Horizontale streep</string>
<string name="save_as_file_name">Als bestand opslaan?</string>
<string name="file_name">Naam van het bestand</string>
<string name="error_file_exists">Bestand bestaat al</string>
<string name="connect_to_wifi">Met WiFi verbinden</string>
<string name="wifi_config_failed">Kon WiFi niet configureren</string>
<string name="wifi_added">WiFi toegevoegd</string>
<string name="save_as_file_name">Opslaan als bestand?</string>
<string name="file_name">Bestandsnaam</string>
<string name="error_file_exists">Het bestand bestaat al</string>
<string name="connect_to_wifi">Verbinden met wifi-netwerk</string>
<string name="wifi_config_failed">Het wifi-netwerk kan niet worden ingesteld</string>
<string name="wifi_added">Het wifi-netwerk is toegevoegd</string>
<string name="sms_send">SMS versturen</string>
<string name="sms_error">Kon SMS niet versturen</string>
<string name="sms_error">De sms kan niet worden verstuurd</string>
<string name="tel_dial">Nummer bellen</string>
<string name="tel_error">Kon nummer niet bellen</string>
<string name="mail_send">Mail versturen</string>
<string name="mail_error">Kon mail niet versturen</string>
<string name="vcard_add">Aan contacten toevoegen</string>
<string name="vcard_failed">Kon niet aan contacten toevoegen</string>
<string name="vevent_add">Aan kalender toevoegen</string>
<string name="tel_error">Het nummer kan niet worden gebeld</string>
<string name="mail_send">E-mail versturen</string>
<string name="mail_error">De e-mail kan niet worden verstuurd</string>
<string name="vcard_add">Toevoegen aan contactpersoon</string>
<string name="vcard_failed">Het toevoegen is mislukt</string>
<string name="vevent_add">Toevoegen aan kalender</string>
<string name="otpauth_add">2FA toevoegen</string>
<string name="search_web">Het net doorzoeken</string>
<string name="search_scan">Search scan</string>
<string name="export_to_file">Naar bestand exporteren</string>
<string name="export_as">Export as?</string>
<string name="export_csv_comma">CSV file with commas</string>
<string name="export_csv_semicolon">CSV file with semicolons</string>
<string name="export_json">JSON file</string>
<string name="export_database">SQLite database</string>
<string name="error_saving_file">Kon bestand niet opslaan</string>
<string name="open_with_url">Niet herkende data met URL openen</string>
<string name="send_category">Forwarding</string>
<string name="send_scan_url">Send every scan to URL</string>
<string name="send_scan_type">Type of request for every scan</string>
<string name="send_type_get_add_content">GET and simply add content</string>
<string name="send_type_get_query_string">GET with compelete query string</string>
<string name="search_web">Zoeken op internet</string>
<string name="search_scan">Scan zoeken</string>
<string name="export_to_file">Exporteren naar bestand</string>
<string name="export_as">Exporteren als?</string>
<string name="export_csv_comma">Kommagescheiden csv-bestand</string>
<string name="export_csv_semicolon">Puntkommagescheiden csv-bestand</string>
<string name="export_json">JSON-bestand</string>
<string name="export_database">SQLite-databank</string>
<string name="error_saving_file">Het bestand kan niet worden opgeslagen</string>
<string name="default_search_engine">Onbekende data openen in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Niet-herkende data met url openen</string>
<string name="clear_network_suggestions">Netwerksuggesties wissen</string>
<string name="clear_network_suggestions_summary">Wis alle eerder getoonde netwerksuggesties.</string>
<string name="really_remove_all_networks">Weet je zeker dat je alle netwerken wilt verwijderen?</string>
<string name="clear_network_suggestions_success">De netwersuggesties zijn gewist</string>
<string name="clear_network_suggestions_nothing_to_remove">Er valt niks te wissen</string>
<string name="send_category">Doorsturen</string>
<string name="send_scan_url">Elke scan doorsturen naar url</string>
<string name="send_scan_type">Soort verzoek van elke scan</string>
<string name="send_type_get_add_content">GET met toegevoegde inhoud</string>
<string name="send_type_get_query_string">GET met volledige opvraging</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="test_url">Test URL</string>
<string name="pick_list_separator">Hoe de lijstonderdelen te separeren?</string>
<string name="saved_in_downloads">In downloads opgeslagen</string>
<string name="vevent_failed">Kon niet aan kalender toevoegen</string>
<string name="rotate_image_cw">Rotate image clockwise</string>
<string name="pick_file">Pick image file</string>
<string name="pick_code_to_scan">Pick code to scan</string>
<string name="shortcut_decode">Scan a barcode</string>
<string name="shortcut_encode">Create a barcode</string>
<string name="shortcut_preferences">Settings</string>
<string name="background_request_failed">Background request failed</string>
<string name="test_url">URL testen</string>
<string name="pick_list_separator">Hoe moeten lijstonderdelen worden gescheiden?</string>
<string name="saved_in_downloads">Opgeslagen in downloadmap</string>
<string name="vevent_failed">Toevoegen mislukt</string>
<string name="rotate_image_cw">Afbeelding rechtsom draaien</string>
<string name="pick_file">Kies een afbeeldingsbestand</string>
<string name="pick_code_to_scan">Kies de te scannen code</string>
<string name="shortcut_decode">Barcode scannen</string>
<string name="shortcut_encode">Barcode genereren</string>
<string name="shortcut_preferences">Instellingen</string>
<string name="background_request_failed">Het achtergrondverzoek is mislukt</string>
</resources>
+12 -1
View File
@@ -63,6 +63,7 @@
<string name="show_meta_data_summary">Show additional data about the scanned barcoded.</string>
<string name="switch_camera">Przełącz aparat</string>
<string name="bulk_mode">Scan continuously</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="toggle_flash">Przełącz lampę błyskową</string>
<string name="wifi_added">Wi-Fi dodane</string>
<string name="zoom_by_swiping">Przybliżaj kamerę, przesuwając w górę/dół</string>
@@ -85,12 +86,20 @@
<string name="copy_immediately_summary">Automatically copy scanned contents into clipboard. Please note that other apps may snoop on your clipboard in the background.</string>
<string name="show_crop_handle">Pokazuj ogranicznik przycinania</string>
<string name="show_crop_handle_summary">Restrict scanning to a customizable region.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="search_web">Szukaj w sieci</string>
<string name="search_scan">Szukaj skanu</string>
<string name="export_database">Eksportuj do bazy danych SQLite</string>
<string name="ignore_consecutive_duplicates">Nie zapisuj kolejnych duplikatów</string>
<string name="ignore_consecutive_duplicates_summary">Do not save consecutive duplicates in the scan history.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Otwieraj nieznane dane za pomocą adresu URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Forwarding</string>
<string name="send_scan_url">Send every scan to URL</string>
<string name="send_scan_type">Type of request for every scan</string>
@@ -107,7 +116,7 @@
<string name="scan_category">Scan</string>
<string name="content_category">Content</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="custom_locale">Custom language</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="decode_barcode">Dekoduj kod kreskowy</string>
<string name="upc_ean_extension">Dodatek UPC EAN</string>
@@ -116,6 +125,8 @@
<string name="error_no_content">Brak zawartości</string>
<string name="try_harder">Zoptymalizuj czytnik pod kątem dokładności, a nie prędkości</string>
<string name="try_harder_summary">Enable this option for very hard to read codes. Will affect performance.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<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>
+12 -1
View File
@@ -43,21 +43,25 @@
<string name="info">Informações</string>
<string name="switch_camera">Trocar câmera</string>
<string name="bulk_mode">Scan continuously</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Histórico</string>
<string name="preferences">Preferências</string>
<string name="scan_category">Scan</string>
<string name="content_category">Content</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="custom_locale">Custom language</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">Show cropping limiter</string>
<string name="show_crop_handle_summary">Restrict scanning to a customizable region.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Zoom camera by swiping up/down</string>
<string name="zoom_by_swiping_summary">Swipe up or down in camera screen to control the camera zoom.</string>
<string name="auto_rotate">Recognize 1D barcodes vertically</string>
<string name="auto_rotate_summary">Automatically rotate the camera frame to recognize vertical 1D barcodes. Depending on the device, this may affect performance.</string>
<string name="try_harder">Optimize reader for accuracy, not speed</string>
<string name="try_harder_summary">Enable this option for very hard to read codes. Will affect performance.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">Vibrate on detection</string>
<string name="vibrate_summary">Enable this if you want your device to vibrate when a code is recognized.</string>
<string name="use_history">Salvar histórico de escaneamento</string>
@@ -74,7 +78,14 @@
<string name="show_hex_dump_summary">Show a hex dump of the scanned contents.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Abrir dados desconhecidos com URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Forwarding</string>
<string name="send_scan_url">Send every scan to URL</string>
<string name="send_scan_type">Type of request for every scan</string>
+66 -55
View File
@@ -1,9 +1,9 @@
<resources>
<string name="no_camera_no_fun">Это приложение не имеет никакого смысла без доступа к камере</string>
<string name="camera_error">Не удается получить доступ к камере, пожалуйста, попробуйте еще раз</string>
<string name="scan_code">Сканирование штрих-кода</string>
<string name="compose_barcode">Создание штрих-кода</string>
<string name="decode_barcode">Декодирование штрих-кода</string>
<string name="camera_error">Невозможно получить доступ к камере, попробуйте ещё раз</string>
<string name="scan_code">Сканировать штрих-код</string>
<string name="compose_barcode">Создать штрих-код</string>
<string name="decode_barcode">Декодировать штрих-код</string>
<string name="content">Текст</string>
<string name="binary_data">(двоичные данные)</string>
<plurals name="barcode_info">
@@ -13,22 +13,22 @@
<item quantity="other">%2$d символов, %1$s</item>
</plurals>
<string name="error_correction_level">Уровень коррекции ошибок</string>
<string name="error_correction_level_l" formatted="false">Low (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false">Medium (~15&#37; correction)</string>
<string name="error_correction_level_q" formatted="false">Quartile (~25&#37; correction)</string>
<string name="error_correction_level_h" formatted="false">High (~30&#37; correction)</string>
<string name="issue_number">Номер выпуская</string>
<string name="error_correction_level_l" formatted="false">Низкий (7&#37; исправлений)</string>
<string name="error_correction_level_m" formatted="false">Средний (15&#37; исправлений)</string>
<string name="error_correction_level_q" formatted="false">Квартиль (25&#37; исправлений)</string>
<string name="error_correction_level_h" formatted="false">Высокий (30&#37; исправлений)</string>
<string name="issue_number">Номер выпуска</string>
<string name="orientation">Ориентация</string>
<string name="other_meta_data">Метаданные</string>
<string name="pdf417_extra_metadata">PDF417 метаданные</string>
<string name="pdf417_extra_metadata">Метаданные PDF417</string>
<string name="possible_country">Возможная страна изготовления</string>
<string name="suggested_price">Предположительная цена</string>
<string name="upc_ean_extension">UPC EAN расширение</string>
<string name="upc_ean_extension">Расширение UPC EAN</string>
<string name="toggle_flash">Включить вспышку</string>
<string name="share">Поделиться</string>
<string name="share_as">Share as?</string>
<string name="share_as">Поделиться как?</string>
<string name="copy_to_clipboard">Скопировать в буфер обмена</string>
<string name="copied_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">Открыть URL</string>
@@ -44,50 +44,61 @@
<string name="view_barcode">Просмотр штрих-кода</string>
<string name="info">Информация</string>
<string name="switch_camera">Переключить камеру</string>
<string name="bulk_mode">Сканировать непрерывно</string>
<string name="bulk_mode">Непрерывное сканирование</string>
<string name="bulk_mode_summary">Всегда запускать непрерывное сканирование.</string>
<string name="history">История</string>
<string name="preferences">Настройки</string>
<string name="scan_category">Сканирование</string>
<string name="content_category">Содержимое</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="follow_system_settings">Follow system settings</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="zoom_by_swiping">Масштабировать движением пальцем вверх/вниз</string>
<string name="barcode_formats">Форматы штрих-кодов</string>
<string name="zoom_by_swiping">Масштабировать жестом вверх/вниз</string>
<string name="zoom_by_swiping_summary">Проведите пальцем вверх или вниз для управления масштабированием камеры.</string>
<string name="auto_rotate">Распознавать 1D штрих-коды вертикально</string>
<string name="auto_rotate_summary">Автоматически поварачивать камеру для распознавания вертикальных 1D штрих-кодов. В зависимости от устройства, это может повлиять на производительность.</string>
<string name="try_harder">Оптимизировать считывание на точность, а не скорость</string>
<string name="auto_rotate_summary">Автоматически поворачивать камеру для распознавания вертикальных 1D штрих-кодов. В зависимости от устройства, это может повлиять на производительность.</string>
<string name="try_harder">Приоритет точности считывания</string>
<string name="try_harder_summary">Включите эту настройку для штрих-кодов, которые очень сложно прочитать. Влияет на производительность.</string>
<string name="vibrate">Вибрировать при обнаружении</string>
<string name="vibrate_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="use_history">Сохранять историю сканирования</string>
<string name="use_history_summary">Сохранять распознанные штрих-коды на устройстве.</string>
<string name="ignore_consecutive_duplicates">Не сохранять последовательные дубликаты</string>
<string name="ignore_consecutive_duplicates">Не хранить последовательные дубликаты</string>
<string name="ignore_consecutive_duplicates_summary">Не сохранять последовательные дубликаты в истории сканирования.</string>
<string name="open_immediately">Пропускать проверку и сразу открыть содержимое</string>
<string name="open_immediately">Сразу открывать содержимое</string>
<string name="open_immediately_summary">Пропускать проверку и сразу открыть содержимое. Может привести к открытию небезопасного содержимого.</string>
<string name="copy_immediately">Автоматически копировать содержимое в буфер обмена</string>
<string name="copy_immediately_summary">Автоматически копировать содержимое отсканированного штрих-кода в буфер обмена. Имейте в виду, что другие приложения могут иметь доступ к буферу обмена в фоне.</string>
<string name="copy_immediately">Автокопирование в буфер обмена</string>
<string name="copy_immediately_summary">Автоматически копировать содержимое считанного штрих-кода в буфер обмена. Имейте в виду, что другие приложения могут иметь доступ к буферу обмена в фоне.</string>
<string name="show_meta_data">Показывать метаданные</string>
<string name="show_meta_data_summary">Показывать дополнительную информацию об отсканированных штрих-кодах.</string>
<string name="show_meta_data_summary">Показывать дополнительную информацию о считанных штрих-кодах.</string>
<string name="show_hex_dump">Показывать шестнадцатеричный дамп</string>
<string name="show_hex_dump_summary">Показывать шестнадцатеричный дамп содержимого отсканированного штрих-кода.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="open_with_url">Открывать неизвестные данные с помощью URL</string>
<string name="show_hex_dump_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">Удалить все сетевые предложения, ранее предложенные этим приложением.</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="send_category">Отправка</string>
<string name="send_scan_url">Отправлять каждый отсканированный штрих-код на URL</string>
<string name="send_scan_type">Тип запроса для каждого отсканированного штрих-кода</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="test_url">Test URL</string>
<string name="really_remove_scan">Действительно удалить сканирование?</string>
<string name="really_remove_all_scans">Действительно удалить все сканирования?</string>
<string name="really_remove_selected_scans">Действительно удалить выбранные штрих-коды?</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="clear_history">Очистить историю</string>
<string name="copy_scan">Копировать</string>
<string name="edit_scan">Редактировать</string>
@@ -95,41 +106,41 @@
<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="pick_list_separator">Разделение элементов списка</string>
<string name="separator_line_break">Разрыв строки</string>
<string name="separator_ruler">Горизонтальная линия</string>
<string name="save_as_file_name">Сохранить файл как</string>
<string name="file_name">Имя файла</string>
<string name="error_saving_file">Не удается сохранить файл</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="sms_send">Отправить СМС</string>
<string name="sms_error">Не удалось отправить СМС</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">Отправить SMS</string>
<string name="sms_error">Невозможно отправить SMS</string>
<string name="tel_dial">Набрать номер</string>
<string name="tel_error">Не удалось набрать номер</string>
<string name="tel_error">Невозможно набрать номер</string>
<string name="mail_send">Отправить письмо</string>
<string name="mail_error">Не удалось отправить почту</string>
<string name="mail_error">Невозможно отправить почту</string>
<string name="vcard_add">Добавить в контакты</string>
<string name="vcard_failed">Не удалось добавить в контакты</string>
<string name="vcard_failed">Невозможно добавить в контакты</string>
<string name="vevent_add">Добавить в календарь</string>
<string name="vevent_failed">Не удалось добавить в календарь</string>
<string name="vevent_failed">Невозможно добавить в календарь</string>
<string name="otpauth_add">Добавить 2FA</string>
<string name="search_web">Искать в сети</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_csv_comma">CSV (разделитель - запятая)</string>
<string name="export_csv_semicolon">CSV (разделитель - точка с запятой)</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="export_database">База данных SQLite</string>
<string name="saved_in_downloads">Сохранено в загрузках</string>
<string name="rotate_image_cw">Повернуть изображение по часовой стрелке</string>
<string name="pick_file">Выберите файл с изображением</string>
<string name="pick_file">Открыть файл с изображением</string>
<string name="pick_code_to_scan">Выберите штрих-код для сканирования</string>
<string name="shortcut_decode">Сканировать штрих-код</string>
<string name="shortcut_encode">Создать штрих-код</string>
<string name="shortcut_preferences">Настройки</string>
<string name="background_request_failed">Фоновый запрос не удался</string>
<string name="background_request_failed">Фоновый запрос не выполнен</string>
</resources>
+11
View File
@@ -43,6 +43,7 @@
<string name="info">Bilgi</string>
<string name="switch_camera">Kamerayı değiştir</string>
<string name="bulk_mode">Sürekli tara</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Geçmiş</string>
<string name="preferences">Tercihler</string>
<string name="scan_category">Tarama</string>
@@ -52,12 +53,15 @@
<string name="follow_system_settings">Sistem ayarlarını izle</string>
<string name="show_crop_handle">Kırpım kısıtlayıcıyı göster</string>
<string name="show_crop_handle_summary">Taramayı özelleştirilebilir bölgeyle sınırla.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Aşağı/yukarı kaydırarak yakınlaştır</string>
<string name="zoom_by_swiping_summary">Kamera yakınlığını denetlemek için kamera ekranında aşağı veya yukarı kaydır.</string>
<string name="auto_rotate">Yatay 1B barkodları tanı</string>
<string name="auto_rotate_summary">Yatay 1B barkodları tanımak için kamera çerçevesini kendiliğinden döndür. Bu, aygıta bağlı olarak performansı etkileyebilir.</string>
<string name="try_harder">Kesinlik için okuyucuyu iyileştir</string>
<string name="try_harder_summary">Okuması zor barkodlar için bu seçeneği etkinleştir. Performansı etkileyecektir.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">Tanıyınca titre</string>
<string name="vibrate_summary">Kod tanındığında aygıtınızın titremesini istiyorsanız bunu etkinleştirin.</string>
<string name="use_history">Tarama geçmişini kaydet</string>
@@ -74,7 +78,14 @@
<string name="show_hex_dump_summary">Taranan içeriklerin hex yığınını göster.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">URL\'si olan bilinmeyen veriyi aç</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Yönlendirme</string>
<string name="send_scan_url">Her taramayı URL\'ye gönder</string>
<string name="send_scan_type">Her tarama için isteğin türü</string>
+12 -1
View File
@@ -44,21 +44,25 @@
<string name="info">Інформація</string>
<string name="switch_camera">Переключити камеру</string>
<string name="bulk_mode">Сканувати безперервно</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">Історія</string>
<string name="preferences">Налаштування</string>
<string name="scan_category">Сканування</string>
<string name="content_category">Вміст</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="custom_locale">Custom language</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">Обмежити область сканування</string>
<string name="show_crop_handle_summary">Обмежити сканування до налаштованої області.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Проведіть пальцем вгору/вниз, для масштабування</string>
<string name="zoom_by_swiping_summary">Проведіть пальцем вгору або вниз по екрану камери, щоб керувати масштабуванням камери.</string>
<string name="auto_rotate">Розпізнавати вертикальні 1D штрихкоди</string>
<string name="auto_rotate_summary">Автоматично повертати кадр камери, щоб розпізнати вертикальні 1D штрих-коди. Залежно від пристрою, це може вплинути на продуктивність.</string>
<string name="try_harder">Оптимізувати зчитувач для точності</string>
<string name="try_harder_summary">Увімкніть цю опцію для дуже важких для зчитування кодів. Це вплине на продуктивність.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">Вібрувати при виявленні</string>
<string name="vibrate_summary">Увімкніть це, якщо хочете, щоб пристрій вібрував, коли код розпізнано.</string>
<string name="use_history">Зберігати історію сканування</string>
@@ -75,7 +79,14 @@
<string name="show_hex_dump_summary">Показувати шістнадцятковий дамп відсканованого вмісту.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Відкривати невідомі дані за допомогою URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Пересилання</string>
<string name="send_scan_url">Надсилати кожне сканування на URL</string>
<string name="send_scan_type">Тип запиту для кожного сканування</string>
+22 -11
View File
@@ -10,10 +10,10 @@
<item quantity="other">%2$d 字符, %1$s</item>
</plurals>
<string name="error_correction_level">纠错级别</string>
<string name="error_correction_level_l" formatted="false">Low (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false">Medium (~15&#37; correction)</string>
<string name="error_correction_level_l" formatted="false"> (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false"> (~15&#37; correction)</string>
<string name="error_correction_level_q" formatted="false">Quartile (~25&#37; correction)</string>
<string name="error_correction_level_h" formatted="false">High (~30&#37; correction)</string>
<string name="error_correction_level_h" formatted="false"> (~30&#37; correction)</string>
<string name="issue_number">发行编号</string>
<string name="orientation">方向</string>
<string name="other_meta_data">元数据</string>
@@ -23,7 +23,7 @@
<string name="upc_ean_extension">UPC EAN 扩展</string>
<string name="toggle_flash">开关闪光灯</string>
<string name="share">分享</string>
<string name="share_as">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>
@@ -42,21 +42,25 @@
<string name="info">关于</string>
<string name="switch_camera">切换摄像头</string>
<string name="bulk_mode">连续扫描</string>
<string name="bulk_mode_summary">始终开启连续扫描</string>
<string name="history">历史</string>
<string name="preferences">首选项</string>
<string name="scan_category">扫描</string>
<string name="content_category">内容</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="follow_system_settings">Follow system settings</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="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">上下滑动缩放</string>
<string name="zoom_by_swiping_summary">通过上下滑动在扫描界面控制相机缩放</string>
<string name="auto_rotate">识别竖直的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="use_history">保存扫描历史</string>
@@ -71,9 +75,16 @@
<string name="show_meta_data_summary">显示已扫描条形码的额外数据</string>
<string name="show_hex_dump">显示16进制数据</string>
<string name="show_hex_dump_summary">显示已扫描条形码的16进制数据</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="close_automatically">复制/分享后自动返回</string>
<string name="close_automatically_summary">复制或分享读取的内容后自动返回扫描主界面。</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">使用URL打开未知数据</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">转发</string>
<string name="send_scan_url">将每个扫描结果发送到URL</string>
<string name="send_scan_type">请求类型</string>
@@ -81,7 +92,7 @@
<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="test_url">Test URL</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>
+126 -114
View File
@@ -1,132 +1,144 @@
<resources>
<string name="no_camera_no_fun">沒有相機權限的話,這個程式根本什麽都做不了。再見</string>
<string name="no_camera_no_fun">沒有相機權限的話,這個程式根本什麽都做不了。 再見!</string>
<string name="camera_error">不能開啓相機,請重試</string>
<string name="scan_code">掃描條碼</string>
<string name="compose_barcode">製作條碼</string>
<string name="decode_barcode">解讀條碼</string>
<string name="content">内容</string>
<string name="binary_data">(2進制碼)</string>
<string name="binary_data">(2 進制碼)</string>
<plurals name="barcode_info">
<item quantity="other">%2$d 個字符, %1$s</item>
<item quantity="one">%2$d 個字符 %1$s</item>
<item quantity="other">%2$d 個字符, %1$s</item>
</plurals>
<string name="error_correction_level">Error correction level</string>
<string name="error_correction_level_l" formatted="false">Low (~7&#37; correction)</string>
<string name="error_correction_level_m" formatted="false">Medium (~15&#37; correction)</string>
<string name="error_correction_level_q" formatted="false">Quartile (~25&#37; correction)</string>
<string name="error_correction_level_h" formatted="false">High (~30&#37; correction)</string>
<string name="issue_number">Issue number</string>
<string name="orientation">Orientation</string>
<string name="error_correction_level">糾錯等級</string>
<string name="error_correction_level_l" formatted="false"> (~7&#37; 準確度)</string>
<string name="error_correction_level_m" formatted="false"> (~15&#37; 準確度)</string>
<string name="error_correction_level_q" formatted="false">Quartile (~25&#37; 準確度)</string>
<string name="error_correction_level_h" formatted="false"> (~30&#37; 準確度)</string>
<string name="issue_number">發行編號</string>
<string name="orientation">方向</string>
<string name="other_meta_data">Metadata</string>
<string name="pdf417_extra_metadata">PDF417 metadata</string>
<string name="possible_country">Possible country of manufacture</string>
<string name="suggested_price">Suggested price</string>
<string name="upc_ean_extension">UPC EAN extension</string>
<string name="toggle_flash">閃光燈</string>
<string name="possible_country">製作國家</string>
<string name="suggested_price">建議價格</string>
<string name="upc_ean_extension">UPC EAN 擴充</string>
<string name="toggle_flash">開關閃光燈</string>
<string name="share">分享</string>
<string name="share_as">Share as?</string>
<string name="copy_to_clipboard">複製</string>
<string name="copied_to_clipboard">複製</string>
<string name="copy_password">Copy password into clipboard</string>
<string name="copied_password_to_clipboard">Password copied to clipboard</string>
<string name="open_url"></string>
<string name="cannot_resolve_action">無應用程式可以開</string>
<string name="pick_search_engine">選擇搜尋引擎</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="pick_search_engine">選擇一個搜尋引擎</string>
<string name="format">格式</string>
<string name="size">大小(pixels)</string>
<string name="size">圖片尺寸</string>
<string name="width_by_height">%1$d×%2$d</string>
<string name="input_content_here">此輸入</string>
<string name="encode">製作條</string>
<string name="error_no_content">找不到内</string>
<string name="error_encoding_barcode">條碼製作失敗</string>
<string name="input_content_here">這裡輸入內容</string>
<string name="encode"></string>
<string name="error_no_content">缺少內</string>
<string name="error_encoding_barcode">無法產生條碼</string>
<string name="view_barcode">檢視條碼</string>
<string name="info">資訊</string>
<string name="info">關於</string>
<string name="switch_camera">切換相機</string>
<string name="bulk_mode">Scan continuously</string>
<string name="history">歷史</string>
<string name="show_crop_handle">Show cropping limiter</string>
<string name="show_crop_handle_summary">Restrict scanning to a customizable region.</string>
<string name="zoom_by_swiping">Zoom camera by swiping up/down</string>
<string name="zoom_by_swiping_summary">Swipe up or down in camera screen to control the camera zoom.</string>
<string name="auto_rotate">Recognize 1D barcodes vertically</string>
<string name="auto_rotate_summary">Automatically rotate the camera frame to recognize vertical 1D barcodes. Depending on the device, this may affect performance.</string>
<string name="try_harder">Optimize reader for accuracy, not speed</string>
<string name="try_harder_summary">Enable this option for very hard to read codes. Will affect performance.</string>
<string name="vibrate">Vibrate on detection</string>
<string name="vibrate_summary">Enable this if you want your device to vibrate when a code is recognized.</string>
<string name="use_history">儲存掃描歷史</string>
<string name="use_history_summary">Save recognized codes on your device.</string>
<string name="ignore_consecutive_duplicates">Do not save consecutive duplicates</string>
<string name="ignore_consecutive_duplicates_summary">Do not save consecutive duplicates in the scan history.</string>
<string name="open_immediately">Skip inspection and open contents immediately</string>
<string name="open_immediately_summary">Skip inspection and open contents immediately. May open harmful content if enabled.</string>
<string name="copy_immediately">Automatically copy contents into clipboard</string>
<string name="copy_immediately_summary">Automatically copy scanned contents into clipboard. Please note that other apps may snoop on your clipboard in the background.</string>
<string name="show_meta_data">Show metadata</string>
<string name="show_meta_data_summary">Show additional data about the scanned barcoded.</string>
<string name="show_hex_dump">Show hex dump</string>
<string name="show_hex_dump_summary">Show a hex dump of the scanned contents.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="really_remove_scan">真的要移除掃描記錄?</string>
<string name="really_remove_all_scans">真的要移除所有掃描記錄?</string>
<string name="really_remove_selected_scans">Really remove selected scans?</string>
<string name="clear_history">清除記錄</string>
<string name="copy_scan">Copy scan</string>
<string name="edit_scan">Edit label</string>
<string name="remove_scan">Remove scan</string>
<string name="enter_name">Enter a name to describe the scan</string>
<string name="enter_name_hint">Name of the scan</string>
<string name="no_barcode_found">找不到條碼</string>
<string name="pick_list_separator">如何分開列表項目?</string>
<string name="separator_line_break">Line break</string>
<string name="separator_ruler">直尺</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="sms_send">傳送SMS</string>
<string name="sms_error">不能傳送SMS</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="preferences">Preferences</string>
<string name="scan_category">Scan</string>
<string name="content_category">Content</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="open_with_url">Open unknown data with URL</string>
<string name="send_category">Forwarding</string>
<string name="send_scan_url">Send every scan to URL</string>
<string name="send_scan_type">Type of request for every scan</string>
<string name="send_type_get_add_content">GET and simply add content</string>
<string name="send_type_get_query_string">GET with compelete query string</string>
<string name="bulk_mode">連續掃描</string>
<string name="bulk_mode_summary">始終開啟連續掃描</string>
<string name="history">歷史記錄</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="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">上下滑動縮放</string>
<string name="zoom_by_swiping_summary">通過上下滑動在掃描界面控制相機縮放</string>
<string name="auto_rotate">識別豎直的 1D 條碼</string>
<string name="auto_rotate_summary">自動旋轉相機以識別豎直的 1D 條碼(可能會影響一些設備的掃描性能)</string>
<string name="try_harder">提高掃描準確度</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="use_history">儲存掃描記錄</string>
<string name="use_history_summary">在本機儲存掃描記錄</string>
<string name="ignore_consecutive_duplicates">不儲存重複歷史記錄</string>
<string name="ignore_consecutive_duplicates_summary">在掃描歷史中不儲存重複項目</string>
<string name="open_immediately">立即開啟</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="show_hex_dump">顯示 Hex dump</string>
<string name="show_hex_dump_summary">顯示已掃描條碼的 Hex dump</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_success">網路建議已清除</string>
<string name="clear_network_suggestions_nothing_to_remove">沒有什麼可以移除的</string>
<string name="send_category">轉發</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="test_url">Test URL</string>
<string name="otpauth_add">Add 2FA</string>
<string name="search_web">Search the web</string>
<string name="search_scan">Search scan</string>
<string name="export_to_file">Export to file</string>
<string name="export_as">Export as?</string>
<string name="export_csv_comma">CSV file with commas</string>
<string name="export_csv_semicolon">CSV file with semicolons</string>
<string name="export_json">JSON file</string>
<string name="export_database">SQLite database</string>
<string name="saved_in_downloads">Saved in downloads</string>
<string name="rotate_image_cw">Rotate image clockwise</string>
<string name="pick_file">Pick image file</string>
<string name="pick_code_to_scan">Pick code to scan</string>
<string name="shortcut_decode">Scan a barcode</string>
<string name="shortcut_encode">Create a barcode</string>
<string name="shortcut_preferences">Settings</string>
<string name="background_request_failed">Background request failed</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="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="separator_line_break">換行符</string>
<string name="separator_ruler">分割線</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="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="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_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="rotate_image_cw">旋轉圖片</string>
<string name="pick_file">選擇圖片檔案</string>
<string name="pick_code_to_scan">選擇掃描編碼</string>
<string name="shortcut_decode">掃描條碼</string>
<string name="shortcut_encode">建立條碼</string>
<string name="shortcut_preferences">設定</string>
<string name="background_request_failed">背景請求失敗</string>
</resources>
@@ -0,0 +1,40 @@
<resources>
<string-array name="barcode_formats_names">
<item>AZTEC</item>
<item>CODABAR</item>
<item>CODE 39</item>
<item>CODE 93</item>
<item>CODE 128</item>
<item>DATA MATRIX</item>
<item>EAN 8</item>
<item>EAN 13</item>
<item>ITF</item>
<item>MAXICODE</item>
<item>PDF 417</item>
<item>QR CODE</item>
<item>RSS 14</item>
<item>RSS EXPANDED</item>
<item>UPC A</item>
<item>UPC E</item>
<item>UPC EAN EXTENSION</item>
</string-array>
<string-array name="barcode_formats_values">
<item>AZTEC</item>
<item>CODABAR</item>
<item>CODE_39</item>
<item>CODE_93</item>
<item>CODE_128</item>
<item>DATA_MATRIX</item>
<item>EAN_8</item>
<item>EAN_13</item>
<item>ITF</item>
<item>MAXICODE</item>
<item>PDF_417</item>
<item>QR_CODE</item>
<item>RSS_14</item>
<item>RSS_EXPANDED</item>
<item>UPC_A</item>
<item>UPC_E</item>
<item>UPC_EAN_EXTENSION</item>
</string-array>
</resources>
+7 -1
View File
@@ -16,7 +16,10 @@
<item>Turkish</item>
<item>Ukrainian</item>
<item>Chinese</item>
<item>Chinese (Simplified Han,China)</item>
<item>Traditional Chinese</item>
<item>Chinese (Simplified Han, China)</item>
<item>Japanese</item>
<item>Czech</item>
</string-array>
<string-array name="locale_values">
<item></item>
@@ -35,6 +38,9 @@
<item>tr</item>
<item>uk</item>
<item>zh</item>
<item>zh-TW</item>
<item>zh-rCN</item>
<item>ja</item>
<item>cs</item>
</string-array>
</resources>
@@ -1,5 +1,6 @@
<resources>
<string-array name="search_engines_names">
<item>@string/always_ask</item>
<item>Google</item>
<item>DuckDuckGo</item>
<item>Qwant</item>
@@ -10,6 +11,7 @@
<item>OpenPetFoodFacts.org</item>
</string-array>
<string-array name="search_engines_values">
<item></item>
<item>https://www.google.com/search?q=</item>
<item>https://duckduckgo.com/?q=</item>
<item>https://www.qwant.com/?q=</item>
+12 -1
View File
@@ -43,21 +43,25 @@
<string name="info">Info</string>
<string name="switch_camera">Switch camera</string>
<string name="bulk_mode">Scan continuously</string>
<string name="bulk_mode_summary">Always start scanning continuously.</string>
<string name="history">History</string>
<string name="preferences">Preferences</string>
<string name="scan_category">Scan</string>
<string name="content_category">Content</string>
<string name="locale_category">Language</string>
<string name="custom_locale">Custom locale</string>
<string name="custom_locale">Custom language</string>
<string name="follow_system_settings">Follow system settings</string>
<string name="show_crop_handle">Show cropping limiter</string>
<string name="show_crop_handle_summary">Restrict scanning to a customizable region.</string>
<string name="barcode_formats">Barcode formats</string>
<string name="zoom_by_swiping">Swipe up/down to zoom</string>
<string name="zoom_by_swiping_summary">Swipe up or down in camera screen to control the camera zoom.</string>
<string name="auto_rotate">Recognize vertical 1D barcodes</string>
<string name="auto_rotate_summary">Automatically rotate the camera frame to recognize vertical 1D barcodes. Depending on the device, this may affect performance.</string>
<string name="try_harder">Optimize reader for accuracy</string>
<string name="try_harder_summary">Enable this option for very hard to read codes. Will affect performance.</string>
<string name="show_toast_in_bulk_mode">Show data in continuous mode</string>
<string name="show_toast_in_bulk_mode_summary">Briefly show the scanned data when scanning continuously.</string>
<string name="vibrate">Vibrate on detection</string>
<string name="vibrate_summary">Enable this if you want your device to vibrate when a code is recognized.</string>
<string name="use_history">Save scan history</string>
@@ -74,7 +78,14 @@
<string name="show_hex_dump_summary">Show a hex dump of the scanned contents.</string>
<string name="close_automatically">Go back after Copy/Share</string>
<string name="close_automatically_summary">Automatically return to the scan screen after copying or sharing the read contents.</string>
<string name="default_search_engine">Open unknown data in</string>
<string name="always_ask">Always ask</string>
<string name="open_with_url">Open unknown data with URL</string>
<string name="clear_network_suggestions">Clear network suggestions</string>
<string name="clear_network_suggestions_summary">Remove all of the network suggestions that were previously provided by this app.</string>
<string name="really_remove_all_networks">Really remove all networks?</string>
<string name="clear_network_suggestions_success">Network suggestions cleared</string>
<string name="clear_network_suggestions_nothing_to_remove">Nothing to remove</string>
<string name="send_category">Forwarding</string>
<string name="send_scan_url">Send every scan to URL</string>
<string name="send_scan_type">Type of request for every scan</string>
+116
View File
@@ -0,0 +1,116 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/preferences"
android:key="preferences">
<PreferenceCategory android:title="@string/scan_category">
<MultiSelectListPreference
android:key="barcode_formats"
android:title="@string/barcode_formats"
android:entries="@array/barcode_formats_names"
android:entryValues="@array/barcode_formats_values"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="show_crop_handle"
android:title="@string/show_crop_handle"
android:summary="@string/show_crop_handle_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="zoom_by_swiping"
android:title="@string/zoom_by_swiping"
android:summary="@string/zoom_by_swiping_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="false"
android:key="auto_rotate"
android:title="@string/auto_rotate"
android:summary="@string/auto_rotate_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="false"
android:key="try_harder"
android:title="@string/try_harder"
android:summary="@string/try_harder_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="false"
android:key="bulk_mode"
android:title="@string/bulk_mode"
android:summary="@string/bulk_mode_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="show_toast_in_bulk_mode"
android:title="@string/show_toast_in_bulk_mode"
android:summary="@string/show_toast_in_bulk_mode_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="vibrate"
android:title="@string/vibrate"
android:summary="@string/vibrate_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="use_history"
android:title="@string/use_history"
android:summary="@string/use_history_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="ignore_consecutive_duplicates"
android:title="@string/ignore_consecutive_duplicates"
android:summary="@string/ignore_consecutive_duplicates_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="false"
android:key="copy_immediately"
android:title="@string/copy_immediately"
android:summary="@string/copy_immediately_summary"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/send_category">
<de.markusfisch.android.binaryeye.preference.UrlPreference
android:key="send_scan_url"
android:title="@string/send_scan_url"/>
<ListPreference
android:key="send_scan_type"
android:title="@string/send_scan_type"
android:entries="@array/send_type_names"
android:entryValues="@array/send_type_values"
android:defaultValue="0"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/content_category">
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="false"
android:key="open_immediately"
android:title="@string/open_immediately"
android:summary="@string/open_immediately_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="show_meta_data"
android:title="@string/show_meta_data"
android:summary="@string/show_meta_data_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="show_hex_dump"
android:title="@string/show_hex_dump"
android:summary="@string/show_hex_dump_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="close_automatically"
android:title="@string/close_automatically"
android:summary="@string/close_automatically_summary"/>
<ListPreference
android:key="default_search_url"
android:title="@string/default_search_engine"
android:entries="@array/search_engines_names"
android:entryValues="@array/search_engines_values"
android:defaultValue=""/>
<de.markusfisch.android.binaryeye.preference.UrlPreference
android:key="open_with_url"
android:title="@string/open_with_url"/>
<Preference
android:key="clear_network_suggestions"
android:title="@string/clear_network_suggestions"
android:summary="@string/clear_network_suggestions_summary"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/locale_category">
<ListPreference
android:key="custom_locale"
android:title="@string/custom_locale"
android:entries="@array/locale_names"
android:entryValues="@array/locale_values"
android:defaultValue="0"/>
</PreferenceCategory>
</PreferenceScreen>
+20
View File
@@ -23,6 +23,16 @@
android:key="try_harder"
android:title="@string/try_harder"
android:summary="@string/try_harder_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="false"
android:key="bulk_mode"
android:title="@string/bulk_mode"
android:summary="@string/bulk_mode_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="show_toast_in_bulk_mode"
android:title="@string/show_toast_in_bulk_mode"
android:summary="@string/show_toast_in_bulk_mode_summary"/>
<android.support.v7.preference.SwitchPreferenceCompat
android:defaultValue="true"
android:key="vibrate"
@@ -76,9 +86,19 @@
android:key="close_automatically"
android:title="@string/close_automatically"
android:summary="@string/close_automatically_summary"/>
<ListPreference
android:key="default_search_url"
android:title="@string/default_search_engine"
android:entries="@array/search_engines_names"
android:entryValues="@array/search_engines_values"
android:defaultValue=""/>
<de.markusfisch.android.binaryeye.preference.UrlPreference
android:key="open_with_url"
android:title="@string/open_with_url"/>
<Preference
android:key="clear_network_suggestions"
android:title="@string/clear_network_suggestions"
android:summary="@string/clear_network_suggestions_summary"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/locale_category">
<ListPreference
+4 -4
View File
@@ -1,15 +1,15 @@
buildscript {
ext {
kotlin_version = '1.4.10'
tools_version = '4.1.1'
build_tools_version = '29.0.3'
tools_version = '4.2.0'
build_tools_version = '30.0.2'
sdk_version = 30
support_version = '25.3.1'
}
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
@@ -21,7 +21,7 @@ buildscript {
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://jitpack.io' }
}
+1
View File
@@ -0,0 +1 @@
بعد ماسح الباركود آخر
@@ -0,0 +1,10 @@
খাড়া বা আড়াআড়িভাবে কাজ করে,উল্টা করা কোড পড়তে পারে,
বস্তুগত নকশাসমৃদ্ধ এবং বারকোড বানাতে পারে।
জেক্সিঙ্গ("জেব্রা ক্রসিং") বারকোড স্ক্যানিং লাইব্রেরি ব্যবহার করে।
বারকোড ধরণ: অ্যাজটেক, কোডাবার, কোড৩৯, কোড ৯৩, কোড ১২৮,
ডাটা ম্যাট্রিক্স, ইএএন ৮, ইএএন ধ৩, আইটিএফ, পিডিএফ৪১৭, কিউআর কোড, আরএসএস বর্ধিত,
ইউপিসি এ, ইউপিসি ই এবং ইএএন বর্ধিত।
এইটা মুক্ত সোর্স:
https://github.com/markusfisch/BinaryEye
@@ -0,0 +1 @@
আরো একটা বারকোড স্ক্যানার। মুক্ত,অ্যাডহীন এবং খোলা সোর্স।
+1
View File
@@ -0,0 +1 @@
আরো একটি বারকোড স্ক্যানার
+1
View File
@@ -0,0 +1 @@
বাইনারি চোখ
@@ -0,0 +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").
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.
Tato aplikace je open source:
https://github.com/markusfisch/BinaryEye
@@ -0,0 +1 @@
Jen další skener čárových kódů pro Android. Zdarma, bez reklam a open source.
+1
View File
@@ -0,0 +1 @@
Einfach ein weiterer Barcode-Scanner
@@ -0,0 +1,11 @@
* Add a setting to automatically return to scanning screen after copying
* Add a button to test the background request
* Show HTTP response for background requests
* Improve SVG export
* Automatically continue with an action after granting a permission
* Update Chinese translation
* Update French translation
* Update Indonesian translation
* Update Turkish translation
* Update Ukrainian translation
@@ -0,0 +1,3 @@
* Improve formatting date and time in history listing
* Add haptic and audible feedback for background request errors
@@ -0,0 +1,5 @@
* Add a quick settings tile to scan from settings
* Make custom background requests time out after 5 seconds
* Add Japanese translation
* Updated French translation
@@ -0,0 +1,6 @@
* Fix adding contacts and calendar entries on Android 11+
* Add a setting to always start in bulk mode
* Add Czech translation
* Update Spanish translation
* Update Czech translation
@@ -0,0 +1,5 @@
* Add a setting to show/hide scanned data when scanning continuously
* Only show the first 50 characters when scanning continuously
* Share binary data as hex dump
* Update Russian language
@@ -0,0 +1,7 @@
* Use cropping limiter by default for new installations
* Truncate all toasts with strings from the outside
* Add Bangla translation
* Add missing Japanese locale
* Update Hungarian translation
* Update Russian app description
@@ -0,0 +1,3 @@
* Update Bengali translation
* Update Simplified Chinese
@@ -0,0 +1,4 @@
* Add a setting to pick a default search engine
* Update Traditional Chinese
* Update Dutch translation
@@ -0,0 +1,4 @@
* Add a preference item to remove WiFi network suggestions
* Update Traditional Chinese Translation
* Update Russian language
@@ -0,0 +1 @@
Yet another barcode scanner
+1
View File
@@ -0,0 +1 @@
Strekkoda skanilo
+1
View File
@@ -0,0 +1 @@
Otro escáner de códigos de barras
+1
View File
@@ -0,0 +1 @@
Encore un autre lecteur de code-barres
+1
View File
@@ -0,0 +1 @@
עוד סורק ברקודים
@@ -0,0 +1,10 @@
Működik álló és fekvő tájolásban is, képes beolvasni fordított kódokat,
Material Design szemléletben készült és még vonalkódokat is képes előállítani.
A ZXing („Zebra Crossing”) vonalkód-leolvasó programkönyvtárat használja.
A támogatott vonalkódformátumok: 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 és UPC EAN EXTENSION.
Ez az alkalmazás nyílt forráskódú:
https://github.com/markusfisch/BinaryEye
@@ -0,0 +1 @@
Még egy vonalkód-leolvasó Androidra. Ingyenes, reklámmentes, nyílt forráskódú.
+1
View File
@@ -0,0 +1 @@
Még egy vonalkód-leolvasó
+1
View File
@@ -0,0 +1 @@
Enn einn strikamerkjaskanninn
+1
View File
@@ -0,0 +1 @@
Ancora un altro lettore di codici a barre
+1
View File
@@ -0,0 +1 @@
Enda en strekkodeskanner
+1
View File
@@ -0,0 +1 @@
Endå ein strekkode-skannar
+1
View File
@@ -0,0 +1 @@
Skaner kodów kreskowych

Some files were not shown because too many files have changed in this diff Show More