mirror of
https://github.com/moparisthebest/keepass2android
synced 2024-11-22 09:12:17 -05:00
started to add QR scanning functionality
This commit is contained in:
parent
53dd47044b
commit
8cbb7dfc23
@ -3,6 +3,17 @@
|
||||
package="keepass2android.plugin.qr"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
<uses-permission
|
||||
android:name="android.permission.FLASHLIGHT"
|
||||
android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
|
||||
android:protectionLevel="normal" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-feature android:name="android.hardware.camera"/>
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
|
||||
|
||||
<uses-feature android:name="android.hardware.camera.flash" android:required="false"/>
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="14"
|
||||
@ -17,30 +28,41 @@
|
||||
android:name="keepass2android.plugin.qr.QRActivity"
|
||||
android:label="@string/title_activity_qr" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
|
||||
<receiver android:name="AccessReceiver" android:exported="true">
|
||||
|
||||
<receiver
|
||||
android:name="keepass2android.plugin.qr.AccessReceiver"
|
||||
android:exported="true" >
|
||||
<intent-filter>
|
||||
<action android:name="keepass2android.ACTION_TRIGGER_REQUEST_ACCESS" />
|
||||
<action android:name="keepass2android.ACTION_RECEIVE_ACCESS" />
|
||||
<action android:name="keepass2android.ACTION_REVOKE_ACCESS" />
|
||||
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
|
||||
<receiver android:name="ActionReceiver" android:exported="true">
|
||||
<receiver
|
||||
android:name="keepass2android.plugin.qr.ActionReceiver"
|
||||
android:exported="true" >
|
||||
<intent-filter>
|
||||
<action android:name="keepass2android.ACTION_OPEN_ENTRY" />
|
||||
<action android:name="keepass2android.ACTION_ENTRY_OUTPUT_MODIFIED" />
|
||||
<action android:name="keepass2android.ACTION_ENTRY_ACTION_SELECTED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
|
||||
<activity
|
||||
android:name="keepass2android.plugin.qr.MainActivity"
|
||||
android:label="@string/title_activity_main" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="com.google.zxing.client.android.CaptureActivity"
|
||||
android:label="Capture">
|
||||
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,14 +7,623 @@
|
||||
package keepass2android.pluginsdk;
|
||||
|
||||
public final class R {
|
||||
public static final class anim {
|
||||
public static final int abc_fade_in = 0x7f040000;
|
||||
public static final int abc_fade_out = 0x7f040001;
|
||||
public static final int abc_slide_in_bottom = 0x7f040002;
|
||||
public static final int abc_slide_in_top = 0x7f040003;
|
||||
public static final int abc_slide_out_bottom = 0x7f040004;
|
||||
public static final int abc_slide_out_top = 0x7f040005;
|
||||
}
|
||||
public static final class attr {
|
||||
public static final int actionBarDivider = 0x7f01000f;
|
||||
public static final int actionBarItemBackground = 0x7f010010;
|
||||
public static final int actionBarSize = 0x7f01000e;
|
||||
public static final int actionBarSplitStyle = 0x7f01000c;
|
||||
public static final int actionBarStyle = 0x7f01000b;
|
||||
public static final int actionBarTabBarStyle = 0x7f010008;
|
||||
public static final int actionBarTabStyle = 0x7f010007;
|
||||
public static final int actionBarTabTextStyle = 0x7f010009;
|
||||
public static final int actionBarWidgetTheme = 0x7f01000d;
|
||||
public static final int actionButtonStyle = 0x7f010016;
|
||||
public static final int actionDropDownStyle = 0x7f010047;
|
||||
public static final int actionLayout = 0x7f01004e;
|
||||
public static final int actionMenuTextAppearance = 0x7f010011;
|
||||
public static final int actionMenuTextColor = 0x7f010012;
|
||||
public static final int actionModeBackground = 0x7f01003c;
|
||||
public static final int actionModeCloseButtonStyle = 0x7f01003b;
|
||||
public static final int actionModeCloseDrawable = 0x7f01003e;
|
||||
public static final int actionModeCopyDrawable = 0x7f010040;
|
||||
public static final int actionModeCutDrawable = 0x7f01003f;
|
||||
public static final int actionModeFindDrawable = 0x7f010044;
|
||||
public static final int actionModePasteDrawable = 0x7f010041;
|
||||
public static final int actionModePopupWindowStyle = 0x7f010046;
|
||||
public static final int actionModeSelectAllDrawable = 0x7f010042;
|
||||
public static final int actionModeShareDrawable = 0x7f010043;
|
||||
public static final int actionModeSplitBackground = 0x7f01003d;
|
||||
public static final int actionModeStyle = 0x7f01003a;
|
||||
public static final int actionModeWebSearchDrawable = 0x7f010045;
|
||||
public static final int actionOverflowButtonStyle = 0x7f01000a;
|
||||
public static final int actionProviderClass = 0x7f010050;
|
||||
public static final int actionViewClass = 0x7f01004f;
|
||||
public static final int activityChooserViewStyle = 0x7f01006c;
|
||||
public static final int background = 0x7f01002f;
|
||||
public static final int backgroundSplit = 0x7f010031;
|
||||
public static final int backgroundStacked = 0x7f010030;
|
||||
public static final int buttonBarButtonStyle = 0x7f010018;
|
||||
public static final int buttonBarStyle = 0x7f010017;
|
||||
public static final int customNavigationLayout = 0x7f010032;
|
||||
public static final int disableChildrenWhenDisabled = 0x7f010054;
|
||||
public static final int displayOptions = 0x7f010028;
|
||||
public static final int divider = 0x7f01002e;
|
||||
public static final int dividerHorizontal = 0x7f01001b;
|
||||
public static final int dividerPadding = 0x7f010056;
|
||||
public static final int dividerVertical = 0x7f01001a;
|
||||
public static final int dropDownListViewStyle = 0x7f010021;
|
||||
public static final int dropdownListPreferredItemHeight = 0x7f010048;
|
||||
public static final int expandActivityOverflowButtonDrawable = 0x7f01006b;
|
||||
public static final int height = 0x7f010026;
|
||||
public static final int homeAsUpIndicator = 0x7f010013;
|
||||
public static final int homeLayout = 0x7f010033;
|
||||
public static final int icon = 0x7f01002c;
|
||||
public static final int iconifiedByDefault = 0x7f01005a;
|
||||
public static final int indeterminateProgressStyle = 0x7f010035;
|
||||
public static final int initialActivityCount = 0x7f01006a;
|
||||
public static final int isLightTheme = 0x7f010059;
|
||||
public static final int itemPadding = 0x7f010037;
|
||||
public static final int listChoiceBackgroundIndicator = 0x7f01004c;
|
||||
public static final int listPopupWindowStyle = 0x7f010022;
|
||||
public static final int listPreferredItemHeight = 0x7f01001c;
|
||||
public static final int listPreferredItemHeightLarge = 0x7f01001e;
|
||||
public static final int listPreferredItemHeightSmall = 0x7f01001d;
|
||||
public static final int listPreferredItemPaddingLeft = 0x7f01001f;
|
||||
public static final int listPreferredItemPaddingRight = 0x7f010020;
|
||||
public static final int logo = 0x7f01002d;
|
||||
public static final int navigationMode = 0x7f010027;
|
||||
public static final int paddingEnd = 0x7f010039;
|
||||
public static final int paddingStart = 0x7f010038;
|
||||
public static final int panelMenuListTheme = 0x7f01004b;
|
||||
public static final int panelMenuListWidth = 0x7f01004a;
|
||||
public static final int popupMenuStyle = 0x7f010049;
|
||||
public static final int popupPromptView = 0x7f010053;
|
||||
public static final int progressBarPadding = 0x7f010036;
|
||||
public static final int progressBarStyle = 0x7f010034;
|
||||
public static final int prompt = 0x7f010051;
|
||||
public static final int queryHint = 0x7f01005b;
|
||||
public static final int searchDropdownBackground = 0x7f01005c;
|
||||
public static final int searchResultListItemHeight = 0x7f010065;
|
||||
public static final int searchViewAutoCompleteTextView = 0x7f010069;
|
||||
public static final int searchViewCloseIcon = 0x7f01005d;
|
||||
public static final int searchViewEditQuery = 0x7f010061;
|
||||
public static final int searchViewEditQueryBackground = 0x7f010062;
|
||||
public static final int searchViewGoIcon = 0x7f01005e;
|
||||
public static final int searchViewSearchIcon = 0x7f01005f;
|
||||
public static final int searchViewTextField = 0x7f010063;
|
||||
public static final int searchViewTextFieldRight = 0x7f010064;
|
||||
public static final int searchViewVoiceIcon = 0x7f010060;
|
||||
public static final int selectableItemBackground = 0x7f010019;
|
||||
public static final int showAsAction = 0x7f01004d;
|
||||
public static final int showDividers = 0x7f010055;
|
||||
public static final int spinnerDropDownItemStyle = 0x7f010058;
|
||||
public static final int spinnerMode = 0x7f010052;
|
||||
public static final int spinnerStyle = 0x7f010057;
|
||||
public static final int subtitle = 0x7f010029;
|
||||
public static final int subtitleTextStyle = 0x7f01002b;
|
||||
public static final int textAllCaps = 0x7f01006d;
|
||||
public static final int textAppearanceLargePopupMenu = 0x7f010014;
|
||||
public static final int textAppearanceListItem = 0x7f010023;
|
||||
public static final int textAppearanceListItemSmall = 0x7f010024;
|
||||
public static final int textAppearanceSearchResultSubtitle = 0x7f010067;
|
||||
public static final int textAppearanceSearchResultTitle = 0x7f010066;
|
||||
public static final int textAppearanceSmallPopupMenu = 0x7f010015;
|
||||
public static final int textColorSearchUrl = 0x7f010068;
|
||||
public static final int title = 0x7f010025;
|
||||
public static final int titleTextStyle = 0x7f01002a;
|
||||
public static final int windowActionBar = 0x7f010000;
|
||||
public static final int windowActionBarOverlay = 0x7f010001;
|
||||
public static final int windowFixedHeightMajor = 0x7f010006;
|
||||
public static final int windowFixedHeightMinor = 0x7f010004;
|
||||
public static final int windowFixedWidthMajor = 0x7f010003;
|
||||
public static final int windowFixedWidthMinor = 0x7f010005;
|
||||
public static final int windowSplitActionBar = 0x7f010002;
|
||||
}
|
||||
public static final class bool {
|
||||
public static final int abc_action_bar_embed_tabs_pre_jb = 0x7f080000;
|
||||
public static final int abc_action_bar_expanded_action_views_exclusive = 0x7f080001;
|
||||
public static final int abc_config_actionMenuItemAllCaps = 0x7f080005;
|
||||
public static final int abc_config_allowActionMenuItemTextWithIcon = 0x7f080004;
|
||||
public static final int abc_config_showMenuShortcutsWhenKeyboardPresent = 0x7f080003;
|
||||
public static final int abc_split_action_bar_is_narrow = 0x7f080002;
|
||||
}
|
||||
public static final class color {
|
||||
public static final int abc_search_url_text_holo = 0x7f09000e;
|
||||
public static final int abc_search_url_text_normal = 0x7f090000;
|
||||
public static final int abc_search_url_text_pressed = 0x7f090002;
|
||||
public static final int abc_search_url_text_selected = 0x7f090001;
|
||||
}
|
||||
public static final class dimen {
|
||||
public static final int abc_action_bar_default_height = 0x7f0a0002;
|
||||
public static final int abc_action_bar_icon_vertical_padding = 0x7f0a0003;
|
||||
public static final int abc_action_bar_progress_bar_size = 0x7f0a000a;
|
||||
public static final int abc_action_bar_stacked_max_height = 0x7f0a0009;
|
||||
public static final int abc_action_bar_stacked_tab_max_width = 0x7f0a0001;
|
||||
public static final int abc_action_bar_subtitle_bottom_margin = 0x7f0a0007;
|
||||
public static final int abc_action_bar_subtitle_text_size = 0x7f0a0005;
|
||||
public static final int abc_action_bar_subtitle_top_margin = 0x7f0a0006;
|
||||
public static final int abc_action_bar_title_text_size = 0x7f0a0004;
|
||||
public static final int abc_action_button_min_width = 0x7f0a0008;
|
||||
public static final int abc_config_prefDialogWidth = 0x7f0a0000;
|
||||
public static final int abc_dropdownitem_icon_width = 0x7f0a0010;
|
||||
public static final int abc_dropdownitem_text_padding_left = 0x7f0a000e;
|
||||
public static final int abc_dropdownitem_text_padding_right = 0x7f0a000f;
|
||||
public static final int abc_panel_menu_list_width = 0x7f0a000b;
|
||||
public static final int abc_search_view_preferred_width = 0x7f0a000d;
|
||||
public static final int abc_search_view_text_min_width = 0x7f0a000c;
|
||||
public static final int activity_horizontal_margin = 0x7f0a0015;
|
||||
public static final int activity_vertical_margin = 0x7f0a0016;
|
||||
public static final int dialog_fixed_height_major = 0x7f0a0013;
|
||||
public static final int dialog_fixed_height_minor = 0x7f0a0014;
|
||||
public static final int dialog_fixed_width_major = 0x7f0a0011;
|
||||
public static final int dialog_fixed_width_minor = 0x7f0a0012;
|
||||
}
|
||||
public static final class drawable {
|
||||
public static final int ic_launcher = 0x7f020000;
|
||||
public static final int abc_ab_bottom_solid_dark_holo = 0x7f020000;
|
||||
public static final int abc_ab_bottom_solid_light_holo = 0x7f020001;
|
||||
public static final int abc_ab_bottom_transparent_dark_holo = 0x7f020002;
|
||||
public static final int abc_ab_bottom_transparent_light_holo = 0x7f020003;
|
||||
public static final int abc_ab_share_pack_holo_dark = 0x7f020004;
|
||||
public static final int abc_ab_share_pack_holo_light = 0x7f020005;
|
||||
public static final int abc_ab_solid_dark_holo = 0x7f020006;
|
||||
public static final int abc_ab_solid_light_holo = 0x7f020007;
|
||||
public static final int abc_ab_stacked_solid_dark_holo = 0x7f020008;
|
||||
public static final int abc_ab_stacked_solid_light_holo = 0x7f020009;
|
||||
public static final int abc_ab_stacked_transparent_dark_holo = 0x7f02000a;
|
||||
public static final int abc_ab_stacked_transparent_light_holo = 0x7f02000b;
|
||||
public static final int abc_ab_transparent_dark_holo = 0x7f02000c;
|
||||
public static final int abc_ab_transparent_light_holo = 0x7f02000d;
|
||||
public static final int abc_cab_background_bottom_holo_dark = 0x7f02000e;
|
||||
public static final int abc_cab_background_bottom_holo_light = 0x7f02000f;
|
||||
public static final int abc_cab_background_top_holo_dark = 0x7f020010;
|
||||
public static final int abc_cab_background_top_holo_light = 0x7f020011;
|
||||
public static final int abc_ic_ab_back_holo_dark = 0x7f020012;
|
||||
public static final int abc_ic_ab_back_holo_light = 0x7f020013;
|
||||
public static final int abc_ic_cab_done_holo_dark = 0x7f020014;
|
||||
public static final int abc_ic_cab_done_holo_light = 0x7f020015;
|
||||
public static final int abc_ic_clear = 0x7f020016;
|
||||
public static final int abc_ic_clear_disabled = 0x7f020017;
|
||||
public static final int abc_ic_clear_holo_light = 0x7f020018;
|
||||
public static final int abc_ic_clear_normal = 0x7f020019;
|
||||
public static final int abc_ic_clear_search_api_disabled_holo_light = 0x7f02001a;
|
||||
public static final int abc_ic_clear_search_api_holo_light = 0x7f02001b;
|
||||
public static final int abc_ic_commit_search_api_holo_dark = 0x7f02001c;
|
||||
public static final int abc_ic_commit_search_api_holo_light = 0x7f02001d;
|
||||
public static final int abc_ic_go = 0x7f02001e;
|
||||
public static final int abc_ic_go_search_api_holo_light = 0x7f02001f;
|
||||
public static final int abc_ic_menu_moreoverflow_normal_holo_dark = 0x7f020020;
|
||||
public static final int abc_ic_menu_moreoverflow_normal_holo_light = 0x7f020021;
|
||||
public static final int abc_ic_menu_share_holo_dark = 0x7f020022;
|
||||
public static final int abc_ic_menu_share_holo_light = 0x7f020023;
|
||||
public static final int abc_ic_search = 0x7f020024;
|
||||
public static final int abc_ic_search_api_holo_light = 0x7f020025;
|
||||
public static final int abc_ic_voice_search = 0x7f020026;
|
||||
public static final int abc_ic_voice_search_api_holo_light = 0x7f020027;
|
||||
public static final int abc_item_background_holo_dark = 0x7f020028;
|
||||
public static final int abc_item_background_holo_light = 0x7f020029;
|
||||
public static final int abc_list_divider_holo_dark = 0x7f02002a;
|
||||
public static final int abc_list_divider_holo_light = 0x7f02002b;
|
||||
public static final int abc_list_focused_holo = 0x7f02002c;
|
||||
public static final int abc_list_longpressed_holo = 0x7f02002d;
|
||||
public static final int abc_list_pressed_holo_dark = 0x7f02002e;
|
||||
public static final int abc_list_pressed_holo_light = 0x7f02002f;
|
||||
public static final int abc_list_selector_background_transition_holo_dark = 0x7f020030;
|
||||
public static final int abc_list_selector_background_transition_holo_light = 0x7f020031;
|
||||
public static final int abc_list_selector_disabled_holo_dark = 0x7f020032;
|
||||
public static final int abc_list_selector_disabled_holo_light = 0x7f020033;
|
||||
public static final int abc_list_selector_holo_dark = 0x7f020034;
|
||||
public static final int abc_list_selector_holo_light = 0x7f020035;
|
||||
public static final int abc_menu_dropdown_panel_holo_dark = 0x7f020036;
|
||||
public static final int abc_menu_dropdown_panel_holo_light = 0x7f020037;
|
||||
public static final int abc_menu_hardkey_panel_holo_dark = 0x7f020038;
|
||||
public static final int abc_menu_hardkey_panel_holo_light = 0x7f020039;
|
||||
public static final int abc_search_dropdown_dark = 0x7f02003a;
|
||||
public static final int abc_search_dropdown_light = 0x7f02003b;
|
||||
public static final int abc_spinner_ab_default_holo_dark = 0x7f02003c;
|
||||
public static final int abc_spinner_ab_default_holo_light = 0x7f02003d;
|
||||
public static final int abc_spinner_ab_disabled_holo_dark = 0x7f02003e;
|
||||
public static final int abc_spinner_ab_disabled_holo_light = 0x7f02003f;
|
||||
public static final int abc_spinner_ab_focused_holo_dark = 0x7f020040;
|
||||
public static final int abc_spinner_ab_focused_holo_light = 0x7f020041;
|
||||
public static final int abc_spinner_ab_holo_dark = 0x7f020042;
|
||||
public static final int abc_spinner_ab_holo_light = 0x7f020043;
|
||||
public static final int abc_spinner_ab_pressed_holo_dark = 0x7f020044;
|
||||
public static final int abc_spinner_ab_pressed_holo_light = 0x7f020045;
|
||||
public static final int abc_tab_indicator_ab_holo = 0x7f020046;
|
||||
public static final int abc_tab_selected_focused_holo = 0x7f020047;
|
||||
public static final int abc_tab_selected_holo = 0x7f020048;
|
||||
public static final int abc_tab_selected_pressed_holo = 0x7f020049;
|
||||
public static final int abc_tab_unselected_pressed_holo = 0x7f02004a;
|
||||
public static final int abc_textfield_search_default_holo_dark = 0x7f02004b;
|
||||
public static final int abc_textfield_search_default_holo_light = 0x7f02004c;
|
||||
public static final int abc_textfield_search_right_default_holo_dark = 0x7f02004d;
|
||||
public static final int abc_textfield_search_right_default_holo_light = 0x7f02004e;
|
||||
public static final int abc_textfield_search_right_selected_holo_dark = 0x7f02004f;
|
||||
public static final int abc_textfield_search_right_selected_holo_light = 0x7f020050;
|
||||
public static final int abc_textfield_search_selected_holo_dark = 0x7f020051;
|
||||
public static final int abc_textfield_search_selected_holo_light = 0x7f020052;
|
||||
public static final int abc_textfield_searchview_holo_dark = 0x7f020053;
|
||||
public static final int abc_textfield_searchview_holo_light = 0x7f020054;
|
||||
public static final int abc_textfield_searchview_right_holo_dark = 0x7f020055;
|
||||
public static final int abc_textfield_searchview_right_holo_light = 0x7f020056;
|
||||
public static final int ic_launcher = 0x7f020057;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int action_bar = 0x7f070023;
|
||||
public static final int action_bar_activity_content = 0x7f070015;
|
||||
public static final int action_bar_container = 0x7f070022;
|
||||
public static final int action_bar_overlay_layout = 0x7f070026;
|
||||
public static final int action_bar_root = 0x7f070021;
|
||||
public static final int action_bar_subtitle = 0x7f07002a;
|
||||
public static final int action_bar_title = 0x7f070029;
|
||||
public static final int action_context_bar = 0x7f070024;
|
||||
public static final int action_menu_divider = 0x7f070016;
|
||||
public static final int action_menu_presenter = 0x7f070017;
|
||||
public static final int action_mode_close_button = 0x7f07002b;
|
||||
public static final int action_settings = 0x7f070070;
|
||||
public static final int activity_chooser_view_content = 0x7f07002c;
|
||||
public static final int always = 0x7f07000b;
|
||||
public static final int beginning = 0x7f070011;
|
||||
public static final int checkbox = 0x7f070034;
|
||||
public static final int collapseActionView = 0x7f07000d;
|
||||
public static final int default_activity_button = 0x7f07002f;
|
||||
public static final int dialog = 0x7f07000e;
|
||||
public static final int disableHome = 0x7f070008;
|
||||
public static final int dropdown = 0x7f07000f;
|
||||
public static final int edit_query = 0x7f070037;
|
||||
public static final int end = 0x7f070013;
|
||||
public static final int expand_activities_button = 0x7f07002d;
|
||||
public static final int expanded_menu = 0x7f070033;
|
||||
public static final int home = 0x7f070014;
|
||||
public static final int homeAsUp = 0x7f070005;
|
||||
public static final int icon = 0x7f070031;
|
||||
public static final int ifRoom = 0x7f07000a;
|
||||
public static final int image = 0x7f07002e;
|
||||
public static final int listMode = 0x7f070001;
|
||||
public static final int list_item = 0x7f070030;
|
||||
public static final int middle = 0x7f070012;
|
||||
public static final int never = 0x7f070009;
|
||||
public static final int none = 0x7f070010;
|
||||
public static final int normal = 0x7f070000;
|
||||
public static final int progress_circular = 0x7f070018;
|
||||
public static final int progress_horizontal = 0x7f070019;
|
||||
public static final int radio = 0x7f070036;
|
||||
public static final int search_badge = 0x7f070039;
|
||||
public static final int search_bar = 0x7f070038;
|
||||
public static final int search_button = 0x7f07003a;
|
||||
public static final int search_close_btn = 0x7f07003f;
|
||||
public static final int search_edit_frame = 0x7f07003b;
|
||||
public static final int search_go_btn = 0x7f070041;
|
||||
public static final int search_mag_icon = 0x7f07003c;
|
||||
public static final int search_plate = 0x7f07003d;
|
||||
public static final int search_src_text = 0x7f07003e;
|
||||
public static final int search_voice_btn = 0x7f070042;
|
||||
public static final int shortcut = 0x7f070035;
|
||||
public static final int showCustom = 0x7f070007;
|
||||
public static final int showHome = 0x7f070004;
|
||||
public static final int showTitle = 0x7f070006;
|
||||
public static final int split_action_bar = 0x7f070025;
|
||||
public static final int submit_area = 0x7f070040;
|
||||
public static final int tabMode = 0x7f070002;
|
||||
public static final int title = 0x7f070032;
|
||||
public static final int top_action_bar = 0x7f070027;
|
||||
public static final int up = 0x7f070028;
|
||||
public static final int useLogo = 0x7f070003;
|
||||
public static final int withText = 0x7f07000c;
|
||||
}
|
||||
public static final class integer {
|
||||
public static final int abc_max_action_buttons = 0x7f0b0000;
|
||||
}
|
||||
public static final class layout {
|
||||
public static final int abc_action_bar_decor = 0x7f030000;
|
||||
public static final int abc_action_bar_decor_include = 0x7f030001;
|
||||
public static final int abc_action_bar_decor_overlay = 0x7f030002;
|
||||
public static final int abc_action_bar_home = 0x7f030003;
|
||||
public static final int abc_action_bar_tab = 0x7f030004;
|
||||
public static final int abc_action_bar_tabbar = 0x7f030005;
|
||||
public static final int abc_action_bar_title_item = 0x7f030006;
|
||||
public static final int abc_action_bar_view_list_nav_layout = 0x7f030007;
|
||||
public static final int abc_action_menu_item_layout = 0x7f030008;
|
||||
public static final int abc_action_menu_layout = 0x7f030009;
|
||||
public static final int abc_action_mode_bar = 0x7f03000a;
|
||||
public static final int abc_action_mode_close_item = 0x7f03000b;
|
||||
public static final int abc_activity_chooser_view = 0x7f03000c;
|
||||
public static final int abc_activity_chooser_view_include = 0x7f03000d;
|
||||
public static final int abc_activity_chooser_view_list_item = 0x7f03000e;
|
||||
public static final int abc_expanded_menu_layout = 0x7f03000f;
|
||||
public static final int abc_list_menu_item_checkbox = 0x7f030010;
|
||||
public static final int abc_list_menu_item_icon = 0x7f030011;
|
||||
public static final int abc_list_menu_item_layout = 0x7f030012;
|
||||
public static final int abc_list_menu_item_radio = 0x7f030013;
|
||||
public static final int abc_popup_menu_item_layout = 0x7f030014;
|
||||
public static final int abc_search_dropdown_item_icons_2line = 0x7f030015;
|
||||
public static final int abc_search_view = 0x7f030016;
|
||||
public static final int abc_simple_decor = 0x7f030017;
|
||||
public static final int support_simple_spinner_dropdown_item = 0x7f030026;
|
||||
}
|
||||
public static final class menu {
|
||||
public static final int main = 0x7f0f0003;
|
||||
}
|
||||
public static final class string {
|
||||
public static final int app_name = 0x7f040000;
|
||||
public static final int abc_action_bar_home_description = 0x7f0c0001;
|
||||
public static final int abc_action_bar_up_description = 0x7f0c0002;
|
||||
public static final int abc_action_menu_overflow_description = 0x7f0c0003;
|
||||
public static final int abc_action_mode_done = 0x7f0c0000;
|
||||
public static final int abc_activity_chooser_view_see_all = 0x7f0c000a;
|
||||
public static final int abc_activitychooserview_choose_application = 0x7f0c0009;
|
||||
public static final int abc_searchview_description_clear = 0x7f0c0006;
|
||||
public static final int abc_searchview_description_query = 0x7f0c0005;
|
||||
public static final int abc_searchview_description_search = 0x7f0c0004;
|
||||
public static final int abc_searchview_description_submit = 0x7f0c0007;
|
||||
public static final int abc_searchview_description_voice = 0x7f0c0008;
|
||||
public static final int abc_shareactionprovider_share_with = 0x7f0c000c;
|
||||
public static final int abc_shareactionprovider_share_with_application = 0x7f0c000b;
|
||||
public static final int action_settings = 0x7f0c0010;
|
||||
public static final int app_name = 0x7f0c000d;
|
||||
public static final int hello_world = 0x7f0c000f;
|
||||
public static final int title_activity_main = 0x7f0c000e;
|
||||
}
|
||||
public static final class style {
|
||||
public static final int AppBaseTheme = 0x7f050000;
|
||||
public static final int AppTheme = 0x7f050001;
|
||||
public static final int AppBaseTheme = 0x7f0d008b;
|
||||
public static final int AppTheme = 0x7f0d008c;
|
||||
public static final int TextAppearance_AppCompat_Base_CompactMenu_Dialog = 0x7f0d0063;
|
||||
public static final int TextAppearance_AppCompat_Base_SearchResult = 0x7f0d006d;
|
||||
public static final int TextAppearance_AppCompat_Base_SearchResult_Subtitle = 0x7f0d006f;
|
||||
public static final int TextAppearance_AppCompat_Base_SearchResult_Title = 0x7f0d006e;
|
||||
public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Large = 0x7f0d0069;
|
||||
public static final int TextAppearance_AppCompat_Base_Widget_PopupMenu_Small = 0x7f0d006a;
|
||||
public static final int TextAppearance_AppCompat_Light_Base_SearchResult = 0x7f0d0070;
|
||||
public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Subtitle = 0x7f0d0072;
|
||||
public static final int TextAppearance_AppCompat_Light_Base_SearchResult_Title = 0x7f0d0071;
|
||||
public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Large = 0x7f0d006b;
|
||||
public static final int TextAppearance_AppCompat_Light_Base_Widget_PopupMenu_Small = 0x7f0d006c;
|
||||
public static final int TextAppearance_AppCompat_Light_SearchResult_Subtitle = 0x7f0d0035;
|
||||
public static final int TextAppearance_AppCompat_Light_SearchResult_Title = 0x7f0d0034;
|
||||
public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Large = 0x7f0d0030;
|
||||
public static final int TextAppearance_AppCompat_Light_Widget_PopupMenu_Small = 0x7f0d0031;
|
||||
public static final int TextAppearance_AppCompat_SearchResult_Subtitle = 0x7f0d0033;
|
||||
public static final int TextAppearance_AppCompat_SearchResult_Title = 0x7f0d0032;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionBar_Menu = 0x7f0d001a;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle = 0x7f0d0006;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse = 0x7f0d0008;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionBar_Title = 0x7f0d0005;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse = 0x7f0d0007;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle = 0x7f0d001e;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse = 0x7f0d0020;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionMode_Title = 0x7f0d001d;
|
||||
public static final int TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse = 0x7f0d001f;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Menu = 0x7f0d0054;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle = 0x7f0d0056;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Subtitle_Inverse = 0x7f0d0058;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title = 0x7f0d0055;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionBar_Title_Inverse = 0x7f0d0057;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle = 0x7f0d0051;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Subtitle_Inverse = 0x7f0d0053;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title = 0x7f0d0050;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_ActionMode_Title_Inverse = 0x7f0d0052;
|
||||
public static final int TextAppearance_AppCompat_Widget_Base_DropDownItem = 0x7f0d0061;
|
||||
public static final int TextAppearance_AppCompat_Widget_DropDownItem = 0x7f0d0021;
|
||||
public static final int TextAppearance_AppCompat_Widget_PopupMenu_Large = 0x7f0d002e;
|
||||
public static final int TextAppearance_AppCompat_Widget_PopupMenu_Small = 0x7f0d002f;
|
||||
public static final int TextAppearance_Widget_AppCompat_Base_ExpandedMenu_Item = 0x7f0d0062;
|
||||
public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item = 0x7f0d0028;
|
||||
public static final int Theme_AppCompat = 0x7f0d0077;
|
||||
public static final int Theme_AppCompat_Base_CompactMenu = 0x7f0d0083;
|
||||
public static final int Theme_AppCompat_Base_CompactMenu_Dialog = 0x7f0d0084;
|
||||
public static final int Theme_AppCompat_CompactMenu = 0x7f0d007c;
|
||||
public static final int Theme_AppCompat_CompactMenu_Dialog = 0x7f0d007d;
|
||||
public static final int Theme_AppCompat_DialogWhenLarge = 0x7f0d007a;
|
||||
public static final int Theme_AppCompat_Light = 0x7f0d0078;
|
||||
public static final int Theme_AppCompat_Light_DarkActionBar = 0x7f0d0079;
|
||||
public static final int Theme_AppCompat_Light_DialogWhenLarge = 0x7f0d007b;
|
||||
public static final int Theme_Base = 0x7f0d007e;
|
||||
public static final int Theme_Base_AppCompat = 0x7f0d0080;
|
||||
public static final int Theme_Base_AppCompat_DialogWhenLarge = 0x7f0d0085;
|
||||
public static final int Theme_Base_AppCompat_DialogWhenLarge_Base = 0x7f0d0089;
|
||||
public static final int Theme_Base_AppCompat_Dialog_FixedSize = 0x7f0d0087;
|
||||
public static final int Theme_Base_AppCompat_Dialog_Light_FixedSize = 0x7f0d0088;
|
||||
public static final int Theme_Base_AppCompat_Light = 0x7f0d0081;
|
||||
public static final int Theme_Base_AppCompat_Light_DarkActionBar = 0x7f0d0082;
|
||||
public static final int Theme_Base_AppCompat_Light_DialogWhenLarge = 0x7f0d0086;
|
||||
public static final int Theme_Base_AppCompat_Light_DialogWhenLarge_Base = 0x7f0d008a;
|
||||
public static final int Theme_Base_Light = 0x7f0d007f;
|
||||
public static final int Widget_AppCompat_ActionBar = 0x7f0d0000;
|
||||
public static final int Widget_AppCompat_ActionBar_Solid = 0x7f0d0002;
|
||||
public static final int Widget_AppCompat_ActionBar_TabBar = 0x7f0d0011;
|
||||
public static final int Widget_AppCompat_ActionBar_TabText = 0x7f0d0017;
|
||||
public static final int Widget_AppCompat_ActionBar_TabView = 0x7f0d0014;
|
||||
public static final int Widget_AppCompat_ActionButton = 0x7f0d000b;
|
||||
public static final int Widget_AppCompat_ActionButton_CloseMode = 0x7f0d000d;
|
||||
public static final int Widget_AppCompat_ActionButton_Overflow = 0x7f0d000f;
|
||||
public static final int Widget_AppCompat_ActionMode = 0x7f0d001b;
|
||||
public static final int Widget_AppCompat_ActivityChooserView = 0x7f0d0038;
|
||||
public static final int Widget_AppCompat_AutoCompleteTextView = 0x7f0d0036;
|
||||
public static final int Widget_AppCompat_Base_ActionBar = 0x7f0d003a;
|
||||
public static final int Widget_AppCompat_Base_ActionBar_Solid = 0x7f0d003c;
|
||||
public static final int Widget_AppCompat_Base_ActionBar_TabBar = 0x7f0d0045;
|
||||
public static final int Widget_AppCompat_Base_ActionBar_TabText = 0x7f0d004b;
|
||||
public static final int Widget_AppCompat_Base_ActionBar_TabView = 0x7f0d0048;
|
||||
public static final int Widget_AppCompat_Base_ActionButton = 0x7f0d003f;
|
||||
public static final int Widget_AppCompat_Base_ActionButton_CloseMode = 0x7f0d0041;
|
||||
public static final int Widget_AppCompat_Base_ActionButton_Overflow = 0x7f0d0043;
|
||||
public static final int Widget_AppCompat_Base_ActionMode = 0x7f0d004e;
|
||||
public static final int Widget_AppCompat_Base_ActivityChooserView = 0x7f0d0075;
|
||||
public static final int Widget_AppCompat_Base_AutoCompleteTextView = 0x7f0d0073;
|
||||
public static final int Widget_AppCompat_Base_DropDownItem_Spinner = 0x7f0d005d;
|
||||
public static final int Widget_AppCompat_Base_ListPopupWindow = 0x7f0d0065;
|
||||
public static final int Widget_AppCompat_Base_ListView_DropDown = 0x7f0d005f;
|
||||
public static final int Widget_AppCompat_Base_ListView_Menu = 0x7f0d0064;
|
||||
public static final int Widget_AppCompat_Base_PopupMenu = 0x7f0d0067;
|
||||
public static final int Widget_AppCompat_Base_ProgressBar = 0x7f0d005a;
|
||||
public static final int Widget_AppCompat_Base_ProgressBar_Horizontal = 0x7f0d0059;
|
||||
public static final int Widget_AppCompat_Base_Spinner = 0x7f0d005b;
|
||||
public static final int Widget_AppCompat_DropDownItem_Spinner = 0x7f0d0024;
|
||||
public static final int Widget_AppCompat_Light_ActionBar = 0x7f0d0001;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_Solid = 0x7f0d0003;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_Solid_Inverse = 0x7f0d0004;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_TabBar = 0x7f0d0012;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_TabBar_Inverse = 0x7f0d0013;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_TabText = 0x7f0d0018;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_TabText_Inverse = 0x7f0d0019;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_TabView = 0x7f0d0015;
|
||||
public static final int Widget_AppCompat_Light_ActionBar_TabView_Inverse = 0x7f0d0016;
|
||||
public static final int Widget_AppCompat_Light_ActionButton = 0x7f0d000c;
|
||||
public static final int Widget_AppCompat_Light_ActionButton_CloseMode = 0x7f0d000e;
|
||||
public static final int Widget_AppCompat_Light_ActionButton_Overflow = 0x7f0d0010;
|
||||
public static final int Widget_AppCompat_Light_ActionMode_Inverse = 0x7f0d001c;
|
||||
public static final int Widget_AppCompat_Light_ActivityChooserView = 0x7f0d0039;
|
||||
public static final int Widget_AppCompat_Light_AutoCompleteTextView = 0x7f0d0037;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar = 0x7f0d003b;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_Solid = 0x7f0d003d;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_Solid_Inverse = 0x7f0d003e;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar = 0x7f0d0046;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_TabBar_Inverse = 0x7f0d0047;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_TabText = 0x7f0d004c;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_TabText_Inverse = 0x7f0d004d;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_TabView = 0x7f0d0049;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionBar_TabView_Inverse = 0x7f0d004a;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionButton = 0x7f0d0040;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionButton_CloseMode = 0x7f0d0042;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionButton_Overflow = 0x7f0d0044;
|
||||
public static final int Widget_AppCompat_Light_Base_ActionMode_Inverse = 0x7f0d004f;
|
||||
public static final int Widget_AppCompat_Light_Base_ActivityChooserView = 0x7f0d0076;
|
||||
public static final int Widget_AppCompat_Light_Base_AutoCompleteTextView = 0x7f0d0074;
|
||||
public static final int Widget_AppCompat_Light_Base_DropDownItem_Spinner = 0x7f0d005e;
|
||||
public static final int Widget_AppCompat_Light_Base_ListPopupWindow = 0x7f0d0066;
|
||||
public static final int Widget_AppCompat_Light_Base_ListView_DropDown = 0x7f0d0060;
|
||||
public static final int Widget_AppCompat_Light_Base_PopupMenu = 0x7f0d0068;
|
||||
public static final int Widget_AppCompat_Light_Base_Spinner = 0x7f0d005c;
|
||||
public static final int Widget_AppCompat_Light_DropDownItem_Spinner = 0x7f0d0025;
|
||||
public static final int Widget_AppCompat_Light_ListPopupWindow = 0x7f0d002a;
|
||||
public static final int Widget_AppCompat_Light_ListView_DropDown = 0x7f0d0027;
|
||||
public static final int Widget_AppCompat_Light_PopupMenu = 0x7f0d002c;
|
||||
public static final int Widget_AppCompat_Light_Spinner_DropDown_ActionBar = 0x7f0d0023;
|
||||
public static final int Widget_AppCompat_ListPopupWindow = 0x7f0d0029;
|
||||
public static final int Widget_AppCompat_ListView_DropDown = 0x7f0d0026;
|
||||
public static final int Widget_AppCompat_ListView_Menu = 0x7f0d002d;
|
||||
public static final int Widget_AppCompat_PopupMenu = 0x7f0d002b;
|
||||
public static final int Widget_AppCompat_ProgressBar = 0x7f0d000a;
|
||||
public static final int Widget_AppCompat_ProgressBar_Horizontal = 0x7f0d0009;
|
||||
public static final int Widget_AppCompat_Spinner_DropDown_ActionBar = 0x7f0d0022;
|
||||
}
|
||||
public static final class styleable {
|
||||
public static final int[] ActionBar = { 0x7f010025, 0x7f010026, 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b, 0x7f01002c, 0x7f01002d, 0x7f01002e, 0x7f01002f, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035, 0x7f010036, 0x7f010037 };
|
||||
public static final int[] ActionBarLayout = { 0x010100b3 };
|
||||
public static final int ActionBarLayout_android_layout_gravity = 0;
|
||||
public static final int[] ActionBarWindow = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006 };
|
||||
public static final int ActionBarWindow_windowActionBar = 0;
|
||||
public static final int ActionBarWindow_windowActionBarOverlay = 1;
|
||||
public static final int ActionBarWindow_windowFixedHeightMajor = 6;
|
||||
public static final int ActionBarWindow_windowFixedHeightMinor = 4;
|
||||
public static final int ActionBarWindow_windowFixedWidthMajor = 3;
|
||||
public static final int ActionBarWindow_windowFixedWidthMinor = 5;
|
||||
public static final int ActionBarWindow_windowSplitActionBar = 2;
|
||||
public static final int ActionBar_background = 10;
|
||||
public static final int ActionBar_backgroundSplit = 12;
|
||||
public static final int ActionBar_backgroundStacked = 11;
|
||||
public static final int ActionBar_customNavigationLayout = 13;
|
||||
public static final int ActionBar_displayOptions = 3;
|
||||
public static final int ActionBar_divider = 9;
|
||||
public static final int ActionBar_height = 1;
|
||||
public static final int ActionBar_homeLayout = 14;
|
||||
public static final int ActionBar_icon = 7;
|
||||
public static final int ActionBar_indeterminateProgressStyle = 16;
|
||||
public static final int ActionBar_itemPadding = 18;
|
||||
public static final int ActionBar_logo = 8;
|
||||
public static final int ActionBar_navigationMode = 2;
|
||||
public static final int ActionBar_progressBarPadding = 17;
|
||||
public static final int ActionBar_progressBarStyle = 15;
|
||||
public static final int ActionBar_subtitle = 4;
|
||||
public static final int ActionBar_subtitleTextStyle = 6;
|
||||
public static final int ActionBar_title = 0;
|
||||
public static final int ActionBar_titleTextStyle = 5;
|
||||
public static final int[] ActionMenuItemView = { 0x0101013f };
|
||||
public static final int ActionMenuItemView_android_minWidth = 0;
|
||||
public static final int[] ActionMenuView = { };
|
||||
public static final int[] ActionMode = { 0x7f010026, 0x7f01002a, 0x7f01002b, 0x7f01002f, 0x7f010031 };
|
||||
public static final int ActionMode_background = 3;
|
||||
public static final int ActionMode_backgroundSplit = 4;
|
||||
public static final int ActionMode_height = 0;
|
||||
public static final int ActionMode_subtitleTextStyle = 2;
|
||||
public static final int ActionMode_titleTextStyle = 1;
|
||||
public static final int[] ActivityChooserView = { 0x7f01006a, 0x7f01006b };
|
||||
public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 1;
|
||||
public static final int ActivityChooserView_initialActivityCount = 0;
|
||||
public static final int[] CompatTextView = { 0x7f01006d };
|
||||
public static final int CompatTextView_textAllCaps = 0;
|
||||
public static final int[] LinearLayoutICS = { 0x7f01002e, 0x7f010055, 0x7f010056 };
|
||||
public static final int LinearLayoutICS_divider = 0;
|
||||
public static final int LinearLayoutICS_dividerPadding = 2;
|
||||
public static final int LinearLayoutICS_showDividers = 1;
|
||||
public static final int[] MenuGroup = { 0x0101000e, 0x010100d0, 0x01010194, 0x010101de, 0x010101df, 0x010101e0 };
|
||||
public static final int MenuGroup_android_checkableBehavior = 5;
|
||||
public static final int MenuGroup_android_enabled = 0;
|
||||
public static final int MenuGroup_android_id = 1;
|
||||
public static final int MenuGroup_android_menuCategory = 3;
|
||||
public static final int MenuGroup_android_orderInCategory = 4;
|
||||
public static final int MenuGroup_android_visible = 2;
|
||||
public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f01004d, 0x7f01004e, 0x7f01004f, 0x7f010050 };
|
||||
public static final int MenuItem_actionLayout = 14;
|
||||
public static final int MenuItem_actionProviderClass = 16;
|
||||
public static final int MenuItem_actionViewClass = 15;
|
||||
public static final int MenuItem_android_alphabeticShortcut = 9;
|
||||
public static final int MenuItem_android_checkable = 11;
|
||||
public static final int MenuItem_android_checked = 3;
|
||||
public static final int MenuItem_android_enabled = 1;
|
||||
public static final int MenuItem_android_icon = 0;
|
||||
public static final int MenuItem_android_id = 2;
|
||||
public static final int MenuItem_android_menuCategory = 5;
|
||||
public static final int MenuItem_android_numericShortcut = 10;
|
||||
public static final int MenuItem_android_onClick = 12;
|
||||
public static final int MenuItem_android_orderInCategory = 6;
|
||||
public static final int MenuItem_android_title = 7;
|
||||
public static final int MenuItem_android_titleCondensed = 8;
|
||||
public static final int MenuItem_android_visible = 4;
|
||||
public static final int MenuItem_showAsAction = 13;
|
||||
public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x01010435 };
|
||||
public static final int MenuView_android_headerBackground = 4;
|
||||
public static final int MenuView_android_horizontalDivider = 2;
|
||||
public static final int MenuView_android_itemBackground = 5;
|
||||
public static final int MenuView_android_itemIconDisabledAlpha = 6;
|
||||
public static final int MenuView_android_itemTextAppearance = 1;
|
||||
public static final int MenuView_android_preserveIconSpacing = 7;
|
||||
public static final int MenuView_android_verticalDivider = 3;
|
||||
public static final int MenuView_android_windowAnimationStyle = 0;
|
||||
public static final int[] SearchView = { 0x0101011f, 0x01010220, 0x01010264, 0x7f01005a, 0x7f01005b };
|
||||
public static final int SearchView_android_imeOptions = 2;
|
||||
public static final int SearchView_android_inputType = 1;
|
||||
public static final int SearchView_android_maxWidth = 0;
|
||||
public static final int SearchView_iconifiedByDefault = 3;
|
||||
public static final int SearchView_queryHint = 4;
|
||||
public static final int[] Spinner = { 0x010100af, 0x01010175, 0x01010176, 0x01010262, 0x010102ac, 0x010102ad, 0x7f010051, 0x7f010052, 0x7f010053, 0x7f010054 };
|
||||
public static final int Spinner_android_dropDownHorizontalOffset = 4;
|
||||
public static final int Spinner_android_dropDownSelector = 1;
|
||||
public static final int Spinner_android_dropDownVerticalOffset = 5;
|
||||
public static final int Spinner_android_dropDownWidth = 3;
|
||||
public static final int Spinner_android_gravity = 0;
|
||||
public static final int Spinner_android_popupBackground = 2;
|
||||
public static final int Spinner_disableChildrenWhenDisabled = 9;
|
||||
public static final int Spinner_popupPromptView = 8;
|
||||
public static final int Spinner_prompt = 6;
|
||||
public static final int Spinner_spinnerMode = 7;
|
||||
public static final int[] Theme = { 0x7f010047, 0x7f010048, 0x7f010049, 0x7f01004a, 0x7f01004b, 0x7f01004c };
|
||||
public static final int Theme_actionDropDownStyle = 0;
|
||||
public static final int Theme_dropdownListPreferredItemHeight = 1;
|
||||
public static final int Theme_listChoiceBackgroundIndicator = 5;
|
||||
public static final int Theme_panelMenuListTheme = 4;
|
||||
public static final int Theme_panelMenuListWidth = 3;
|
||||
public static final int Theme_popupMenuStyle = 2;
|
||||
public static final int[] View = { 0x010100da, 0x7f010038, 0x7f010039 };
|
||||
public static final int View_android_focusable = 0;
|
||||
public static final int View_paddingEnd = 2;
|
||||
public static final int View_paddingStart = 1;
|
||||
}
|
||||
}
|
||||
|
BIN
src/java/PluginQR/libs/core-2.3.0.jar
Normal file
BIN
src/java/PluginQR/libs/core-2.3.0.jar
Normal file
Binary file not shown.
Binary file not shown.
BIN
src/java/PluginQR/res/drawable-hdpi/launcher_icon.png
Normal file
BIN
src/java/PluginQR/res/drawable-hdpi/launcher_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
src/java/PluginQR/res/drawable-xhdpi/launcher_icon.png
Normal file
BIN
src/java/PluginQR/res/drawable-xhdpi/launcher_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.5 KiB |
BIN
src/java/PluginQR/res/drawable-xxhdpi/launcher_icon.png
Normal file
BIN
src/java/PluginQR/res/drawable-xxhdpi/launcher_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
src/java/PluginQR/res/drawable/launcher_icon.png
Normal file
BIN
src/java/PluginQR/res/drawable/launcher_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
BIN
src/java/PluginQR/res/drawable/share_via_barcode.png
Normal file
BIN
src/java/PluginQR/res/drawable/share_via_barcode.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
48
src/java/PluginQR/res/layout-land/encode.xml
Normal file
48
src/java/PluginQR/res/layout-land/encode.xml
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:fillViewport="true"
|
||||
android:background="@color/encode_view"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center">
|
||||
|
||||
<ImageView android:id="@+id/image_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:scaleType="center"/>
|
||||
|
||||
<ScrollView android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView android:id="@+id/contents_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/contents_text"
|
||||
android:paddingRight="8dip"
|
||||
android:paddingTop="8dip"
|
||||
android:paddingBottom="8dip"/>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
87
src/java/PluginQR/res/layout-land/share.xml
Normal file
87
src/java/PluginQR/res/layout-land/share.xml
Normal file
@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dip">
|
||||
|
||||
<TextView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/msg_share_explanation"
|
||||
android:paddingBottom="12dip"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="12dip">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/share_via_barcode"
|
||||
android:paddingRight="24dip"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button android:id="@+id/share_app_button"
|
||||
style="@style/ShareButton"
|
||||
android:text="@string/button_share_app"/>
|
||||
|
||||
<Button android:id="@+id/share_contact_button"
|
||||
style="@style/ShareButton"
|
||||
android:text="@string/button_share_contact"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button android:id="@+id/share_bookmark_button"
|
||||
style="@style/ShareButton"
|
||||
android:text="@string/button_share_bookmark"/>
|
||||
|
||||
<Button android:id="@+id/share_clipboard_button"
|
||||
style="@style/ShareButton"
|
||||
android:text="@string/button_share_clipboard"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<EditText android:id="@+id/share_text_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/msg_share_text"
|
||||
android:singleLine="true"
|
||||
android:selectAllOnFocus="true"/>
|
||||
|
||||
</LinearLayout>
|
201
src/java/PluginQR/res/layout-ldpi/capture.xml
Normal file
201
src/java/PluginQR/res/layout-ldpi/capture.xml
Normal file
@ -0,0 +1,201 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<SurfaceView android:id="@+id/preview_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"/>
|
||||
|
||||
<com.google.zxing.client.android.ViewfinderView
|
||||
android:id="@+id/viewfinder_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"/>
|
||||
|
||||
<LinearLayout android:id="@+id/result_view"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:background="@color/result_view"
|
||||
android:visibility="gone"
|
||||
android:baselineAligned="false">
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="top"
|
||||
android:padding="@dimen/standard_padding">
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:gravity="right">
|
||||
|
||||
<ImageView android:id="@+id/barcode_image_view"
|
||||
android:layout_width="150dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxWidth="150dip"
|
||||
android:maxHeight="150dip"
|
||||
android:layout_marginBottom="@dimen/half_padding"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerInside"/>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_format"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/format_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_type"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/type_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_time"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/time_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:id="@+id/meta_text_view_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_meta"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/meta_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:id="@+id/contents_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_text"
|
||||
android:textColorLink="@color/result_text"
|
||||
android:textSize="22sp"
|
||||
android:paddingLeft="12dip"
|
||||
android:autoLink="web"/>
|
||||
|
||||
<TextView android:id="@+id/contents_supplement_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_text"
|
||||
android:textColorLink="@color/result_text"
|
||||
android:paddingLeft="12dip"
|
||||
android:autoLink="web"
|
||||
android:clickable="true"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout android:id="@+id/result_button_view"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center">
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView android:id="@+id/status_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:background="@color/transparent"
|
||||
android:text="@string/msg_default_status"
|
||||
android:textColor="@color/status_text"/>
|
||||
|
||||
</merge>
|
8
src/java/PluginQR/res/layout/activity_main.xml
Normal file
8
src/java/PluginQR/res/layout/activity_main.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="keepass2android.plugin.qr.MainActivity"
|
||||
tools:ignore="MergeRootFrame" />
|
||||
|
21
src/java/PluginQR/res/layout/app_picker_list_item.xml
Normal file
21
src/java/PluginQR/res/layout/app_picker_list_item.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView android:id="@+id/app_picker_list_item_icon"
|
||||
android:layout_width="64dip"
|
||||
android:layout_height="64dip"
|
||||
android:scaleType="centerInside"
|
||||
android:padding="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/app_picker_list_item_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:singleLine="true"
|
||||
android:padding="@dimen/half_padding"/>
|
||||
|
||||
</LinearLayout>
|
36
src/java/PluginQR/res/layout/bookmark_picker_list_item.xml
Normal file
36
src/java/PluginQR/res/layout/bookmark_picker_list_item.xml
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/half_padding">
|
||||
|
||||
<TextView android:id="@+id/bookmark_title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:singleLine="true"/>
|
||||
|
||||
<TextView android:id="@+id/bookmark_url"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:singleLine="false"/>
|
||||
|
||||
</LinearLayout>
|
200
src/java/PluginQR/res/layout/capture.xml
Normal file
200
src/java/PluginQR/res/layout/capture.xml
Normal file
@ -0,0 +1,200 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<SurfaceView android:id="@+id/preview_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"/>
|
||||
|
||||
<com.google.zxing.client.android.ViewfinderView
|
||||
android:id="@+id/viewfinder_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"/>
|
||||
|
||||
<LinearLayout android:id="@+id/result_view"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:background="@color/result_view"
|
||||
android:visibility="gone"
|
||||
android:baselineAligned="false">
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:padding="@dimen/standard_padding">
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:gravity="right|center_vertical">
|
||||
|
||||
<ImageView android:id="@+id/barcode_image_view"
|
||||
android:layout_width="160dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxWidth="160dip"
|
||||
android:maxHeight="160dip"
|
||||
android:layout_marginBottom="@dimen/half_padding"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerInside"/>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_format"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/format_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_type"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/type_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_time"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/time_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView android:id="@+id/meta_text_view_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/msg_default_meta"
|
||||
android:textColor="@color/result_minor_text"
|
||||
android:textStyle="bold"
|
||||
android:paddingRight="@dimen/half_padding"/>
|
||||
|
||||
<TextView android:id="@+id/meta_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_minor_text"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView android:id="@+id/contents_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_text"
|
||||
android:textColorLink="@color/result_text"
|
||||
android:textSize="22sp"
|
||||
android:paddingLeft="12dip"
|
||||
android:autoLink="web"/>
|
||||
|
||||
<TextView android:id="@+id/contents_supplement_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/result_text"
|
||||
android:textColorLink="@color/result_text"
|
||||
android:paddingLeft="12dip"
|
||||
android:autoLink="web"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout android:id="@+id/result_button_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center">
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button style="@style/ResultButton"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView android:id="@+id/status_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:background="@color/transparent"
|
||||
android:text="@string/msg_default_status"
|
||||
android:textColor="@color/status_text"/>
|
||||
|
||||
</merge>
|
49
src/java/PluginQR/res/layout/encode.xml
Normal file
49
src/java/PluginQR/res/layout/encode.xml
Normal file
@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:fillViewport="true"
|
||||
android:background="@color/encode_view"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center">
|
||||
|
||||
<ImageView android:id="@+id/image_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:scaleType="center"/>
|
||||
|
||||
<ScrollView android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center">
|
||||
|
||||
<TextView android:id="@+id/contents_text_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/contents_text"
|
||||
android:paddingBottom="@dimen/standard_padding"
|
||||
android:paddingLeft="@dimen/standard_padding"
|
||||
android:paddingRight="@dimen/standard_padding"/>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
</LinearLayout>
|
17
src/java/PluginQR/res/layout/fragment_main.xml
Normal file
17
src/java/PluginQR/res/layout/fragment_main.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
tools:context="keepass2android.plugin.qr.MainActivity$PlaceholderFragment" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/hello"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hello_world" />
|
||||
|
||||
</RelativeLayout>
|
21
src/java/PluginQR/res/layout/help.xml
Normal file
21
src/java/PluginQR/res/layout/help.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/help_contents"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"/>
|
22
src/java/PluginQR/res/layout/history_list_item.xml
Normal file
22
src/java/PluginQR/res/layout/history_list_item.xml
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/standard_padding">
|
||||
|
||||
<TextView android:id="@+id/history_title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:singleLine="true"/>
|
||||
|
||||
<TextView android:id="@+id/history_detail"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:singleLine="false"/>
|
||||
|
||||
</LinearLayout>
|
52
src/java/PluginQR/res/layout/search_book_contents.xml
Normal file
52
src/java/PluginQR/res/layout/search_book_contents.xml
Normal file
@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0">
|
||||
|
||||
<EditText android:id="@+id/query_text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:layout_weight="1"
|
||||
android:singleLine="true"
|
||||
android:selectAllOnFocus="true"
|
||||
android:inputType="text"/>
|
||||
|
||||
<Button android:id="@+id/query_button"
|
||||
style="@android:style/Widget.Holo.Button.Borderless.Small"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
android:text="@string/button_search_book_contents"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<ListView android:id="@+id/result_list_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
23
src/java/PluginQR/res/layout/search_book_contents_header.xml
Normal file
23
src/java/PluginQR/res/layout/search_book_contents_header.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="@dimen/standard_padding"
|
||||
android:paddingBottom="@dimen/half_padding"
|
||||
android:enabled="false"
|
||||
android:singleLine="true"/>
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<com.google.zxing.client.android.book.SearchBookContentsListItem
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/standard_padding">
|
||||
|
||||
<TextView android:id="@+id/page_number_view"
|
||||
android:layout_width="75dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|top"
|
||||
android:layout_marginRight="@dimen/standard_padding"
|
||||
android:singleLine="false"
|
||||
android:textStyle="bold"/>
|
||||
|
||||
<TextView android:id="@+id/snippet_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|top"
|
||||
android:singleLine="false"/>
|
||||
|
||||
</com.google.zxing.client.android.book.SearchBookContentsListItem>
|
92
src/java/PluginQR/res/layout/share.xml
Normal file
92
src/java/PluginQR/res/layout/share.xml
Normal file
@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!-- ScrollView wrapper is to accommodate small screens. -->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center">
|
||||
|
||||
<!-- Must wrap the rest in one layout -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/standard_padding">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/msg_share_explanation"
|
||||
android:paddingBottom="@dimen/standard_padding"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/share_via_barcode"
|
||||
android:paddingBottom="@dimen/standard_padding"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="@dimen/standard_padding">
|
||||
|
||||
<Button android:id="@+id/share_app_button"
|
||||
style="@style/ShareButton"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/button_share_app"/>
|
||||
|
||||
<Button android:id="@+id/share_bookmark_button"
|
||||
style="@style/ShareButton"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/button_share_bookmark"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="@dimen/standard_padding">
|
||||
|
||||
<Button android:id="@+id/share_contact_button"
|
||||
style="@style/ShareButton"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/button_share_contact"/>
|
||||
|
||||
<Button android:id="@+id/share_clipboard_button"
|
||||
style="@style/ShareButton"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/button_share_clipboard"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<EditText android:id="@+id/share_text_view"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/msg_share_text"
|
||||
android:singleLine="true"
|
||||
android:selectAllOnFocus="true"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
38
src/java/PluginQR/res/menu/capture.xml
Normal file
38
src/java/PluginQR/res/menu/capture.xml
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/menu_share"
|
||||
android:title="@string/menu_share"
|
||||
android:icon="@android:drawable/ic_menu_share"
|
||||
android:orderInCategory="1"
|
||||
android:showAsAction="withText|ifRoom"/>
|
||||
<item android:id="@+id/menu_history"
|
||||
android:title="@string/menu_history"
|
||||
android:icon="@android:drawable/ic_menu_recent_history"
|
||||
android:orderInCategory="2"
|
||||
android:showAsAction="withText|ifRoom"/>
|
||||
<item android:id="@+id/menu_settings"
|
||||
android:title="@string/menu_settings"
|
||||
android:icon="@android:drawable/ic_menu_preferences"
|
||||
android:orderInCategory="3"
|
||||
android:showAsAction="withText"/>
|
||||
<item android:id="@+id/menu_help"
|
||||
android:title="@string/menu_help"
|
||||
android:icon="@android:drawable/ic_menu_help"
|
||||
android:orderInCategory="4"
|
||||
android:showAsAction="withText"/>
|
||||
</menu>
|
28
src/java/PluginQR/res/menu/encode.xml
Normal file
28
src/java/PluginQR/res/menu/encode.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/menu_share"
|
||||
android:title="@string/menu_share"
|
||||
android:icon="@android:drawable/ic_menu_share"
|
||||
android:orderInCategory="1"
|
||||
android:showAsAction="withText|ifRoom"/>
|
||||
<item android:id="@+id/menu_encode"
|
||||
android:title="@string/menu_encode_vcard"
|
||||
android:icon="@android:drawable/ic_menu_sort_alphabetically"
|
||||
android:orderInCategory="2"
|
||||
android:showAsAction="withText|ifRoom"/>
|
||||
</menu>
|
28
src/java/PluginQR/res/menu/history.xml
Normal file
28
src/java/PluginQR/res/menu/history.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@+id/menu_history_send"
|
||||
android:title="@string/history_send"
|
||||
android:icon="@android:drawable/ic_menu_share"
|
||||
android:orderInCategory="1"
|
||||
android:showAsAction="withText|ifRoom"/>
|
||||
<item android:id="@+id/menu_history_clear_text"
|
||||
android:title="@string/history_clear_text"
|
||||
android:icon="@android:drawable/ic_menu_delete"
|
||||
android:orderInCategory="2"
|
||||
android:showAsAction="withText|ifRoom"/>
|
||||
</menu>
|
11
src/java/PluginQR/res/menu/main.xml
Normal file
11
src/java/PluginQR/res/menu/main.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context="keepass2android.plugin.qr.MainActivity" >
|
||||
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
android:orderInCategory="100"
|
||||
android:showAsAction="never"
|
||||
android:title="@string/action_settings"/>
|
||||
|
||||
</menu>
|
BIN
src/java/PluginQR/res/raw/beep.ogg
Normal file
BIN
src/java/PluginQR/res/raw/beep.ogg
Normal file
Binary file not shown.
136
src/java/PluginQR/res/values-ar/strings.xml
Normal file
136
src/java/PluginQR/res/values-ar/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">ماسح الرمز الشريطي</string>
|
||||
<string name="app_picker_name">تطبيقات</string>
|
||||
<string name="bookmark_picker_name">إشارات مرجعية</string>
|
||||
<string name="button_add_calendar">إضافة إلى التقويم</string>
|
||||
<string name="button_add_contact">إضافة جهة اتصال</string>
|
||||
<string name="button_book_search">بحث في الكتب</string>
|
||||
<string name="button_cancel">إلغاء</string>
|
||||
<string name="button_custom_product_search">بحث مخصص</string>
|
||||
<string name="button_dial">طلب رقم</string>
|
||||
<string name="button_email">إرسال بريد</string>
|
||||
<string name="button_get_directions">معرفة الاتجاهات</string>
|
||||
<string name="button_mms">إرسال MMS</string>
|
||||
<string name="button_ok">موافق</string>
|
||||
<string name="button_open_browser">فتح المتصفح</string>
|
||||
<string name="button_product_search">بحث عن منتجات</string>
|
||||
<string name="button_search_book_contents">بحث في المحتويات</string>
|
||||
<string name="button_share_app">التطبيق</string>
|
||||
<string name="button_share_bookmark">إشارة مرجعية</string>
|
||||
<string name="button_share_by_email">مشاركة عبر البريد</string>
|
||||
<string name="button_share_by_sms">مشاركة عبر SMS</string>
|
||||
<string name="button_share_clipboard">حافظة</string>
|
||||
<string name="button_share_contact">جهة اتصال</string>
|
||||
<string name="button_show_map">عرض الخريطة</string>
|
||||
<string name="button_sms">إرسال SMS</string>
|
||||
<string name="button_web_search">بحث في الويب</string>
|
||||
<string name="button_wifi">الاتصال بشبك</string>
|
||||
<string name="contents_contact">معلومات جهة اتصال</string>
|
||||
<string name="contents_email">عنوان البريد</string>
|
||||
<string name="contents_location">إحداثيات جغرافية</string>
|
||||
<string name="contents_phone">رقم الهاتف</string>
|
||||
<string name="contents_sms">عنوان SMS</string>
|
||||
<string name="contents_text">نص عادي</string>
|
||||
<string name="history_clear_one_history_text">حذف</string>
|
||||
<string name="history_clear_text">مسح السجل</string>
|
||||
<string name="history_email_title">سجل ماسح الرموز الشريطية</string>
|
||||
<string name="history_empty">فارغ</string>
|
||||
<string name="history_empty_detail">لم تسجل حتى الآن بمسح الباركود</string>
|
||||
<string name="history_send">إرسال السجل</string>
|
||||
<string name="history_title">سجل</string>
|
||||
<string name="menu_encode_mecard">استخدام MECARD</string>
|
||||
<string name="menu_encode_vcard">استخدام vCard</string>
|
||||
<string name="menu_help">تعليمات</string>
|
||||
<string name="menu_history">سجل</string>
|
||||
<string name="menu_settings">إعدادات</string>
|
||||
<string name="menu_share">مشاركة</string>
|
||||
<string name="msg_bulk_mode_scanned">معظم الدراسي : الباركود الممسوحة ضوئيا وحفظها</string>
|
||||
<string name="msg_camera_framework_bug">عفوا، حدثت مشكلة في كاميرا جهاز Android. قد تحتاج إلى إعادة تشغيل الجهاز.</string>
|
||||
<string name="msg_default_format">التنسيق</string>
|
||||
<string name="msg_default_meta">البيانات الوصفية</string>
|
||||
<string name="msg_default_mms_subject">أهلا</string>
|
||||
<string name="msg_default_status">قم بوضع الرمز الشريطي داخل حدود صورة الكاميرا ليتم مسحه.</string>
|
||||
<string name="msg_default_time">الوقت</string>
|
||||
<string name="msg_default_type">النوع</string>
|
||||
<string name="msg_encode_contents_failed">تعذر ترميز رمز شريطي من البيانات المتوفرة.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">عفوا، تعذر تشغيل التطبيق المطلوب. قد تكون محتويات الرمز الشريطي غير صحيحة.</string>
|
||||
<string name="msg_redirect">إعادة توجيه</string>
|
||||
<string name="msg_sbc_book_not_searchable">عفوا، لا يمكن البحث في هذا الكتاب.</string>
|
||||
<string name="msg_sbc_failed">عفوا، حدثت مشكلة في عملية البحث.</string>
|
||||
<string name="msg_sbc_no_page_returned">لم يتم إرجاع أية صفحة</string>
|
||||
<string name="msg_sbc_page">الصفحة</string>
|
||||
<string name="msg_sbc_results">النتائج</string>
|
||||
<string name="msg_sbc_searching_book">البحث في الكتاب</string>
|
||||
<string name="msg_sbc_snippet_unavailable">الأجزاء غير متاحة</string>
|
||||
<string name="msg_share_explanation">يمكنك مشاركة البيانات عن طريق عرض رمز شريطي على الشاشة ومسحه من خلال هاتف آخر.</string>
|
||||
<string name="msg_share_text">أو اكتب بعض النص</string>
|
||||
<string name="msg_sure">هل أنت متأكد؟</string>
|
||||
<string name="msg_unmount_usb">رجاء إيقاف التخزين على USB للمتابعة.</string>
|
||||
<string name="preferences_actions_title">عند العثور على رمز شريطي</string>
|
||||
<string name="preferences_auto_focus_title">استخدام التركيز التلقائي</string>
|
||||
<string name="preferences_bulk_mode_summary">المسح الضوئي وحفظها بشكل مستمر العديد من الرموز الشريطية</string>
|
||||
<string name="preferences_bulk_mode_title">جل وضع المسح الضوئي</string>
|
||||
<string name="preferences_copy_to_clipboard_title">نسخ إلى الحافظة</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">التبديلات : s٪ = المحتويات ، f٪ = الشكل ، اكتب t٪ =</string>
|
||||
<string name="preferences_custom_product_search_title">عنوان بحث مخصص</string>
|
||||
<string name="preferences_decode_1D_title">فك الرموز الشريطية 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">فك رموز البيانات ماتريكس</string>
|
||||
<string name="preferences_decode_QR_title">فك رموز QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">الحلول جهاز علة</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">استخدام وضع معيار التركيز فقط</string>
|
||||
<string name="preferences_disable_continuous_focus_title">لا التركيز المستمر</string>
|
||||
<string name="preferences_disable_exposure_title">لا تعرض</string>
|
||||
<string name="preferences_front_light_auto">أوتوماتيكي</string>
|
||||
<string name="preferences_front_light_off">غير فعال</string>
|
||||
<string name="preferences_front_light_on">نشط</string>
|
||||
<string name="preferences_front_light_summary">تقوم بتحسين عملية المسح في إضاءة ضعيفة في بعض الهواتف، ولكن يمكن أن يتسبب في حدوث سطوع</string>
|
||||
<string name="preferences_front_light_title">استخدم إضاءة أمامية</string>
|
||||
<string name="preferences_general_title">إعدادات عامة</string>
|
||||
<string name="preferences_invert_scan_summary">مسح الباركود لأبيض على خلفية سوداء. لا تتوفر على بعض الأجهزة.</string>
|
||||
<string name="preferences_invert_scan_title">عكس المسح الضوئي</string>
|
||||
<string name="preferences_name">إعدادات</string>
|
||||
<string name="preferences_play_beep_title">صوت تنبيه</string>
|
||||
<string name="preferences_remember_duplicates_summary">بفحص مخزن متعددة من نفس الباركود في التاريخ</string>
|
||||
<string name="preferences_remember_duplicates_title">تذكر التكرارات</string>
|
||||
<string name="preferences_result_title">إعدادات النتائج</string>
|
||||
<string name="preferences_scanning_title">عندما لمسح الباركود</string>
|
||||
<string name="preferences_search_country">ابحث عن بلد</string>
|
||||
<string name="preferences_supplemental_summary">محاولة لاسترداد مزيد من المعلومات حول محتويات الباركود</string>
|
||||
<string name="preferences_supplemental_title">استرداد مزيد من المعلومات</string>
|
||||
<string name="preferences_try_bsplus">محاولة الباركود +</string>
|
||||
<string name="preferences_try_bsplus_summary">معززة مع الميزات الجديدة واجهة</string>
|
||||
<string name="preferences_vibrate_title">اهتزاز</string>
|
||||
<string name="result_address_book">تم العثور على معلومات جهة الاتصال</string>
|
||||
<string name="result_calendar">تم العثور على حدث التقويم</string>
|
||||
<string name="result_email_address">تم العثور على عنوان البريد</string>
|
||||
<string name="result_geo">تم العثور على الإحداثيات الجغرافية</string>
|
||||
<string name="result_isbn">تم العثور على الكتاب</string>
|
||||
<string name="result_product">تم العثور على المنتج</string>
|
||||
<string name="result_sms">تم العثور على عنوان SMS</string>
|
||||
<string name="result_tel">تم العثور على رقم الهاتف</string>
|
||||
<string name="result_text">تم العثور على نص عادي</string>
|
||||
<string name="result_uri">تم العثور على العنوان</string>
|
||||
<string name="result_wifi">العثور على التكوين اللاسلك</string>
|
||||
<string name="sbc_name">البحث في Google Book</string>
|
||||
<string name="wifi_changing_network">طلب الاتصال بالشبكة\u2026</string>
|
||||
<string name="wifi_ssid_label">اسم الشبكة</string>
|
||||
<string name="wifi_type_label">نوع</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-bg/strings.xml
Normal file
136
src/java/PluginQR/res/values-bg/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Баркод Скенер</string>
|
||||
<string name="app_picker_name">Приложения</string>
|
||||
<string name="bookmark_picker_name">Отметки</string>
|
||||
<string name="button_add_calendar">Добави в календар</string>
|
||||
<string name="button_add_contact">Добави контакт</string>
|
||||
<string name="button_book_search">Търси Книга</string>
|
||||
<string name="button_cancel">Отказ</string>
|
||||
<string name="button_custom_product_search">Потребителско търсене</string>
|
||||
<string name="button_dial">Набери телефон</string>
|
||||
<string name="button_email">Изпрати поща</string>
|
||||
<string name="button_get_directions">Навигация</string>
|
||||
<string name="button_mms">Изпрати MMS</string>
|
||||
<string name="button_ok">ОК</string>
|
||||
<string name="button_open_browser">Отвори браузър</string>
|
||||
<string name="button_product_search">Търсене на продукт</string>
|
||||
<string name="button_search_book_contents">Търси в книга</string>
|
||||
<string name="button_share_app">Приложение</string>
|
||||
<string name="button_share_bookmark">Отметка</string>
|
||||
<string name="button_share_by_email">Сподели по поща</string>
|
||||
<string name="button_share_by_sms">Сподели чрез SMS</string>
|
||||
<string name="button_share_clipboard">Клипборд</string>
|
||||
<string name="button_share_contact">Контакт</string>
|
||||
<string name="button_show_map">Покажи карта</string>
|
||||
<string name="button_sms">Изпрати SMS</string>
|
||||
<string name="button_web_search">Интернет търсене</string>
|
||||
<string name="button_wifi">Свържи се в мрежата</string>
|
||||
<string name="contents_contact">Информация за контакт</string>
|
||||
<string name="contents_email">Електронна поща</string>
|
||||
<string name="contents_location">Географски координати</string>
|
||||
<string name="contents_phone">Телефон</string>
|
||||
<string name="contents_sms">SMS адрес</string>
|
||||
<string name="contents_text">Чист текст</string>
|
||||
<string name="history_clear_one_history_text">Изчисти</string>
|
||||
<string name="history_clear_text">Изчисти историята</string>
|
||||
<string name="history_email_title">История на Баркод Скенера</string>
|
||||
<string name="history_empty">Празно</string>
|
||||
<string name="history_empty_detail">Няма сканирани и записани бар-кодове все още</string>
|
||||
<string name="history_send">Изпрати историята</string>
|
||||
<string name="history_title">История</string>
|
||||
<string name="menu_encode_mecard">Използвай MECARD формат</string>
|
||||
<string name="menu_encode_vcard">Използвай vCard формат</string>
|
||||
<string name="menu_help">Помощ</string>
|
||||
<string name="menu_history">История</string>
|
||||
<string name="menu_settings">Настройки</string>
|
||||
<string name="menu_share">Сподели</string>
|
||||
<string name="msg_bulk_mode_scanned">Масов режим: баркодът е сканиран и записан</string>
|
||||
<string name="msg_camera_framework_bug">Съжаляваме, срещнахме проблем с камерата. Може да се наложи да рестартирате устройството си.</string>
|
||||
<string name="msg_default_format">Формат</string>
|
||||
<string name="msg_default_meta">Допълнение</string>
|
||||
<string name="msg_default_mms_subject">Здравейте</string>
|
||||
<string name="msg_default_status">Сложете баркода вътре в правоъгълника за да го сканирате.</string>
|
||||
<string name="msg_default_time">Време</string>
|
||||
<string name="msg_default_type">Тип</string>
|
||||
<string name="msg_encode_contents_failed">Неуспешно кодиране на подадените данни.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Съжаляваме, но нужното приложение не успя да се стартира. Възможно е баркода или съдържанието му да са невалидни.</string>
|
||||
<string name="msg_redirect">Пренасочване</string>
|
||||
<string name="msg_sbc_book_not_searchable">Съжаляваме, тази книга не може да се претърсва.</string>
|
||||
<string name="msg_sbc_failed">Съжаляваме, срещнахме проблем при търсенето.</string>
|
||||
<string name="msg_sbc_no_page_returned">Няма страница</string>
|
||||
<string name="msg_sbc_page">Страница</string>
|
||||
<string name="msg_sbc_results">Резултати</string>
|
||||
<string name="msg_sbc_searching_book">Търсене на книга\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Изрезката не е достъпна</string>
|
||||
<string name="msg_share_explanation">Можете да споделяте информация като покажете баркод на екрана, и го сканирате от друг телефон.</string>
|
||||
<string name="msg_share_text">Или въведете някакъв текст</string>
|
||||
<string name="msg_sure">Сигурни ли сте?</string>
|
||||
<string name="msg_unmount_usb">Съжаляваме, но SD картата не е достъпна.</string>
|
||||
<string name="preferences_actions_title">При прочитане на баркод\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Използване на автоматично фокусиране</string>
|
||||
<string name="preferences_bulk_mode_summary">Сканирай и запомняй множество баркодове без прекъсване</string>
|
||||
<string name="preferences_bulk_mode_title">Масово сканиране</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Копиране в клипборда</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Използвайте: %s за съдържанието,%f за форматa, %t за типа</string>
|
||||
<string name="preferences_custom_product_search_title">Потребителски адрес за търсене</string>
|
||||
<string name="preferences_decode_1D_title">1D Баркодове</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR Баркодове</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Заобикаляне на проблеми</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Използване само на стандартен режим за фокусиране</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Без непрекъснат фокус</string>
|
||||
<string name="preferences_disable_exposure_title">Никоя експозиция</string>
|
||||
<string name="preferences_front_light_auto">Автоматичен</string>
|
||||
<string name="preferences_front_light_off">Неактивен</string>
|
||||
<string name="preferences_front_light_on">Активен</string>
|
||||
<string name="preferences_front_light_summary">Подобрява четенето при лошо осветление, но предизвиква отблясъци. Само за някои модели.</string>
|
||||
<string name="preferences_front_light_title">Използвай фенерче</string>
|
||||
<string name="preferences_general_title">Общи настройки</string>
|
||||
<string name="preferences_invert_scan_summary">Сканиране за бели баркодове на черен фон. Не е на разположение на някои устройства.</string>
|
||||
<string name="preferences_invert_scan_title">Обръщане на сканиране</string>
|
||||
<string name="preferences_name">Настройки</string>
|
||||
<string name="preferences_play_beep_title">Издаване на звук</string>
|
||||
<string name="preferences_remember_duplicates_summary">Записвай множество сканирания на един и същи баркод в историята</string>
|
||||
<string name="preferences_remember_duplicates_title">Запомняне на повторенията</string>
|
||||
<string name="preferences_result_title">Настройки за резултата</string>
|
||||
<string name="preferences_scanning_title">При сканиране да се декодират\u2026</string>
|
||||
<string name="preferences_search_country">Държава при търсене</string>
|
||||
<string name="preferences_supplemental_summary">Опитай да получиш повече информация за баркода</string>
|
||||
<string name="preferences_supplemental_title">Търсене на разширения</string>
|
||||
<string name="preferences_try_bsplus">Опитайте Баркод Скенер+</string>
|
||||
<string name="preferences_try_bsplus_summary">Обогатен с нови характеристики и интерфейс</string>
|
||||
<string name="preferences_vibrate_title">Вибрация</string>
|
||||
<string name="result_address_book">Намерих информация за контакт</string>
|
||||
<string name="result_calendar">Намерих календарно събитие</string>
|
||||
<string name="result_email_address">Намерих адрес на електронна поща</string>
|
||||
<string name="result_geo">Намерих географски координати</string>
|
||||
<string name="result_isbn">Намерих книга</string>
|
||||
<string name="result_product">Намерих продукт</string>
|
||||
<string name="result_sms">Намерих адрес за SMS</string>
|
||||
<string name="result_tel">Намерих телефонен номер</string>
|
||||
<string name="result_text">Намерих чист текст</string>
|
||||
<string name="result_uri">Намерих Интернет Адрес</string>
|
||||
<string name="result_wifi">Намерих настройки за безжична мрежа</string>
|
||||
<string name="sbc_name">Гугъл търсене на книга</string>
|
||||
<string name="wifi_changing_network">Запитване свързване към мрежата\u2026</string>
|
||||
<string name="wifi_ssid_label">Име на мрежата</string>
|
||||
<string name="wifi_type_label">Тип</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-ca/strings.xml
Normal file
136
src/java/PluginQR/res/values-ca/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplicacions</string>
|
||||
<string name="bookmark_picker_name">Adreces d\'interès</string>
|
||||
<string name="button_add_calendar">Afegeix a l\'agenda</string>
|
||||
<string name="button_add_contact">Afegeix el contact</string>
|
||||
<string name="button_book_search">Cerca el llibre</string>
|
||||
<string name="button_cancel">Cancel·la</string>
|
||||
<string name="button_custom_product_search">Cerca personalitzada</string>
|
||||
<string name="button_dial">Marca el número</string>
|
||||
<string name="button_email">Envia un correu electrònic</string>
|
||||
<string name="button_get_directions">Obté direccions</string>
|
||||
<string name="button_mms">Envia MMS</string>
|
||||
<string name="button_ok">D\'acord</string>
|
||||
<string name="button_open_browser">Obre el navegador</string>
|
||||
<string name="button_product_search">Cerca un producte</string>
|
||||
<string name="button_search_book_contents">Cerca continguts</string>
|
||||
<string name="button_share_app">Aplicació</string>
|
||||
<string name="button_share_bookmark">Adreça d\'interès</string>
|
||||
<string name="button_share_by_email">Comparteix per correu-e</string>
|
||||
<string name="button_share_by_sms">Comparteix per SMS</string>
|
||||
<string name="button_share_clipboard">Porta-retalls</string>
|
||||
<string name="button_share_contact">Contacte</string>
|
||||
<string name="button_show_map">Mostra el mapa</string>
|
||||
<string name="button_sms">Envia SMS</string>
|
||||
<string name="button_web_search">Cerca al web</string>
|
||||
<string name="button_wifi">Connecta a la xarxa</string>
|
||||
<string name="contents_contact">Informació de contacte</string>
|
||||
<string name="contents_email">Adreça electrònica</string>
|
||||
<string name="contents_location">Coordenades geogràfiques</string>
|
||||
<string name="contents_phone">Número de telèfon</string>
|
||||
<string name="contents_sms">Adreça SMS</string>
|
||||
<string name="contents_text">Text pla</string>
|
||||
<string name="history_clear_one_history_text">Neteja</string>
|
||||
<string name="history_clear_text">Neteja l\'historial</string>
|
||||
<string name="history_email_title">Historial del Barcode Scanner</string>
|
||||
<string name="history_empty">Buit</string>
|
||||
<string name="history_empty_detail">No escaneja codis de barres s\'han registrat encara</string>
|
||||
<string name="history_send">Envia l\'historial</string>
|
||||
<string name="history_title">Historial</string>
|
||||
<string name="menu_encode_mecard">Utilitza MECARD</string>
|
||||
<string name="menu_encode_vcard">Utilitza vCard</string>
|
||||
<string name="menu_help">Ajuda</string>
|
||||
<string name="menu_history">Historial</string>
|
||||
<string name="menu_settings">Configuració</string>
|
||||
<string name="menu_share">Comparteix</string>
|
||||
<string name="msg_bulk_mode_scanned">Mode en bloc: codi de barres escanejat i desat</string>
|
||||
<string name="msg_camera_framework_bug">S\'ha produït un problema amb la càmera de l\'Android. Potser haureu de reiniciar el dispositiu.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadadades</string>
|
||||
<string name="msg_default_mms_subject">Hola</string>
|
||||
<string name="msg_default_status">Poseu un codi de barres dins el rectable per escanejar-lo.</string>
|
||||
<string name="msg_default_time">Hora</string>
|
||||
<string name="msg_default_type">Tipus</string>
|
||||
<string name="msg_encode_contents_failed">No es pot codificar un codi de barres amb les dades proporcionades.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">No es pot executar l\'aplicació sol·licitada. És possible que el contingut del codi de barres no sigui vàlid.</string>
|
||||
<string name="msg_redirect">Redirecciona</string>
|
||||
<string name="msg_sbc_book_not_searchable">No es pot cercar en aquest llibre.</string>
|
||||
<string name="msg_sbc_failed">Hi ha hagut un problema en fer la cerca.</string>
|
||||
<string name="msg_sbc_no_page_returned">No s\'ha retornat cap pàgina</string>
|
||||
<string name="msg_sbc_page">Pàgina</string>
|
||||
<string name="msg_sbc_results">Resultats</string>
|
||||
<string name="msg_sbc_searching_book">S\'està cercant el llibre\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Fragment no disponible</string>
|
||||
<string name="msg_share_explanation">Podeu compartir dades mostrant un codi de barres a la pantalla i escanejant-lo amb un altre dispositiu.</string>
|
||||
<string name="msg_share_text">O escriviu un text i pitgeu Retorn</string>
|
||||
<string name="msg_sure">N\'esteu segur?</string>
|
||||
<string name="msg_unmount_usb">La targeta SD no es troba disponible.</string>
|
||||
<string name="preferences_actions_title">En trobar un codi de barres\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Utilitzeu l\'enfocament automàtic</string>
|
||||
<string name="preferences_bulk_mode_summary">Escaneja i desa molts codis de barres de forma contínua</string>
|
||||
<string name="preferences_bulk_mode_title">Mode d\'escaneig en bloc</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copia al porta-retalls</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Substitucions: %s = contingut, %f = format, %t = tipus</string>
|
||||
<string name="preferences_custom_product_search_title">URL de cerca personalitzat</string>
|
||||
<string name="preferences_decode_1D_title">Codis de barres 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Matriu de dades</string>
|
||||
<string name="preferences_decode_QR_title">Codis QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Solucions provisionals de dispositius d\'errors</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Utilitzeu només la manera d\'enfocament estàndard</string>
|
||||
<string name="preferences_disable_continuous_focus_title">No enfocament continu</string>
|
||||
<string name="preferences_disable_exposure_title">No hi ha exposició</string>
|
||||
<string name="preferences_front_light_auto">Automàtic</string>
|
||||
<string name="preferences_front_light_off">Inactiu</string>
|
||||
<string name="preferences_front_light_on">Actiu</string>
|
||||
<string name="preferences_front_light_summary">Millora l\'escaneig amb poca llum en alguns dispositius, però pot produir enlluernament. No funciona en tots els dispositius.</string>
|
||||
<string name="preferences_front_light_title">Usa el llum frontal</string>
|
||||
<string name="preferences_general_title">Configuració general</string>
|
||||
<string name="preferences_invert_scan_summary">Escanejar codis de barres blanques sobre fons negre. No disponible en alguns dispositius.</string>
|
||||
<string name="preferences_invert_scan_title">Invertir exploració</string>
|
||||
<string name="preferences_name">Configuració</string>
|
||||
<string name="preferences_play_beep_title">Beep</string>
|
||||
<string name="preferences_remember_duplicates_summary">Desa diversos escanejos del mateix codi de barres a l\'historial</string>
|
||||
<string name="preferences_remember_duplicates_title">Recorda els duplicats</string>
|
||||
<string name="preferences_result_title">Configuració dels resultats</string>
|
||||
<string name="preferences_scanning_title">En escanejar codis de barres, descodifica\u2026</string>
|
||||
<string name="preferences_search_country">Cerca per país</string>
|
||||
<string name="preferences_supplemental_summary">Intenta obtenir més informació sobre els continguts del codi de barres</string>
|
||||
<string name="preferences_supplemental_title">Aconsegueix més informació</string>
|
||||
<string name="preferences_try_bsplus">Intenta Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Millorat amb noves característiques i la interfície de</string>
|
||||
<string name="preferences_vibrate_title">Vibració</string>
|
||||
<string name="result_address_book">S\'ha trobat informació de contacte</string>
|
||||
<string name="result_calendar">S\'ha trobat un esdeveniment</string>
|
||||
<string name="result_email_address">S\'ha trobat una adreça electrònica</string>
|
||||
<string name="result_geo">S\'han trobat coordenades geogràfiques</string>
|
||||
<string name="result_isbn">S\'ha trobat un llibre</string>
|
||||
<string name="result_product">S\'ha trobat un producte</string>
|
||||
<string name="result_sms">S\'ha trobat una adreça SMS</string>
|
||||
<string name="result_tel">S\'ha trobat un número de telèfon</string>
|
||||
<string name="result_text">S\'ha trobat text pla</string>
|
||||
<string name="result_uri">S\'ha trobat un URL</string>
|
||||
<string name="result_wifi">S\'ha trobat configuració WLAN</string>
|
||||
<string name="sbc_name">Cerca a Google Llibres</string>
|
||||
<string name="wifi_changing_network">Sollicitant connexió a la xarxa\u2026</string>
|
||||
<string name="wifi_ssid_label">Nom de la xarxa</string>
|
||||
<string name="wifi_type_label">Tipus</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-cs/strings.xml
Normal file
136
src/java/PluginQR/res/values-cs/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplikace</string>
|
||||
<string name="bookmark_picker_name">Záložky</string>
|
||||
<string name="button_add_calendar">Přidat do kalendáře</string>
|
||||
<string name="button_add_contact">Přidat kontakt</string>
|
||||
<string name="button_book_search">Hledat knihu</string>
|
||||
<string name="button_cancel">Zrušit</string>
|
||||
<string name="button_custom_product_search">Vlastní vyhledávání</string>
|
||||
<string name="button_dial">Číselník</string>
|
||||
<string name="button_email">Poslat emailem</string>
|
||||
<string name="button_get_directions">Získat nastavení</string>
|
||||
<string name="button_mms">Poslat přes MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Otevřít prohlížeč</string>
|
||||
<string name="button_product_search">Vyhledat produkt</string>
|
||||
<string name="button_search_book_contents">Hledat obsah knihy</string>
|
||||
<string name="button_share_app">Aplikace</string>
|
||||
<string name="button_share_bookmark">Záložky</string>
|
||||
<string name="button_share_by_email">Sdílet pomocí Email</string>
|
||||
<string name="button_share_by_sms">Sdílet pomocí SMS</string>
|
||||
<string name="button_share_clipboard">Schránka</string>
|
||||
<string name="button_share_contact">Kontakty</string>
|
||||
<string name="button_show_map">Ukázat na mapě</string>
|
||||
<string name="button_sms">Poslat SMS</string>
|
||||
<string name="button_web_search">Hledat na webu</string>
|
||||
<string name="button_wifi">Připojení k síti</string>
|
||||
<string name="contents_contact">Info kontaktu</string>
|
||||
<string name="contents_email">Emailová adresa</string>
|
||||
<string name="contents_location">Zeměpisné údaje</string>
|
||||
<string name="contents_phone">Telefonní číslo</string>
|
||||
<string name="contents_sms">SMS číslo</string>
|
||||
<string name="contents_text">Ostatní</string>
|
||||
<string name="history_clear_one_history_text">Vyčistit</string>
|
||||
<string name="history_clear_text">Vyčistit historii</string>
|
||||
<string name="history_email_title">Barcode Scanner historie</string>
|
||||
<string name="history_empty">Prázdný</string>
|
||||
<string name="history_empty_detail">Žádný čárový kód vyšetření byly zaznamenány ještě</string>
|
||||
<string name="history_send">Poslat historii</string>
|
||||
<string name="history_title">Historie</string>
|
||||
<string name="menu_encode_mecard">Použití MECARD</string>
|
||||
<string name="menu_encode_vcard">Použití vCard</string>
|
||||
<string name="menu_help">Pomoc!</string>
|
||||
<string name="menu_history">Historie</string>
|
||||
<string name="menu_settings">Nastavení</string>
|
||||
<string name="menu_share">Sdílet</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulk režimu: čárový kód naskenované a uložené</string>
|
||||
<string name="msg_camera_framework_bug">Omlouváme se, fotoaparát má problém. Možná bude nutné restartovat zařízení</string>
|
||||
<string name="msg_default_format">Formát</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Ahoj</string>
|
||||
<string name="msg_default_status">Strefte se čtverečkem na čárový kód</string>
|
||||
<string name="msg_default_time">Čas</string>
|
||||
<string name="msg_default_type">Typ</string>
|
||||
<string name="msg_encode_contents_failed">Nepodařilo se rozkódovat čárový kód z poskytnutých údajů.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Litujeme, požadovanou aplikaci nelze spustit. Čárový kód je nefunkční.</string>
|
||||
<string name="msg_redirect">Přesměrování</string>
|
||||
<string name="msg_sbc_book_not_searchable">Omlouváme se, tato kniha nelze nalézt.</string>
|
||||
<string name="msg_sbc_failed">Omlouváme se, narazili jsme na problém.</string>
|
||||
<string name="msg_sbc_no_page_returned">Stránka nenalezena.</string>
|
||||
<string name="msg_sbc_page">Stránka</string>
|
||||
<string name="msg_sbc_results">Výsledky</string>
|
||||
<string name="msg_sbc_searching_book">Hledání knihy\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Snippet není k dispozici</string>
|
||||
<string name="msg_share_explanation">Můžete sdílet čárový kód na vaší obrazovce a skenování, s jiným telefonem.</string>
|
||||
<string name="msg_share_text">Nebo zadejte nějaký text</string>
|
||||
<string name="msg_sure">Jste si jisti?</string>
|
||||
<string name="msg_unmount_usb">Omlouváme se, karta SD není přístupná.</string>
|
||||
<string name="preferences_actions_title">Byl nalezen čárový kód.\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Automatické zaostření</string>
|
||||
<string name="preferences_bulk_mode_summary">Skenování více čárových kódú bez přerušení, vhodné na dávkové zpracování velkého množství čárových kódú</string>
|
||||
<string name="preferences_bulk_mode_title">Dávkový režim skenování</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopírovat do schránky.</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Použijte: %s = obsah, %f = formát, %t = typ</string>
|
||||
<string name="preferences_custom_product_search_title">Vlastní vyhledávání URL</string>
|
||||
<string name="preferences_decode_1D_title">1D kódy</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR kódy</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Možná zástupná řešení chyb zařízení</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Používejte pouze standardní zaostřování</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Soustavné zaměření</string>
|
||||
<string name="preferences_disable_exposure_title">No expozice</string>
|
||||
<string name="preferences_front_light_auto">Automatický</string>
|
||||
<string name="preferences_front_light_off">Neaktivní</string>
|
||||
<string name="preferences_front_light_on">Aktivní</string>
|
||||
<string name="preferences_front_light_summary">Zlepšuje skenování při slabém osvětlení na některých telefonech, ale může způsobit oslnění. Nefunguje na všech telefonech.</string>
|
||||
<string name="preferences_front_light_title">Použít světlo</string>
|
||||
<string name="preferences_general_title">Hlavní nastavení</string>
|
||||
<string name="preferences_invert_scan_summary">Skenování čárových kódů pro bílé na černém pozadí. Není k dispozici v některých zařízeních.</string>
|
||||
<string name="preferences_invert_scan_title">Obrátit skenování</string>
|
||||
<string name="preferences_name">Nastavení</string>
|
||||
<string name="preferences_play_beep_title">Zvuky</string>
|
||||
<string name="preferences_remember_duplicates_summary">Duplikáty čárových kódú v historii ukládat samostatně, nebo jako jeden čárový kód</string>
|
||||
<string name="preferences_remember_duplicates_title">Pamatovat všechny duplikáty</string>
|
||||
<string name="preferences_result_title">Výsledek nastavení</string>
|
||||
<string name="preferences_scanning_title">Při skenování čárových kódů pro, dekódovat\u2026</string>
|
||||
<string name="preferences_search_country">Hledání země</string>
|
||||
<string name="preferences_supplemental_summary">Získat více informací o obsahu čárového kódu</string>
|
||||
<string name="preferences_supplemental_title">Získat více informací</string>
|
||||
<string name="preferences_try_bsplus">Zkuste Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Obohacen o nové funkce a rozhraní</string>
|
||||
<string name="preferences_vibrate_title">Vibrace</string>
|
||||
<string name="result_address_book">Našel jsem kontakt</string>
|
||||
<string name="result_calendar">Našel jsem kalendář</string>
|
||||
<string name="result_email_address">Našel jsem Email</string>
|
||||
<string name="result_geo">Našel jsem Zeměpisné informace</string>
|
||||
<string name="result_isbn">Našel jsem knihu</string>
|
||||
<string name="result_product">Našel jsem produkt</string>
|
||||
<string name="result_sms">Našel jsem SMS</string>
|
||||
<string name="result_tel">Našel jsem telefoní číslo</string>
|
||||
<string name="result_text">Našel jsem nějaký text</string>
|
||||
<string name="result_uri">Našel jsem URL</string>
|
||||
<string name="result_wifi">Nalezeno bezdrátová konfigurace</string>
|
||||
<string name="sbc_name">Google Knihy hledání</string>
|
||||
<string name="wifi_changing_network">Požadující připojení k síti\u2026</string>
|
||||
<string name="wifi_ssid_label">Jméno sítě</string>
|
||||
<string name="wifi_type_label">Typ</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-da/strings.xml
Normal file
136
src/java/PluginQR/res/values-da/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Applikationer</string>
|
||||
<string name="bookmark_picker_name">Bogmærker</string>
|
||||
<string name="button_add_calendar">Tilføj til kalendar</string>
|
||||
<string name="button_add_contact">Tilføj kontaktperson</string>
|
||||
<string name="button_book_search">Bogsøgning</string>
|
||||
<string name="button_cancel">Annullér</string>
|
||||
<string name="button_custom_product_search">Brugerdefineret søgning</string>
|
||||
<string name="button_dial">Ring til nummeret</string>
|
||||
<string name="button_email">Send e-mail</string>
|
||||
<string name="button_get_directions">Få kørselsanvisninger</string>
|
||||
<string name="button_mms">Send MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Åben browser</string>
|
||||
<string name="button_product_search">Produktsøgning</string>
|
||||
<string name="button_search_book_contents">Søg efter indhold</string>
|
||||
<string name="button_share_app">Applikationer</string>
|
||||
<string name="button_share_bookmark">Bogmærker</string>
|
||||
<string name="button_share_by_email">Del via e-mail</string>
|
||||
<string name="button_share_by_sms">Del via SMS</string>
|
||||
<string name="button_share_clipboard">Udklipsholder</string>
|
||||
<string name="button_share_contact">Kontakter</string>
|
||||
<string name="button_show_map">Vis kort</string>
|
||||
<string name="button_sms">Send SMS</string>
|
||||
<string name="button_web_search">Internetsøgning</string>
|
||||
<string name="button_wifi">Forbind til netværk</string>
|
||||
<string name="contents_contact">Kontaktinfo</string>
|
||||
<string name="contents_email">E-mailadresse</string>
|
||||
<string name="contents_location">Geografiske koordinater</string>
|
||||
<string name="contents_phone">Telefonnummer</string>
|
||||
<string name="contents_sms">SMS-adresse</string>
|
||||
<string name="contents_text">Almindelig tekst</string>
|
||||
<string name="history_clear_one_history_text">Ryd</string>
|
||||
<string name="history_clear_text">Ryd historik</string>
|
||||
<string name="history_email_title">Barcode Scanner-historik</string>
|
||||
<string name="history_empty">Tom</string>
|
||||
<string name="history_empty_detail">Ingen stregkodescanninger er blevet registreret endnu</string>
|
||||
<string name="history_send">Send historik</string>
|
||||
<string name="history_title">Historik</string>
|
||||
<string name="menu_encode_mecard">Brug MECARD</string>
|
||||
<string name="menu_encode_vcard">Brug vCard</string>
|
||||
<string name="menu_help">Hjælp</string>
|
||||
<string name="menu_history">Historik</string>
|
||||
<string name="menu_settings">Indstillinger</string>
|
||||
<string name="menu_share">Del</string>
|
||||
<string name="msg_bulk_mode_scanned">Massetilstand: stregkode scannet og gemt</string>
|
||||
<string name="msg_camera_framework_bug">Beklager, Android-kameraet er stødt på et problem. Du skal muligvis genstarte enheden.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Hej</string>
|
||||
<string name="msg_default_status">Placér en stregkode inden i firkanten for at aflæse den.</string>
|
||||
<string name="msg_default_time">Tid</string>
|
||||
<string name="msg_default_type">Type</string>
|
||||
<string name="msg_encode_contents_failed">Kunne ikke indkode en stregkode fra oplysningerne givet.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Beklager, den ønskede applikation kunne ikke blive startet. Stregkodeindholdet er måsket ugyldigt.</string>
|
||||
<string name="msg_redirect">Omdirigér</string>
|
||||
<string name="msg_sbc_book_not_searchable">Beklager, denne bog er ikke søgbar.</string>
|
||||
<string name="msg_sbc_failed">Beklager, søgningen er stødt på et problem.</string>
|
||||
<string name="msg_sbc_no_page_returned">Ingen side returnerede</string>
|
||||
<string name="msg_sbc_page">Side</string>
|
||||
<string name="msg_sbc_results">Resultater</string>
|
||||
<string name="msg_sbc_searching_book">Søger bog\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Uddragsvisning ikke tilgængelig</string>
|
||||
<string name="msg_share_explanation">Du kan dele data ved at vise en stregkode på denne skærm, og derefter scanne den med en anden telefon.</string>
|
||||
<string name="msg_share_text">Eller skriv noget tekst</string>
|
||||
<string name="msg_sure">Er du sikker?</string>
|
||||
<string name="msg_unmount_usb">Beklager, SD-kortet er ikke tilgængelig.</string>
|
||||
<string name="preferences_actions_title">Når en stregkode er fundet\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Brug autofokus</string>
|
||||
<string name="preferences_bulk_mode_summary">Scan og gem mange stregkoder uden afbrydelser</string>
|
||||
<string name="preferences_bulk_mode_title">Massescanningstilstand</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopiér til udklipsholder</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Udskiftninger: %s = indhold, %f = format, %t = type</string>
|
||||
<string name="preferences_custom_product_search_title">Brugerdefineret søge-URL</string>
|
||||
<string name="preferences_decode_1D_title">Afkod 1D-stregkoder</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Afkod Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">Afkod QR-koder</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Device Bug Løsninger</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Brug kun standard fokusindstilling</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Ingen løbende fokus</string>
|
||||
<string name="preferences_disable_exposure_title">Ingen eksponering</string>
|
||||
<string name="preferences_front_light_auto">Automatisk</string>
|
||||
<string name="preferences_front_light_off">Inaktiv</string>
|
||||
<string name="preferences_front_light_on">Aktiv</string>
|
||||
<string name="preferences_front_light_summary">Forbedrer aflæsning i svagt lys på nogle telefoner, men kan medføre genskær. Virker ikke på alle telefoner.</string>
|
||||
<string name="preferences_front_light_title">Brug frontlys</string>
|
||||
<string name="preferences_general_title">Generelle indstillinger</string>
|
||||
<string name="preferences_invert_scan_summary">Scan for hvide stregkoder på sort baggrund. Ikke tilgængelig på nogle enheder.</string>
|
||||
<string name="preferences_invert_scan_title">Inverter scanning</string>
|
||||
<string name="preferences_name">Indstillinger</string>
|
||||
<string name="preferences_play_beep_title">Bip</string>
|
||||
<string name="preferences_remember_duplicates_summary">Gem flere scanninger af de samme stregkoder i Historik</string>
|
||||
<string name="preferences_remember_duplicates_title">Husk dubletter</string>
|
||||
<string name="preferences_result_title">Resultatindstillinger</string>
|
||||
<string name="preferences_scanning_title">Når der scannes efter stregkoder\u2026</string>
|
||||
<string name="preferences_search_country">Søg efter land</string>
|
||||
<string name="preferences_supplemental_summary">Prøv at få flere oplysninger om stregkodens indhold</string>
|
||||
<string name="preferences_supplemental_title">Hent mere info</string>
|
||||
<string name="preferences_try_bsplus">Prøv Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Forbedret med nye funktioner og grænseflade</string>
|
||||
<string name="preferences_vibrate_title">Vibrér</string>
|
||||
<string name="result_address_book">Kontaktinfo fundet</string>
|
||||
<string name="result_calendar">Kalendarbegivenhed fundet</string>
|
||||
<string name="result_email_address">E-mailadresse fundet</string>
|
||||
<string name="result_geo">Geografiske koordinater fundet</string>
|
||||
<string name="result_isbn">Bog fundet</string>
|
||||
<string name="result_product">Produkt fundet</string>
|
||||
<string name="result_sms">SMS-adresse fundet</string>
|
||||
<string name="result_tel">Telefonnummer fundet</string>
|
||||
<string name="result_text">Almindelig tekst fundet</string>
|
||||
<string name="result_uri">URL fundet</string>
|
||||
<string name="result_wifi">WLAN-forbindelse fundet</string>
|
||||
<string name="sbc_name">Google Bøger-søgning</string>
|
||||
<string name="wifi_changing_network">Anmoder om tilslutning til netværk\u2026</string>
|
||||
<string name="wifi_ssid_label">Netværksnavn</string>
|
||||
<string name="wifi_type_label">Type</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-de/strings.xml
Normal file
136
src/java/PluginQR/res/values-de/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Anwendungen</string>
|
||||
<string name="bookmark_picker_name">Lesezeichen</string>
|
||||
<string name="button_add_calendar">Termin hinzufügen</string>
|
||||
<string name="button_add_contact">Kontakt hinzufügen</string>
|
||||
<string name="button_book_search">Büchersuche</string>
|
||||
<string name="button_cancel">Abbruch</string>
|
||||
<string name="button_custom_product_search">Benutzersuche</string>
|
||||
<string name="button_dial">Nummer wählen</string>
|
||||
<string name="button_email">E-Mail senden</string>
|
||||
<string name="button_get_directions">Route berechnen</string>
|
||||
<string name="button_mms">MMS senden</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Browser öffnen</string>
|
||||
<string name="button_product_search">Produktsuche</string>
|
||||
<string name="button_search_book_contents">Buchinhalt durchsuchen</string>
|
||||
<string name="button_share_app">Anwendung</string>
|
||||
<string name="button_share_bookmark">Lesezeichen</string>
|
||||
<string name="button_share_by_email">Als E-Mail weitergeben</string>
|
||||
<string name="button_share_by_sms">Als SMS weitergeben</string>
|
||||
<string name="button_share_clipboard">Zwischenablage</string>
|
||||
<string name="button_share_contact">Kontakt</string>
|
||||
<string name="button_show_map">Karte anzeigen</string>
|
||||
<string name="button_sms">SMS senden</string>
|
||||
<string name="button_web_search">Im Web suchen</string>
|
||||
<string name="button_wifi">Mit diesem WLAN verbinden</string>
|
||||
<string name="contents_contact">Kontaktinfo</string>
|
||||
<string name="contents_email">E-Mail Adresse</string>
|
||||
<string name="contents_location">Koordinaten</string>
|
||||
<string name="contents_phone">Telefonnummer</string>
|
||||
<string name="contents_sms">SMS Adresse</string>
|
||||
<string name="contents_text">Text</string>
|
||||
<string name="history_clear_one_history_text">Löschen</string>
|
||||
<string name="history_clear_text">Verlauf löschen</string>
|
||||
<string name="history_email_title">Barcode Scanner Verlauf</string>
|
||||
<string name="history_empty">Leer</string>
|
||||
<string name="history_empty_detail">Es wurden keine Barcodes aufgezeichnet.</string>
|
||||
<string name="history_send">Verlauf senden</string>
|
||||
<string name="history_title">Verlauf</string>
|
||||
<string name="menu_encode_mecard">MECARD verwenden</string>
|
||||
<string name="menu_encode_vcard">vCard verwenden</string>
|
||||
<string name="menu_help">Hilfe</string>
|
||||
<string name="menu_history">Verlauf</string>
|
||||
<string name="menu_settings">Einstellungen</string>
|
||||
<string name="menu_share">Senden</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulk-Modus: Barcode gescannt und gespeichert</string>
|
||||
<string name="msg_camera_framework_bug">Mit der Android-Kamera ist leider ein Fehler aufgetreten. Es könnte sein, dass Sie das Gerät neu starten müssen.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadaten</string>
|
||||
<string name="msg_default_mms_subject">Hi</string>
|
||||
<string name="msg_default_status">Positionieren Sie den Barcode innerhalb des Rechteckes.</string>
|
||||
<string name="msg_default_time">Zeit</string>
|
||||
<string name="msg_default_type">Typ</string>
|
||||
<string name="msg_encode_contents_failed">Aus den Daten kann kein Barcode erzeugt werden.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Die gewünschte Applikation kann nicht geöffnet werden. Der Barcode könnte ungültig sein.</string>
|
||||
<string name="msg_redirect">Umleiten</string>
|
||||
<string name="msg_sbc_book_not_searchable">Dieses Buch kann nicht durchsucht werden.</string>
|
||||
<string name="msg_sbc_failed">Bei der Suche ist ein Fehler aufgetreten.</string>
|
||||
<string name="msg_sbc_no_page_returned">Keine Seite zurückgeliefert.</string>
|
||||
<string name="msg_sbc_page">Seite</string>
|
||||
<string name="msg_sbc_results">Ergebnisse</string>
|
||||
<string name="msg_sbc_searching_book">Durchsuche Buch\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Textschnipsel nicht verfügbar.</string>
|
||||
<string name="msg_share_explanation">Sie können Daten weitergeben, indem Sie einen Barcode auf Ihrem Bildschirm erzeugen und mit einem anderen Handy einscannen.</string>
|
||||
<string name="msg_share_text">Oder geben Sie hier einen Text ein</string>
|
||||
<string name="msg_sure">Sind Sie sicher?</string>
|
||||
<string name="msg_unmount_usb">Leider kann nicht auf die SD-Karte zugegriffen werden.</string>
|
||||
<string name="preferences_actions_title">Wenn ein Barcode erkannt wurde\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Autofokus verwenden</string>
|
||||
<string name="preferences_bulk_mode_summary">Scannt und speichert mehrere Barcodes nacheinander</string>
|
||||
<string name="preferences_bulk_mode_title">Massenscan</string>
|
||||
<string name="preferences_copy_to_clipboard_title">In die Zwischenablage kopieren</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Platzhalter: %s = Inhalt, %f = Format, %t = Typ</string>
|
||||
<string name="preferences_custom_product_search_title">Eigene Such-URL</string>
|
||||
<string name="preferences_decode_1D_title">1D Barcodes</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR Codes</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Geräteabhängige Problemumgehung</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Nur Standard-Fokus-Modus verwenden</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Kein kontinuierlicher Fokus</string>
|
||||
<string name="preferences_disable_exposure_title">Keine Belichtungsmessung </string>
|
||||
<string name="preferences_front_light_auto">Automatisch</string>
|
||||
<string name="preferences_front_light_off">Aus</string>
|
||||
<string name="preferences_front_light_on">Ein</string>
|
||||
<string name="preferences_front_light_summary">Verbessert bei einigen Mobiltelefonen das Scannen bei schwachem Licht, kann aber Überbelichtung verursachen. Funktioniert nicht mit allen Handys.</string>
|
||||
<string name="preferences_front_light_title">Foto LED einschalten</string>
|
||||
<string name="preferences_general_title">Allgemeine Einstellungen</string>
|
||||
<string name="preferences_invert_scan_summary">Für weiße Barcodes auf schwarzem Hintergrund. Nicht bei allen Geräten verfügbar.</string>
|
||||
<string name="preferences_invert_scan_title">Negativ-Scan</string>
|
||||
<string name="preferences_name">Einstellungen</string>
|
||||
<string name="preferences_play_beep_title">Piepsen</string>
|
||||
<string name="preferences_remember_duplicates_summary">Speichern mehrerer Scans des gleichen Barcodes im Verlauf</string>
|
||||
<string name="preferences_remember_duplicates_title">Duplikate speichern</string>
|
||||
<string name="preferences_result_title">Ergebnis-Einstellungen</string>
|
||||
<string name="preferences_scanning_title">Beim Scannen von Barcodes, dekodieren\u2026</string>
|
||||
<string name="preferences_search_country">Land für die Suche</string>
|
||||
<string name="preferences_supplemental_summary">Erfahren Sie mehr über den Barcode</string>
|
||||
<string name="preferences_supplemental_title">Weitere Informationen abrufen</string>
|
||||
<string name="preferences_try_bsplus">Barcode Scanner+ testen</string>
|
||||
<string name="preferences_try_bsplus_summary">Mit mehr Funktionen und neuer Oberfläche.</string>
|
||||
<string name="preferences_vibrate_title">Vibrieren</string>
|
||||
<string name="result_address_book">Kontakt gefunden</string>
|
||||
<string name="result_calendar">Termin gefunden</string>
|
||||
<string name="result_email_address">E-Mail-Adresse gefunden</string>
|
||||
<string name="result_geo">Koordinaten gefunden</string>
|
||||
<string name="result_isbn">Buch gefunden</string>
|
||||
<string name="result_product">Produkt gefunden</string>
|
||||
<string name="result_sms">SMS-Adresse gefunden</string>
|
||||
<string name="result_tel">Telefonnummer gefunden</string>
|
||||
<string name="result_text">Text gefunden</string>
|
||||
<string name="result_uri">URL gefunden</string>
|
||||
<string name="result_wifi">WLAN-Konfiguration gefunden</string>
|
||||
<string name="sbc_name">Google Book Search</string>
|
||||
<string name="wifi_changing_network">Verbindung zum Netzwerk anfordern\u2026</string>
|
||||
<string name="wifi_ssid_label">WLAN-Name:</string>
|
||||
<string name="wifi_type_label">Verschlüsselung:</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-el/strings.xml
Normal file
136
src/java/PluginQR/res/values-el/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Εφαρμογές</string>
|
||||
<string name="bookmark_picker_name">Σελιδοδείκτες</string>
|
||||
<string name="button_add_calendar">Προσθήκη στο ημερολόγιο</string>
|
||||
<string name="button_add_contact">Προσθήκη στις επαφές</string>
|
||||
<string name="button_book_search">Αναζήτηση βιβλίων</string>
|
||||
<string name="button_cancel">Ακύρωση</string>
|
||||
<string name="button_custom_product_search">Σύνθετη αναζήτηση</string>
|
||||
<string name="button_dial">Κλήση αριθμού</string>
|
||||
<string name="button_email">Αποστολή email</string>
|
||||
<string name="button_get_directions">Λάβετε κατευθύνσεις</string>
|
||||
<string name="button_mms">Αποστολή MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Άνοιγμα browser</string>
|
||||
<string name="button_product_search">Αναζήτηση προϊόντων</string>
|
||||
<string name="button_search_book_contents">Αναζήτηση περιεχομένων</string>
|
||||
<string name="button_share_app">Εφαρμογή</string>
|
||||
<string name="button_share_bookmark">Σελιδοδείκτης</string>
|
||||
<string name="button_share_by_email">Μοιράσου με email</string>
|
||||
<string name="button_share_by_sms">Μοιράσου με SMS</string>
|
||||
<string name="button_share_clipboard">Πρόχειρο</string>
|
||||
<string name="button_share_contact">Επαφή</string>
|
||||
<string name="button_show_map">Δείξε χάρτη</string>
|
||||
<string name="button_sms">Στείλε SMS</string>
|
||||
<string name="button_web_search">Αναζήτηση ιστού</string>
|
||||
<string name="button_wifi">Σύνδεση σε Δίκτυο</string>
|
||||
<string name="contents_contact">Πληροφορίες επαφής</string>
|
||||
<string name="contents_email">Διεύθυνση email</string>
|
||||
<string name="contents_location">Γεωγραφικές συντεταγμένες</string>
|
||||
<string name="contents_phone">Τηλέφωνο</string>
|
||||
<string name="contents_sms">Διεύθνση SMS</string>
|
||||
<string name="contents_text">Απλό κείμενο</string>
|
||||
<string name="history_clear_one_history_text">Διαγραφή</string>
|
||||
<string name="history_clear_text">Διαγραφή ιστορικού</string>
|
||||
<string name="history_email_title">Ιστορικό Barcode Scanner</string>
|
||||
<string name="history_empty">Κενό</string>
|
||||
<string name="history_empty_detail">Δεν έχουν καταγραφεί σαρώσεις barcode</string>
|
||||
<string name="history_send">Αποστολή ιστορικού</string>
|
||||
<string name="history_title">Ιστορικό</string>
|
||||
<string name="menu_encode_mecard">Χρησιμοποιήστε MECARD</string>
|
||||
<string name="menu_encode_vcard">Χρησιμοποιήστε vCard</string>
|
||||
<string name="menu_help">Βοήθεια</string>
|
||||
<string name="menu_history">Ιστορικό</string>
|
||||
<string name="menu_settings">Ρυθμίσεις</string>
|
||||
<string name="menu_share">Κοινή χρήση</string>
|
||||
<string name="msg_bulk_mode_scanned">Μαζική λειτουργία: barcode σκαναρίστηκε και αποθηκεύτηκε</string>
|
||||
<string name="msg_camera_framework_bug">Συγνώμη, προέκυψε ένα πρόβλημα με την κάμερα. Ίσως χρειαστεί να επανεκιννήσετε τη συσκευή.</string>
|
||||
<string name="msg_default_format">Διαμόρφωση</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Γεια</string>
|
||||
<string name="msg_default_status">Τοποθετήστε ένα barcode μέσα στο πλαίσιο για να το σκανάρετε.</string>
|
||||
<string name="msg_default_time">Ωρα</string>
|
||||
<string name="msg_default_type">Τύπος</string>
|
||||
<string name="msg_encode_contents_failed">Δεν γίνεται να παραχθεί barcode από αυτά τα δεδομένα.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Συγνώμη, η ζητούμενη εφαρμογή δεν μπορεί να εκιννηθεί. Τα δεδομληνα του barcode ίσως δεν είναι έγκυρα.</string>
|
||||
<string name="msg_redirect">Ανακατεύθυνση</string>
|
||||
<string name="msg_sbc_book_not_searchable">Συγνώμη, αυτό το βιβλίο δεν βρέθηκε.</string>
|
||||
<string name="msg_sbc_failed">Συγνώμη, η αναζήτηση παρουσίασε πρόβλημα.</string>
|
||||
<string name="msg_sbc_no_page_returned">Δεν βρέθηκε σελίδα</string>
|
||||
<string name="msg_sbc_page">Σελίδα</string>
|
||||
<string name="msg_sbc_results">Αποτελέσματα</string>
|
||||
<string name="msg_sbc_searching_book">Άναζήτηση βιβλίου\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Απόσπασμα μη διαθέσιμο</string>
|
||||
<string name="msg_share_explanation">Μπορείς να μοιραστείς δεδομένα εμφανίζοντας ένα barcode στην οθόνη σου και σκανάροντάς το με ένα άλλο κινητό.</string>
|
||||
<string name="msg_share_text">Ή πληκτολογήστε εδώ κείμενο και πατήστε Enter</string>
|
||||
<string name="msg_sure">Είσαι σίγουρος;</string>
|
||||
<string name="msg_unmount_usb">Συγνώμη, η κάρτα SD δεν είναι προσβάσιμη.</string>
|
||||
<string name="preferences_actions_title">Όταν ένα barcode ανιχνεύεται\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Χρησιμοποιήστε την αυτόματη εστίαση</string>
|
||||
<string name="preferences_bulk_mode_summary">Σκανάρετε και αποθηκεύστε συνεχόμενα πολλά barcodes</string>
|
||||
<string name="preferences_bulk_mode_title">Λειτουργία μαζικού σκαναρίσματος</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Αντιγραφή στο πρόχειρο</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Αντικαταστάσεις: %s = περιεχόμενο, %f = μορφή, %t = τύπος</string>
|
||||
<string name="preferences_custom_product_search_title">Σύνθετη αναζήτηση</string>
|
||||
<string name="preferences_decode_1D_title">1D barcodes</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR Codes</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Λύσεις Bug συσκευής</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Χρησιμοποιείτε μόνο τυπική λειτουργία εστίασης</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Δεν συνεχής εστίαση</string>
|
||||
<string name="preferences_disable_exposure_title">Δεν έκθεση</string>
|
||||
<string name="preferences_front_light_auto">Αυτόματο</string>
|
||||
<string name="preferences_front_light_off">Αδρανής</string>
|
||||
<string name="preferences_front_light_on">Ενεργός</string>
|
||||
<string name="preferences_front_light_summary">Βελτιώνει το σκανάρισμα με χαμηλο φωτισμό σε μερικά κινητά, ίσως όμως προκαλέσει λάμψη. Δουλεύει σε μερικά κινητά.</string>
|
||||
<string name="preferences_front_light_title">Χρήση μπροστινού φακού</string>
|
||||
<string name="preferences_general_title">Γενικές ρυθμίσεις</string>
|
||||
<string name="preferences_invert_scan_summary">Σάρωση για τη λευκή barcodes σε μαύρο φόντο. Δεν διατίθεται σε ορισμένες συσκευές.</string>
|
||||
<string name="preferences_invert_scan_title">Αντιστροφή της σάρωσης</string>
|
||||
<string name="preferences_name">Ρυθμίσεις</string>
|
||||
<string name="preferences_play_beep_title">Μπιπ</string>
|
||||
<string name="preferences_remember_duplicates_summary">Αποθήκευση πολλαπλών σκαναρισμάτων του ίδιου barcode στο ιστορικό</string>
|
||||
<string name="preferences_remember_duplicates_title">Απομνημόνευση διπλότυπων</string>
|
||||
<string name="preferences_result_title">Ρυθμίσεις αποτελεσμάτων</string>
|
||||
<string name="preferences_scanning_title">Όταν σκανάρεις barcodes, ψάχνε για\u2026</string>
|
||||
<string name="preferences_search_country">Χώρα Αναζήτησης</string>
|
||||
<string name="preferences_supplemental_summary">Προσπάθησε να βρείς περισσότερες πληροφορίες για τα περιεχόμενα του barcode</string>
|
||||
<string name="preferences_supplemental_title">Αναζήτηση για επιπλέον πληροφορίες</string>
|
||||
<string name="preferences_try_bsplus">Δοκιμάστε Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Ενισχυμένη με νέα χαρακτηριστικά και διασύνδεση</string>
|
||||
<string name="preferences_vibrate_title">Δόνηση</string>
|
||||
<string name="result_address_book">Βρέθηκαν πληροφορίες επαφής</string>
|
||||
<string name="result_calendar">Βρέθηκε συμβάν ημερολογίου</string>
|
||||
<string name="result_email_address">Βρέθηκε email</string>
|
||||
<string name="result_geo">Βρέθηκαν γεωγραφικές συντεταγμένες</string>
|
||||
<string name="result_isbn">Βρέθηκε βιβλίο</string>
|
||||
<string name="result_product">Βρέθηκε προϊόν</string>
|
||||
<string name="result_sms">Βρέθηκε διεύθυνση SMS</string>
|
||||
<string name="result_tel">Βρέθηκε τηλέφωνο</string>
|
||||
<string name="result_text">Βρέθηκε κείμενο</string>
|
||||
<string name="result_uri">Βρέθηκε ηλ. διεύθυνση</string>
|
||||
<string name="result_wifi">Βρέθηκαν ρυθμίσεις Wi-Fi</string>
|
||||
<string name="sbc_name">Αναζήτηση βιβλίων Google</string>
|
||||
<string name="wifi_changing_network">Αίτηση σύνδεσης με το δίκτυο\u2026</string>
|
||||
<string name="wifi_ssid_label">Όνομα Δικτύου</string>
|
||||
<string name="wifi_type_label">Τύπος</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-es/strings.xml
Normal file
136
src/java/PluginQR/res/values-es/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplicaciones</string>
|
||||
<string name="bookmark_picker_name">Marcadores</string>
|
||||
<string name="button_add_calendar">Añadir al calendario</string>
|
||||
<string name="button_add_contact">Añadir contacto</string>
|
||||
<string name="button_book_search">Búsqueda de libros</string>
|
||||
<string name="button_cancel">Cancelar</string>
|
||||
<string name="button_custom_product_search">Búsqueda personalizada</string>
|
||||
<string name="button_dial">Marcar número</string>
|
||||
<string name="button_email">Enviar correo electrónico</string>
|
||||
<string name="button_get_directions">Obtener direcciones</string>
|
||||
<string name="button_mms">Enviar MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Abrir navegador</string>
|
||||
<string name="button_product_search">Búsqueda de productos</string>
|
||||
<string name="button_search_book_contents">Buscar contenido del libro</string>
|
||||
<string name="button_share_app">Aplicación</string>
|
||||
<string name="button_share_bookmark">Marcador</string>
|
||||
<string name="button_share_by_email">Compartir por correo electrónico</string>
|
||||
<string name="button_share_by_sms">Compartir por SMS</string>
|
||||
<string name="button_share_clipboard">Portapapeles</string>
|
||||
<string name="button_share_contact">Contacto</string>
|
||||
<string name="button_show_map">Mostrar mapa</string>
|
||||
<string name="button_sms">Enviar SMS</string>
|
||||
<string name="button_web_search">Búsqueda Web</string>
|
||||
<string name="button_wifi">Conectarse a la red</string>
|
||||
<string name="contents_contact">Información de contacto</string>
|
||||
<string name="contents_email">Dirección de correo electrónico</string>
|
||||
<string name="contents_location">Coordenadas geográficas</string>
|
||||
<string name="contents_phone">Número de teléfono</string>
|
||||
<string name="contents_sms">Dirección SMS</string>
|
||||
<string name="contents_text">Texto</string>
|
||||
<string name="history_clear_one_history_text">Borrar</string>
|
||||
<string name="history_clear_text">Borrar historial</string>
|
||||
<string name="history_email_title">Historial de Escáner de código de barras</string>
|
||||
<string name="history_empty">Vacío</string>
|
||||
<string name="history_empty_detail">Ningún escanea de códigos de barras se han registrado aún</string>
|
||||
<string name="history_send">Enviar historial</string>
|
||||
<string name="history_title">Historial</string>
|
||||
<string name="menu_encode_mecard">Usar MECARD</string>
|
||||
<string name="menu_encode_vcard">Usar vCard</string>
|
||||
<string name="menu_help">Ayuda</string>
|
||||
<string name="menu_history">Historial</string>
|
||||
<string name="menu_settings">Configuración</string>
|
||||
<string name="menu_share">Compartir</string>
|
||||
<string name="msg_bulk_mode_scanned">Modo Masivo: código de barras escaneado y guardado</string>
|
||||
<string name="msg_camera_framework_bug">Lo sentimos, la cámara de Android ha encontrado un problema. Es posible que necesite reiniciar el dispositivo.</string>
|
||||
<string name="msg_default_format">Formato</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Hola</string>
|
||||
<string name="msg_default_status">Coloque un código de barras en el interior del rectángulo del visor para escanear.</string>
|
||||
<string name="msg_default_time">Tiempo</string>
|
||||
<string name="msg_default_type">Tipo</string>
|
||||
<string name="msg_encode_contents_failed">No se pudo codificar un código de barras a partir de los datos facilitados.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Lo sentimos, la aplicación solicitada no pudo ser lanzada. El contenido de código de barras puede ser inválida.</string>
|
||||
<string name="msg_redirect">Redirigir</string>
|
||||
<string name="msg_sbc_book_not_searchable">Lo sentimos, no se puede buscar en este libro.</string>
|
||||
<string name="msg_sbc_failed">Lo sentimos, la búsqueda ha detectado un problema.</string>
|
||||
<string name="msg_sbc_no_page_returned">Página no encontrada</string>
|
||||
<string name="msg_sbc_page">Página</string>
|
||||
<string name="msg_sbc_results">Resultados</string>
|
||||
<string name="msg_sbc_searching_book">Buscando libro\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Fragmentos no están disponibles</string>
|
||||
<string name="msg_share_explanation">Usted puede compartir los datos mostrando un código de barras en su pantalla y escanearlo con otro teléfono.</string>
|
||||
<string name="msg_share_text">O escriba algún texto y presione Enter</string>
|
||||
<string name="msg_sure">¿Está seguro?</string>
|
||||
<string name="msg_unmount_usb">Lo sentimos, la tarjeta SD no está accesible.</string>
|
||||
<string name="preferences_actions_title">Cuando encuentra un código de barras\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Utilizar el enfoque automático</string>
|
||||
<string name="preferences_bulk_mode_summary">Escanear y guardar muchos códigos de barras de forma continua</string>
|
||||
<string name="preferences_bulk_mode_title">Modo masivo de escaneo</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copiar al portapapeles</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Sustituciones: %s = contenido, %f = formato, %t = tipo</string>
|
||||
<string name="preferences_custom_product_search_title">Búsqueda de productos con URL personalizada</string>
|
||||
<string name="preferences_decode_1D_title">Códigos de barras 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">Códigos QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Soluciones provisionales para dispositivos con errores</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Utilice sólo el modo de enfoque estándar</string>
|
||||
<string name="preferences_disable_continuous_focus_title">No enfoque continuo</string>
|
||||
<string name="preferences_disable_exposure_title">No exposición</string>
|
||||
<string name="preferences_front_light_auto">Automático</string>
|
||||
<string name="preferences_front_light_off">Inactivo</string>
|
||||
<string name="preferences_front_light_on">Activo</string>
|
||||
<string name="preferences_front_light_summary">Mejora la exploración en condiciones de poca luz en algunos teléfonos, pero puede causar deslumbramiento. No funciona en todos los teléfonos.</string>
|
||||
<string name="preferences_front_light_title">Utilizar luz delantera</string>
|
||||
<string name="preferences_general_title">Configuración general</string>
|
||||
<string name="preferences_invert_scan_summary">Escanear códigos de barras blancas sobre fondo negro. No disponible en algunos dispositivos.</string>
|
||||
<string name="preferences_invert_scan_title">Invertir exploración</string>
|
||||
<string name="preferences_name">Configuración</string>
|
||||
<string name="preferences_play_beep_title">Bip</string>
|
||||
<string name="preferences_remember_duplicates_summary">Almacenar múltiples escáneres del mismo código de barras en el Historial.</string>
|
||||
<string name="preferences_remember_duplicates_title">Recuerde duplicados</string>
|
||||
<string name="preferences_result_title">Configuración de resultados</string>
|
||||
<string name="preferences_scanning_title">Al escanear códigos de barras, descodificar\u2026</string>
|
||||
<string name="preferences_search_country">Buscar país</string>
|
||||
<string name="preferences_supplemental_summary">Trata de recuperar más información sobre el contenido del código de barras.</string>
|
||||
<string name="preferences_supplemental_title">Recuperar más información</string>
|
||||
<string name="preferences_try_bsplus">Trate Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Mejorado con nuevas características y la interfaz de</string>
|
||||
<string name="preferences_vibrate_title">Vibrar</string>
|
||||
<string name="result_address_book">Información de contacto encontrada</string>
|
||||
<string name="result_calendar">Evento de calendario encontrado</string>
|
||||
<string name="result_email_address">Dirección de correo electrónico encontrado</string>
|
||||
<string name="result_geo">Coordenadas geográficas encontradas</string>
|
||||
<string name="result_isbn">Libro encontrado</string>
|
||||
<string name="result_product">Producto encontrado</string>
|
||||
<string name="result_sms">Dirección de SMS encontrado</string>
|
||||
<string name="result_tel">Número de teléfono encontrado</string>
|
||||
<string name="result_text">Texto encontrado</string>
|
||||
<string name="result_uri">URL encontrada</string>
|
||||
<string name="result_wifi">Configuración de WLAN encontrada</string>
|
||||
<string name="sbc_name">Búsqueda de libros de Google</string>
|
||||
<string name="wifi_changing_network">Solicitando conexión a la red\u2026</string>
|
||||
<string name="wifi_ssid_label">Nombre de red</string>
|
||||
<string name="wifi_type_label">Tipo</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-eu/strings.xml
Normal file
136
src/java/PluginQR/res/values-eu/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barra-kode Eskanerra</string>
|
||||
<string name="app_picker_name">Aplikazioak</string>
|
||||
<string name="bookmark_picker_name">Laster-markak</string>
|
||||
<string name="button_add_calendar">Gehitu egutegian</string>
|
||||
<string name="button_add_contact">Gehitu kontaktua</string>
|
||||
<string name="button_book_search">Bilatu liburua</string>
|
||||
<string name="button_cancel">Utzi</string>
|
||||
<string name="button_custom_product_search">Bilaketa pertsonalizatua</string>
|
||||
<string name="button_dial">Markatu zenbakia</string>
|
||||
<string name="button_email">Bidali e-posta</string>
|
||||
<string name="button_get_directions">Lortu jarraibideak</string>
|
||||
<string name="button_mms">Bidali MMS-a</string>
|
||||
<string name="button_ok">Ados</string>
|
||||
<string name="button_open_browser">Ireki arakatzailea</string>
|
||||
<string name="button_product_search">Produktu bilaketa</string>
|
||||
<string name="button_search_book_contents">Bilatu edukiak</string>
|
||||
<string name="button_share_app">Aplikazioa</string>
|
||||
<string name="button_share_bookmark">Laster-marka</string>
|
||||
<string name="button_share_by_email">Partekatu e-posta bidez</string>
|
||||
<string name="button_share_by_sms">Partekatu SMS bidez</string>
|
||||
<string name="button_share_clipboard">Arbela</string>
|
||||
<string name="button_share_contact">Kontaktua</string>
|
||||
<string name="button_show_map">Erakutsi mapa</string>
|
||||
<string name="button_sms">Bidali SMS-a</string>
|
||||
<string name="button_web_search">Web bilaketa</string>
|
||||
<string name="button_wifi">Konektatu sarera</string>
|
||||
<string name="contents_contact">Kontaktuaren informazioa</string>
|
||||
<string name="contents_email">E-posta helbidea</string>
|
||||
<string name="contents_location">Koordenatu geografikoak</string>
|
||||
<string name="contents_phone">Telefono zenbakia</string>
|
||||
<string name="contents_sms">SMS helbidea</string>
|
||||
<string name="contents_text">Testu laua</string>
|
||||
<string name="history_clear_one_history_text">Garbitu</string>
|
||||
<string name="history_clear_text">Garbitu historia</string>
|
||||
<string name="history_email_title">Barra-kode Eskanerraren historia</string>
|
||||
<string name="history_empty">Hutsik</string>
|
||||
<string name="history_empty_detail">Ez da inoiz barra-koderik gorde</string>
|
||||
<string name="history_send">Bidali historia</string>
|
||||
<string name="history_title">Historia</string>
|
||||
<string name="menu_encode_mecard">Erabili MECARD</string>
|
||||
<string name="menu_encode_vcard">Erabili vCard</string>
|
||||
<string name="menu_help">Laguntza</string>
|
||||
<string name="menu_history">Historia</string>
|
||||
<string name="menu_settings">Ezarpenak</string>
|
||||
<string name="menu_share">Partekatu</string>
|
||||
<string name="msg_bulk_mode_scanned">Handizkako modua: barra-kodea eskaneatuta eta gordeta</string>
|
||||
<string name="msg_camera_framework_bug">Barkatu, Android kamerak arazo bat izan du. Behar bada gailua berrabiarazi beharko duzu.</string>
|
||||
<string name="msg_default_format">Formatua</string>
|
||||
<string name="msg_default_meta">Metadatuak</string>
|
||||
<string name="msg_default_mms_subject">Kaixo</string>
|
||||
<string name="msg_default_status">Kokatu barra-kode bat laukizuzenaren barruan eskaneatzeko.</string>
|
||||
<string name="msg_default_time">Denbora</string>
|
||||
<string name="msg_default_type">Mota</string>
|
||||
<string name="msg_encode_contents_failed">Ezin izan da barra-kode bat kodetu emandako datuetatik.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Barkatu, eskatutako aplikazioa ezin izan da abiarazi. Behar bada barra-kodearen edukiak baliogabeak dira.</string>
|
||||
<string name="msg_redirect">Berbideratu</string>
|
||||
<string name="msg_sbc_book_not_searchable">Barkatu, liburu honetan ezin da bilaketarik egin.</string>
|
||||
<string name="msg_sbc_failed">Barkatu, bilaketak arazo bat izan du.</string>
|
||||
<string name="msg_sbc_no_page_returned">Ez da orririk itzuli</string>
|
||||
<string name="msg_sbc_page">Orria</string>
|
||||
<string name="msg_sbc_results">Emaitzak</string>
|
||||
<string name="msg_sbc_searching_book">Liburua arakatzen\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Lagina ez dago eskuragarri</string>
|
||||
<string name="msg_share_explanation">Datuak parteka ditzakezu zure pantailan barra-kode bat bistaratu eta beste telefono batekin eskaneatuz.</string>
|
||||
<string name="msg_share_text">Edo idatzi zerbait eta sakatu Enter</string>
|
||||
<string name="msg_sure">Ziur zaude?</string>
|
||||
<string name="msg_unmount_usb">Barkatu, SD txartela ez dago eskuragarri.</string>
|
||||
<string name="preferences_actions_title">Barra kode bat aurkitzean\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Erabili auto foku</string>
|
||||
<string name="preferences_bulk_mode_summary">Eskaneatu eta gorde hainbat barra-kode jarraian</string>
|
||||
<string name="preferences_bulk_mode_title">Handizkako eskaneatze modua</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopiatu arbelera</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Ordezkapenak: %s = edukiak, %f = formatua, %t = mota</string>
|
||||
<string name="preferences_custom_product_search_title">Bilaketa URL pertsonalizatua</string>
|
||||
<string name="preferences_decode_1D_title">1D barra-kodeak</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Datu Matrizeak</string>
|
||||
<string name="preferences_decode_QR_title">QR Kodeak</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Gailuak Bug konponbidea</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Erabili estandarrean soilik fokuaren modua</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Etengabeko foku No</string>
|
||||
<string name="preferences_disable_exposure_title">Esposizio No</string>
|
||||
<string name="preferences_front_light_auto">Automatikoa</string>
|
||||
<string name="preferences_front_light_off">Ezgaitutako</string>
|
||||
<string name="preferences_front_light_on">Aktiboak</string>
|
||||
<string name="preferences_front_light_summary">Eskaneatzea hobetzen du zenbait telefonotan argiztapena txikia denean, baina distirak eragin ditzake. Ez du telefono guztietan funtzionatzen.</string>
|
||||
<string name="preferences_front_light_title">Erabili aurreko argia</string>
|
||||
<string name="preferences_general_title">Ezarpen orokorrak</string>
|
||||
<string name="preferences_invert_scan_summary">Atzeko plano beltzean kodeak zuri eskaneatzeko. Zenbait gailuk ez dago eskuragarri.</string>
|
||||
<string name="preferences_invert_scan_title">Alderantzikatu eskaneatzeko</string>
|
||||
<string name="preferences_name">Ezarpenak</string>
|
||||
<string name="preferences_play_beep_title">Soinu-seinalea</string>
|
||||
<string name="preferences_remember_duplicates_summary">Gorde barra-kode beraren hainbat eskaneatze Historian</string>
|
||||
<string name="preferences_remember_duplicates_title">Gogoratu errepikatuak</string>
|
||||
<string name="preferences_result_title">Emaitzen ezarpenak</string>
|
||||
<string name="preferences_scanning_title">Barra-kodeak eskaneatzean, deskodetu\u2026</string>
|
||||
<string name="preferences_search_country">Bilatu herrialdea</string>
|
||||
<string name="preferences_supplemental_summary">Saiatu barra-kodearen edukiei buruzko informazio gehiago eskuratzen</string>
|
||||
<string name="preferences_supplemental_title">Eskuratu informazio gehiago</string>
|
||||
<string name="preferences_try_bsplus">Saiatu Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Ezaugarri berri eta interfaze indartu</string>
|
||||
<string name="preferences_vibrate_title">Bibratu</string>
|
||||
<string name="result_address_book">Kontaktu-informazioa aurkitu da</string>
|
||||
<string name="result_calendar">Egutegiko gertaera aurkitu da</string>
|
||||
<string name="result_email_address">E-posta helbidea aurkitu da</string>
|
||||
<string name="result_geo">Koordenatu geografikoak aurkitu dira</string>
|
||||
<string name="result_isbn">Liburua aurkitu da</string>
|
||||
<string name="result_product">Produktua aurkitu da</string>
|
||||
<string name="result_sms">SMS helbidea aurkitu da</string>
|
||||
<string name="result_tel">Telefono zenbakia aurkitu da</string>
|
||||
<string name="result_text">Testu laua aurkitu da</string>
|
||||
<string name="result_uri">URL-a aurkitu da</string>
|
||||
<string name="result_wifi">WLAN Konfigurazioa aurkitu da</string>
|
||||
<string name="sbc_name">Google Book Bilaketa</string>
|
||||
<string name="wifi_changing_network">Sarerako konexioa eskatzen\u2026</string>
|
||||
<string name="wifi_ssid_label">Sarearen Izena</string>
|
||||
<string name="wifi_type_label">Mota</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-fi/strings.xml
Normal file
136
src/java/PluginQR/res/values-fi/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Ohjelmat</string>
|
||||
<string name="bookmark_picker_name">Kirjanmerkit</string>
|
||||
<string name="button_add_calendar">Lisää kalenteriin</string>
|
||||
<string name="button_add_contact">Lisää yhteystieto</string>
|
||||
<string name="button_book_search">Kirjahaku</string>
|
||||
<string name="button_cancel">Peruuta</string>
|
||||
<string name="button_custom_product_search">Mukautettu haku</string>
|
||||
<string name="button_dial">Soita numeroon</string>
|
||||
<string name="button_email">Lähetä sähköpostia</string>
|
||||
<string name="button_get_directions">Hae ajo-ohjeet</string>
|
||||
<string name="button_mms">Lähetä multimediaviesti</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Avaa selain</string>
|
||||
<string name="button_product_search">Tuotehaku</string>
|
||||
<string name="button_search_book_contents">Hae kirjan sisältö</string>
|
||||
<string name="button_share_app">Ohjelma</string>
|
||||
<string name="button_share_bookmark">Kirjanmerkki</string>
|
||||
<string name="button_share_by_email">Jaa sähköpostilla</string>
|
||||
<string name="button_share_by_sms">Jaa tekstiviestillä</string>
|
||||
<string name="button_share_clipboard">Leikepöytä</string>
|
||||
<string name="button_share_contact">Kontakti</string>
|
||||
<string name="button_show_map">Näytä kartta</string>
|
||||
<string name="button_sms">Lähetä tekstiviesti</string>
|
||||
<string name="button_web_search">Haku netistä</string>
|
||||
<string name="button_wifi">Yhdistä verkkoon</string>
|
||||
<string name="contents_contact">Yhteystiedot</string>
|
||||
<string name="contents_email">Sähköpostiosoite</string>
|
||||
<string name="contents_location">Karttakoordinaatit</string>
|
||||
<string name="contents_phone">Puhelinnumero</string>
|
||||
<string name="contents_sms">Tekstiviestin osoite</string>
|
||||
<string name="contents_text">Teksti</string>
|
||||
<string name="history_clear_one_history_text">Tyhjennä</string>
|
||||
<string name="history_clear_text">Tyhjennä historia</string>
|
||||
<string name="history_email_title">Viivakoodien historia</string>
|
||||
<string name="history_empty">Tyhjä</string>
|
||||
<string name="history_empty_detail">Ei tallennettuja viivakoodeja</string>
|
||||
<string name="history_send">Lähetä historia</string>
|
||||
<string name="history_title">Historia</string>
|
||||
<string name="menu_encode_mecard">Käytä MECARD:ia</string>
|
||||
<string name="menu_encode_vcard">Käytä vCard:ia</string>
|
||||
<string name="menu_help">Ohje</string>
|
||||
<string name="menu_history">Historia</string>
|
||||
<string name="menu_settings">Asetukset</string>
|
||||
<string name="menu_share">Jaa</string>
|
||||
<string name="msg_bulk_mode_scanned">Toistotila: viivakoodi luettu ja tallennetttu</string>
|
||||
<string name="msg_camera_framework_bug">Valitettavasti Androidin kameran toimiinta häiriintyi. Joudut ehkä käynnistämään laitteen uudelleen.</string>
|
||||
<string name="msg_default_format">Muoto</string>
|
||||
<string name="msg_default_meta">Metatiedot</string>
|
||||
<string name="msg_default_mms_subject">Hei</string>
|
||||
<string name="msg_default_status">Aseta viivakoodi neliön sisälle skannataksesi sen.</string>
|
||||
<string name="msg_default_time">Aika</string>
|
||||
<string name="msg_default_type">Tyyppi</string>
|
||||
<string name="msg_encode_contents_failed">Viivakoodia ei voitu muodostaa annetusta datasta.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Valitettavasti pyydettyä sovellusta ei voitu käynnistää. Viivakoodin sisältö voi olla virheellinen.</string>
|
||||
<string name="msg_redirect">Uudelleenohjaus</string>
|
||||
<string name="msg_sbc_book_not_searchable">Valitettavasti tämä kirja ei ole haettavissa.</string>
|
||||
<string name="msg_sbc_failed">Valitettavasti haussa tapahtui virhe.</string>
|
||||
<string name="msg_sbc_no_page_returned">Sivua ei löydy/ei vastausta</string>
|
||||
<string name="msg_sbc_page">Sivu</string>
|
||||
<string name="msg_sbc_results">Tulokset</string>
|
||||
<string name="msg_sbc_searching_book">Haetaan kirjaa\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Kappaletta ei saatavilla</string>
|
||||
<string name="msg_share_explanation">Voit jakaa dataa näyttämällä viivakoodin laitteesi näytöllä ja lukemalla sen toisella laitteella.</string>
|
||||
<string name="msg_share_text">Tai kirjoita tekstiä ja lopeta Enterillä</string>
|
||||
<string name="msg_sure">Oletko varma?</string>
|
||||
<string name="msg_unmount_usb">SD-kortti ei ole käytettävissä.</string>
|
||||
<string name="preferences_actions_title">Kun viivakoodi löytyy\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Käytä automaattista tarkennusta</string>
|
||||
<string name="preferences_bulk_mode_summary">Skannaa ja tallenna viivakoodeja jatkuvasti</string>
|
||||
<string name="preferences_bulk_mode_title">Jatkuva skannaus</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopioi leikepöydälle</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Seuraavat korvataan: %s = sisältö, %f = formaatti, %t = tyyppi</string>
|
||||
<string name="preferences_custom_product_search_title">Mukautettu hakukone</string>
|
||||
<string name="preferences_decode_1D_title">1D-viivakoodit</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR-koodit</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Laitteen vikojen kiertäminen</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Käytä vain vakiotarkennusta</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Ei jatkuvaa tarkennusta</string>
|
||||
<string name="preferences_disable_exposure_title">Ei valotusta</string>
|
||||
<string name="preferences_front_light_auto">Automaattinen</string>
|
||||
<string name="preferences_front_light_off">Pois</string>
|
||||
<string name="preferences_front_light_on">Päällä</string>
|
||||
<string name="preferences_front_light_summary">Parantaa joissain laitteissa hämärässä skannaamista, mutta voi aiheuttaa häikäisyongelmia. Ei toimi kaikissa puhelimissa.</string>
|
||||
<string name="preferences_front_light_title">Käytä etuosan valoa</string>
|
||||
<string name="preferences_general_title">Yleiset asetukset</string>
|
||||
<string name="preferences_invert_scan_summary">Etsi valkoisia viivakoodeja mustalla taustalla. Ei toimi kaikilla laitteilla.</string>
|
||||
<string name="preferences_invert_scan_title">Käänteinen (negatiivin) skannaus</string>
|
||||
<string name="preferences_name">Asetukset</string>
|
||||
<string name="preferences_play_beep_title">Piippaus</string>
|
||||
<string name="preferences_remember_duplicates_summary">Jos sama viivakoodi skannetaan useasti, tallenna jokainen skannauskerta historiaan</string>
|
||||
<string name="preferences_remember_duplicates_title">Muista kaksoiskappaleet</string>
|
||||
<string name="preferences_result_title">Tuloksien asetukset</string>
|
||||
<string name="preferences_scanning_title">Kun skannataan viivakoodeja, dekoodaa\u2026</string>
|
||||
<string name="preferences_search_country">Etsi maasta</string>
|
||||
<string name="preferences_supplemental_summary">Yritä hakea lisätietoja viivakoodin sisällöstä</string>
|
||||
<string name="preferences_supplemental_title">Hae lisää tietoa</string>
|
||||
<string name="preferences_try_bsplus">Kokeile Barcode Scanner+ -ohjelmaa</string>
|
||||
<string name="preferences_try_bsplus_summary">Parannettu uusilla ominaisuuksilla ja käyttöliittymällä</string>
|
||||
<string name="preferences_vibrate_title">Värinä</string>
|
||||
<string name="result_address_book">Löydettiin yhteystietoja</string>
|
||||
<string name="result_calendar">Löydettiin kalenteritapahtuma</string>
|
||||
<string name="result_email_address">Löydettiin sähköpostiosoite</string>
|
||||
<string name="result_geo">Löydettiin koordinaatteja</string>
|
||||
<string name="result_isbn">Löydettiin kirja</string>
|
||||
<string name="result_product">Löydettiin tuote</string>
|
||||
<string name="result_sms">Löydettiin tekstiviestinumero</string>
|
||||
<string name="result_tel">Löydettiin puhelinnumero</string>
|
||||
<string name="result_text">Löydettiin teksti</string>
|
||||
<string name="result_uri">Löydettin URL-osoite</string>
|
||||
<string name="result_wifi">Löydettiin asetukset langattomalle yhteydelle</string>
|
||||
<string name="sbc_name">Googlen kirjahaku</string>
|
||||
<string name="wifi_changing_network">Pyydetään yhteyttä verkkoon\u2026</string>
|
||||
<string name="wifi_ssid_label">Verkon nimi</string>
|
||||
<string name="wifi_type_label">Tyyppi</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-fr/strings.xml
Normal file
136
src/java/PluginQR/res/values-fr/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Applications</string>
|
||||
<string name="bookmark_picker_name">Marque-pages</string>
|
||||
<string name="button_add_calendar">Ajouter à l\'agenda</string>
|
||||
<string name="button_add_contact">Ajouter un contact</string>
|
||||
<string name="button_book_search">Recherche de livres</string>
|
||||
<string name="button_cancel">Annuler</string>
|
||||
<string name="button_custom_product_search">Recherche personnalisée</string>
|
||||
<string name="button_dial">Composer numéro</string>
|
||||
<string name="button_email">Envoyer email</string>
|
||||
<string name="button_get_directions">Itinéraire</string>
|
||||
<string name="button_mms">Envoyer MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Ouvrir le navigateur</string>
|
||||
<string name="button_product_search">Recherche de produits</string>
|
||||
<string name="button_search_book_contents">Rechercher dans le contenu</string>
|
||||
<string name="button_share_app">Application</string>
|
||||
<string name="button_share_bookmark">Marque-page</string>
|
||||
<string name="button_share_by_email">Partager par email</string>
|
||||
<string name="button_share_by_sms">Partager par SMS</string>
|
||||
<string name="button_share_clipboard">Presse-papier</string>
|
||||
<string name="button_share_contact">Contact</string>
|
||||
<string name="button_show_map">Afficher la carte</string>
|
||||
<string name="button_sms">Envoyer SMS</string>
|
||||
<string name="button_web_search">Recherche Web</string>
|
||||
<string name="button_wifi">Se connecter au réseau</string>
|
||||
<string name="contents_contact">Informations de contact</string>
|
||||
<string name="contents_email">Adresse email</string>
|
||||
<string name="contents_location">Coordonnées géographiques</string>
|
||||
<string name="contents_phone">Numéro de téléphone</string>
|
||||
<string name="contents_sms">Adresse SMS</string>
|
||||
<string name="contents_text">Texte</string>
|
||||
<string name="history_clear_one_history_text">Effacer</string>
|
||||
<string name="history_clear_text">Effacer l\'historique</string>
|
||||
<string name="history_email_title">Historique de Barcode Scanner</string>
|
||||
<string name="history_empty">Vide</string>
|
||||
<string name="history_empty_detail">Aucun code-barre scanné n\'a encore été enregistré</string>
|
||||
<string name="history_send">Envoyer historique</string>
|
||||
<string name="history_title">Historique</string>
|
||||
<string name="menu_encode_mecard">Format MECARD</string>
|
||||
<string name="menu_encode_vcard">Format vCard</string>
|
||||
<string name="menu_help">Aide</string>
|
||||
<string name="menu_history">Historique</string>
|
||||
<string name="menu_settings">Paramètres</string>
|
||||
<string name="menu_share">Partager</string>
|
||||
<string name="msg_bulk_mode_scanned">Mode lecture en rafale : code-barres scanné et enregistré</string>
|
||||
<string name="msg_camera_framework_bug">Désolé, la caméra Android a rencontré un problème. Un redémarrage de l\'appareil est peut-être nécessaire.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Métadonnées</string>
|
||||
<string name="msg_default_mms_subject">Salut</string>
|
||||
<string name="msg_default_status">Placer un code-barres à l\'intérieur du rectangle pour le scanner.</string>
|
||||
<string name="msg_default_time">Temps</string>
|
||||
<string name="msg_default_type">Type</string>
|
||||
<string name="msg_encode_contents_failed">Impossible de créer le code-barres à partir des données fournies.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Désolé, l\'application demandée n\'a pas pu être lancée. Le contenu du code-barres n\'est peut-être pas valable.</string>
|
||||
<string name="msg_redirect">Redirection</string>
|
||||
<string name="msg_sbc_book_not_searchable">Désolé, ce livre est introuvable.</string>
|
||||
<string name="msg_sbc_failed">Désolé, la recherche a rencontré un problème.</string>
|
||||
<string name="msg_sbc_no_page_returned">Page non trouvée</string>
|
||||
<string name="msg_sbc_page">Page</string>
|
||||
<string name="msg_sbc_results">Résultats</string>
|
||||
<string name="msg_sbc_searching_book">Recherche du livre\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Extrait non disponible</string>
|
||||
<string name="msg_share_explanation">Vous pouvez partager des données en affichant un code-barres sur votre écran et en le scannant avec un autre téléphone.</string>
|
||||
<string name="msg_share_text">Ou tapez du texte</string>
|
||||
<string name="msg_sure">Êtes-vous sûr ?</string>
|
||||
<string name="msg_unmount_usb">Désolé, la carte SD n\'est pas accessible.</string>
|
||||
<string name="preferences_actions_title">Quand un code-barres est trouvé\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Utiliser l\'autofocus</string>
|
||||
<string name="preferences_bulk_mode_summary">Scanner et enregistrer plusieurs codes-barres d\'affilée</string>
|
||||
<string name="preferences_bulk_mode_title">Mode de lecture en rafale</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copier dans le presse-papier</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Remplacements : %s = contenu, %f = format, %t = type</string>
|
||||
<string name="preferences_custom_product_search_title">URL de recherche personnalisée</string>
|
||||
<string name="preferences_decode_1D_title">Codes-barres 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">Codes QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Solutions de contournement des bugs de l\'appareil</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Utiliser uniquement le mode de mise au point standard</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Pas de mise au point continue</string>
|
||||
<string name="preferences_disable_exposure_title">Pas d\'exposition</string>
|
||||
<string name="preferences_front_light_auto">Automatique</string>
|
||||
<string name="preferences_front_light_off">Inactif</string>
|
||||
<string name="preferences_front_light_on">Actif</string>
|
||||
<string name="preferences_front_light_summary">Allumer la lampe derrière le téléphone quand la lumière ambiante est faible. Peut provoquer des reflets et ne fonctionne pas sur tous les téléphones.</string>
|
||||
<string name="preferences_front_light_title">Flash</string>
|
||||
<string name="preferences_general_title">Paramètres généraux</string>
|
||||
<string name="preferences_invert_scan_summary">Scanner des codes-barres blancs sur fond noir. Pas disponible sur certains appareils.</string>
|
||||
<string name="preferences_invert_scan_title">Scan négatif</string>
|
||||
<string name="preferences_name">Paramètres</string>
|
||||
<string name="preferences_play_beep_title">Bip</string>
|
||||
<string name="preferences_remember_duplicates_summary">Enregistrer dans l\'historique les lectures multiples d\'un même code-barres</string>
|
||||
<string name="preferences_remember_duplicates_title">Enregistrer les doublons</string>
|
||||
<string name="preferences_result_title">Paramètres d\'un résultat</string>
|
||||
<string name="preferences_scanning_title">Pendant le scan de codes-barres, décoder\u2026</string>
|
||||
<string name="preferences_search_country">Pays de recherche</string>
|
||||
<string name="preferences_supplemental_summary">Essayer d\'obtenir plus d\'informations sur le contenu du code-barres</string>
|
||||
<string name="preferences_supplemental_title">Obtenir plus d\'informations</string>
|
||||
<string name="preferences_try_bsplus">Essayez Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Amélioré avec des fonctionnalités et une interface nouvelles</string>
|
||||
<string name="preferences_vibrate_title">Vibreur</string>
|
||||
<string name="result_address_book">Informations de contact trouvées</string>
|
||||
<string name="result_calendar">Événement pour l\'agenda trouvé</string>
|
||||
<string name="result_email_address">Adresse email trouvée</string>
|
||||
<string name="result_geo">Coordonnées géographiques trouvées</string>
|
||||
<string name="result_isbn">Livre trouvé</string>
|
||||
<string name="result_product">Produit trouvé</string>
|
||||
<string name="result_sms">Adresse SMS trouvée</string>
|
||||
<string name="result_tel">Numéro de téléphone trouvé</string>
|
||||
<string name="result_text">Texte seul trouvé</string>
|
||||
<string name="result_uri">URL trouvée</string>
|
||||
<string name="result_wifi">Configuration de réseau Wi-Fi trouvée</string>
|
||||
<string name="sbc_name">Recherche Google Livres</string>
|
||||
<string name="wifi_changing_network">Demande de connexion au réseau\u2026</string>
|
||||
<string name="wifi_ssid_label">Nom du réseau Wi-Fi</string>
|
||||
<string name="wifi_type_label">Type</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-he/strings.xml
Normal file
136
src/java/PluginQR/res/values-he/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">סורק ברקודים</string>
|
||||
<string name="app_picker_name">יישומים</string>
|
||||
<string name="bookmark_picker_name">סימניות</string>
|
||||
<string name="button_add_calendar">הוסף ללוח שנה</string>
|
||||
<string name="button_add_contact">הוספת איש קשר</string>
|
||||
<string name="button_book_search">חיפוש ספר</string>
|
||||
<string name="button_cancel">ביטול</string>
|
||||
<string name="button_custom_product_search">חיפוש מותאם אישית</string>
|
||||
<string name="button_dial">חייג מספר</string>
|
||||
<string name="button_email">שלח דואר אלקטרוני</string>
|
||||
<string name="button_get_directions">קבל הוראות הגעה</string>
|
||||
<string name="button_mms">שלח הודעת מולטימדיה</string>
|
||||
<string name="button_ok">אישור</string>
|
||||
<string name="button_open_browser">פתח את הדפדפן</string>
|
||||
<string name="button_product_search">חיפוש מוצר</string>
|
||||
<string name="button_search_book_contents">חיפוש בתוכן</string>
|
||||
<string name="button_share_app">יישום</string>
|
||||
<string name="button_share_bookmark">סימניה</string>
|
||||
<string name="button_share_by_email">שתף בדואר אלקטרוני</string>
|
||||
<string name="button_share_by_sms">שתף בהודעה</string>
|
||||
<string name="button_share_clipboard">לוח עריכה</string>
|
||||
<string name="button_share_contact">איש קשר</string>
|
||||
<string name="button_show_map">הצג מפה</string>
|
||||
<string name="button_sms">שלח הודעה</string>
|
||||
<string name="button_web_search">חיפוש באינטרנט</string>
|
||||
<string name="button_wifi">התחבר לרשת</string>
|
||||
<string name="contents_contact">פרטי איש קשר</string>
|
||||
<string name="contents_email">כתובת דואר אלקטרוני</string>
|
||||
<string name="contents_location">קואורדינטות גאוגרפיות</string>
|
||||
<string name="contents_phone">מספר טלפון</string>
|
||||
<string name="contents_sms">כתובת SMS</string>
|
||||
<string name="contents_text">טקסט רגיל</string>
|
||||
<string name="history_clear_one_history_text">נקה</string>
|
||||
<string name="history_clear_text">נקה היסטוריה</string>
|
||||
<string name="history_email_title">היסטוריית סורק הברקודים</string>
|
||||
<string name="history_empty">ריק</string>
|
||||
<string name="history_empty_detail">ברקודים לא נרשמו</string>
|
||||
<string name="history_send">שלח היסטוריה</string>
|
||||
<string name="history_title">היסטוריה</string>
|
||||
<string name="menu_encode_mecard">השתמש MECARD</string>
|
||||
<string name="menu_encode_vcard">השתמש vCard</string>
|
||||
<string name="menu_help">עזרה</string>
|
||||
<string name="menu_history">היסטוריה</string>
|
||||
<string name="menu_settings">הגדרות</string>
|
||||
<string name="menu_share">שתף</string>
|
||||
<string name="msg_bulk_mode_scanned">מצב קבוצה: ברקוד נסרק ונשמר</string>
|
||||
<string name="msg_camera_framework_bug">סליחה, מצלמת האנדרואיד נתקלה בבעיה. ייתכן שיהיה עליך להפעיל מחדש את המכשיר.</string>
|
||||
<string name="msg_default_format">פורמט</string>
|
||||
<string name="msg_default_meta">מטה-נתונים</string>
|
||||
<string name="msg_default_mms_subject">היי</string>
|
||||
<string name="msg_default_status">הצב ברקוד בתוך המלבן כדי לסרוק אותו.</string>
|
||||
<string name="msg_default_time">זמן</string>
|
||||
<string name="msg_default_type">סוג</string>
|
||||
<string name="msg_encode_contents_failed">לא היתה אפשרות לקודד ברקוד מהנתונים שסופקו.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">סליחה, לא ניתן להפעיל את היישום המבוקש. ייתכן שתוכן הברקוד לא תקין.</string>
|
||||
<string name="msg_redirect">נתב מחדש</string>
|
||||
<string name="msg_sbc_book_not_searchable">סליחה, ספר זה אינו ניתן לחיפוש.</string>
|
||||
<string name="msg_sbc_failed">סליחה, החיפוש נתקל בבעיה.</string>
|
||||
<string name="msg_sbc_no_page_returned">לא הוחזר דף</string>
|
||||
<string name="msg_sbc_page">דף</string>
|
||||
<string name="msg_sbc_results">תוצאות</string>
|
||||
<string name="msg_sbc_searching_book">מחפש ספר\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">גזיר לא זמין</string>
|
||||
<string name="msg_share_explanation">באפשרותך לשתף נתונים על-ידי הצגת ברקוד על המסך וסריקתו עם טלפון אחר.</string>
|
||||
<string name="msg_share_text">או הקלד טקסט כלשהו</string>
|
||||
<string name="msg_sure">האם אתה בטוח?</string>
|
||||
<string name="msg_unmount_usb">סליחה, כרטיס הזכרון אינו נגיש.</string>
|
||||
<string name="preferences_actions_title">כאשר ברקוד נמצא\u2026</string>
|
||||
<string name="preferences_auto_focus_title">להשתמש במיקוד האוטומטי</string>
|
||||
<string name="preferences_bulk_mode_summary">סורק ושומר ברקודים באופן רציף</string>
|
||||
<string name="preferences_bulk_mode_title">מצב סריקה מרובה</string>
|
||||
<string name="preferences_copy_to_clipboard_title">העתק ללוח</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">החלפות: s% = התוכן, f% = הפורמט, t% = סוג</string>
|
||||
<string name="preferences_custom_product_search_title">כתובת לחיפוש מותאם אישית</string>
|
||||
<string name="preferences_decode_1D_title">ברקודים חד מימדיים</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">מטריצת נתונים</string>
|
||||
<string name="preferences_decode_QR_title">קודי QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">באג במכשיר דרכים לעקיפת הבעיה</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">השתמש רק במצב רגיל פוקוס</string>
|
||||
<string name="preferences_disable_continuous_focus_title">המיקוד לא רציפה</string>
|
||||
<string name="preferences_disable_exposure_title">אין חשיפה</string>
|
||||
<string name="preferences_front_light_auto">אוטומטי</string>
|
||||
<string name="preferences_front_light_off">לא פעיל</string>
|
||||
<string name="preferences_front_light_on">פעיל</string>
|
||||
<string name="preferences_front_light_summary">משפר את הסריקה בתאורה נמוכה בטלפונים מסוימים, אך עשוי לגרום לסנוור. לא עובד בכל הטלפונים.</string>
|
||||
<string name="preferences_front_light_title">השתמש באור הקדמי</string>
|
||||
<string name="preferences_general_title">הגדרות כלליות</string>
|
||||
<string name="preferences_invert_scan_summary">סרוק ברקודים לבן על רקע שחור. לא זמין על התקנים מסוימים.</string>
|
||||
<string name="preferences_invert_scan_title">היפוך לסרוק</string>
|
||||
<string name="preferences_name">הגדרות</string>
|
||||
<string name="preferences_play_beep_title">צפצוף</string>
|
||||
<string name="preferences_remember_duplicates_summary">אחסן מספר סריקות של אותו הברקוד בהיסטוריה</string>
|
||||
<string name="preferences_remember_duplicates_title">זכור כפילויות</string>
|
||||
<string name="preferences_result_title">הגדרות תוצאה</string>
|
||||
<string name="preferences_scanning_title">בעת סריקת ברקודים, קודד\u2026</string>
|
||||
<string name="preferences_search_country">חיפוש הארץ</string>
|
||||
<string name="preferences_supplemental_summary">נסה למצא מידע נוסף על תוכן הברקוד</string>
|
||||
<string name="preferences_supplemental_title">מצא מידע נוסף</string>
|
||||
<string name="preferences_try_bsplus">נסה סורק ברקודים+</string>
|
||||
<string name="preferences_try_bsplus_summary">משופר עם תכונות וממשק חדשים</string>
|
||||
<string name="preferences_vibrate_title">רטט</string>
|
||||
<string name="result_address_book">נמצא מידע של איש קשר</string>
|
||||
<string name="result_calendar">נמצא אירוע</string>
|
||||
<string name="result_email_address">נמצאה כתובת דוא"ל</string>
|
||||
<string name="result_geo">נמצאו קואורדינטות גיאוגרפיות</string>
|
||||
<string name="result_isbn">נמצא ספר</string>
|
||||
<string name="result_product">נמצא מוצר</string>
|
||||
<string name="result_sms">נמצאה כתובת הודעה</string>
|
||||
<string name="result_tel">נמצא מספר טלפון</string>
|
||||
<string name="result_text">נמצא טקסט</string>
|
||||
<string name="result_uri">נמצאה כתובת אינטרנט</string>
|
||||
<string name="result_wifi">נמצאו הגדרות רשת אל חוטית</string>
|
||||
<string name="sbc_name">Google חיפוש ספרים</string>
|
||||
<string name="wifi_changing_network">בקשת חיבור לרשת \u2026</string>
|
||||
<string name="wifi_ssid_label">שם רשת</string>
|
||||
<string name="wifi_type_label">סוג</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-hi/strings.xml
Normal file
136
src/java/PluginQR/res/values-hi/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">बारकोड स्कैनर</string>
|
||||
<string name="app_picker_name">अनुप्रयोगों</string>
|
||||
<string name="bookmark_picker_name">बुकमार्क्स</string>
|
||||
<string name="button_add_calendar">कैलेंडर के लिए जोड़ें</string>
|
||||
<string name="button_add_contact">संपर्क जोड़ें</string>
|
||||
<string name="button_book_search">पुस्तक खोज</string>
|
||||
<string name="button_cancel">रद्द करना</string>
|
||||
<string name="button_custom_product_search">कस्टम खोज</string>
|
||||
<string name="button_dial">डायल नंबर</string>
|
||||
<string name="button_email">ईमेल भेजें</string>
|
||||
<string name="button_get_directions">निर्देश प्राप्त करें</string>
|
||||
<string name="button_mms">एमएमएस भेजें</string>
|
||||
<string name="button_ok">ठीक है</string>
|
||||
<string name="button_open_browser">ओपन ब्राउज़र</string>
|
||||
<string name="button_product_search">उत्पाद खोज</string>
|
||||
<string name="button_search_book_contents">खोज सामग्री</string>
|
||||
<string name="button_share_app">आवेदन</string>
|
||||
<string name="button_share_bookmark">बुकमार्क</string>
|
||||
<string name="button_share_by_email">ईमेल के माध्यम से साझा करें</string>
|
||||
<string name="button_share_by_sms">एसएमएस के जरिए शेयर</string>
|
||||
<string name="button_share_clipboard">क्लिपबोर्ड</string>
|
||||
<string name="button_share_contact">संपर्क</string>
|
||||
<string name="button_show_map">नक्शा दिखाएँ</string>
|
||||
<string name="button_sms">एसएमएस भेजें</string>
|
||||
<string name="button_web_search">वेब खोज</string>
|
||||
<string name="button_wifi">नेटवर्क कनेक्ट करें</string>
|
||||
<string name="contents_contact">संपर्क जानकारी</string>
|
||||
<string name="contents_email">ईमेल पता</string>
|
||||
<string name="contents_location">भौगोलिक निर्देशांक</string>
|
||||
<string name="contents_phone">फ़ोन नंबर</string>
|
||||
<string name="contents_sms">एसएमएस पता</string>
|
||||
<string name="contents_text">सादा पाठ</string>
|
||||
<string name="history_clear_one_history_text">हटाएँ</string>
|
||||
<string name="history_clear_text">इतिहास हटाएँ</string>
|
||||
<string name="history_email_title">बारकोड स्कैनर इतिहास</string>
|
||||
<string name="history_empty">खाली</string>
|
||||
<string name="history_empty_detail">अभी तक कोई बारकोड स्कैन दर्ज किया गया है</string>
|
||||
<string name="history_send">इतिहास भेजें</string>
|
||||
<string name="history_title">इतिहास</string>
|
||||
<string name="menu_encode_mecard">MECARD का प्रयोग करें</string>
|
||||
<string name="menu_encode_vcard">vCard का प्रयोग करें</string>
|
||||
<string name="menu_help">मदद</string>
|
||||
<string name="menu_history">इतिहास</string>
|
||||
<string name="menu_settings">सेटिंग्स</string>
|
||||
<string name="menu_share">शेयर</string>
|
||||
<string name="msg_bulk_mode_scanned">थोक मोड: बारकोड स्कैन और बचाया</string>
|
||||
<string name="msg_camera_framework_bug">क्षमा करें, Android कैमरा एक समस्या का सामना करना पड़ा. आप डिवाइस को पुनरारंभ करने की आवश्यकता हो सकती है.</string>
|
||||
<string name="msg_default_format">प्रारूप</string>
|
||||
<string name="msg_default_meta">मेटाडाटा</string>
|
||||
<string name="msg_default_mms_subject">हाय</string>
|
||||
<string name="msg_default_status">दृश्यदर्शी आयत के अंदर एक बारकोड प्लेस इसे स्कैन.</string>
|
||||
<string name="msg_default_time">समय</string>
|
||||
<string name="msg_default_type">टाइप</string>
|
||||
<string name="msg_encode_contents_failed">उपलब्ध कराए गए आंकड़ों से एक बारकोड सांकेतिक शब्दों में बदलना नहीं कर सका.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">क्षमा करें, अनुरोध आवेदन शुरू नहीं किया जा सका. बारकोड सामग्री अमान्य हो सकता है.</string>
|
||||
<string name="msg_redirect">पुनर्निर्देशन</string>
|
||||
<string name="msg_sbc_book_not_searchable">क्षमा करें, इस किताब को खोजा नहीं है.</string>
|
||||
<string name="msg_sbc_failed">क्षमा करें, खोज एक समस्या का सामना करना पड़ा.</string>
|
||||
<string name="msg_sbc_no_page_returned">कोई पृष्ठ लौटे</string>
|
||||
<string name="msg_sbc_page">पेज</string>
|
||||
<string name="msg_sbc_results">परिणाम</string>
|
||||
<string name="msg_sbc_searching_book">खोज पुस्तक\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">उपलब्ध स्निपेट नहीं</string>
|
||||
<string name="msg_share_explanation">आप अपनी स्क्रीन पर प्रदर्शित बारकोड और यह अन्य फोन के साथ स्कैनिंग द्वारा डेटा साझा कर सकते हैं.</string>
|
||||
<string name="msg_share_text">या कुछ पाठ टाइप करें और प्रेस दर्ज करें</string>
|
||||
<string name="msg_sure">तुम्हें यकीन है?</string>
|
||||
<string name="msg_unmount_usb">क्षमा करें, एसडी कार्ड सुलभ नहीं है.</string>
|
||||
<string name="preferences_actions_title">जब एक बारकोड पाया जाता है\u2026</string>
|
||||
<string name="preferences_auto_focus_title">ऑटो फोकस का उपयोग करें</string>
|
||||
<string name="preferences_bulk_mode_summary">स्कैन और कई बारकोड लगातार बचाने के</string>
|
||||
<string name="preferences_bulk_mode_title">थोक स्कैन मोड</string>
|
||||
<string name="preferences_copy_to_clipboard_title">क्लिपबोर्ड पर कॉपी</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">स्थानापन्न: %s = सामग्री, %f = प्रारूप, %t = टाइप</string>
|
||||
<string name="preferences_custom_product_search_title">कस्टम खोज यूआरएल</string>
|
||||
<string name="preferences_decode_1D_title">1D बारकोड</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">डाटा मैट्रिक्स</string>
|
||||
<string name="preferences_decode_QR_title">QR कोड</string>
|
||||
<string name="preferences_device_bug_workarounds_title">युक्ति बग वर्कअराउन्ड</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">केवल मानक फोकस मोड का उपयोग करें</string>
|
||||
<string name="preferences_disable_continuous_focus_title">कोई निरंतर ध्यान</string>
|
||||
<string name="preferences_disable_exposure_title">कोई जोखिम</string>
|
||||
<string name="preferences_front_light_auto">स्वचालित</string>
|
||||
<string name="preferences_front_light_off">निष्क्रिय</string>
|
||||
<string name="preferences_front_light_on">सक्रिय</string>
|
||||
<string name="preferences_front_light_summary">कुछ फोन पर कम रोशनी में स्कैनिंग बढ़ाता है, लेकिन चमक का कारण हो सकता है. सभी फोन पर काम नहीं करता.</string>
|
||||
<string name="preferences_front_light_title">सामने प्रकाश का उपयोग करें</string>
|
||||
<string name="preferences_general_title">सामान्य सेटिंग्स</string>
|
||||
<string name="preferences_invert_scan_summary">काली पृष्ठभूमि पर सफेद बारकोड के लिए स्कैन करें. कुछ उपकरणों पर उपलब्ध नहीं है.</string>
|
||||
<string name="preferences_invert_scan_title">स्कैन उलटें</string>
|
||||
<string name="preferences_name">सेटिंग्स</string>
|
||||
<string name="preferences_play_beep_title">भोंपू</string>
|
||||
<string name="preferences_remember_duplicates_summary">इतिहास में एक ही बारकोड के स्टोर एकाधिक स्कैन</string>
|
||||
<string name="preferences_remember_duplicates_title">डुप्लिकेट याद रखें</string>
|
||||
<string name="preferences_result_title">नतीजे सेटिंग्स</string>
|
||||
<string name="preferences_scanning_title">जब बारकोड स्कैनिंग के लिए व्याख्या करना\u2026</string>
|
||||
<string name="preferences_search_country">खोज देश</string>
|
||||
<string name="preferences_supplemental_summary">बारकोड सामग्री के बारे में में अधिक जानकारी पुनः प्राप्त करने की कोशिश करो</string>
|
||||
<string name="preferences_supplemental_title">अधिक जानकारी पुनर्प्राप्त</string>
|
||||
<string name="preferences_try_bsplus">बारकोड स्कैनर की कोशिश +</string>
|
||||
<string name="preferences_try_bsplus_summary">नई सुविधाओं और इंटरफेस के साथ बढ़ाया</string>
|
||||
<string name="preferences_vibrate_title">कांपना</string>
|
||||
<string name="result_address_book">मिला संपर्क जानकारी</string>
|
||||
<string name="result_calendar">मिला कैलेंडर घटना</string>
|
||||
<string name="result_email_address">मिला ईमेल पते</string>
|
||||
<string name="result_geo">मिला भौगोलिक निर्देशांक</string>
|
||||
<string name="result_isbn">मिला किताब</string>
|
||||
<string name="result_product">मिला उत्पाद</string>
|
||||
<string name="result_sms">मिला एसएमएस पता</string>
|
||||
<string name="result_tel">मिला फोन नंबर</string>
|
||||
<string name="result_text">मिला सादा पाठ</string>
|
||||
<string name="result_uri">मिला यूआरएल</string>
|
||||
<string name="result_wifi">मिला WLAN विन्यास</string>
|
||||
<string name="sbc_name">Google पुस्तक खोज</string>
|
||||
<string name="wifi_changing_network">नेटवर्क के लिए कनेक्शन का अनुरोध कर रहा है \u2026</string>
|
||||
<string name="wifi_ssid_label">नेटवर्क नाम</string>
|
||||
<string name="wifi_type_label">टाइप</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-hu/strings.xml
Normal file
136
src/java/PluginQR/res/values-hu/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Alkalmazások</string>
|
||||
<string name="bookmark_picker_name">Könyvjelzők</string>
|
||||
<string name="button_add_calendar">Hozzáadás a naptárhoz</string>
|
||||
<string name="button_add_contact">Névjegy hozzáadása</string>
|
||||
<string name="button_book_search">Könyv keresése</string>
|
||||
<string name="button_cancel">Mégse</string>
|
||||
<string name="button_custom_product_search">Egyedi keresés</string>
|
||||
<string name="button_dial">Telefonszám tárcsázása</string>
|
||||
<string name="button_email">E-mail küldése</string>
|
||||
<string name="button_get_directions">Útvonaltervezés</string>
|
||||
<string name="button_mms">MMS küldése</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Böngésző megnyitása</string>
|
||||
<string name="button_product_search">Termék keresése</string>
|
||||
<string name="button_search_book_contents">Tartalom keresése</string>
|
||||
<string name="button_share_app">Alkalmazás</string>
|
||||
<string name="button_share_bookmark">Könyvjelző</string>
|
||||
<string name="button_share_by_email">Megosztás e-mailben</string>
|
||||
<string name="button_share_by_sms">Megosztás SMS-ben</string>
|
||||
<string name="button_share_clipboard">Vágólap</string>
|
||||
<string name="button_share_contact">Névjegy</string>
|
||||
<string name="button_show_map">Térkép mutatása</string>
|
||||
<string name="button_sms">SMS küldése</string>
|
||||
<string name="button_web_search">Keresés a weben</string>
|
||||
<string name="button_wifi">Kapcsolódás hálózathoz</string>
|
||||
<string name="contents_contact">Névjegy információ</string>
|
||||
<string name="contents_email">E-mail cím</string>
|
||||
<string name="contents_location">Földrajzi koordináták</string>
|
||||
<string name="contents_phone">Telefonszám</string>
|
||||
<string name="contents_sms">SMS szám</string>
|
||||
<string name="contents_text">Egyszerű szöveg</string>
|
||||
<string name="history_clear_one_history_text">Törlése</string>
|
||||
<string name="history_clear_text">Előzmények törlése</string>
|
||||
<string name="history_email_title">Barcode Scanner előzmények</string>
|
||||
<string name="history_empty">Üres</string>
|
||||
<string name="history_empty_detail">Nem vonalkód szkennelés lett felvéve még</string>
|
||||
<string name="history_send">Előzmények küldése</string>
|
||||
<string name="history_title">Előzmények</string>
|
||||
<string name="menu_encode_mecard">Használja MECARD</string>
|
||||
<string name="menu_encode_vcard">Használja vCard</string>
|
||||
<string name="menu_help">Súgó</string>
|
||||
<string name="menu_history">Előzmények</string>
|
||||
<string name="menu_settings">Beállítások</string>
|
||||
<string name="menu_share">Megosztás</string>
|
||||
<string name="msg_bulk_mode_scanned">Tömeges beolvasás: vonalkód beszkennelve és mentve</string>
|
||||
<string name="msg_camera_framework_bug">Android kamera hiba. Lehet, hogy újra kell indítania a készüléket.</string>
|
||||
<string name="msg_default_format">Formátum</string>
|
||||
<string name="msg_default_meta">Metaadatok</string>
|
||||
<string name="msg_default_mms_subject">Szia</string>
|
||||
<string name="msg_default_status">Pozícionálja a vonalkódot a kereső téglalapba a szkenneléshez.</string>
|
||||
<string name="msg_default_time">Idő</string>
|
||||
<string name="msg_default_type">Típus</string>
|
||||
<string name="msg_encode_contents_failed">Nem sikerült létrehozni a vonalkódot a megadott adatokból.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">A kért alkalmazást nem lehet elindítani. A vonalkód tartalma lehet, hogy érvénytelen.</string>
|
||||
<string name="msg_redirect">Átirányítás</string>
|
||||
<string name="msg_sbc_book_not_searchable">Ez a könyv nem kereshető.</string>
|
||||
<string name="msg_sbc_failed">A keresés problémába ütközött.</string>
|
||||
<string name="msg_sbc_no_page_returned">Nincs visszakapott oldal</string>
|
||||
<string name="msg_sbc_page">Oldal</string>
|
||||
<string name="msg_sbc_results">Eredmények</string>
|
||||
<string name="msg_sbc_searching_book">Könyv keresése\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Kódrészlet nem elérhető</string>
|
||||
<string name="msg_share_explanation">Meg tud osztani adatot úgy, hogy egy vonalkódot jelenít meg a képernyőjén, melyet egy másik telefon beszkennel.</string>
|
||||
<string name="msg_share_text">Vagy írja be a szöveget és nyomjon Enter-t</string>
|
||||
<string name="msg_sure">Biztos benne?</string>
|
||||
<string name="msg_unmount_usb">Az SD kártya nem elérhető.</string>
|
||||
<string name="preferences_actions_title">Amikor a vonalkód megvan\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Használja autofókusz</string>
|
||||
<string name="preferences_bulk_mode_summary">Több vonalkód folyamatos szkennelése és mentése</string>
|
||||
<string name="preferences_bulk_mode_title">Tömeges beolvasás</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Másolás a vágólapra</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Használjon: %s = tartalom, %f = formátum, %t = típus</string>
|
||||
<string name="preferences_custom_product_search_title">Egyedi kereső URL</string>
|
||||
<string name="preferences_decode_1D_title">1D vonalkódok</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR kódok</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Eszköz Bug Lehetséges megoldások</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Csak a normál élességállítási mód</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Nincs folyamatos fókusz</string>
|
||||
<string name="preferences_disable_exposure_title">No expozíció</string>
|
||||
<string name="preferences_front_light_auto">Automatikus</string>
|
||||
<string name="preferences_front_light_off">Tétlen</string>
|
||||
<string name="preferences_front_light_on">Aktív</string>
|
||||
<string name="preferences_front_light_summary">Javítja a szkennelést kevés fény mellett néhány telefonon, de csillogást okozhat. Nem minden telefonon működik.</string>
|
||||
<string name="preferences_front_light_title">Kamera LED használata</string>
|
||||
<string name="preferences_general_title">Általános beállítások</string>
|
||||
<string name="preferences_invert_scan_summary">Scan fehér vonalkódok a fekete háttér. Nem csak egyes eszközöket.</string>
|
||||
<string name="preferences_invert_scan_title">Invert szkennelés</string>
|
||||
<string name="preferences_name">Beállítások</string>
|
||||
<string name="preferences_play_beep_title">Sípolás</string>
|
||||
<string name="preferences_remember_duplicates_summary">Ugyanannak a vonalkódnak több szkennelt képét is tárolja az Előzményekben</string>
|
||||
<string name="preferences_remember_duplicates_title">Duplikációk megjegyzése</string>
|
||||
<string name="preferences_result_title">Találati beállítások</string>
|
||||
<string name="preferences_scanning_title">Vonalkód szkennelésekor, dekódoláskor\u2026</string>
|
||||
<string name="preferences_search_country">Ország keresése</string>
|
||||
<string name="preferences_supplemental_summary">A vonalkóddal jelzett tartalomról megpróbál több információt letölteni.</string>
|
||||
<string name="preferences_supplemental_title">További információk letöltése</string>
|
||||
<string name="preferences_try_bsplus">Próbálja Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Továbbfejlesztett új jellemzők és interfész</string>
|
||||
<string name="preferences_vibrate_title">Rezgés</string>
|
||||
<string name="result_address_book">Névjegy találat</string>
|
||||
<string name="result_calendar">Naptár esemény találat</string>
|
||||
<string name="result_email_address">E-mail cím találat</string>
|
||||
<string name="result_geo">Földrajzi koordináták találat</string>
|
||||
<string name="result_isbn">Könyv találat</string>
|
||||
<string name="result_product">Termék találat</string>
|
||||
<string name="result_sms">SMS szám találat</string>
|
||||
<string name="result_tel">Telefonszám találat</string>
|
||||
<string name="result_text">Egyszerű szöveg találat</string>
|
||||
<string name="result_uri">URL találat</string>
|
||||
<string name="result_wifi">WLAN konfiguráció találat</string>
|
||||
<string name="sbc_name">Google Könyvek keresés</string>
|
||||
<string name="wifi_changing_network">Kérése kapcsolat hálózati\u2026</string>
|
||||
<string name="wifi_ssid_label">Hálózat neve</string>
|
||||
<string name="wifi_type_label">Típus</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-id/strings.xml
Normal file
136
src/java/PluginQR/res/values-id/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplikasi</string>
|
||||
<string name="bookmark_picker_name">Bookmarks</string>
|
||||
<string name="button_add_calendar">Tambah ke kalendar</string>
|
||||
<string name="button_add_contact">Tambah kontak</string>
|
||||
<string name="button_book_search">Cari Buku</string>
|
||||
<string name="button_cancel">Batal</string>
|
||||
<string name="button_custom_product_search">Pencarian kustom</string>
|
||||
<string name="button_dial">Panggil nomor</string>
|
||||
<string name="button_email">Kirim surel</string>
|
||||
<string name="button_get_directions">Dapatkan petunjuk arah</string>
|
||||
<string name="button_mms">Kirim MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Buka browser</string>
|
||||
<string name="button_product_search">Cari Produk</string>
|
||||
<string name="button_search_book_contents">Cari isi</string>
|
||||
<string name="button_share_app">Aplikasi</string>
|
||||
<string name="button_share_bookmark">Bookmark</string>
|
||||
<string name="button_share_by_email">Bagikan melalui surel</string>
|
||||
<string name="button_share_by_sms">Bagikan melalui SMS</string>
|
||||
<string name="button_share_clipboard">Clipboard</string>
|
||||
<string name="button_share_contact">Kontak</string>
|
||||
<string name="button_show_map">Lihat peta</string>
|
||||
<string name="button_sms">Kirim SMS</string>
|
||||
<string name="button_web_search">Pencarian web</string>
|
||||
<string name="button_wifi">Hubungkan ke Jaringan</string>
|
||||
<string name="contents_contact">Informasi kontak</string>
|
||||
<string name="contents_email">Alamat surel</string>
|
||||
<string name="contents_location">Koordinat geografis</string>
|
||||
<string name="contents_phone">Nomor telepon</string>
|
||||
<string name="contents_sms">Alamat SMS</string>
|
||||
<string name="contents_text">Teks biasa</string>
|
||||
<string name="history_clear_one_history_text">Hapus</string>
|
||||
<string name="history_clear_text">Hapus riwayat</string>
|
||||
<string name="history_email_title">Riwayat Barcode Scanner</string>
|
||||
<string name="history_empty">Kosong</string>
|
||||
<string name="history_empty_detail">Tidak ada scan barcode telah dicatat belum</string>
|
||||
<string name="history_send">Kirim riwayat</string>
|
||||
<string name="history_title">Riwayat</string>
|
||||
<string name="menu_encode_mecard">Gunakan MECARD</string>
|
||||
<string name="menu_encode_vcard">Gunakan vCard</string>
|
||||
<string name="menu_help">Bantuan</string>
|
||||
<string name="menu_history">Riwayat</string>
|
||||
<string name="menu_settings">Pengaturan</string>
|
||||
<string name="menu_share">Bagikan</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulk mode: barcode sudah dipindai dan disimpan</string>
|
||||
<string name="msg_camera_framework_bug">Maaf, kamera pada Android mengalami masalah. Anda mungkin perlu me-restart perangkat.</string>
|
||||
<string name="msg_default_format">Bentuk</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Hai</string>
|
||||
<string name="msg_default_status">Letakkan barcode di dalam kotak jendela untuk memindai.</string>
|
||||
<string name="msg_default_time">Waktu</string>
|
||||
<string name="msg_default_type">Tipe</string>
|
||||
<string name="msg_encode_contents_failed">Tidak dapat meng-encode barcode dari data yang diberikan.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Maaf, aplikasi yang diminta tidak dapat dijalankan. Mungkin ada kesalahan isi barcode.</string>
|
||||
<string name="msg_redirect">Pengalihan</string>
|
||||
<string name="msg_sbc_book_not_searchable">Maaf, buku ini tidak dapat dicari.</string>
|
||||
<string name="msg_sbc_failed">Maaf, pencarian mengalami masalah.</string>
|
||||
<string name="msg_sbc_no_page_returned">Tidak ada halaman kembali</string>
|
||||
<string name="msg_sbc_page">Halaman</string>
|
||||
<string name="msg_sbc_results">Hasil</string>
|
||||
<string name="msg_sbc_searching_book">Mencari buku\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Snippet tidak tersedia</string>
|
||||
<string name="msg_share_explanation">Anda dapat berbagi data dengan menampilkan barcode di layar Anda dan dapat dipindai oleh phone lain.</string>
|
||||
<string name="msg_share_text">Atau masukkan beberapa kata dan tekan Enter</string>
|
||||
<string name="msg_sure">Apakah Anda yakin?</string>
|
||||
<string name="msg_unmount_usb">Maaf, SD card tidak dapat diakses.</string>
|
||||
<string name="preferences_actions_title">Ketika barcode sudah ditemukan\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Menggunakan fokus otomatis</string>
|
||||
<string name="preferences_bulk_mode_summary">Pindai dan simpan beberapa barcode terus-menerus</string>
|
||||
<string name="preferences_bulk_mode_title">Mode pemindaian bulk</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Salin ke clipboard</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Substitusi: %s = isi, %f = format, %t = jenis</string>
|
||||
<string name="preferences_custom_product_search_title">Pencarian URL kustom</string>
|
||||
<string name="preferences_decode_1D_title">1D barcode</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matriks</string>
|
||||
<string name="preferences_decode_QR_title">QR Codes</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Perangkat Bug Workarounds</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Gunakan hanya modus fokus standar</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Tidak ada fokus terus menerus</string>
|
||||
<string name="preferences_disable_exposure_title">Eksposur ada</string>
|
||||
<string name="preferences_front_light_auto">Otomatis</string>
|
||||
<string name="preferences_front_light_off">Non-aktif</string>
|
||||
<string name="preferences_front_light_on">Aktif</string>
|
||||
<string name="preferences_front_light_summary">Meningkatkan scanning dalam cahaya rendah pada beberapa ponsel, namun dapat menyebabkan silau. Tidak bekerja pada semua ponsel.</string>
|
||||
<string name="preferences_front_light_title">Gunakan lampu depan</string>
|
||||
<string name="preferences_general_title">Pengaturan umum</string>
|
||||
<string name="preferences_invert_scan_summary">Memindai barcode putih pada latar belakang hitam. Tidak tersedia pada beberapa perangkat.</string>
|
||||
<string name="preferences_invert_scan_title">Balikkan memindai</string>
|
||||
<string name="preferences_name">Pengaturan</string>
|
||||
<string name="preferences_play_beep_title">Beep</string>
|
||||
<string name="preferences_remember_duplicates_summary">Simpan beberapa pindaian dari barcode yang sama di dalam Riwayat</string>
|
||||
<string name="preferences_remember_duplicates_title">Ingat duplikasi</string>
|
||||
<string name="preferences_result_title">Hasil pengaturan</string>
|
||||
<string name="preferences_scanning_title">Ketika memindai barcode, decode\u2026</string>
|
||||
<string name="preferences_search_country">Pencarian negara</string>
|
||||
<string name="preferences_supplemental_summary">Mencoba mendapatkan beberapa informasi mengenai isi barcode</string>
|
||||
<string name="preferences_supplemental_title">Ambil informasi lebih lanjut</string>
|
||||
<string name="preferences_try_bsplus">Cobalah Scanner Barcode+</string>
|
||||
<string name="preferences_try_bsplus_summary">Ditingkatkan dengan fitur baru dan antarmuka</string>
|
||||
<string name="preferences_vibrate_title">Bergetar</string>
|
||||
<string name="result_address_book">Informasi kontak ditemukan</string>
|
||||
<string name="result_calendar">Kalendar acara ditemukan</string>
|
||||
<string name="result_email_address">Alamat surel ditemukan</string>
|
||||
<string name="result_geo">Koordinat geografis ditemukan</string>
|
||||
<string name="result_isbn">Buku ditemukan</string>
|
||||
<string name="result_product">Produk ditemukan</string>
|
||||
<string name="result_sms">Alamat SMS ditemukan</string>
|
||||
<string name="result_tel">Nomor telepon ditemukan</string>
|
||||
<string name="result_text">Teks biasa ditemukan</string>
|
||||
<string name="result_uri">URL ditemukan</string>
|
||||
<string name="result_wifi">Konfigurasi WLAN ditemukan</string>
|
||||
<string name="sbc_name">Pencarian Google Book</string>
|
||||
<string name="wifi_changing_network">Meminta koneksi ke jaringan\u2026</string>
|
||||
<string name="wifi_ssid_label">Nama Jaringan</string>
|
||||
<string name="wifi_type_label">Tipe</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-it/strings.xml
Normal file
136
src/java/PluginQR/res/values-it/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Applicazioni</string>
|
||||
<string name="bookmark_picker_name">Segnalibri</string>
|
||||
<string name="button_add_calendar">Aggiungi al calendario</string>
|
||||
<string name="button_add_contact">Aggiungi ai contatti</string>
|
||||
<string name="button_book_search">Cerca libro</string>
|
||||
<string name="button_cancel">Annulla</string>
|
||||
<string name="button_custom_product_search">Ricerca personalizzata</string>
|
||||
<string name="button_dial">Componi numero</string>
|
||||
<string name="button_email">Invia email</string>
|
||||
<string name="button_get_directions">Ottieni indirizzi</string>
|
||||
<string name="button_mms">Invia MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Apri browser</string>
|
||||
<string name="button_product_search">Cerca prodotto</string>
|
||||
<string name="button_search_book_contents">Cerca contenuti</string>
|
||||
<string name="button_share_app">Applicazione</string>
|
||||
<string name="button_share_bookmark">Segnalibro</string>
|
||||
<string name="button_share_by_email">Condividi tramite email</string>
|
||||
<string name="button_share_by_sms">Condividi tramite SMS</string>
|
||||
<string name="button_share_clipboard">Appunti</string>
|
||||
<string name="button_share_contact">Contatti</string>
|
||||
<string name="button_show_map">Mostra mappa</string>
|
||||
<string name="button_sms">Invia SMS</string>
|
||||
<string name="button_web_search">Ricerca web</string>
|
||||
<string name="button_wifi">Connessione a rete</string>
|
||||
<string name="contents_contact">Info contatto</string>
|
||||
<string name="contents_email">Indirizzo email</string>
|
||||
<string name="contents_location">Coordinate geografiche</string>
|
||||
<string name="contents_phone">Numero di telefono</string>
|
||||
<string name="contents_sms">Numero SMS</string>
|
||||
<string name="contents_text">Testo puro</string>
|
||||
<string name="history_clear_one_history_text">Cancella</string>
|
||||
<string name="history_clear_text">Cancella cronologia</string>
|
||||
<string name="history_email_title">Cronologia scansioni codici a barre</string>
|
||||
<string name="history_empty">Vuoto</string>
|
||||
<string name="history_empty_detail">Nessuna scansione di codici a barre è stata registrata</string>
|
||||
<string name="history_send">Invia cronologia</string>
|
||||
<string name="history_title">Cronologia</string>
|
||||
<string name="menu_encode_mecard">Usa MECARD</string>
|
||||
<string name="menu_encode_vcard">Usa vCard</string>
|
||||
<string name="menu_help">Aiuto</string>
|
||||
<string name="menu_history">Cronologia</string>
|
||||
<string name="menu_settings">Impostazioni</string>
|
||||
<string name="menu_share">Condividi</string>
|
||||
<string name="msg_bulk_mode_scanned">Modalità di gruppo: codici a barre scansionati e salvati</string>
|
||||
<string name="msg_camera_framework_bug">Spiacenti, la fotocamera Android ha riscontrato un problema. Potrebbe essere necessario riavviare il dispositivo.</string>
|
||||
<string name="msg_default_format">Formato</string>
|
||||
<string name="msg_default_meta">Metadati</string>
|
||||
<string name="msg_default_mms_subject">Ciao</string>
|
||||
<string name="msg_default_status">Posiziona un codice a barre dentro il mirino rettangolare per la scansione.</string>
|
||||
<string name="msg_default_time">Tempo</string>
|
||||
<string name="msg_default_type">Tipo</string>
|
||||
<string name="msg_encode_contents_failed">Impossibile codificare un codice a barre dai dati forniti.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Spiacenti, l\'applicazione richiesta non può essere avviata. Il contenuto del codice a barre può essere non valido.</string>
|
||||
<string name="msg_redirect">Inoltra</string>
|
||||
<string name="msg_sbc_book_not_searchable">Spiacenti, questo libro non è ricercabile.</string>
|
||||
<string name="msg_sbc_failed">Spiacenti, la ricerca ha avuto un problema.</string>
|
||||
<string name="msg_sbc_no_page_returned">Nessuna pagina restitiuta</string>
|
||||
<string name="msg_sbc_page">Pagina</string>
|
||||
<string name="msg_sbc_results">Risultati</string>
|
||||
<string name="msg_sbc_searching_book">Ricerca libro\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Ritaglio non disponibile</string>
|
||||
<string name="msg_share_explanation">Puoi condividere i dati mostrando un codice a barre sullo schermo e facendo la scansione con un altro telefono.</string>
|
||||
<string name="msg_share_text">O digitare un testo</string>
|
||||
<string name="msg_sure">Sei sicuro?</string>
|
||||
<string name="msg_unmount_usb">Spiacenti, la scheda SD non è accessibile.</string>
|
||||
<string name="preferences_actions_title">Quando viene trovato un codice a barre\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Utilizzare messa a fuoco automatica</string>
|
||||
<string name="preferences_bulk_mode_summary">Scansiona e salva diversi codici a barre in sequenza</string>
|
||||
<string name="preferences_bulk_mode_title">Modalità scansione di gruppo</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copia negli appunti</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Sostituzioni: %s = contenuti, %f = formato, %t = tipo</string>
|
||||
<string name="preferences_custom_product_search_title">URL ricerca personalizzata</string>
|
||||
<string name="preferences_decode_1D_title">Codice a barre 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Matrice dati</string>
|
||||
<string name="preferences_decode_QR_title">Codici QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Soluzioni alternative dispositivo Bug</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Utilizzare solo modalità standard messa a fuoco</string>
|
||||
<string name="preferences_disable_continuous_focus_title">No messa a fuoco continua</string>
|
||||
<string name="preferences_disable_exposure_title">Nessuna esposizione</string>
|
||||
<string name="preferences_front_light_auto">Automatico</string>
|
||||
<string name="preferences_front_light_off">Inattivo</string>
|
||||
<string name="preferences_front_light_on">Attivo</string>
|
||||
<string name="preferences_front_light_summary">Migliora la scansione con poca luminosità su alcuni telefoni, ma può provocare abbagliamento. Non funziona su tutti i telefoni.</string>
|
||||
<string name="preferences_front_light_title">Usa luce frontale</string>
|
||||
<string name="preferences_general_title">Impostazioni generali</string>
|
||||
<string name="preferences_invert_scan_summary">Scansione dei codici a barre bianche su sfondo nero. Non disponibile su alcuni dispositivi.</string>
|
||||
<string name="preferences_invert_scan_title">Invertire la scansione</string>
|
||||
<string name="preferences_name">Impostazioni</string>
|
||||
<string name="preferences_play_beep_title">Suona</string>
|
||||
<string name="preferences_remember_duplicates_summary">Mantieni scansioni multiple del codice a barre nella stessa Cronologia</string>
|
||||
<string name="preferences_remember_duplicates_title">Ricorda duplicati</string>
|
||||
<string name="preferences_result_title">Impostazioni risultato</string>
|
||||
<string name="preferences_scanning_title">Durante la scansione di codici a barre, decodifica\u2026</string>
|
||||
<string name="preferences_search_country">Cerca paese</string>
|
||||
<string name="preferences_supplemental_summary">Prova a cercare ulteriori informazioni sul contenuto del codice a barre</string>
|
||||
<string name="preferences_supplemental_title">Recupera altre informazioni</string>
|
||||
<string name="preferences_try_bsplus">Prova Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Arricchito con nuove funzionalità e interfaccia</string>
|
||||
<string name="preferences_vibrate_title">Vibra</string>
|
||||
<string name="result_address_book">Info contatto trovata</string>
|
||||
<string name="result_calendar">Evento calendario trovato</string>
|
||||
<string name="result_email_address">Indirizzo email trovato</string>
|
||||
<string name="result_geo">Coordinate geografiche trovate</string>
|
||||
<string name="result_isbn">Libro trovato</string>
|
||||
<string name="result_product">Prodotto trovato</string>
|
||||
<string name="result_sms">Numero SMS trovato</string>
|
||||
<string name="result_tel">Numero di telefono trovato</string>
|
||||
<string name="result_text">Testo puro trovato</string>
|
||||
<string name="result_uri">URL trovato</string>
|
||||
<string name="result_wifi">Configurazione WLAN trovata</string>
|
||||
<string name="sbc_name">Ricerca Google Book</string>
|
||||
<string name="wifi_changing_network">Richiesta di connessione alla rete\u2026</string>
|
||||
<string name="wifi_ssid_label">Nome rete</string>
|
||||
<string name="wifi_type_label">Tipo</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-iw/strings.xml
Normal file
136
src/java/PluginQR/res/values-iw/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">סורק ברקודים</string>
|
||||
<string name="app_picker_name">יישומים</string>
|
||||
<string name="bookmark_picker_name">סימניות</string>
|
||||
<string name="button_add_calendar">הוסף ללוח שנה</string>
|
||||
<string name="button_add_contact">הוספת איש קשר</string>
|
||||
<string name="button_book_search">חיפוש ספר</string>
|
||||
<string name="button_cancel">ביטול</string>
|
||||
<string name="button_custom_product_search">חיפוש מותאם אישית</string>
|
||||
<string name="button_dial">חייג מספר</string>
|
||||
<string name="button_email">שלח דואר אלקטרוני</string>
|
||||
<string name="button_get_directions">קבל הוראות הגעה</string>
|
||||
<string name="button_mms">שלח הודעת מולטימדיה</string>
|
||||
<string name="button_ok">אישור</string>
|
||||
<string name="button_open_browser">פתח את הדפדפן</string>
|
||||
<string name="button_product_search">חיפוש מוצר</string>
|
||||
<string name="button_search_book_contents">חיפוש בתוכן</string>
|
||||
<string name="button_share_app">יישום</string>
|
||||
<string name="button_share_bookmark">סימניה</string>
|
||||
<string name="button_share_by_email">שתף בדואר אלקטרוני</string>
|
||||
<string name="button_share_by_sms">שתף בהודעה</string>
|
||||
<string name="button_share_clipboard">לוח עריכה</string>
|
||||
<string name="button_share_contact">איש קשר</string>
|
||||
<string name="button_show_map">הצג מפה</string>
|
||||
<string name="button_sms">שלח הודעה</string>
|
||||
<string name="button_web_search">חיפוש באינטרנט</string>
|
||||
<string name="button_wifi">התחבר לרשת</string>
|
||||
<string name="contents_contact">פרטי איש קשר</string>
|
||||
<string name="contents_email">כתובת דואר אלקטרוני</string>
|
||||
<string name="contents_location">קואורדינטות גאוגרפיות</string>
|
||||
<string name="contents_phone">מספר טלפון</string>
|
||||
<string name="contents_sms">כתובת SMS</string>
|
||||
<string name="contents_text">טקסט רגיל</string>
|
||||
<string name="history_clear_one_history_text">נקה</string>
|
||||
<string name="history_clear_text">נקה היסטוריה</string>
|
||||
<string name="history_email_title">היסטוריית סורק הברקודים</string>
|
||||
<string name="history_empty">ריק</string>
|
||||
<string name="history_empty_detail">ברקודים לא נרשמו</string>
|
||||
<string name="history_send">שלח היסטוריה</string>
|
||||
<string name="history_title">היסטוריה</string>
|
||||
<string name="menu_encode_mecard">השתמש MECARD</string>
|
||||
<string name="menu_encode_vcard">השתמש vCard</string>
|
||||
<string name="menu_help">עזרה</string>
|
||||
<string name="menu_history">היסטוריה</string>
|
||||
<string name="menu_settings">הגדרות</string>
|
||||
<string name="menu_share">שתף</string>
|
||||
<string name="msg_bulk_mode_scanned">מצב קבוצה: ברקוד נסרק ונשמר</string>
|
||||
<string name="msg_camera_framework_bug">סליחה, מצלמת האנדרואיד נתקלה בבעיה. ייתכן שיהיה עליך להפעיל מחדש את המכשיר.</string>
|
||||
<string name="msg_default_format">פורמט</string>
|
||||
<string name="msg_default_meta">מטה-נתונים</string>
|
||||
<string name="msg_default_mms_subject">היי</string>
|
||||
<string name="msg_default_status">הצב ברקוד בתוך המלבן כדי לסרוק אותו.</string>
|
||||
<string name="msg_default_time">זמן</string>
|
||||
<string name="msg_default_type">סוג</string>
|
||||
<string name="msg_encode_contents_failed">לא היתה אפשרות לקודד ברקוד מהנתונים שסופקו.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">סליחה, לא ניתן להפעיל את היישום המבוקש. ייתכן שתוכן הברקוד לא תקין.</string>
|
||||
<string name="msg_redirect">נתב מחדש</string>
|
||||
<string name="msg_sbc_book_not_searchable">סליחה, ספר זה אינו ניתן לחיפוש.</string>
|
||||
<string name="msg_sbc_failed">סליחה, החיפוש נתקל בבעיה.</string>
|
||||
<string name="msg_sbc_no_page_returned">לא הוחזר דף</string>
|
||||
<string name="msg_sbc_page">דף</string>
|
||||
<string name="msg_sbc_results">תוצאות</string>
|
||||
<string name="msg_sbc_searching_book">מחפש ספר\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">גזיר לא זמין</string>
|
||||
<string name="msg_share_explanation">באפשרותך לשתף נתונים על-ידי הצגת ברקוד על המסך וסריקתו עם טלפון אחר.</string>
|
||||
<string name="msg_share_text">או הקלד טקסט כלשהו</string>
|
||||
<string name="msg_sure">האם אתה בטוח?</string>
|
||||
<string name="msg_unmount_usb">סליחה, כרטיס הזכרון אינו נגיש.</string>
|
||||
<string name="preferences_actions_title">כאשר ברקוד נמצא\u2026</string>
|
||||
<string name="preferences_auto_focus_title">להשתמש במיקוד האוטומטי</string>
|
||||
<string name="preferences_bulk_mode_summary">סורק ושומר ברקודים באופן רציף</string>
|
||||
<string name="preferences_bulk_mode_title">מצב סריקה מרובה</string>
|
||||
<string name="preferences_copy_to_clipboard_title">העתק ללוח</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">החלפות: s% = התוכן, f% = הפורמט, t% = סוג</string>
|
||||
<string name="preferences_custom_product_search_title">כתובת לחיפוש מותאם אישית</string>
|
||||
<string name="preferences_decode_1D_title">ברקודים חד מימדיים</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">מטריצת נתונים</string>
|
||||
<string name="preferences_decode_QR_title">קודי QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">באג במכשיר דרכים לעקיפת הבעיה</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">השתמש רק במצב רגיל פוקוס</string>
|
||||
<string name="preferences_disable_continuous_focus_title">המיקוד לא רציפה</string>
|
||||
<string name="preferences_disable_exposure_title">אין חשיפה</string>
|
||||
<string name="preferences_front_light_auto">אוטומטי</string>
|
||||
<string name="preferences_front_light_off">לא פעיל</string>
|
||||
<string name="preferences_front_light_on">פעיל</string>
|
||||
<string name="preferences_front_light_summary">משפר את הסריקה בתאורה נמוכה בטלפונים מסוימים, אך עשוי לגרום לסנוור. לא עובד בכל הטלפונים.</string>
|
||||
<string name="preferences_front_light_title">השתמש באור הקדמי</string>
|
||||
<string name="preferences_general_title">הגדרות כלליות</string>
|
||||
<string name="preferences_invert_scan_summary">סרוק ברקודים לבן על רקע שחור. לא זמין על התקנים מסוימים.</string>
|
||||
<string name="preferences_invert_scan_title">היפוך לסרוק</string>
|
||||
<string name="preferences_name">הגדרות</string>
|
||||
<string name="preferences_play_beep_title">צפצוף</string>
|
||||
<string name="preferences_remember_duplicates_summary">אחסן מספר סריקות של אותו הברקוד בהיסטוריה</string>
|
||||
<string name="preferences_remember_duplicates_title">זכור כפילויות</string>
|
||||
<string name="preferences_result_title">הגדרות תוצאה</string>
|
||||
<string name="preferences_scanning_title">בעת סריקת ברקודים, קודד\u2026</string>
|
||||
<string name="preferences_search_country">חיפוש הארץ</string>
|
||||
<string name="preferences_supplemental_summary">נסה למצא מידע נוסף על תוכן הברקוד</string>
|
||||
<string name="preferences_supplemental_title">מצא מידע נוסף</string>
|
||||
<string name="preferences_try_bsplus">נסה סורק ברקודים+</string>
|
||||
<string name="preferences_try_bsplus_summary">משופר עם תכונות וממשק חדשים</string>
|
||||
<string name="preferences_vibrate_title">רטט</string>
|
||||
<string name="result_address_book">נמצא מידע של איש קשר</string>
|
||||
<string name="result_calendar">נמצא אירוע</string>
|
||||
<string name="result_email_address">נמצאה כתובת דוא"ל</string>
|
||||
<string name="result_geo">נמצאו קואורדינטות גיאוגרפיות</string>
|
||||
<string name="result_isbn">נמצא ספר</string>
|
||||
<string name="result_product">נמצא מוצר</string>
|
||||
<string name="result_sms">נמצאה כתובת הודעה</string>
|
||||
<string name="result_tel">נמצא מספר טלפון</string>
|
||||
<string name="result_text">נמצא טקסט</string>
|
||||
<string name="result_uri">נמצאה כתובת אינטרנט</string>
|
||||
<string name="result_wifi">נמצאו הגדרות רשת אל חוטית</string>
|
||||
<string name="sbc_name">Google חיפוש ספרים</string>
|
||||
<string name="wifi_changing_network">בקשת חיבור לרשת \u2026</string>
|
||||
<string name="wifi_ssid_label">שם רשת</string>
|
||||
<string name="wifi_type_label">סוג</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-ja/strings.xml
Normal file
136
src/java/PluginQR/res/values-ja/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">QRコードスキャナー</string>
|
||||
<string name="app_picker_name">アプリケーション</string>
|
||||
<string name="bookmark_picker_name">ブックマーク</string>
|
||||
<string name="button_add_calendar">予定を追加</string>
|
||||
<string name="button_add_contact">連絡先を追加</string>
|
||||
<string name="button_book_search">書籍を検索</string>
|
||||
<string name="button_cancel">キャンセル</string>
|
||||
<string name="button_custom_product_search">カスタムサーチ</string>
|
||||
<string name="button_dial">電話をかける</string>
|
||||
<string name="button_email">メールの送信</string>
|
||||
<string name="button_get_directions">経路を検索</string>
|
||||
<string name="button_mms">MMSの送信</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">ブラウザで表示</string>
|
||||
<string name="button_product_search">商品検索</string>
|
||||
<string name="button_search_book_contents">書籍の中身を検索</string>
|
||||
<string name="button_share_app">アプリを共有</string>
|
||||
<string name="button_share_bookmark">ブックマーク</string>
|
||||
<string name="button_share_by_email">メールで共有</string>
|
||||
<string name="button_share_by_sms">SMSで共有</string>
|
||||
<string name="button_share_clipboard">クリップボードを共有</string>
|
||||
<string name="button_share_contact">連絡先を共有</string>
|
||||
<string name="button_show_map">地図を表示</string>
|
||||
<string name="button_sms">SMSの送信</string>
|
||||
<string name="button_web_search">インターネット検索</string>
|
||||
<string name="button_wifi">ネットワークに接続</string>
|
||||
<string name="contents_contact">連絡先</string>
|
||||
<string name="contents_email">メールアドレス</string>
|
||||
<string name="contents_location">位置情報</string>
|
||||
<string name="contents_phone">電話番号</string>
|
||||
<string name="contents_sms">SMSアドレス</string>
|
||||
<string name="contents_text">テキストデータ</string>
|
||||
<string name="history_clear_one_history_text">削除</string>
|
||||
<string name="history_clear_text">履歴の削除</string>
|
||||
<string name="history_email_title">QRコードスキャナーの履歴</string>
|
||||
<string name="history_empty">履歴なし</string>
|
||||
<string name="history_empty_detail">スキャン履歴がありません</string>
|
||||
<string name="history_send">履歴を送信</string>
|
||||
<string name="history_title">履歴</string>
|
||||
<string name="menu_encode_mecard">MECARDを使用</string>
|
||||
<string name="menu_encode_vcard">vCardを使用</string>
|
||||
<string name="menu_help">ヘルプ</string>
|
||||
<string name="menu_history">履歴</string>
|
||||
<string name="menu_settings">設定</string>
|
||||
<string name="menu_share">共有</string>
|
||||
<string name="msg_bulk_mode_scanned">連続スキャン:スキャン結果を保存しました</string>
|
||||
<string name="msg_camera_framework_bug">Androidのカメラに問題が発生しました。デバイスを再起動する必要があります。</string>
|
||||
<string name="msg_default_format">フォーマット</string>
|
||||
<string name="msg_default_meta">メタデータ</string>
|
||||
<string name="msg_default_mms_subject">こんにちは</string>
|
||||
<string name="msg_default_status">QRコードを画面の読み取り範囲内に写すとスキャンします。</string>
|
||||
<string name="msg_default_time">時間</string>
|
||||
<string name="msg_default_type">タイプ</string>
|
||||
<string name="msg_encode_contents_failed">このデータからQRコードを作成できませんでした</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">指定されたアプリケーションを起動できませんでした。QRコードの内容が無効である可能性があります。</string>
|
||||
<string name="msg_redirect">リダイレクト</string>
|
||||
<string name="msg_sbc_book_not_searchable">この書籍は検索できません</string>
|
||||
<string name="msg_sbc_failed">検索中に問題が発生しました</string>
|
||||
<string name="msg_sbc_no_page_returned">検索結果はありません</string>
|
||||
<string name="msg_sbc_page">ページ</string>
|
||||
<string name="msg_sbc_results">結果</string>
|
||||
<string name="msg_sbc_searching_book">書籍を検索中</string>
|
||||
<string name="msg_sbc_snippet_unavailable">要約文はありません</string>
|
||||
<string name="msg_share_explanation">画面にQRコードを表示させて別の端末でスキャンすれば、データを共有することができます。</string>
|
||||
<string name="msg_share_text">またはテキストを入力してください</string>
|
||||
<string name="msg_sure">よろしいですか?</string>
|
||||
<string name="msg_unmount_usb">SDカードにアクセスできません</string>
|
||||
<string name="preferences_actions_title">スキャン時の動作</string>
|
||||
<string name="preferences_auto_focus_title">オートフォーカスを使用</string>
|
||||
<string name="preferences_bulk_mode_summary">QRコードを連続スキャンして保存します</string>
|
||||
<string name="preferences_bulk_mode_title">連続スキャンモード</string>
|
||||
<string name="preferences_copy_to_clipboard_title">クリップボードにコピー</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">引数:%s=コンテンツ、%f=フォーマット、%t=タイプ</string>
|
||||
<string name="preferences_custom_product_search_title">カスタムサーチ URL</string>
|
||||
<string name="preferences_decode_1D_title">1次元バーコード</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">データマトリクスコード</string>
|
||||
<string name="preferences_decode_QR_title">QRコード</string>
|
||||
<string name="preferences_device_bug_workarounds_title">不具合対策</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">標準フォーカスモードのみ使用します</string>
|
||||
<string name="preferences_disable_continuous_focus_title">追従フォーカスしない</string>
|
||||
<string name="preferences_disable_exposure_title">露出しない</string>
|
||||
<string name="preferences_front_light_auto">自動</string>
|
||||
<string name="preferences_front_light_off">ライトOFF</string>
|
||||
<string name="preferences_front_light_on">ライトON</string>
|
||||
<string name="preferences_front_light_summary">スキャン時のライトを制御します</string>
|
||||
<string name="preferences_front_light_title">ライトの制御</string>
|
||||
<string name="preferences_general_title">一般設定</string>
|
||||
<string name="preferences_invert_scan_summary">黒地に白のバーコードをスキャン。一部のデバイスでは使用できません。</string>
|
||||
<string name="preferences_invert_scan_title">スキャンを反転</string>
|
||||
<string name="preferences_name">設定</string>
|
||||
<string name="preferences_play_beep_title">通知音</string>
|
||||
<string name="preferences_remember_duplicates_summary">同じ内容でも重複して履歴に記録します</string>
|
||||
<string name="preferences_remember_duplicates_title">重複するスキャン結果の記録</string>
|
||||
<string name="preferences_result_title">検索結果の設定</string>
|
||||
<string name="preferences_scanning_title">QRコードスキャン時</string>
|
||||
<string name="preferences_search_country">検索国コード</string>
|
||||
<string name="preferences_supplemental_summary">QRコード内容の詳細情報を取得します</string>
|
||||
<string name="preferences_supplemental_title">詳細情報を取得</string>
|
||||
<string name="preferences_try_bsplus">QRコード+を試す</string>
|
||||
<string name="preferences_try_bsplus_summary">新機能と強化されたインターフェース</string>
|
||||
<string name="preferences_vibrate_title">バイブレーション</string>
|
||||
<string name="result_address_book">連絡先がヒットしました</string>
|
||||
<string name="result_calendar">カレンダーの予定がヒットしました</string>
|
||||
<string name="result_email_address">メールアドレスがヒットしました</string>
|
||||
<string name="result_geo">地理座標がヒットしました</string>
|
||||
<string name="result_isbn">書籍がヒットしました</string>
|
||||
<string name="result_product">商品がヒットしました</string>
|
||||
<string name="result_sms">SMS 連絡先がヒットしました</string>
|
||||
<string name="result_tel">電話番号がヒットしました</string>
|
||||
<string name="result_text">テキストデータがヒットしました</string>
|
||||
<string name="result_uri">URL がヒットしました</string>
|
||||
<string name="result_wifi">ネットワーク設定がヒットしました</string>
|
||||
<string name="sbc_name">Googleブックス</string>
|
||||
<string name="wifi_changing_network">ネットワークへ接続しています…</string>
|
||||
<string name="wifi_ssid_label">ネットワーク名</string>
|
||||
<string name="wifi_type_label">タイプ</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-ko/strings.xml
Normal file
136
src/java/PluginQR/res/values-ko/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">바코드 스캐너</string>
|
||||
<string name="app_picker_name">어플리케이션</string>
|
||||
<string name="bookmark_picker_name">즐겨찾기</string>
|
||||
<string name="button_add_calendar">일정에 추가하기</string>
|
||||
<string name="button_add_contact">연락처에 추가하기</string>
|
||||
<string name="button_book_search">책 검색</string>
|
||||
<string name="button_cancel">취소</string>
|
||||
<string name="button_custom_product_search">사용자 지정 검색</string>
|
||||
<string name="button_dial">전화 걸기</string>
|
||||
<string name="button_email">이메일 보내기</string>
|
||||
<string name="button_get_directions">방향을 찾기</string>
|
||||
<string name="button_mms">MMS 보내기</string>
|
||||
<string name="button_ok">확인</string>
|
||||
<string name="button_open_browser">웹브라우저로 열기</string>
|
||||
<string name="button_product_search">제품 검색</string>
|
||||
<string name="button_search_book_contents">책 내용 검색</string>
|
||||
<string name="button_share_app">어플리케이션</string>
|
||||
<string name="button_share_bookmark">즐겨찾기</string>
|
||||
<string name="button_share_by_email">이메일로 공유</string>
|
||||
<string name="button_share_by_sms">SMS로 공유</string>
|
||||
<string name="button_share_clipboard">복사된 항목</string>
|
||||
<string name="button_share_contact">연락처</string>
|
||||
<string name="button_show_map">지도 보기</string>
|
||||
<string name="button_sms">SMS 보내기</string>
|
||||
<string name="button_web_search">인터넷 검색</string>
|
||||
<string name="button_wifi">네트워크에 연결</string>
|
||||
<string name="contents_contact">연락처 정보</string>
|
||||
<string name="contents_email">이메일 주소</string>
|
||||
<string name="contents_location">GPS 좌표</string>
|
||||
<string name="contents_phone">전화번호</string>
|
||||
<string name="contents_sms">전화번호</string>
|
||||
<string name="contents_text">단문</string>
|
||||
<string name="history_clear_one_history_text">삭제</string>
|
||||
<string name="history_clear_text">기록 삭제</string>
|
||||
<string name="history_email_title">바코드 스캐너 기록</string>
|
||||
<string name="history_empty">빈</string>
|
||||
<string name="history_empty_detail">아무 바코드 스캔이 기록되지 않았습니다</string>
|
||||
<string name="history_send">기록 보내기</string>
|
||||
<string name="history_title">기록</string>
|
||||
<string name="menu_encode_mecard">MECARD를 사용하여</string>
|
||||
<string name="menu_encode_vcard">vCard를 사용하여</string>
|
||||
<string name="menu_help">도움말</string>
|
||||
<string name="menu_history">기록</string>
|
||||
<string name="menu_settings">설정</string>
|
||||
<string name="menu_share">공유</string>
|
||||
<string name="msg_bulk_mode_scanned">일괄 스캔 모드: 바코드가 읽히고 저장됩니다.</string>
|
||||
<string name="msg_camera_framework_bug">죄송합니다. 기기의 카메라에 오류가 생겼습니다. 기기를 재시작 해야될 수도 있습니다.</string>
|
||||
<string name="msg_default_format">포맷</string>
|
||||
<string name="msg_default_meta">메타데이터</string>
|
||||
<string name="msg_default_mms_subject">안녕하세요</string>
|
||||
<string name="msg_default_status">바코드를 사각형 안에 비춰주세요.</string>
|
||||
<string name="msg_default_time">시간</string>
|
||||
<string name="msg_default_type">종류</string>
|
||||
<string name="msg_encode_contents_failed">주어진 데이터로 바코드를 만들지 못하였습니다.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">죄송합니다. 어플리케이션이 실행되지 않습니다. 바코드 내용이 잘못 되었을 수도 있습니다.</string>
|
||||
<string name="msg_redirect">리디렉션</string>
|
||||
<string name="msg_sbc_book_not_searchable">죄송합니다. 이 책은 검색이 되지 않습니다.</string>
|
||||
<string name="msg_sbc_failed">죄송합니다. 검색 도중 문제가 발생했습니다.</string>
|
||||
<string name="msg_sbc_no_page_returned">수신받은 페이지가 없습니다.</string>
|
||||
<string name="msg_sbc_page">페이지</string>
|
||||
<string name="msg_sbc_results">결과</string>
|
||||
<string name="msg_sbc_searching_book">책 검색중\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">내용이 열람되지 않습니다.</string>
|
||||
<string name="msg_share_explanation">해당 기기의 바코드를 다른 기기로 스캔해서 데이터를 공유할 수 있습니다.</string>
|
||||
<string name="msg_share_text">입력하거나 텍스트</string>
|
||||
<string name="msg_sure">계속하시겠습니까?</string>
|
||||
<string name="msg_unmount_usb">죄송합니다. SD카드를 사용할 수 없습니다.</string>
|
||||
<string name="preferences_actions_title">바코드를 스캔했을때\u2026</string>
|
||||
<string name="preferences_auto_focus_title">자동 초점을 사용하여</string>
|
||||
<string name="preferences_bulk_mode_summary">다수의 바코드를 스캔하고 저장합니다.</string>
|
||||
<string name="preferences_bulk_mode_title">일괄 스캔 모드</string>
|
||||
<string name="preferences_copy_to_clipboard_title">복사하기</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">자리 표시자: %s = 내용, %f = 포맷, %t = 유형</string>
|
||||
<string name="preferences_custom_product_search_title">사용자 지정 검색 주소</string>
|
||||
<string name="preferences_decode_1D_title">1차원 바코드를 읽기</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">데이터 행렬(Data Matrix)을 해석하기</string>
|
||||
<string name="preferences_decode_QR_title">QR 코드를 읽기</string>
|
||||
<string name="preferences_device_bug_workarounds_title">장치 버그 해결</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">전용 표준 초점 모드를 사용</string>
|
||||
<string name="preferences_disable_continuous_focus_title">아무 연속 초점 없음</string>
|
||||
<string name="preferences_disable_exposure_title">더 노출하지</string>
|
||||
<string name="preferences_front_light_auto">자동적 인</string>
|
||||
<string name="preferences_front_light_off">비활성</string>
|
||||
<string name="preferences_front_light_on">활동적인</string>
|
||||
<string name="preferences_front_light_summary">특정 기기에서는 어두운 환경에서의 스캐닝 기능을 향상 시키지만 너무 밝을 수도 있습니다. 모든 기기에서 작동되지 않습니다.</string>
|
||||
<string name="preferences_front_light_title">플래시 사용하기</string>
|
||||
<string name="preferences_general_title">일반 설정</string>
|
||||
<string name="preferences_invert_scan_summary">검정 바탕에 흰색 바코드에 대한 스캔. 일부 장치에서 사용할 수 없습니다.</string>
|
||||
<string name="preferences_invert_scan_title">스캔 반전</string>
|
||||
<string name="preferences_name">설정</string>
|
||||
<string name="preferences_play_beep_title">전자음</string>
|
||||
<string name="preferences_remember_duplicates_summary">복수의 같은 바코드를 기록에 저장</string>
|
||||
<string name="preferences_remember_duplicates_title">중복된 바코드 저장</string>
|
||||
<string name="preferences_result_title">결과 설정</string>
|
||||
<string name="preferences_scanning_title">바코드 스캐닝 시\u2026</string>
|
||||
<string name="preferences_search_country">국가별 검색</string>
|
||||
<string name="preferences_supplemental_summary">바코드 내용에 대한 자세한 정보를 검색하려고</string>
|
||||
<string name="preferences_supplemental_title">검색 상세 정보</string>
|
||||
<string name="preferences_try_bsplus">바코드 스캐너를 사용해보십시오 +</string>
|
||||
<string name="preferences_try_bsplus_summary">새로운 기능 및 인터페이스 개선</string>
|
||||
<string name="preferences_vibrate_title">진동</string>
|
||||
<string name="result_address_book">연락처 정보를 찾았습니다</string>
|
||||
<string name="result_calendar">일정 이벤트를 찾았습니다</string>
|
||||
<string name="result_email_address">이메일 주소를 찾았습니다</string>
|
||||
<string name="result_geo">GPS 좌표를 찾았습니다</string>
|
||||
<string name="result_isbn">책을 찾았습니다</string>
|
||||
<string name="result_product">제품을 찾았습니</string>
|
||||
<string name="result_sms">전화번호를 찾았습니다</string>
|
||||
<string name="result_tel">전화번호를 찾았습니다</string>
|
||||
<string name="result_text">단문을 찾았습니다</string>
|
||||
<string name="result_uri">인터넷 주소를 찾았습니다</string>
|
||||
<string name="result_wifi">WiFi 설정을 찾았습니다</string>
|
||||
<string name="sbc_name">구글 책 검색</string>
|
||||
<string name="wifi_changing_network">네트워크에 연결을 요청\u2026</string>
|
||||
<string name="wifi_ssid_label">네트워크 이름</string>
|
||||
<string name="wifi_type_label">종류</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-nl/strings.xml
Normal file
136
src/java/PluginQR/res/values-nl/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Applicaties</string>
|
||||
<string name="bookmark_picker_name">Bladwijzers</string>
|
||||
<string name="button_add_calendar">Toevoegen aan agenda</string>
|
||||
<string name="button_add_contact">Toevoegen aan contactpersonen</string>
|
||||
<string name="button_book_search">Boeken zoeken</string>
|
||||
<string name="button_cancel">Annuleren</string>
|
||||
<string name="button_custom_product_search">Aangepast zoeken</string>
|
||||
<string name="button_dial">Nummer bellen</string>
|
||||
<string name="button_email">E-mail versturen</string>
|
||||
<string name="button_get_directions">Routebeschrijving opvragen</string>
|
||||
<string name="button_mms">MMS versturen</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Browser openen</string>
|
||||
<string name="button_product_search">Producten zoeken</string>
|
||||
<string name="button_search_book_contents">Boekinhoud zoeken</string>
|
||||
<string name="button_share_app">Applicatie</string>
|
||||
<string name="button_share_bookmark">Bladwijzer</string>
|
||||
<string name="button_share_by_email">Delen via e-mail</string>
|
||||
<string name="button_share_by_sms">Delen via sms</string>
|
||||
<string name="button_share_clipboard">Klembord</string>
|
||||
<string name="button_share_contact">Contactpersoon</string>
|
||||
<string name="button_show_map">Kaart weergeven</string>
|
||||
<string name="button_sms">Sms versturen</string>
|
||||
<string name="button_web_search">Zoeken op internet</string>
|
||||
<string name="button_wifi">Verbinden met netwerk</string>
|
||||
<string name="contents_contact">Contactpersooninformatie</string>
|
||||
<string name="contents_email">E-mailadres</string>
|
||||
<string name="contents_location">Geografische coördinaten</string>
|
||||
<string name="contents_phone">Telefoonnummer</string>
|
||||
<string name="contents_sms">Sms-adres</string>
|
||||
<string name="contents_text">Platte tekst</string>
|
||||
<string name="history_clear_one_history_text">Wissen</string>
|
||||
<string name="history_clear_text">Geschiedenis wissen</string>
|
||||
<string name="history_email_title">Barcode Scanner-geschiedenis</string>
|
||||
<string name="history_empty">Leeg</string>
|
||||
<string name="history_empty_detail">Er zijn geen barcodes gescand</string>
|
||||
<string name="history_send">Geschiedenis versturen</string>
|
||||
<string name="history_title">Geschiedenis</string>
|
||||
<string name="menu_encode_mecard">MECARD gebruiken</string>
|
||||
<string name="menu_encode_vcard">vCard gebruiken</string>
|
||||
<string name="menu_help">Help</string>
|
||||
<string name="menu_history">Geschiedenis</string>
|
||||
<string name="menu_settings">Instellingen</string>
|
||||
<string name="menu_share">Delen</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulkmodus: barcode gescand en opgeslagen</string>
|
||||
<string name="msg_camera_framework_bug">Sorry, er is een probleem met de Android-camera. Probeer je telefoon opnieuw op te starten.</string>
|
||||
<string name="msg_default_format">Formaat</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Hallo</string>
|
||||
<string name="msg_default_status">Plaats een barcode binnen de rechthoek om deze te scannen.</string>
|
||||
<string name="msg_default_time">Tijd</string>
|
||||
<string name="msg_default_type">Type</string>
|
||||
<string name="msg_encode_contents_failed">Kan geen barcode genereren op basis van de opgegeven gegevens.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Sorry, de opgevraagde applicatie kan niet worden gestart. De barcode is mogelijk ongeldig.</string>
|
||||
<string name="msg_redirect">Doorverwijzing</string>
|
||||
<string name="msg_sbc_book_not_searchable">Sorry, dit boek kan niet worden doorzocht.</string>
|
||||
<string name="msg_sbc_failed">Sorry, er is een fout opgetreden bij het zoeken.</string>
|
||||
<string name="msg_sbc_no_page_returned">Geen pagina ontvangen</string>
|
||||
<string name="msg_sbc_page">Pagina</string>
|
||||
<string name="msg_sbc_results">Resultaten</string>
|
||||
<string name="msg_sbc_searching_book">Boek doorzoeken\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Fragment niet beschikbaar</string>
|
||||
<string name="msg_share_explanation">Je kunt gegevens delen door een barcode op je scherm te laten zien en deze met een andere telefoon te scannen.</string>
|
||||
<string name="msg_share_text">Of typ wat tekst en druk op Enter</string>
|
||||
<string name="msg_sure">Weet je het zeker?</string>
|
||||
<string name="msg_unmount_usb">Sorry, de SD-kaart is niet toegankelijk.</string>
|
||||
<string name="preferences_actions_title">Wanneer een barcode is gevonden\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Autofocus gebruiken</string>
|
||||
<string name="preferences_bulk_mode_summary">Continu barcodes scannen en opslaan</string>
|
||||
<string name="preferences_bulk_mode_title">Bulkmodus</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopiëren naar klembord</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Vervanginen: %s = inhoud, %f = formaat, %t = type</string>
|
||||
<string name="preferences_custom_product_search_title">Aangepaste zoek-URL</string>
|
||||
<string name="preferences_decode_1D_title">1D-barcodes</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Datamatrix</string>
|
||||
<string name="preferences_decode_QR_title">QR-codes</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Apparaat Bug Tijdelijke oplossingen</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Gebruik alleen standaard focus modus</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Geen continue focus</string>
|
||||
<string name="preferences_disable_exposure_title">Geen blootstelling</string>
|
||||
<string name="preferences_front_light_auto">Automatisch</string>
|
||||
<string name="preferences_front_light_off">Inactieve</string>
|
||||
<string name="preferences_front_light_on">Actief</string>
|
||||
<string name="preferences_front_light_summary">Verbetert het scannen bij weinig licht bij sommige telefoons, maar kan schittering veroorzaken. Werkt niet op alle telefoons.</string>
|
||||
<string name="preferences_front_light_title">Flitser gebruiken</string>
|
||||
<string name="preferences_general_title">Algemene instellingen</string>
|
||||
<string name="preferences_invert_scan_summary">Scan naar witte barcodes op een zwarte achtergrond. Niet beschikbaar op sommige apparaten.</string>
|
||||
<string name="preferences_invert_scan_title">Scan omkeren</string>
|
||||
<string name="preferences_name">Instellingen</string>
|
||||
<string name="preferences_play_beep_title">Piepen</string>
|
||||
<string name="preferences_remember_duplicates_summary">Meerdere scans van dezelfde barcode opslaan in de geschiedenis</string>
|
||||
<string name="preferences_remember_duplicates_title">Dubbele onthouden</string>
|
||||
<string name="preferences_result_title">Instellingen voor resultaten</string>
|
||||
<string name="preferences_scanning_title">Bij het scannen van barcodes, decodeer\u2026</string>
|
||||
<string name="preferences_search_country">Zoeken op land</string>
|
||||
<string name="preferences_supplemental_summary">Meer informatie over de inhoud van de barcode proberen op te halen</string>
|
||||
<string name="preferences_supplemental_title">Meer informatie ophalen</string>
|
||||
<string name="preferences_try_bsplus">Probeer Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Uitgebreid met nieuwe functies en interface</string>
|
||||
<string name="preferences_vibrate_title">Trillen</string>
|
||||
<string name="result_address_book">Contactpersooninformatie gevonden</string>
|
||||
<string name="result_calendar">Agendagebeurtenis gevonden</string>
|
||||
<string name="result_email_address">E-mailadres gevonden</string>
|
||||
<string name="result_geo">Geografische coördinaten gevonden</string>
|
||||
<string name="result_isbn">Boek gevonden</string>
|
||||
<string name="result_product">Product gevonden</string>
|
||||
<string name="result_sms">Sms-adres gevonden</string>
|
||||
<string name="result_tel">Telefoonnummer gevonden</string>
|
||||
<string name="result_text">Platte tekst gevonden</string>
|
||||
<string name="result_uri">URL gevonden</string>
|
||||
<string name="result_wifi">WLAN-configuratie gevonden</string>
|
||||
<string name="sbc_name">Zoeken op Google Boeken</string>
|
||||
<string name="wifi_changing_network">Verbinding met netwerk opvragen\u2026</string>
|
||||
<string name="wifi_ssid_label">Netwerknaam</string>
|
||||
<string name="wifi_type_label">Type</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-pl/strings.xml
Normal file
136
src/java/PluginQR/res/values-pl/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplikacje</string>
|
||||
<string name="bookmark_picker_name">Zakładki</string>
|
||||
<string name="button_add_calendar">Dodaj do kalendarza</string>
|
||||
<string name="button_add_contact">Dodaj kontakt</string>
|
||||
<string name="button_book_search">Szukaj książek</string>
|
||||
<string name="button_cancel">Anuluj</string>
|
||||
<string name="button_custom_product_search">Wyszukiwanie indywidualne</string>
|
||||
<string name="button_dial">Zadzwoń</string>
|
||||
<string name="button_email">Wyślij email</string>
|
||||
<string name="button_get_directions">Wskazówki</string>
|
||||
<string name="button_mms">Wyślij MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Otwórz przeglądarkę</string>
|
||||
<string name="button_product_search">Szukaj produktów</string>
|
||||
<string name="button_search_book_contents">Przeszukaj zawartość</string>
|
||||
<string name="button_share_app">Aplikacja</string>
|
||||
<string name="button_share_bookmark">Zakładka</string>
|
||||
<string name="button_share_by_email">Udostępnij przez email</string>
|
||||
<string name="button_share_by_sms">Udostępnij przez SMS</string>
|
||||
<string name="button_share_clipboard">Schowek</string>
|
||||
<string name="button_share_contact">Kontakt</string>
|
||||
<string name="button_show_map">Pokaż mapę</string>
|
||||
<string name="button_sms">Wyślij SMS</string>
|
||||
<string name="button_web_search">Szukaj w sieci</string>
|
||||
<string name="button_wifi">Podłącz do sieci</string>
|
||||
<string name="contents_contact">Informacje o kontakcie</string>
|
||||
<string name="contents_email">Adres email</string>
|
||||
<string name="contents_location">Współrzędne geograficzne</string>
|
||||
<string name="contents_phone">Numer telefonu</string>
|
||||
<string name="contents_sms">Adres SMS</string>
|
||||
<string name="contents_text">Zwykły tekst</string>
|
||||
<string name="history_clear_one_history_text">Wyczyść</string>
|
||||
<string name="history_clear_text">Wyczyść historię</string>
|
||||
<string name="history_email_title">Historia Skanera Kodów Paskowych</string>
|
||||
<string name="history_empty">Pusty</string>
|
||||
<string name="history_empty_detail">Brak zeskanowanych kodów</string>
|
||||
<string name="history_send">Wyślij historię</string>
|
||||
<string name="history_title">Historia</string>
|
||||
<string name="menu_encode_mecard">Użyj MECARD</string>
|
||||
<string name="menu_encode_vcard">Użyj vCard</string>
|
||||
<string name="menu_help">Pomoc</string>
|
||||
<string name="menu_history">Historia</string>
|
||||
<string name="menu_settings">Ustawienia</string>
|
||||
<string name="menu_share">Udostępnij</string>
|
||||
<string name="msg_bulk_mode_scanned">Tryb zbiorczy: skanowanie i zapisywanie kodów kreskowych w trybie ciągłym</string>
|
||||
<string name="msg_camera_framework_bug">Przepraszamy, aparat Android napotkał problem. Może wystąpić potrzeba ponownego uruchomienia urządzenia.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadanych</string>
|
||||
<string name="msg_default_mms_subject">Cześć</string>
|
||||
<string name="msg_default_status">Umieść kod paskowy w prostokącie wizjera aby zeskanować.</string>
|
||||
<string name="msg_default_time">Czas</string>
|
||||
<string name="msg_default_type">Typ</string>
|
||||
<string name="msg_encode_contents_failed">Nie można zakodować kodu paskowego z dostarczonych danych.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Przepraszamy, żadana aplikacja nie może zostać uruchomiona. Zawartość kodu paskowego może być nieprawidłowa.</string>
|
||||
<string name="msg_redirect">Przekierowanie</string>
|
||||
<string name="msg_sbc_book_not_searchable">Przepraszamy, ta książka nie jest przeszukiwalna.</string>
|
||||
<string name="msg_sbc_failed">Przepraszamy, wyszukiwania napotkało problem.</string>
|
||||
<string name="msg_sbc_no_page_returned">Nie zwrócono żadnej strony</string>
|
||||
<string name="msg_sbc_page">Strona</string>
|
||||
<string name="msg_sbc_results">Wyniki</string>
|
||||
<string name="msg_sbc_searching_book">Przeszukiwanie książki\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Wycinek niedostępny</string>
|
||||
<string name="msg_share_explanation">Możesz udostępniać dane wyświetlając kod paskowy na swoim ekranie i skanując go innym telefonem.</string>
|
||||
<string name="msg_share_text">Albo wpisz tekst</string>
|
||||
<string name="msg_sure">Czy na pewno?</string>
|
||||
<string name="msg_unmount_usb">Niestety, karta SD nie jest dostępna.</string>
|
||||
<string name="preferences_actions_title">Akcja po odnalezieniu kodu\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Ustaw ostrość</string>
|
||||
<string name="preferences_bulk_mode_summary">Skanowanie i zapisywanie wielu kodów kreskowych jeden po drugim w trybie ciągłym</string>
|
||||
<string name="preferences_bulk_mode_title">Tryb ciągłego skanowania</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopiuj do schowka</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Zastępstwa: %s = zawartość, %f = format, %t = typ</string>
|
||||
<string name="preferences_custom_product_search_title">Własny URL wyszukiwania</string>
|
||||
<string name="preferences_decode_1D_title">Dekoduj kody 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Dekoduj Decode Matrix</string>
|
||||
<string name="preferences_decode_QR_title">Dekoduj kody QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Obejścia błędów urządzeń</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Używaj tylko standardowego trybu ostrości</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Ostrość</string>
|
||||
<string name="preferences_disable_exposure_title">Bez ekspozycji</string>
|
||||
<string name="preferences_front_light_auto">Automatyczny</string>
|
||||
<string name="preferences_front_light_off">Nieaktywny</string>
|
||||
<string name="preferences_front_light_on">Aktywny</string>
|
||||
<string name="preferences_front_light_summary">Polepsza skanowanie przy małej ilości światła w niektórych telefonach, ale może powodować odbłysk. Nie działa na wszystkich telefonach.</string>
|
||||
<string name="preferences_front_light_title">Używaj lampy frontowej</string>
|
||||
<string name="preferences_general_title">Ustawienia ogólne</string>
|
||||
<string name="preferences_invert_scan_summary">Skanowanie białych kodów kreskowych na czarnym tle. Nie dostępne w niektórych urządzeniach.</string>
|
||||
<string name="preferences_invert_scan_title">Odwróć skanowania</string>
|
||||
<string name="preferences_name">Ustawienia</string>
|
||||
<string name="preferences_play_beep_title">Piszcz</string>
|
||||
<string name="preferences_remember_duplicates_summary">Przechowuj zaskanowane kody w tej samej historii</string>
|
||||
<string name="preferences_remember_duplicates_title">Pamiętaj, duplikaty</string>
|
||||
<string name="preferences_result_title">Ustawienia wyników</string>
|
||||
<string name="preferences_scanning_title">Podczas skanowania kodów kreskowych\u2026</string>
|
||||
<string name="preferences_search_country">Szukaj kraju</string>
|
||||
<string name="preferences_supplemental_summary">Spróbuj wyszukać więcej informacji na temat kodów kreskowych</string>
|
||||
<string name="preferences_supplemental_title">Pobierz więcej informacji</string>
|
||||
<string name="preferences_try_bsplus">Wypróbuj Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Wzbogacony o nowe funkcje i interfejs</string>
|
||||
<string name="preferences_vibrate_title">Wibruj</string>
|
||||
<string name="result_address_book">Znaleziono dane kontaktu</string>
|
||||
<string name="result_calendar">Znaleziono wydarzenie z kalendarza</string>
|
||||
<string name="result_email_address">Znaleziono adres email</string>
|
||||
<string name="result_geo">Znaleziono współrzędne geograficzne</string>
|
||||
<string name="result_isbn">Znaleziono książkę</string>
|
||||
<string name="result_product">Znaleziono produkt</string>
|
||||
<string name="result_sms">Znaleziono adres SMS</string>
|
||||
<string name="result_tel">Znaleziono numer telefonu</string>
|
||||
<string name="result_text">Znaleziono zwykły tekst</string>
|
||||
<string name="result_uri">Znaleziono URL</string>
|
||||
<string name="result_wifi">Znaleziono konfiguracje sieci</string>
|
||||
<string name="sbc_name">Wyszukiwanie książek Google</string>
|
||||
<string name="wifi_changing_network">Ubiegającymi się o przyłączenie do sieci\u2026</string>
|
||||
<string name="wifi_ssid_label">Nazwa sieci</string>
|
||||
<string name="wifi_type_label">Typ</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-pt/strings.xml
Normal file
136
src/java/PluginQR/res/values-pt/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplicações</string>
|
||||
<string name="bookmark_picker_name">Favoritos</string>
|
||||
<string name="button_add_calendar">Adicionar ao calendário</string>
|
||||
<string name="button_add_contact">Adicionar contacto</string>
|
||||
<string name="button_book_search">Procurar livro</string>
|
||||
<string name="button_cancel">Cancelar</string>
|
||||
<string name="button_custom_product_search">Pesquisa Personalizada</string>
|
||||
<string name="button_dial">Marcar número</string>
|
||||
<string name="button_email">Enviar e-mail</string>
|
||||
<string name="button_get_directions">Obter direcções</string>
|
||||
<string name="button_mms">Enviar MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Abrir navegador</string>
|
||||
<string name="button_product_search">Procurar produto</string>
|
||||
<string name="button_search_book_contents">Pesquisar conteúdos</string>
|
||||
<string name="button_share_app">Aplicação</string>
|
||||
<string name="button_share_bookmark">Favorito</string>
|
||||
<string name="button_share_by_email">Partilhar via e-mail</string>
|
||||
<string name="button_share_by_sms">Partilhar via SMS</string>
|
||||
<string name="button_share_clipboard">Área de transferência</string>
|
||||
<string name="button_share_contact">Contacto</string>
|
||||
<string name="button_show_map">Visualizar mapa</string>
|
||||
<string name="button_sms">Enviar SMS</string>
|
||||
<string name="button_web_search">Pesquisa na Web</string>
|
||||
<string name="button_wifi">Conectar à rede</string>
|
||||
<string name="contents_contact">Informação de contacto</string>
|
||||
<string name="contents_email">Endereço de e-mail</string>
|
||||
<string name="contents_location">Coordenadas geográficas</string>
|
||||
<string name="contents_phone">Número de telefone</string>
|
||||
<string name="contents_sms">Endereço SMS</string>
|
||||
<string name="contents_text">Texto simples</string>
|
||||
<string name="history_clear_one_history_text">Limpar</string>
|
||||
<string name="history_clear_text">Limpar histórico</string>
|
||||
<string name="history_email_title">Histórico do Barcode Scanner</string>
|
||||
<string name="history_empty">Vazio</string>
|
||||
<string name="history_empty_detail">Não código de barras foram registrados</string>
|
||||
<string name="history_send">Enviar histórico</string>
|
||||
<string name="history_title">Histórico</string>
|
||||
<string name="menu_encode_mecard">Usar MECARD</string>
|
||||
<string name="menu_encode_vcard">Usar vCard</string>
|
||||
<string name="menu_help">Ajuda</string>
|
||||
<string name="menu_history">Histórico</string>
|
||||
<string name="menu_settings">Definições</string>
|
||||
<string name="menu_share">Partilhar</string>
|
||||
<string name="msg_bulk_mode_scanned">Modo em massa: código de barras lido e guardado</string>
|
||||
<string name="msg_camera_framework_bug">Desculpe, a câmera do Android encontrou um problema. Poderá precisar de reiniciar o dispositivo.</string>
|
||||
<string name="msg_default_format">Formato</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Olá</string>
|
||||
<string name="msg_default_status">Alinhar código de barras com o exemplo para ser lido.</string>
|
||||
<string name="msg_default_time">Tempo</string>
|
||||
<string name="msg_default_type">Tipo</string>
|
||||
<string name="msg_encode_contents_failed">Não foi possível codificar o código de barradas apartir dos dados fornecidos.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Desculpe, a aplicação solicitada não pode ser iniciada. O conteúdo do código de barras poderá ser inválido.</string>
|
||||
<string name="msg_redirect">Redirecionar</string>
|
||||
<string name="msg_sbc_book_not_searchable">Desculpe, este livro não é pesquisável.</string>
|
||||
<string name="msg_sbc_failed">Desculpe, foi encontrado um erro na pesquisa.</string>
|
||||
<string name="msg_sbc_no_page_returned">Nenhuma página obtida</string>
|
||||
<string name="msg_sbc_page">Página</string>
|
||||
<string name="msg_sbc_results">Resultados</string>
|
||||
<string name="msg_sbc_searching_book">A procurar livro\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Trecho não disponível</string>
|
||||
<string name="msg_share_explanation">Pode partilhar dados exibindo um código de barras no seu ecrã e lendo-o com outro telemóvel</string>
|
||||
<string name="msg_share_text">Ou introduza algum texto e pressione Enter</string>
|
||||
<string name="msg_sure">Tem a certeza?</string>
|
||||
<string name="msg_unmount_usb">Desculpe, o cartão SD não está disponível.</string>
|
||||
<string name="preferences_actions_title">Quando o código de barras é encontrado\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Usar foco automático</string>
|
||||
<string name="preferences_bulk_mode_summary">Ler e guardar códigos de barras continuamente</string>
|
||||
<string name="preferences_bulk_mode_title">Modo em massa</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copiar para a área de transferência</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Substituições: %s = conteúdos, %f = formato, %t = tipo</string>
|
||||
<string name="preferences_custom_product_search_title">Pesquisa personalizada de URL</string>
|
||||
<string name="preferences_decode_1D_title">Código de barras 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR Codes</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Soluções alternativas de dispositivos com erros</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Use apenas o modo de focagem padrão</string>
|
||||
<string name="preferences_disable_continuous_focus_title">No foco contínuo</string>
|
||||
<string name="preferences_disable_exposure_title">Nenhuma exposição</string>
|
||||
<string name="preferences_front_light_auto">Automático</string>
|
||||
<string name="preferences_front_light_off">Inativo</string>
|
||||
<string name="preferences_front_light_on">Ativo</string>
|
||||
<string name="preferences_front_light_summary">Melhora a leitura em luz fraca em alguns telefones, mas pode causar clarões. Não disponível em certos dispositivos.</string>
|
||||
<string name="preferences_front_light_title">Usar luz da frente</string>
|
||||
<string name="preferences_general_title">Definições Gerais</string>
|
||||
<string name="preferences_invert_scan_summary">Procurar por códigos de barras brancos em fundo preto. Não disponível em certos dispositivos.</string>
|
||||
<string name="preferences_invert_scan_title">Inverter leitura</string>
|
||||
<string name="preferences_name">Definições</string>
|
||||
<string name="preferences_play_beep_title">Apitar</string>
|
||||
<string name="preferences_remember_duplicates_summary">Guardar pesquisas múltiplas do mesmo código de barras no histórico</string>
|
||||
<string name="preferences_remember_duplicates_title">Lembrar duplicados</string>
|
||||
<string name="preferences_result_title">Definições do resultado</string>
|
||||
<string name="preferences_scanning_title">Quando procurar por códigos de barras, descodificar\u2026</string>
|
||||
<string name="preferences_search_country">País busca</string>
|
||||
<string name="preferences_supplemental_summary">Tentar recuperar mais informação sobre os conteúdos dos códigos de barras</string>
|
||||
<string name="preferences_supplemental_title">Recuperar mais informação</string>
|
||||
<string name="preferences_try_bsplus">Tente Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Aprimorado com novos recursos e interface</string>
|
||||
<string name="preferences_vibrate_title">Vibrar</string>
|
||||
<string name="result_address_book">Info de contacto encontrada</string>
|
||||
<string name="result_calendar">Evento de calendário encontrado</string>
|
||||
<string name="result_email_address">Endereço de e-mail encontrado</string>
|
||||
<string name="result_geo">Coordenadas geográficas encontradas</string>
|
||||
<string name="result_isbn">Livro encontrado</string>
|
||||
<string name="result_product">Produto encontrado</string>
|
||||
<string name="result_sms">Endereço SMS encontrado</string>
|
||||
<string name="result_tel">Número de telefone encontrado</string>
|
||||
<string name="result_text">Texto simples encontrado</string>
|
||||
<string name="result_uri">URL encontrado</string>
|
||||
<string name="result_wifi">Configuração WLAN encontrados</string>
|
||||
<string name="sbc_name">Pesquisa Google Book</string>
|
||||
<string name="wifi_changing_network">Solicitando ligação à rede\u2026</string>
|
||||
<string name="wifi_ssid_label">Nome da Rede</string>
|
||||
<string name="wifi_type_label">Tipo</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-ro/strings.xml
Normal file
136
src/java/PluginQR/res/values-ro/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplicații</string>
|
||||
<string name="bookmark_picker_name">Nume însemnare</string>
|
||||
<string name="button_add_calendar">Adaugă în calendar</string>
|
||||
<string name="button_add_contact">Adaugă contact</string>
|
||||
<string name="button_book_search">Caută carte</string>
|
||||
<string name="button_cancel">Renunță</string>
|
||||
<string name="button_custom_product_search">Căutare personalizată</string>
|
||||
<string name="button_dial">Telefonează la numărul</string>
|
||||
<string name="button_email">Trimite e-mail</string>
|
||||
<string name="button_get_directions">Descarcă indicații</string>
|
||||
<string name="button_mms">Trimite MMS</string>
|
||||
<string name="button_ok">Acceptă</string>
|
||||
<string name="button_open_browser">Deschide navigator</string>
|
||||
<string name="button_product_search">Caută produs</string>
|
||||
<string name="button_search_book_contents">Caută conținut</string>
|
||||
<string name="button_share_app">Aplicație</string>
|
||||
<string name="button_share_bookmark">Semn de carte</string>
|
||||
<string name="button_share_by_email">Distribuie prin e-mail</string>
|
||||
<string name="button_share_by_sms">Distribuie prin SMS</string>
|
||||
<string name="button_share_clipboard">Clipboard</string>
|
||||
<string name="button_share_contact">Contact</string>
|
||||
<string name="button_show_map">Arată harta</string>
|
||||
<string name="button_sms">Trimite SMS</string>
|
||||
<string name="button_web_search">Caută pe web</string>
|
||||
<string name="button_wifi">Conectează la rețea</string>
|
||||
<string name="contents_contact">Informații de contact</string>
|
||||
<string name="contents_email">Adresă de e-mail</string>
|
||||
<string name="contents_location">Coordonate geografice</string>
|
||||
<string name="contents_phone">Telefon</string>
|
||||
<string name="contents_sms">Număr de SMS</string>
|
||||
<string name="contents_text">Text</string>
|
||||
<string name="history_clear_text">Șterge istoricul</string>
|
||||
<string name="history_clear_one_history_text">Șterge</string>
|
||||
<string name="history_email_title">Istoric Barcode Scanner</string>
|
||||
<string name="history_empty">Nicio înregistare</string>
|
||||
<string name="history_empty_detail">Nicio scanare de coduri de bară nu a fost înregistrată</string>
|
||||
<string name="history_send">Trimite istoric</string>
|
||||
<string name="history_title">Istoric</string>
|
||||
<string name="menu_encode_mecard">Folosește MECARD</string>
|
||||
<string name="menu_encode_vcard">Folosește vCard</string>
|
||||
<string name="menu_help">Ajutor</string>
|
||||
<string name="menu_history">Istoric</string>
|
||||
<string name="menu_settings">Configurări</string>
|
||||
<string name="menu_share">Distribuie</string>
|
||||
<string name="msg_bulk_mode_scanned">Scanare continuă: cod de bare scanat și salvat</string>
|
||||
<string name="msg_camera_framework_bug">Probleme cu camera foto. Repornește dispozitivul.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadate</string>
|
||||
<string name="msg_default_mms_subject">Servus</string>
|
||||
<string name="msg_default_status">Plasează codul de bare în interiorul vizorului pentru a-l scana</string>
|
||||
<string name="msg_default_time">Ora</string>
|
||||
<string name="msg_default_type">Tip</string>
|
||||
<string name="msg_encode_contents_failed">Codificare eșuată a codului de bare, din datele furnizate</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Aplicația solicitată nu a putut fi lansată. Codul de bare poate fi incorect.</string>
|
||||
<string name="msg_redirect">Redirecționare</string>
|
||||
<string name="msg_sbc_book_not_searchable">Cartea nu poate fi căutată</string>
|
||||
<string name="msg_sbc_failed">Căutarea a întâmpinat probleme</string>
|
||||
<string name="msg_sbc_no_page_returned">Nicio pagină găsită</string>
|
||||
<string name="msg_sbc_page">Pagina</string>
|
||||
<string name="msg_sbc_results">Rezultate</string>
|
||||
<string name="msg_sbc_searching_book">Caută cartea\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Fragment indisponibil</string>
|
||||
<string name="msg_share_explanation">Poți distribui datele afișând codul pe ecran și scanându-l cu alt aparat</string>
|
||||
<string name="msg_share_text">Sau introdu textul și tastează Enter</string>
|
||||
<string name="msg_sure">Confirmă</string>
|
||||
<string name="msg_unmount_usb">Card SD inaccesibil</string>
|
||||
<string name="preferences_actions_title">Când un cod de bare este găsit\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Folosește focalizare automată</string>
|
||||
<string name="preferences_bulk_mode_summary">Scanează continuu și salvează codurile de bară</string>
|
||||
<string name="preferences_bulk_mode_title">Scanare continuă</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copiază în clipboard</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Înlocuiri: %s = conținut, %f = format, %t = tip</string>
|
||||
<string name="preferences_custom_product_search_title">Căutare URL personalizată</string>
|
||||
<string name="preferences_decode_1D_title">Coduri de bară 1D</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Coduri Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">Coduri QR</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Rezolvări rapide ale defectelor la aparat</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Folosește focalizarea standard</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Dezactivează focalizarea continuă</string>
|
||||
<string name="preferences_disable_exposure_title">Nicio expunere</string>
|
||||
<string name="preferences_front_light_summary">Îmbunătățește scanarea în lumină redusă, dar poate cauza strălucire excesivă. Nu funcționează la toate aparatele.</string>
|
||||
<string name="preferences_front_light_title">Folosește lumina frontală</string>
|
||||
<string name="preferences_front_light_auto">Iluminare automată</string>
|
||||
<string name="preferences_front_light_off">Oprește</string>
|
||||
<string name="preferences_front_light_on">Pornește</string>
|
||||
<string name="preferences_general_title">Configurări generale</string>
|
||||
<string name="preferences_invert_scan_title">Scanare în negativ</string>
|
||||
<string name="preferences_invert_scan_summary">Scanează coduri de bară albe pe fundal negru. Indisponibil pe unele aparate.</string>
|
||||
<string name="preferences_name">Configurări</string>
|
||||
<string name="preferences_play_beep_title">Sună</string>
|
||||
<string name="preferences_remember_duplicates_summary">Înregistrează în Istoric, scanări multiple ale aceluiași cod de bare</string>
|
||||
<string name="preferences_remember_duplicates_title">Reține scanările duplicat</string>
|
||||
<string name="preferences_result_title">Configurări rezultate</string>
|
||||
<string name="preferences_scanning_title">Când scanează coduri de bară, decodifică\u2026</string>
|
||||
<string name="preferences_search_country">Caută țara</string>
|
||||
<string name="preferences_try_bsplus">Încearcă Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Îmbogățit cu noi funcționalități și o nouă interfață</string>
|
||||
<string name="preferences_supplemental_summary">Încearcă preluarea mai multor informații din conținutul codurilor de bară</string>
|
||||
<string name="preferences_supplemental_title">Preia mai multe informații</string>
|
||||
<string name="preferences_vibrate_title">Vibrează</string>
|
||||
<string name="result_address_book">Găsit informații de contact</string>
|
||||
<string name="result_calendar">Găsit eveniment în calendar</string>
|
||||
<string name="result_email_address">Găsit adresa de e-mail</string>
|
||||
<string name="result_geo">Găsit coordonatele geografice</string>
|
||||
<string name="result_isbn">Găsit cartea</string>
|
||||
<string name="result_product">Găsit produs</string>
|
||||
<string name="result_sms">Găsit număr de SMS</string>
|
||||
<string name="result_tel">Găsit număr de telefon</string>
|
||||
<string name="result_text">Găsit text</string>
|
||||
<string name="result_uri">Găsit URL</string>
|
||||
<string name="result_wifi">Găsit configurarea WLAN</string>
|
||||
<string name="sbc_name">Căutare Google Cărți</string>
|
||||
<string name="wifi_changing_network">Solicită conexiune la rețea\u2026</string>
|
||||
<string name="wifi_ssid_label">Nume rețea</string>
|
||||
<string name="wifi_type_label">Tip</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-ru/strings.xml
Normal file
136
src/java/PluginQR/res/values-ru/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Сканер штрих-кодов</string>
|
||||
<string name="app_picker_name">Программы</string>
|
||||
<string name="bookmark_picker_name">Закладки</string>
|
||||
<string name="button_add_calendar">Добавить в календарь</string>
|
||||
<string name="button_add_contact">Добавить контакт</string>
|
||||
<string name="button_book_search">Поиск книги</string>
|
||||
<string name="button_cancel">Отмена</string>
|
||||
<string name="button_custom_product_search">Пользовательский поиск</string>
|
||||
<string name="button_dial">Набрать номер</string>
|
||||
<string name="button_email">Отправить e-mail</string>
|
||||
<string name="button_get_directions">Проложить маршрут</string>
|
||||
<string name="button_mms">Послать MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Открыть браузер</string>
|
||||
<string name="button_product_search">Поиск товара</string>
|
||||
<string name="button_search_book_contents">Поиск содержания книги</string>
|
||||
<string name="button_share_app">Программа</string>
|
||||
<string name="button_share_bookmark">Закладка</string>
|
||||
<string name="button_share_by_email">Поделиться через эл. почту</string>
|
||||
<string name="button_share_by_sms">Поделиться через SMS</string>
|
||||
<string name="button_share_clipboard">Буфер обмена</string>
|
||||
<string name="button_share_contact">Контакт</string>
|
||||
<string name="button_show_map">Показать карту</string>
|
||||
<string name="button_sms">Отправить SMS</string>
|
||||
<string name="button_web_search">Поиск в интернете</string>
|
||||
<string name="button_wifi">Подключиться к сети</string>
|
||||
<string name="contents_contact">Контактная информация</string>
|
||||
<string name="contents_email">Адрес эл. почты</string>
|
||||
<string name="contents_location">Географические координаты</string>
|
||||
<string name="contents_phone">Номер телефона</string>
|
||||
<string name="contents_sms">Адрес для SMS</string>
|
||||
<string name="contents_text">Текст</string>
|
||||
<string name="history_clear_one_history_text">Удалить</string>
|
||||
<string name="history_clear_text">Удалить историю</string>
|
||||
<string name="history_email_title">История сканирования</string>
|
||||
<string name="history_empty">Пусто</string>
|
||||
<string name="history_empty_detail">Нет сохраненных штрих-кодов</string>
|
||||
<string name="history_send">Отправить историю</string>
|
||||
<string name="history_title">История</string>
|
||||
<string name="menu_encode_mecard">Используйте MECARD</string>
|
||||
<string name="menu_encode_vcard">Используйте vCard</string>
|
||||
<string name="menu_help">Помощь</string>
|
||||
<string name="menu_history">История</string>
|
||||
<string name="menu_settings">Настройки</string>
|
||||
<string name="menu_share">Поделиться</string>
|
||||
<string name="msg_bulk_mode_scanned">Массовый режим: сохранять историю сканирования</string>
|
||||
<string name="msg_camera_framework_bug">К сожалению, возникла ошибка камеры. Вам может потребоваться перезагрузка устройства.</string>
|
||||
<string name="msg_default_format">Формат</string>
|
||||
<string name="msg_default_meta">Метаданные</string>
|
||||
<string name="msg_default_mms_subject">Привет</string>
|
||||
<string name="msg_default_status">Чтобы сканировать штрих-код, поместите его в прямоугольник видоискателя.</string>
|
||||
<string name="msg_default_time">Время</string>
|
||||
<string name="msg_default_type">Тип</string>
|
||||
<string name="msg_encode_contents_failed">Невозможно создать штрих-код из текущих данных.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">К сожалению, запрошенное приложение не может быть запущенно. Возможно, содержимое штрих-кода повреждено.</string>
|
||||
<string name="msg_redirect">Переслать</string>
|
||||
<string name="msg_sbc_book_not_searchable">К сожалению, поиск книги не удался.</string>
|
||||
<string name="msg_sbc_failed">К сожалению, возникла ошибка поиска.</string>
|
||||
<string name="msg_sbc_no_page_returned">Ни одна страница не возвращена.</string>
|
||||
<string name="msg_sbc_page">Страница</string>
|
||||
<string name="msg_sbc_results">Результаты</string>
|
||||
<string name="msg_sbc_searching_book">Поиск книги\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Фрагмент недоступен</string>
|
||||
<string name="msg_share_explanation">Вы можете поделиться данными, сканируя штрих-код с вашего экрана другим телефоном.</string>
|
||||
<string name="msg_share_text">Или введите текст</string>
|
||||
<string name="msg_sure">Вы уверены?</string>
|
||||
<string name="msg_unmount_usb">К сожалению, SD-карта не доступна.</string>
|
||||
<string name="preferences_actions_title">Когда штрих-код найден\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Использовать автофокус</string>
|
||||
<string name="preferences_bulk_mode_summary">Постоянно сканировать и сохранять штрих-коды</string>
|
||||
<string name="preferences_bulk_mode_title">Массовое сканирование</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Копировать в буфер обмена</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Замены: %s = содержание, %f = формат, %t = тип</string>
|
||||
<string name="preferences_custom_product_search_title">URL пользовательского поиска</string>
|
||||
<string name="preferences_decode_1D_title">Распознавать линейные штрих-коды</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Распознавать Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">Распознавать QR-коды</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Исправление ошибок устройства</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Стандартный режим фокусировки</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Отключить продолжительную фокусировку</string>
|
||||
<string name="preferences_disable_exposure_title">Отключить экспозицию</string>
|
||||
<string name="preferences_front_light_auto">Автоматически</string>
|
||||
<string name="preferences_front_light_off">Выключен</string>
|
||||
<string name="preferences_front_light_on">Включен</string>
|
||||
<string name="preferences_front_light_summary">Улучшает распознавание в условиях низкой освещенности, но может вызвать блики. Работает не на всех устройствах.</string>
|
||||
<string name="preferences_front_light_title">Фонарик</string>
|
||||
<string name="preferences_general_title">Общие настройки</string>
|
||||
<string name="preferences_invert_scan_summary">Сканирование белых штрих-кодов на черном фоне. Не работает на некоторых устройствах.</string>
|
||||
<string name="preferences_invert_scan_title">Инвертировать</string>
|
||||
<string name="preferences_name">Настройки</string>
|
||||
<string name="preferences_play_beep_title">Пищать</string>
|
||||
<string name="preferences_remember_duplicates_summary">Сохранять в истории результат сканирования одного и того же штрих-кода</string>
|
||||
<string name="preferences_remember_duplicates_title">Запоминать дубликаты</string>
|
||||
<string name="preferences_result_title">Настройки результатов</string>
|
||||
<string name="preferences_scanning_title">При сканировании штрих-кодов\u2026</string>
|
||||
<string name="preferences_search_country">Поиск страны</string>
|
||||
<string name="preferences_supplemental_summary">Показывать подробную информацию о штрих-коде</string>
|
||||
<string name="preferences_supplemental_title">Подробности</string>
|
||||
<string name="preferences_try_bsplus">Попробуйте Сканер штрих-кодов+</string>
|
||||
<string name="preferences_try_bsplus_summary">Расширение с новыми функциями и интерфейсом</string>
|
||||
<string name="preferences_vibrate_title">Вибрировать</string>
|
||||
<string name="result_address_book">Найдены контактные данные</string>
|
||||
<string name="result_calendar">Найдено событие для календаря</string>
|
||||
<string name="result_email_address">Найден адрес эл. почты</string>
|
||||
<string name="result_geo">Найдены географические координаты</string>
|
||||
<string name="result_isbn">Найдена книга</string>
|
||||
<string name="result_product">Найден товар</string>
|
||||
<string name="result_sms">Найден адрес для SMS</string>
|
||||
<string name="result_tel">Найден номер телефона</string>
|
||||
<string name="result_text">Найден текст</string>
|
||||
<string name="result_uri">Найден URL</string>
|
||||
<string name="result_wifi">Найдена конфигурация сети</string>
|
||||
<string name="sbc_name">Поиск книг Google</string>
|
||||
<string name="wifi_changing_network">Запрос подключения к сети\u2026</string>
|
||||
<string name="wifi_ssid_label">Имя сети</string>
|
||||
<string name="wifi_type_label">Тип</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-sk/strings.xml
Normal file
136
src/java/PluginQR/res/values-sk/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplikácie</string>
|
||||
<string name="bookmark_picker_name">Záložky</string>
|
||||
<string name="button_add_calendar">Pridať do kalendára</string>
|
||||
<string name="button_add_contact">Pridať kontakt</string>
|
||||
<string name="button_book_search">Hľadať knihu</string>
|
||||
<string name="button_cancel">Zrušiť</string>
|
||||
<string name="button_custom_product_search">Vlastné vyhľadávanie</string>
|
||||
<string name="button_dial">Vytočiť číslo</string>
|
||||
<string name="button_email">Poslať e-mail</string>
|
||||
<string name="button_get_directions">Získať pokyny</string>
|
||||
<string name="button_mms">Poslať MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Otvoriť prehliadač</string>
|
||||
<string name="button_product_search">Vyhľadať produkt</string>
|
||||
<string name="button_search_book_contents">Vyhľadať obsah</string>
|
||||
<string name="button_share_app">Aplikácia</string>
|
||||
<string name="button_share_bookmark">Záložka</string>
|
||||
<string name="button_share_by_email">Zdieľať cez e-mail</string>
|
||||
<string name="button_share_by_sms">Zdieľať cez SMS</string>
|
||||
<string name="button_share_clipboard">Schránka</string>
|
||||
<string name="button_share_contact">Kontakt</string>
|
||||
<string name="button_show_map">Zobraziť mapu</string>
|
||||
<string name="button_sms">Poslať SMS</string>
|
||||
<string name="button_web_search">Hľadať na webe</string>
|
||||
<string name="button_wifi">Pripojiť sa sieti</string>
|
||||
<string name="contents_contact">Informácie o kontakte</string>
|
||||
<string name="contents_email">E-mailová adresa</string>
|
||||
<string name="contents_location">Geografické súradnice</string>
|
||||
<string name="contents_phone">Telefónne číslo</string>
|
||||
<string name="contents_sms">SMS adresa</string>
|
||||
<string name="contents_text">Obyčajný text</string>
|
||||
<string name="history_clear_one_history_text">Vymazať</string>
|
||||
<string name="history_clear_text">Vymazať históriu</string>
|
||||
<string name="history_email_title">História Barcode Scanneru</string>
|
||||
<string name="history_empty">Prázdna</string>
|
||||
<string name="history_empty_detail">Žiadne čiarové kódy neboli zaznamenané</string>
|
||||
<string name="history_send">Poslať históriu</string>
|
||||
<string name="history_title">História</string>
|
||||
<string name="menu_encode_mecard">Použiť MECARD</string>
|
||||
<string name="menu_encode_vcard">Použiť vCard</string>
|
||||
<string name="menu_help">Nápoveda</string>
|
||||
<string name="menu_history">História</string>
|
||||
<string name="menu_settings">Nastavenia</string>
|
||||
<string name="menu_share">Zdieľať</string>
|
||||
<string name="msg_bulk_mode_scanned">Hromadný režim: skenovanie a ukladanie čiarových kódov</string>
|
||||
<string name="msg_camera_framework_bug">Ospravedlňujeme sa, fotoaparát narazil na problém. Možno bude potrebné reštartovať zariadenie.</string>
|
||||
<string name="msg_default_format">Formát</string>
|
||||
<string name="msg_default_meta">Metadáta</string>
|
||||
<string name="msg_default_mms_subject">Ahoj</string>
|
||||
<string name="msg_default_status">Umiestnite čiarový kód do vnútra obdĺžnika hľadáčiku pre skenovanie.</string>
|
||||
<string name="msg_default_time">Čas</string>
|
||||
<string name="msg_default_type">Typ</string>
|
||||
<string name="msg_encode_contents_failed">Nie je možné zakódovať čiarový kód z poskytnutých údajov.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Ospravedlňujeme sa, požadovaná aplikácia nemohla byť spustená. Obsah čiarového kódu je možno neplatný.</string>
|
||||
<string name="msg_redirect">Presmerovať</string>
|
||||
<string name="msg_sbc_book_not_searchable">Ospravedlňujeme sa, táto kniha nie je prehliadateľná.</string>
|
||||
<string name="msg_sbc_failed">Ospravedlňujeme sa, vyhľadávanie narazilo na problém.</string>
|
||||
<string name="msg_sbc_no_page_returned">Nenašla sa žiadna stránka</string>
|
||||
<string name="msg_sbc_page">Stránka</string>
|
||||
<string name="msg_sbc_results">Výsledky</string>
|
||||
<string name="msg_sbc_searching_book">Vyhľadáva sa kniha\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Úryvok nie je k dispozícii</string>
|
||||
<string name="msg_share_explanation">Môžete zdieľať dáta zobrazením čiarového kódu na displeji vášho zariadenia a jeho zoskenovaním iným zariadením</string>
|
||||
<string name="msg_share_text">Alebo zadajte nejaký text</string>
|
||||
<string name="msg_sure">Ste si istí?</string>
|
||||
<string name="msg_unmount_usb">Ospravedlňujeme sa, SD karta nie je prístupná.</string>
|
||||
<string name="preferences_actions_title">Pri zistení čiarového kódu</string>
|
||||
<string name="preferences_auto_focus_title">Použiť automatické zaostrenie</string>
|
||||
<string name="preferences_bulk_mode_summary">Skenovať a ukladať veľa čiarových kódov bez prerušenia</string>
|
||||
<string name="preferences_bulk_mode_title">Hromadný režim skenovania</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopírovať do schránky</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Nahradiť: %s = obsah, %f = formát, %t = typ</string>
|
||||
<string name="preferences_custom_product_search_title">Vlastné vyhľadávanie URL</string>
|
||||
<string name="preferences_decode_1D_title">1D čiarové kódy</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Dáta Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR kódy</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Možné chyby zariadenia</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Použiť iba štandardné zaostrenie</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Nezaostrovať nepretržite</string>
|
||||
<string name="preferences_disable_exposure_title">Bez expozície</string>
|
||||
<string name="preferences_front_light_auto">Automatický</string>
|
||||
<string name="preferences_front_light_off">Neaktívne</string>
|
||||
<string name="preferences_front_light_on">Aktívne</string>
|
||||
<string name="preferences_front_light_summary">Použiť prisvetlenie</string>
|
||||
<string name="preferences_front_light_title">Použiť predné svetlo</string>
|
||||
<string name="preferences_general_title">Všeobecné nastavenia</string>
|
||||
<string name="preferences_invert_scan_summary">Skenovať biele čiarové kódy na čiernom pozadí. Nie je k dispozícii na všetkých zariadeniach.</string>
|
||||
<string name="preferences_invert_scan_title">Invertované skenovanie</string>
|
||||
<string name="preferences_name">Nastavenia</string>
|
||||
<string name="preferences_play_beep_title">Zvuková signalizácia</string>
|
||||
<string name="preferences_remember_duplicates_summary">Uložiť viacnásobné skenovanie do jednej histórie čiarového kódu</string>
|
||||
<string name="preferences_remember_duplicates_title">Zapamätať si duplikáty</string>
|
||||
<string name="preferences_result_title">Nastavenia výsledku</string>
|
||||
<string name="preferences_scanning_title">Dekódovať čiarové kódy</string>
|
||||
<string name="preferences_search_country">Vyhľadávať v krajine</string>
|
||||
<string name="preferences_supplemental_summary">Skúsiť získať viac informácií o obsahu čiarového kódu</string>
|
||||
<string name="preferences_supplemental_title">Získať viac informácií</string>
|
||||
<string name="preferences_try_bsplus">Vyskúšajte Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Rozšírený o nové funkcie a prostredie</string>
|
||||
<string name="preferences_vibrate_title">Vibrovať</string>
|
||||
<string name="result_address_book">Nájdená informácia o kontakte</string>
|
||||
<string name="result_calendar">Nájdená udalosť kalendára</string>
|
||||
<string name="result_email_address">Nájdená e-mailová adresa</string>
|
||||
<string name="result_geo">Nájdená zemepisná súradnica</string>
|
||||
<string name="result_isbn">Nájdená kniha</string>
|
||||
<string name="result_product">Nájdený tovar</string>
|
||||
<string name="result_sms">Nájdená SMS adresa</string>
|
||||
<string name="result_tel">Nájdené telefónne číslo</string>
|
||||
<string name="result_text">Nájdený obyčajný text</string>
|
||||
<string name="result_uri">Nájdená URL</string>
|
||||
<string name="result_wifi">Nájdená konfigurácia WLAN</string>
|
||||
<string name="sbc_name">Vyhľadať v Google Knihy</string>
|
||||
<string name="wifi_changing_network">Požiadavka na pripojenie k sieti\u2026</string>
|
||||
<string name="wifi_ssid_label">Názov sieťového pripojenia</string>
|
||||
<string name="wifi_type_label">Typ</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-sl/strings.xml
Normal file
136
src/java/PluginQR/res/values-sl/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Aplikacije</string>
|
||||
<string name="bookmark_picker_name">Zaznamki</string>
|
||||
<string name="button_add_calendar">Dodaj v koledar</string>
|
||||
<string name="button_add_contact">Dodaj kontakt</string>
|
||||
<string name="button_book_search">Išči knjigo</string>
|
||||
<string name="button_cancel">Prekliči</string>
|
||||
<string name="button_custom_product_search">Iskanje po meri</string>
|
||||
<string name="button_dial">Pokliči številko</string>
|
||||
<string name="button_email">Pošlji e-mail</string>
|
||||
<string name="button_get_directions">Dobi smer</string>
|
||||
<string name="button_mms">Pošlji MMS</string>
|
||||
<string name="button_ok">V redu</string>
|
||||
<string name="button_open_browser">Odpri brskalnik</string>
|
||||
<string name="button_product_search">Iskanje po izdelkih</string>
|
||||
<string name="button_search_book_contents">Išči vsebino</string>
|
||||
<string name="button_share_app">Aplikacija</string>
|
||||
<string name="button_share_bookmark">Zaznamek</string>
|
||||
<string name="button_share_by_email">Deli preko e-maila</string>
|
||||
<string name="button_share_by_sms">Deli preko SMS</string>
|
||||
<string name="button_share_clipboard">Odložišče</string>
|
||||
<string name="button_share_contact">Kontakt</string>
|
||||
<string name="button_show_map">Pokaži zemljevid</string>
|
||||
<string name="button_sms">Pošlji SMS</string>
|
||||
<string name="button_web_search">Spletno iskanje</string>
|
||||
<string name="button_wifi">Poveži se na omrežje</string>
|
||||
<string name="contents_contact">Informacije o kontaktu</string>
|
||||
<string name="contents_email">E-naslov</string>
|
||||
<string name="contents_location">Geografske koordinate</string>
|
||||
<string name="contents_phone">Telefonska številka</string>
|
||||
<string name="contents_sms">SMS naslov</string>
|
||||
<string name="contents_text">Tekst</string>
|
||||
<string name="history_clear_one_history_text">Pobriši</string>
|
||||
<string name="history_clear_text">Pobriši zgodovino</string>
|
||||
<string name="history_email_title">Barcode Scanner zgodovina</string>
|
||||
<string name="history_empty">Prazne</string>
|
||||
<string name="history_empty_detail">Št črtne kode scans so bile zabeležene</string>
|
||||
<string name="history_send">Pošlji zgodovino</string>
|
||||
<string name="history_title">Zgodovina</string>
|
||||
<string name="menu_encode_mecard">Uporaba MECARD</string>
|
||||
<string name="menu_encode_vcard">Uporaba vCard</string>
|
||||
<string name="menu_help">Pomoč</string>
|
||||
<string name="menu_history">Zgodovina</string>
|
||||
<string name="menu_settings">Nastavitve</string>
|
||||
<string name="menu_share">Deli</string>
|
||||
<string name="msg_bulk_mode_scanned">Slikanje na debelo: črtna koda prebrana in shranjena</string>
|
||||
<string name="msg_camera_framework_bug">Oprostite, Android kamera je naletela na težave. Mogoče boste morali ponovno zagnati napravo.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metapodatki</string>
|
||||
<string name="msg_default_mms_subject">Živjo</string>
|
||||
<string name="msg_default_status">Za branje postavite črtno kodo znotraj iskala.</string>
|
||||
<string name="msg_default_time">Čas</string>
|
||||
<string name="msg_default_type">Tip</string>
|
||||
<string name="msg_encode_contents_failed">Ni bilo mogoče narediti črtne kode iz podanih podatkov</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Oprostite, zahtevana aplikacija se ne more zagnati. Lahko da gre za napačno vsebino črtne kode.</string>
|
||||
<string name="msg_redirect">Preusmeritev</string>
|
||||
<string name="msg_sbc_book_not_searchable">Oprostite, po tej knjigi se ne da iskati.</string>
|
||||
<string name="msg_sbc_failed">Oprostite, iskanje je naletelo na napako.</string>
|
||||
<string name="msg_sbc_no_page_returned">Brez vrnjene strani.</string>
|
||||
<string name="msg_sbc_page">Stran</string>
|
||||
<string name="msg_sbc_results">Rezultati</string>
|
||||
<string name="msg_sbc_searching_book">Iščem knjigo\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Košček ni na voljo</string>
|
||||
<string name="msg_share_explanation">Lahko delite podatke s prikazom črtne kode na vašem zaslonu in branju le-te z drugim mobilnim telefonom.</string>
|
||||
<string name="msg_share_text">Ali vnesite nekaj besedila</string>
|
||||
<string name="msg_sure">Ali ste prepričani?</string>
|
||||
<string name="msg_unmount_usb">Oprostite, do SD kartice ni možno dostopati</string>
|
||||
<string name="preferences_actions_title">Ko je črtna koda najdena\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Uporabite samodejno ostrenje</string>
|
||||
<string name="preferences_bulk_mode_summary">Beri in shrani več črtnih kod zaporedoma</string>
|
||||
<string name="preferences_bulk_mode_title">Branje črtnih kod na debelo</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopiraj v beležnico</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Zamenjave: %s = vsebin, %f = format, %t = vrsta</string>
|
||||
<string name="preferences_custom_product_search_title">URL za iskanje po meri</string>
|
||||
<string name="preferences_decode_1D_title">1D črtno kodo</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR kodo</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Naprava Bug Rešitve</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Uporabljajte samo standardni način ostrenja</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Št stalna osredotočenost</string>
|
||||
<string name="preferences_disable_exposure_title">Nobena izpostavljenost</string>
|
||||
<string name="preferences_front_light_auto">Samodejno</string>
|
||||
<string name="preferences_front_light_off">Neaktivno</string>
|
||||
<string name="preferences_front_light_on">Aktivna</string>
|
||||
<string name="preferences_front_light_summary">Izboljša branje pri slabi svetlobi na nekaterih telefonih, a lahko povzroči blesk. Ne deluje na vseh telefonih.</string>
|
||||
<string name="preferences_front_light_title">Uporabite sprednjo luč</string>
|
||||
<string name="preferences_general_title">Splošne nastavitve</string>
|
||||
<string name="preferences_invert_scan_summary">Scan za beli črtne kode na črni podlagi. Ni na voljo na nekaterih napravah.</string>
|
||||
<string name="preferences_invert_scan_title">Obrni skeniranje</string>
|
||||
<string name="preferences_name">Nastavitve</string>
|
||||
<string name="preferences_play_beep_title">Pisk</string>
|
||||
<string name="preferences_remember_duplicates_summary">Shranjevanje več skandiranje iste črtne kode v zgodovini</string>
|
||||
<string name="preferences_remember_duplicates_title">Zapomni si dvojnikov</string>
|
||||
<string name="preferences_result_title">Nastavitve rezultatov branja</string>
|
||||
<string name="preferences_scanning_title">Ko berete črtne kode, preberi\u2026</string>
|
||||
<string name="preferences_search_country">Išči po državi</string>
|
||||
<string name="preferences_supplemental_summary">Poskusite pridobiti več informacij o vsebini črtne kode</string>
|
||||
<string name="preferences_supplemental_title">Naloži Več info</string>
|
||||
<string name="preferences_try_bsplus">Poskusite Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Izboljšan z novimi funkcijami in vmesnikom</string>
|
||||
<string name="preferences_vibrate_title">Vibriraj</string>
|
||||
<string name="result_address_book">Najdene informacije o kontaktu</string>
|
||||
<string name="result_calendar">Najden koledarski dogodek</string>
|
||||
<string name="result_email_address">Najden e-naslov</string>
|
||||
<string name="result_geo">Najdene geografske koordinate</string>
|
||||
<string name="result_isbn">Najdena knjiga</string>
|
||||
<string name="result_product">Najden produkt</string>
|
||||
<string name="result_sms">Najden SMS naslov</string>
|
||||
<string name="result_tel">Najdena telefonska številka</string>
|
||||
<string name="result_text">Najden tekst</string>
|
||||
<string name="result_uri">Najden URL</string>
|
||||
<string name="result_wifi">Najdene WLAN nastavitve</string>
|
||||
<string name="sbc_name">Iskanje z Google Book Search</string>
|
||||
<string name="wifi_changing_network">Zahteva priključitev na omrežje\u2026</string>
|
||||
<string name="wifi_ssid_label">Ime omrežja</string>
|
||||
<string name="wifi_type_label">Tip</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-sv/strings.xml
Normal file
136
src/java/PluginQR/res/values-sv/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Applikationer</string>
|
||||
<string name="bookmark_picker_name">Bokmärken</string>
|
||||
<string name="button_add_calendar">Lägg till i kalender</string>
|
||||
<string name="button_add_contact">Lägg till kontakt</string>
|
||||
<string name="button_book_search">Boksökning</string>
|
||||
<string name="button_cancel">Avbryt</string>
|
||||
<string name="button_custom_product_search">Anpassad sökning</string>
|
||||
<string name="button_dial">Slå nummer</string>
|
||||
<string name="button_email">Skicka e-post</string>
|
||||
<string name="button_get_directions">Få anvisningar</string>
|
||||
<string name="button_mms">Skicka MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Öppna webbläsare</string>
|
||||
<string name="button_product_search">Produktsök</string>
|
||||
<string name="button_search_book_contents">Sökinnehåll</string>
|
||||
<string name="button_share_app">Applikation</string>
|
||||
<string name="button_share_bookmark">Bokmärke</string>
|
||||
<string name="button_share_by_email">Dela via e-post</string>
|
||||
<string name="button_share_by_sms">Dela via SMS</string>
|
||||
<string name="button_share_clipboard">Klippbord</string>
|
||||
<string name="button_share_contact">Kontakt</string>
|
||||
<string name="button_show_map">Visa karta</string>
|
||||
<string name="button_sms">Skicka SMS</string>
|
||||
<string name="button_web_search">Webbsök</string>
|
||||
<string name="button_wifi">Anslut till nätverk</string>
|
||||
<string name="contents_contact">Kontaktinfo</string>
|
||||
<string name="contents_email">E-postadress</string>
|
||||
<string name="contents_location">Geografiska koordinater</string>
|
||||
<string name="contents_phone">Telefonnummer</string>
|
||||
<string name="contents_sms">SMS-adress</string>
|
||||
<string name="contents_text">Vanlig text</string>
|
||||
<string name="history_clear_one_history_text">Rensa</string>
|
||||
<string name="history_clear_text">Rensa historik</string>
|
||||
<string name="history_email_title">Historik inskannade streckkoder</string>
|
||||
<string name="history_empty">Tom</string>
|
||||
<string name="history_empty_detail">Inga inskannade streckkoder har registrerats</string>
|
||||
<string name="history_send">Skicka historik</string>
|
||||
<string name="history_title">Historik</string>
|
||||
<string name="menu_encode_mecard">Använd MECARD</string>
|
||||
<string name="menu_encode_vcard">Använd vCard</string>
|
||||
<string name="menu_help">Hjälp</string>
|
||||
<string name="menu_history">Historik</string>
|
||||
<string name="menu_settings">Inställningar</string>
|
||||
<string name="menu_share">Dela</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulk-läge: streckkod har inskannats och sparats</string>
|
||||
<string name="msg_camera_framework_bug">Det uppstod tyvärr ett fel med Androidkameran.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Hej</string>
|
||||
<string name="msg_default_status">Placera steckkoden inom sökarens rektangel för att läsa den.</string>
|
||||
<string name="msg_default_time">Tid</string>
|
||||
<string name="msg_default_type">Typ</string>
|
||||
<string name="msg_encode_contents_failed">Det gick inte att avkoda en streckkod från den erhållna informationen.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Den begärda applikationen kunde tyvärr inte startas. Streckkodens innehåll kan vara ogiltigt.</string>
|
||||
<string name="msg_redirect">Omdirigering</string>
|
||||
<string name="msg_sbc_book_not_searchable">Den här boken är tyvärr inte sökbar.</string>
|
||||
<string name="msg_sbc_failed">Det uppstod tyvärr ett fel vid sökning. </string>
|
||||
<string name="msg_sbc_no_page_returned">Ingen sida funnen</string>
|
||||
<string name="msg_sbc_page">Sida</string>
|
||||
<string name="msg_sbc_results">Resultat</string>
|
||||
<string name="msg_sbc_searching_book">Söker bok\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Utdrag ej tillgängligt</string>
|
||||
<string name="msg_share_explanation">Du kan dela information genom att visa en streckkod på din skärm och sedan skanna in den med en annan telefon.</string>
|
||||
<string name="msg_share_text">Eller skriv in text och tryck Enter</string>
|
||||
<string name="msg_sure">Är du säker?</string>
|
||||
<string name="msg_unmount_usb">SD-kortet är tyvärr inte tillgängligt.</string>
|
||||
<string name="preferences_actions_title">När en streckkod hittas\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Använd autofokus</string>
|
||||
<string name="preferences_bulk_mode_summary">Skanna och spara flera streckkoder samtidigt</string>
|
||||
<string name="preferences_bulk_mode_title">Bulk-inskanningläge</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Kopiera till urklipp</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Ersättningar: %s = innehåll, %f = format, %t = typ</string>
|
||||
<string name="preferences_custom_product_search_title">Anpassad sökning URL</string>
|
||||
<string name="preferences_decode_1D_title">1D steckkod</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR Code</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Bugglösningar för enhet</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Använd endast standardfokusläge</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Ingen kontinuerlig fokus</string>
|
||||
<string name="preferences_disable_exposure_title">Ingen exponering</string>
|
||||
<string name="preferences_front_light_auto">Automatisk</string>
|
||||
<string name="preferences_front_light_off">Inaktiv</string>
|
||||
<string name="preferences_front_light_on">Aktiv</string>
|
||||
<string name="preferences_front_light_summary">Förbättrar inskanning i svag belysing på vissa telefoner, men kan orsaka bländning. Ej tillgängligt på vissa enheter.</string>
|
||||
<string name="preferences_front_light_title">Använd frontljus</string>
|
||||
<string name="preferences_general_title">Grundläggande inställningar</string>
|
||||
<string name="preferences_invert_scan_summary">Skanna in vita streckkoder mot svart bakgrund. Ej tillgängligt på vissa enheter. </string>
|
||||
<string name="preferences_invert_scan_title">Invertera inskanning</string>
|
||||
<string name="preferences_name">Inställningar</string>
|
||||
<string name="preferences_play_beep_title">Ton</string>
|
||||
<string name="preferences_remember_duplicates_summary">Lagra flera inskanningar av samma streckkod i historik</string>
|
||||
<string name="preferences_remember_duplicates_title">Kom ihåg dubletter</string>
|
||||
<string name="preferences_result_title">Resultatinställningar</string>
|
||||
<string name="preferences_scanning_title">När du skannar in streckkoder, avkoda\u2026</string>
|
||||
<string name="preferences_search_country">Sök land</string>
|
||||
<string name="preferences_supplemental_summary">Försök hämta mer information om streckkodens innehåll</string>
|
||||
<string name="preferences_supplemental_title">Hämta mer info</string>
|
||||
<string name="preferences_try_bsplus">Prova Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Förstärkt med nya funktioner och gränssnitt</string>
|
||||
<string name="preferences_vibrate_title">Vibrera</string>
|
||||
<string name="result_address_book">Hittade kontaktinformation</string>
|
||||
<string name="result_calendar">Hittade kalenderhändelser</string>
|
||||
<string name="result_email_address">Hittade e-postadress</string>
|
||||
<string name="result_geo">Hittade geografiska koordinater</string>
|
||||
<string name="result_isbn">Hittade bok</string>
|
||||
<string name="result_product">Hittade produkt</string>
|
||||
<string name="result_sms">Hittade SMS-adress</string>
|
||||
<string name="result_tel">Hittade telefonnummer</string>
|
||||
<string name="result_text">Hittade vanlig text</string>
|
||||
<string name="result_uri">Hittade URL</string>
|
||||
<string name="result_wifi">Hittade WLAN-konfiguration</string>
|
||||
<string name="sbc_name">Google Book Search</string>
|
||||
<string name="wifi_changing_network">Begär anslutning till nätverk\u2026</string>
|
||||
<string name="wifi_ssid_label">Nätverksnamn</string>
|
||||
<string name="wifi_type_label">Typ</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-tr/strings.xml
Normal file
136
src/java/PluginQR/res/values-tr/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barkod Tarayıcısı</string>
|
||||
<string name="app_picker_name">Uygulamalar</string>
|
||||
<string name="bookmark_picker_name">Yer imleri</string>
|
||||
<string name="button_add_calendar">Takvime ekle</string>
|
||||
<string name="button_add_contact">Kişi ekle</string>
|
||||
<string name="button_book_search">Kitap Arama</string>
|
||||
<string name="button_cancel">İptal</string>
|
||||
<string name="button_custom_product_search">Özel arama</string>
|
||||
<string name="button_dial">Numaraya çağrı</string>
|
||||
<string name="button_email">Email gönder</string>
|
||||
<string name="button_get_directions">Yön bilgisi al</string>
|
||||
<string name="button_mms">MMS gönder</string>
|
||||
<string name="button_ok">Tamam</string>
|
||||
<string name="button_open_browser">Tarayıcıyı aç</string>
|
||||
<string name="button_product_search">Ürün arama</string>
|
||||
<string name="button_search_book_contents">İçerik arama</string>
|
||||
<string name="button_share_app">Uygulama paylaş</string>
|
||||
<string name="button_share_bookmark">Yer imi paylaş</string>
|
||||
<string name="button_share_by_email">Email ile paylaş</string>
|
||||
<string name="button_share_by_sms">SMS ile paylaş</string>
|
||||
<string name="button_share_clipboard">Pano</string>
|
||||
<string name="button_share_contact">Kişi</string>
|
||||
<string name="button_show_map">Haritayı göster</string>
|
||||
<string name="button_sms">SMS gönder</string>
|
||||
<string name="button_web_search">Webde ara</string>
|
||||
<string name="button_wifi">Ağa bağlan</string>
|
||||
<string name="contents_contact">Kişi bilgisi</string>
|
||||
<string name="contents_email">Email adresi</string>
|
||||
<string name="contents_location">Coğrafi koordinatlar</string>
|
||||
<string name="contents_phone">Telefon numarası</string>
|
||||
<string name="contents_sms">SMS adresi</string>
|
||||
<string name="contents_text">Düz metin</string>
|
||||
<string name="history_clear_one_history_text">Temizle</string>
|
||||
<string name="history_clear_text">Geçmişi temizle</string>
|
||||
<string name="history_email_title">Barkod Tarayıcı geçmişi</string>
|
||||
<string name="history_empty">Boş</string>
|
||||
<string name="history_empty_detail">Yok barkod taramaları kaydedildi</string>
|
||||
<string name="history_send">Geçmişi gönder</string>
|
||||
<string name="history_title">Geçmiş</string>
|
||||
<string name="menu_encode_mecard">MECARD kullanın</string>
|
||||
<string name="menu_encode_vcard">VCard kullanın</string>
|
||||
<string name="menu_help">Yardım</string>
|
||||
<string name="menu_history">Geçmiş</string>
|
||||
<string name="menu_settings">Ayarlar</string>
|
||||
<string name="menu_share">Paylaş</string>
|
||||
<string name="msg_bulk_mode_scanned">Toplu modu: taranan ve kaydedilen barkodlar</string>
|
||||
<string name="msg_camera_framework_bug">Üzgünüz, Android kamera bir sorunla karşılaştı. Cihazı yeniden başlatmanız gerekebilir.</string>
|
||||
<string name="msg_default_format">Biçim</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Merhaba</string>
|
||||
<string name="msg_default_status">Barkodu taramak için vizördeki dikdörtgenin içerisine yerleştirin.</string>
|
||||
<string name="msg_default_time">Süre</string>
|
||||
<string name="msg_default_type">Tür</string>
|
||||
<string name="msg_encode_contents_failed">Sağlanan verilerden bir barkod kodlanamadı.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Üzgünüz, istenen uygulama başlatılamadı. Barkod içeriği geçersiz olabilir.</string>
|
||||
<string name="msg_redirect">Yönlendirme</string>
|
||||
<string name="msg_sbc_book_not_searchable">Üzgünüz, bu kitapla ilgili arama yapılamıyor.</string>
|
||||
<string name="msg_sbc_failed">Üzgünüz, arama esnasında bir sorun oluştu.</string>
|
||||
<string name="msg_sbc_no_page_returned">Dönen sayfa yok</string>
|
||||
<string name="msg_sbc_page">Sayfa</string>
|
||||
<string name="msg_sbc_results">Sonuçlar</string>
|
||||
<string name="msg_sbc_searching_book">Kitap aranıyor\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Parçacık yok</string>
|
||||
<string name="msg_share_explanation">Ekranınızda görüntülediğiniz barkodu başka bir telefonla tarayarak veri paylaşabilirsiniz.</string>
|
||||
<string name="msg_share_text">Veya yazın bazı metin</string>
|
||||
<string name="msg_sure">Emin misin?</string>
|
||||
<string name="msg_unmount_usb">Lütfen USB depolamayı devre dışı bırakın.</string>
|
||||
<string name="preferences_actions_title">Bir barkod bulunduğu zaman\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Otomatik odaklama kullanın</string>
|
||||
<string name="preferences_bulk_mode_summary">Birden fazla barkodu toplu olarak taramak ve kaydetmek için</string>
|
||||
<string name="preferences_bulk_mode_title">Toplu tarama modu</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Panoya kopyala</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Yerine Koyma: %s = içeriği, %f = biçim, %t = tip</string>
|
||||
<string name="preferences_custom_product_search_title">Özel arama adresi</string>
|
||||
<string name="preferences_decode_1D_title">1D barkodları</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR barkodları</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Cihaz Hata Geçici Çözümler</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Sadece standart odaklama modunu kullanın</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Hayır sürekli odak</string>
|
||||
<string name="preferences_disable_exposure_title">Maruziyet</string>
|
||||
<string name="preferences_front_light_auto">Otomatik</string>
|
||||
<string name="preferences_front_light_off">Atıl</string>
|
||||
<string name="preferences_front_light_on">Aktif</string>
|
||||
<string name="preferences_front_light_summary">Bazı telefonlarda düşük ışıkta taramayı iyileştirir, ancak parlamaya neden olabilir. Tüm telefonlarda sonuç vermez.</string>
|
||||
<string name="preferences_front_light_title">Ön ışığı kullan</string>
|
||||
<string name="preferences_general_title">Genel ayarlar</string>
|
||||
<string name="preferences_invert_scan_summary">Siyah zemin üzerine beyaz barkod tarama. Bazı cihazlar mevcut değildir.</string>
|
||||
<string name="preferences_invert_scan_title">Tarama haricindekileri</string>
|
||||
<string name="preferences_name">Ayarlar</string>
|
||||
<string name="preferences_play_beep_title">Bip</string>
|
||||
<string name="preferences_remember_duplicates_summary">Aynı barkoda ait farklı taramaları kayıtlarda depola</string>
|
||||
<string name="preferences_remember_duplicates_title">Aynı barkodları hatırla</string>
|
||||
<string name="preferences_result_title">Sonuç ayarları</string>
|
||||
<string name="preferences_scanning_title">Barkodlar taraması \u2026</string>
|
||||
<string name="preferences_search_country">Arama Ülke</string>
|
||||
<string name="preferences_supplemental_summary">Barkod içeriği hakkında daha fazla bilgi almayı dene</string>
|
||||
<string name="preferences_supplemental_title">Daha fazla bilgi </string>
|
||||
<string name="preferences_try_bsplus">Barkod Tarayıcısı+ deneyin</string>
|
||||
<string name="preferences_try_bsplus_summary">Yeni özellikler ve arayüz ile gelişmiş</string>
|
||||
<string name="preferences_vibrate_title">Titreşim </string>
|
||||
<string name="result_address_book">Bulunan kişi bilgisi</string>
|
||||
<string name="result_calendar">Bulunan takvim etkinliği</string>
|
||||
<string name="result_email_address">Bulunan Email adresi</string>
|
||||
<string name="result_geo">Bulunan coğrafi koordinatlar</string>
|
||||
<string name="result_isbn">Bulunan kitap</string>
|
||||
<string name="result_product">Bulunan ürün</string>
|
||||
<string name="result_sms">Bulunan SMS adresi</string>
|
||||
<string name="result_tel">Bulunan telefon numarası</string>
|
||||
<string name="result_text">Bulunan düz metin</string>
|
||||
<string name="result_uri">Bulunan URL</string>
|
||||
<string name="result_wifi">Bulunan Wi-Fi konfigürasyonu</string>
|
||||
<string name="sbc_name">Google Kitap Arama</string>
|
||||
<string name="wifi_changing_network">Ağa bir bağlantı isteğinde\u2026</string>
|
||||
<string name="wifi_ssid_label">Ağ adı</string>
|
||||
<string name="wifi_type_label">Tip</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-uk/strings.xml
Normal file
136
src/java/PluginQR/res/values-uk/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Сканер штрих-кодів</string>
|
||||
<string name="app_picker_name">Програми</string>
|
||||
<string name="bookmark_picker_name">Закладки</string>
|
||||
<string name="button_add_calendar">Додати в календар</string>
|
||||
<string name="button_add_contact">Додати контакт</string>
|
||||
<string name="button_book_search">Пошук книги</string>
|
||||
<string name="button_cancel">Відміна</string>
|
||||
<string name="button_custom_product_search">Користувацький пошук</string>
|
||||
<string name="button_dial">Набрати номер</string>
|
||||
<string name="button_email">Відправити e-mail</string>
|
||||
<string name="button_get_directions">Прокласти маршрут</string>
|
||||
<string name="button_mms">Відправити MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Відкрити браузер</string>
|
||||
<string name="button_product_search">Пошук товара</string>
|
||||
<string name="button_search_book_contents">Пошук вмісту книги</string>
|
||||
<string name="button_share_app">Програма</string>
|
||||
<string name="button_share_bookmark">Закладка</string>
|
||||
<string name="button_share_by_email">Поділитись через e-mail</string>
|
||||
<string name="button_share_by_sms">Поділитись через SMS</string>
|
||||
<string name="button_share_clipboard">Буфер обміну</string>
|
||||
<string name="button_share_contact">Контакт</string>
|
||||
<string name="button_show_map">Показати карту</string>
|
||||
<string name="button_sms">Відправити SMS</string>
|
||||
<string name="button_web_search">Пошук в інтернеті</string>
|
||||
<string name="button_wifi">Підключитись до мережі</string>
|
||||
<string name="contents_contact">Контактна інформація</string>
|
||||
<string name="contents_email">Адреса e-mail</string>
|
||||
<string name="contents_location">Географічні координати</string>
|
||||
<string name="contents_phone">Номер телефону</string>
|
||||
<string name="contents_sms">Адреса для SMS</string>
|
||||
<string name="contents_text">Текст</string>
|
||||
<string name="history_clear_one_history_text">Видалити</string>
|
||||
<string name="history_clear_text">Видалити історію</string>
|
||||
<string name="history_email_title">Історія сканування</string>
|
||||
<string name="history_empty">Пусто</string>
|
||||
<string name="history_empty_detail">Нема збережених штрих-кодів</string>
|
||||
<string name="history_send">Відправити історію</string>
|
||||
<string name="history_title">Історія</string>
|
||||
<string name="menu_encode_mecard">Використовуйте MECARD</string>
|
||||
<string name="menu_encode_vcard">Використовуйте vCard</string>
|
||||
<string name="menu_help">Допомога</string>
|
||||
<string name="menu_history">Історія</string>
|
||||
<string name="menu_settings">Налаштування</string>
|
||||
<string name="menu_share">Поділитись</string>
|
||||
<string name="msg_bulk_mode_scanned">Масовий режим: зберігати історію сканування</string>
|
||||
<string name="msg_camera_framework_bug">Нажаль, виникла помилка камери. Можливо, вам знадобиться перезавантажити пристрій.</string>
|
||||
<string name="msg_default_format">Формат</string>
|
||||
<string name="msg_default_meta">Метадані</string>
|
||||
<string name="msg_default_mms_subject">Привіт</string>
|
||||
<string name="msg_default_status">Щоб відсканувати штрих-код, помістіть його в прямокутник видошукача.</string>
|
||||
<string name="msg_default_time">Час</string>
|
||||
<string name="msg_default_type">Тип</string>
|
||||
<string name="msg_encode_contents_failed">Неможливо створити штрих-код з наданих даних.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Нажаль, неможливо запустити дану програму. Можливо, вміст штрих-коду пошкоджено.</string>
|
||||
<string name="msg_redirect">Переслати</string>
|
||||
<string name="msg_sbc_book_not_searchable">Нажаль, пошук книги був невдалим.</string>
|
||||
<string name="msg_sbc_failed">Нажаль, виникла помилка пошуку.</string>
|
||||
<string name="msg_sbc_no_page_returned">Не знайдено жодної сторінки.</string>
|
||||
<string name="msg_sbc_page">Сторінка</string>
|
||||
<string name="msg_sbc_results">Результати</string>
|
||||
<string name="msg_sbc_searching_book">Пошук книги\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Фрагмент недоступний</string>
|
||||
<string name="msg_share_explanation">Ви можете ділитись даними, скануючи штрих-код з вашого екрану іншим телефоном.</string>
|
||||
<string name="msg_share_text">Або введіть текст</string>
|
||||
<string name="msg_sure">Ви впевнені?</string>
|
||||
<string name="msg_unmount_usb">Нажаль, SD-карта недоступна.</string>
|
||||
<string name="preferences_actions_title">Коли штрих-код знайдено\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Використовувати автофокус</string>
|
||||
<string name="preferences_bulk_mode_summary">Постійно сканувати та зберігати штрих-коди</string>
|
||||
<string name="preferences_bulk_mode_title">Масове сканування</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Скопіювати до буферу обміну</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Заміни: %s = вміст, %f = формат, %t = тип</string>
|
||||
<string name="preferences_custom_product_search_title">URL користувацького пошуку</string>
|
||||
<string name="preferences_decode_1D_title">Розпізнавати лінійні штрих-коди</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Розпізнавати Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">Розпізнавати QR-коди</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Виправлення помилок пристрою</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Стандартний режим фокусування</string>
|
||||
<string name="preferences_disable_continuous_focus_title">Відклюти безперервне фокусування</string>
|
||||
<string name="preferences_disable_exposure_title">Відключити експозицію</string>
|
||||
<string name="preferences_front_light_auto">Автоматично</string>
|
||||
<string name="preferences_front_light_off">Вимкнено</string>
|
||||
<string name="preferences_front_light_on">Увімкнено</string>
|
||||
<string name="preferences_front_light_summary">Покращує розпізнавання при поганому освітлення, але може викликати відблиски. Працює не на всіх пристроях.</string>
|
||||
<string name="preferences_front_light_title">Ліхтарик</string>
|
||||
<string name="preferences_general_title">Загальні налаштування</string>
|
||||
<string name="preferences_invert_scan_summary">Сканування білих штрих-кодів на чорному фоні. Не працює на деяких пристроях.</string>
|
||||
<string name="preferences_invert_scan_title">Інвертувати</string>
|
||||
<string name="preferences_name">Налаштування</string>
|
||||
<string name="preferences_play_beep_title">Пищати</string>
|
||||
<string name="preferences_remember_duplicates_summary">Зберігати результати сканування однакових штрих-кодів</string>
|
||||
<string name="preferences_remember_duplicates_title">Запом\'ятовувати дублікати</string>
|
||||
<string name="preferences_result_title">Налаштування результатів</string>
|
||||
<string name="preferences_scanning_title">Під час сканування штрих-кодів\u2026</string>
|
||||
<string name="preferences_search_country">Пошук країни</string>
|
||||
<string name="preferences_supplemental_summary">Показати детальну інформацію про штрих-код</string>
|
||||
<string name="preferences_supplemental_title">Подробиці</string>
|
||||
<string name="preferences_try_bsplus">Спробуйте Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Доступні нові функції та інтерфейс</string>
|
||||
<string name="preferences_vibrate_title">Вібрувати</string>
|
||||
<string name="result_address_book">Знайдені контактні дані</string>
|
||||
<string name="result_calendar">Знайдено подію для календаря</string>
|
||||
<string name="result_email_address">Знайдено e-mail адресу</string>
|
||||
<string name="result_geo">Знайдено географічні координати</string>
|
||||
<string name="result_isbn">Знайдено книгу</string>
|
||||
<string name="result_product">Знайдено товар</string>
|
||||
<string name="result_sms">Знайдено адресу для SMS</string>
|
||||
<string name="result_tel">Знайдено номер телефона</string>
|
||||
<string name="result_text">Знайдено текст</string>
|
||||
<string name="result_uri">Знайдено URL</string>
|
||||
<string name="result_wifi">Знайдено конфігурацію мережі</string>
|
||||
<string name="sbc_name">Пошук книг Google</string>
|
||||
<string name="wifi_changing_network">Запит підключення до мережі\u2026</string>
|
||||
<string name="wifi_ssid_label">Ім\'я мережі</string>
|
||||
<string name="wifi_type_label">Тип</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-zh-rCN/strings.xml
Normal file
136
src/java/PluginQR/res/values-zh-rCN/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">条码扫描器</string>
|
||||
<string name="app_picker_name">应用</string>
|
||||
<string name="bookmark_picker_name">书签</string>
|
||||
<string name="button_add_calendar">添加事件至日历</string>
|
||||
<string name="button_add_contact">添加联系人</string>
|
||||
<string name="button_book_search">打开图书搜索</string>
|
||||
<string name="button_cancel">取消</string>
|
||||
<string name="button_custom_product_search">自定义搜索</string>
|
||||
<string name="button_dial">拨号</string>
|
||||
<string name="button_email">发送email</string>
|
||||
<string name="button_get_directions">获取地址</string>
|
||||
<string name="button_mms">发送彩信</string>
|
||||
<string name="button_ok">确定</string>
|
||||
<string name="button_open_browser">打开浏览器</string>
|
||||
<string name="button_product_search">打开产品搜索</string>
|
||||
<string name="button_search_book_contents">搜索图书内容</string>
|
||||
<string name="button_share_app">共享应用</string>
|
||||
<string name="button_share_bookmark">分享书签</string>
|
||||
<string name="button_share_by_email">通过email分享</string>
|
||||
<string name="button_share_by_sms">通过短信分享</string>
|
||||
<string name="button_share_clipboard">分享剪切板</string>
|
||||
<string name="button_share_contact">分享联系人</string>
|
||||
<string name="button_show_map">显示地图</string>
|
||||
<string name="button_sms">发送短信</string>
|
||||
<string name="button_web_search">网页搜索</string>
|
||||
<string name="button_wifi">连接到网络</string>
|
||||
<string name="contents_contact">联系人信息</string>
|
||||
<string name="contents_email">Email地址</string>
|
||||
<string name="contents_location">地理坐标</string>
|
||||
<string name="contents_phone">电话号码</string>
|
||||
<string name="contents_sms">短信地址</string>
|
||||
<string name="contents_text">纯文本</string>
|
||||
<string name="history_clear_one_history_text">删除</string>
|
||||
<string name="history_clear_text">删除历史</string>
|
||||
<string name="history_email_title">条码扫描器历史</string>
|
||||
<string name="history_empty">空的</string>
|
||||
<string name="history_empty_detail">没有条码扫描已记录</string>
|
||||
<string name="history_send">发送历史</string>
|
||||
<string name="history_title">历史</string>
|
||||
<string name="menu_encode_mecard">使用MECARD</string>
|
||||
<string name="menu_encode_vcard">使用vCard</string>
|
||||
<string name="menu_help">帮助</string>
|
||||
<string name="menu_history">历史</string>
|
||||
<string name="menu_settings">设置</string>
|
||||
<string name="menu_share">分享</string>
|
||||
<string name="msg_bulk_mode_scanned">批量扫描:找到条码,已保存</string>
|
||||
<string name="msg_camera_framework_bug">抱歉,Android相机出现问题。您可能需要重启设备。</string>
|
||||
<string name="msg_default_format">格式</string>
|
||||
<string name="msg_default_meta">元数据</string>
|
||||
<string name="msg_default_mms_subject">Hi</string>
|
||||
<string name="msg_default_status">请将条码置于取景框内扫描。 </string>
|
||||
<string name="msg_default_time">时间</string>
|
||||
<string name="msg_default_type">类型</string>
|
||||
<string name="msg_encode_contents_failed">无法根据已有数据生成条码。 </string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">抱歉,无法打开所需软件。 条码内容可能无效。</string>
|
||||
<string name="msg_redirect">重定向</string>
|
||||
<string name="msg_sbc_book_not_searchable">抱歉,无法找到此图书。</string>
|
||||
<string name="msg_sbc_failed">抱歉,搜索时遇到错误。</string>
|
||||
<string name="msg_sbc_no_page_returned">无页面返回</string>
|
||||
<string name="msg_sbc_page">页面</string>
|
||||
<string name="msg_sbc_results">结果</string>
|
||||
<string name="msg_sbc_searching_book">搜索图书…</string>
|
||||
<string name="msg_sbc_snippet_unavailable">摘录不可用</string>
|
||||
<string name="msg_share_explanation">您可以通过在自己的手机上显示条码,并使用其它手机扫描此条码的方式进行分享</string>
|
||||
<string name="msg_share_text">或键入一些文字</string>
|
||||
<string name="msg_sure">你肯定吗?</string>
|
||||
<string name="msg_unmount_usb">抱歉,SD卡不可访问。</string>
|
||||
<string name="preferences_actions_title">找到条码时</string>
|
||||
<string name="preferences_auto_focus_title">使用自动对焦</string>
|
||||
<string name="preferences_bulk_mode_summary">连续扫描并保存多个条形码</string>
|
||||
<string name="preferences_bulk_mode_title">批量扫描模式</string>
|
||||
<string name="preferences_copy_to_clipboard_title">复制到剪切板</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">替换:%s=内容,%f=格式,%t=类型</string>
|
||||
<string name="preferences_custom_product_search_title">自定义搜索网址</string>
|
||||
<string name="preferences_decode_1D_title">扫描 一维条码</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">扫描 DM码</string>
|
||||
<string name="preferences_decode_QR_title">扫描 QR码</string>
|
||||
<string name="preferences_device_bug_workarounds_title">设备问题解决办法</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">只使用标准对焦模式</string>
|
||||
<string name="preferences_disable_continuous_focus_title">没有持续关注</string>
|
||||
<string name="preferences_disable_exposure_title">无曝光</string>
|
||||
<string name="preferences_front_light_auto">自动</string>
|
||||
<string name="preferences_front_light_off">待用</string>
|
||||
<string name="preferences_front_light_on">活跃</string>
|
||||
<string name="preferences_front_light_summary">前灯可用时,打开前灯</string>
|
||||
<string name="preferences_front_light_title">前灯</string>
|
||||
<string name="preferences_general_title">一般设置</string>
|
||||
<string name="preferences_invert_scan_summary">黑色背景上的白色条形码扫描。在某些设备上。</string>
|
||||
<string name="preferences_invert_scan_title">反向扫描</string>
|
||||
<string name="preferences_name">设置</string>
|
||||
<string name="preferences_play_beep_title">提示音</string>
|
||||
<string name="preferences_remember_duplicates_summary">在历史记录中保存重复记录</string>
|
||||
<string name="preferences_remember_duplicates_title">记住重复</string>
|
||||
<string name="preferences_result_title">结果设置</string>
|
||||
<string name="preferences_scanning_title">条码类型选择</string>
|
||||
<string name="preferences_search_country">搜索国家</string>
|
||||
<string name="preferences_supplemental_summary">尝试检索关于条码内容的更多信息</string>
|
||||
<string name="preferences_supplemental_title">检索更多信息</string>
|
||||
<string name="preferences_try_bsplus">尝试条码扫描器+</string>
|
||||
<string name="preferences_try_bsplus_summary">增强新的功能和接口</string>
|
||||
<string name="preferences_vibrate_title">振动</string>
|
||||
<string name="result_address_book">找到联系人信息</string>
|
||||
<string name="result_calendar">找到日历事件</string>
|
||||
<string name="result_email_address">找到email地址</string>
|
||||
<string name="result_geo">找到地理坐标</string>
|
||||
<string name="result_isbn">找到图书</string>
|
||||
<string name="result_product">找到产品</string>
|
||||
<string name="result_sms">找到短信地址</string>
|
||||
<string name="result_tel">找到电话号码</string>
|
||||
<string name="result_text">找到纯文本</string>
|
||||
<string name="result_uri">找到URL</string>
|
||||
<string name="result_wifi">发现网络配置</string>
|
||||
<string name="sbc_name">Google图书搜索</string>
|
||||
<string name="wifi_changing_network">请求连接到网络\u2026</string>
|
||||
<string name="wifi_ssid_label">网络SSID</string>
|
||||
<string name="wifi_type_label">类型</string>
|
||||
</resources>
|
136
src/java/PluginQR/res/values-zh-rTW/strings.xml
Normal file
136
src/java/PluginQR/res/values-zh-rTW/strings.xml
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">條碼掃描器</string>
|
||||
<string name="app_picker_name">應用程式</string>
|
||||
<string name="bookmark_picker_name">書籤</string>
|
||||
<string name="button_add_calendar">加入事件至日曆</string>
|
||||
<string name="button_add_contact">加入聯絡人</string>
|
||||
<string name="button_book_search">打開圖書搜索</string>
|
||||
<string name="button_cancel">取消</string>
|
||||
<string name="button_custom_product_search">自定義搜索</string>
|
||||
<string name="button_dial">撥號</string>
|
||||
<string name="button_email">發送電子郵件</string>
|
||||
<string name="button_get_directions">路線規劃</string>
|
||||
<string name="button_mms">發送 MMS</string>
|
||||
<string name="button_ok">確定</string>
|
||||
<string name="button_open_browser">打開瀏覽器</string>
|
||||
<string name="button_product_search">打開產品搜索</string>
|
||||
<string name="button_search_book_contents">搜索圖書內容</string>
|
||||
<string name="button_share_app">分享應用程式</string>
|
||||
<string name="button_share_bookmark">分享書籤</string>
|
||||
<string name="button_share_by_email">透過電子郵件分享</string>
|
||||
<string name="button_share_by_sms">透過簡訊分享</string>
|
||||
<string name="button_share_clipboard">分享剪貼簿</string>
|
||||
<string name="button_share_contact">分享聯絡人</string>
|
||||
<string name="button_show_map">顯示地圖</string>
|
||||
<string name="button_sms">發送簡訊</string>
|
||||
<string name="button_web_search">網頁搜索</string>
|
||||
<string name="button_wifi">連接到網路</string>
|
||||
<string name="contents_contact">聯絡人資訊</string>
|
||||
<string name="contents_email">電子郵件地址</string>
|
||||
<string name="contents_location">地理座標</string>
|
||||
<string name="contents_phone">電話號碼</string>
|
||||
<string name="contents_sms">簡訊地址</string>
|
||||
<string name="contents_text">純文字</string>
|
||||
<string name="history_clear_one_history_text">刪除</string>
|
||||
<string name="history_clear_text">刪除紀錄</string>
|
||||
<string name="history_email_title">條碼掃描器紀錄</string>
|
||||
<string name="history_empty">空的</string>
|
||||
<string name="history_empty_detail">沒有條碼掃描記錄</string>
|
||||
<string name="history_send">發送紀錄</string>
|
||||
<string name="history_title">紀錄</string>
|
||||
<string name="menu_encode_mecard">使用MECARD</string>
|
||||
<string name="menu_encode_vcard">使用vCard</string>
|
||||
<string name="menu_help">說明</string>
|
||||
<string name="menu_history">紀錄</string>
|
||||
<string name="menu_settings">設定</string>
|
||||
<string name="menu_share">分享</string>
|
||||
<string name="msg_bulk_mode_scanned">大量掃描模式:條碼掃描並儲存</string>
|
||||
<string name="msg_camera_framework_bug">很抱歉,相機出現問題。您可能需要重新啟動設備。</string>
|
||||
<string name="msg_default_format">格式</string>
|
||||
<string name="msg_default_meta">後設資料</string>
|
||||
<string name="msg_default_mms_subject">哈囉</string>
|
||||
<string name="msg_default_status">將條碼置於鏡頭範圍內以進行掃描。</string>
|
||||
<string name="msg_default_time">時間</string>
|
||||
<string name="msg_default_type">類型</string>
|
||||
<string name="msg_encode_contents_failed">無法讀取條碼。</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">抱歉,無法打開所需軟體。條碼內容可能無效。</string>
|
||||
<string name="msg_redirect">重定向</string>
|
||||
<string name="msg_sbc_book_not_searchable">無法找到此圖書。</string>
|
||||
<string name="msg_sbc_failed">搜尋時發生錯誤。</string>
|
||||
<string name="msg_sbc_no_page_returned">沒有取得頁面</string>
|
||||
<string name="msg_sbc_page">頁面</string>
|
||||
<string name="msg_sbc_results">結果</string>
|
||||
<string name="msg_sbc_searching_book">搜尋圖書中\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">無法取得摘要</string>
|
||||
<string name="msg_share_explanation">你可以在你的手機螢幕上顯示條碼,並使用其他手機掃描此條碼藉此分享給朋友</string>
|
||||
<string name="msg_share_text">或輸入一些文字並按 Enter</string>
|
||||
<string name="msg_sure">你確定嗎?</string>
|
||||
<string name="msg_unmount_usb">無法讀取 SD 卡。</string>
|
||||
<string name="preferences_actions_title">找到條碼時</string>
|
||||
<string name="preferences_auto_focus_title">使用自動對焦</string>
|
||||
<string name="preferences_bulk_mode_summary">連續掃描並儲存多個條碼</string>
|
||||
<string name="preferences_bulk_mode_title">大量掃描模式</string>
|
||||
<string name="preferences_copy_to_clipboard_title">複製到剪貼簿</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">替換:%s=內容,%f=格式,%t=類型</string>
|
||||
<string name="preferences_custom_product_search_title">自訂搜尋網址</string>
|
||||
<string name="preferences_decode_1D_title">解碼一維條碼</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">解碼 Data Matrix 條碼</string>
|
||||
<string name="preferences_decode_QR_title">解碼 QR Code</string>
|
||||
<string name="preferences_device_bug_workarounds_title">設備問題解決辦法</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">只使用標準對焦模式</string>
|
||||
<string name="preferences_disable_continuous_focus_title">無連續對焦</string>
|
||||
<string name="preferences_disable_exposure_title">無曝光</string>
|
||||
<string name="preferences_front_light_auto">自動</string>
|
||||
<string name="preferences_front_light_off">待用</string>
|
||||
<string name="preferences_front_light_on">活躍</string>
|
||||
<string name="preferences_front_light_summary">改善在低光源的環境下掃描的成功率,但有可能造成過度曝光的現象</string>
|
||||
<string name="preferences_front_light_title">使用前光源</string>
|
||||
<string name="preferences_general_title">一般設定</string>
|
||||
<string name="preferences_invert_scan_summary">條碼掃描白色背景上的黑色。某些設備上無法使用。</string>
|
||||
<string name="preferences_invert_scan_title">反向掃描</string>
|
||||
<string name="preferences_name">設定</string>
|
||||
<string name="preferences_play_beep_title">提示音</string>
|
||||
<string name="preferences_remember_duplicates_summary">在紀錄中重複儲存相同的條碼</string>
|
||||
<string name="preferences_remember_duplicates_title">記錄重複的條碼</string>
|
||||
<string name="preferences_result_title">結果設定</string>
|
||||
<string name="preferences_scanning_title">當掃描條碼時</string>
|
||||
<string name="preferences_search_country">搜索國家</string>
|
||||
<string name="preferences_supplemental_summary">嘗試透過條碼搜尋更多的資訊</string>
|
||||
<string name="preferences_supplemental_title">搜尋更多資訊</string>
|
||||
<string name="preferences_try_bsplus">嘗試條碼掃描器+</string>
|
||||
<string name="preferences_try_bsplus_summary">增強新的功能和接口</string>
|
||||
<string name="preferences_vibrate_title">震動</string>
|
||||
<string name="result_address_book">找到聯絡人</string>
|
||||
<string name="result_calendar">找到日曆事件</string>
|
||||
<string name="result_email_address">找到電子郵件地址</string>
|
||||
<string name="result_geo">找到座標</string>
|
||||
<string name="result_isbn">找到圖書</string>
|
||||
<string name="result_product">找到產品</string>
|
||||
<string name="result_sms">找到簡訊</string>
|
||||
<string name="result_tel">找到電話號碼</string>
|
||||
<string name="result_text">找到純文字</string>
|
||||
<string name="result_uri">找到 URL</string>
|
||||
<string name="result_wifi">找到網路設定</string>
|
||||
<string name="sbc_name">Google 圖書搜尋</string>
|
||||
<string name="wifi_changing_network">請求連接到網絡\u2026</string>
|
||||
<string name="wifi_ssid_label">網路名稱</string>
|
||||
<string name="wifi_type_label">類型</string>
|
||||
</resources>
|
47
src/java/PluginQR/res/values/arrays.xml
Normal file
47
src/java/PluginQR/res/values/arrays.xml
Normal file
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string-array name="country_codes">
|
||||
<item>-</item>
|
||||
<item>AR</item>
|
||||
<item>AU</item>
|
||||
<item>BR</item>
|
||||
<item>BG</item>
|
||||
<item>CA</item>
|
||||
<item>CH</item>
|
||||
<item>CN</item>
|
||||
<item>CZ</item>
|
||||
<item>DE</item>
|
||||
<item>DK</item>
|
||||
<item>ES</item>
|
||||
<item>FI</item>
|
||||
<item>FR</item>
|
||||
<item>GB</item>
|
||||
<item>GR</item>
|
||||
<item>HU</item>
|
||||
<item>ID</item>
|
||||
<item>IT</item>
|
||||
<item>JP</item>
|
||||
<item>KR</item>
|
||||
<item>NL</item>
|
||||
<item>PL</item>
|
||||
<item>PT</item>
|
||||
<item>RO</item>
|
||||
<item>RU</item>
|
||||
<item>SE</item>
|
||||
<item>SK</item>
|
||||
<item>SI</item>
|
||||
<item>TR</item>
|
||||
<item>TW</item>
|
||||
<item>US</item>
|
||||
</string-array>
|
||||
<string-array name="preferences_front_light_values">
|
||||
<item>ON</item>
|
||||
<item>AUTO</item>
|
||||
<item>OFF</item>
|
||||
</string-array>
|
||||
<string-array name="preferences_front_light_options">
|
||||
<item>@string/preferences_front_light_on</item>
|
||||
<item>@string/preferences_front_light_auto</item>
|
||||
<item>@string/preferences_front_light_off</item>
|
||||
</string-array>
|
||||
</resources>
|
29
src/java/PluginQR/res/values/colors.xml
Normal file
29
src/java/PluginQR/res/values/colors.xml
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<color name="contents_text">#ff000000</color>
|
||||
<color name="encode_view">#ffffffff</color>
|
||||
<color name="possible_result_points">#c0ffbd21</color> <!-- Android standard ICS color -->
|
||||
<color name="result_minor_text">#ffc0c0c0</color>
|
||||
<color name="result_points">#c099cc00</color> <!-- Android standard ICS color -->
|
||||
<color name="result_text">#ffffffff</color>
|
||||
<color name="result_view">#b0000000</color>
|
||||
<color name="status_text">#ffffffff</color>
|
||||
<color name="transparent">#00000000</color>
|
||||
<color name="viewfinder_laser">#ffcc0000</color> <!-- Android standard ICS color -->
|
||||
<color name="viewfinder_mask">#60000000</color>
|
||||
</resources>
|
@ -1,7 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||
|
||||
</resources>
|
||||
<dimen name="standard_padding">8dip</dimen>
|
||||
<dimen name="half_padding">4dip</dimen>
|
||||
</resources>
|
7
src/java/PluginQR/res/values/dimensqr.xml
Normal file
7
src/java/PluginQR/res/values/dimensqr.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<resources>
|
||||
|
||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||
|
||||
</resources>
|
25
src/java/PluginQR/res/values/ids.xml
Normal file
25
src/java/PluginQR/res/values/ids.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<item type="id" name="decode"/>
|
||||
<item type="id" name="decode_failed"/>
|
||||
<item type="id" name="decode_succeeded"/>
|
||||
<item type="id" name="launch_product_query"/>
|
||||
<item type="id" name="quit"/>
|
||||
<item type="id" name="restart_preview"/>
|
||||
<item type="id" name="return_scan_result"/>
|
||||
</resources>
|
@ -1,18 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2010 ZXing authors
|
||||
|
||||
<string name="app_name">QR Plugin for KP2A</string>
|
||||
<string name="title_activity_qr">QRActivity</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
|
||||
<string name="action_show_qr">Show QR Code</string>
|
||||
<string name="include_label">Include field label</string>
|
||||
<string name="all_fields">All fields</string>
|
||||
|
||||
<string name="kp2aplugin_title">QR Plugin</string>
|
||||
<string name="kp2aplugin_shortdesc">Displays password entries as QR code</string>
|
||||
<string name="kp2aplugin_author">Philipp Crocoll</string>
|
||||
|
||||
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<string name="app_name">Barcode Scanner</string>
|
||||
<string name="app_picker_name">Applications</string>
|
||||
<string name="bookmark_picker_name">Bookmarks</string>
|
||||
<string name="button_add_calendar">Add to calendar</string>
|
||||
<string name="button_add_contact">Add contact</string>
|
||||
<string name="button_book_search">Book Search</string>
|
||||
<string name="button_cancel">Cancel</string>
|
||||
<string name="button_custom_product_search">Custom search</string>
|
||||
<string name="button_dial">Dial number</string>
|
||||
<string name="button_email">Send email</string>
|
||||
<string name="button_get_directions">Get directions</string>
|
||||
<string name="button_mms">Send MMS</string>
|
||||
<string name="button_ok">OK</string>
|
||||
<string name="button_open_browser">Open browser</string>
|
||||
<string name="button_product_search">Product search</string>
|
||||
<string name="button_search_book_contents">Search contents</string>
|
||||
<string name="button_share_app">Application</string>
|
||||
<string name="button_share_bookmark">Bookmark</string>
|
||||
<string name="button_share_by_email">Share via email</string>
|
||||
<string name="button_share_by_sms">Share via SMS</string>
|
||||
<string name="button_share_clipboard">Clipboard</string>
|
||||
<string name="button_share_contact">Contact</string>
|
||||
<string name="button_show_map">Show map</string>
|
||||
<string name="button_sms">Send SMS</string>
|
||||
<string name="button_web_search">Web search</string>
|
||||
<string name="button_wifi">Connect to Network</string>
|
||||
<string name="contents_contact">Contact info</string>
|
||||
<string name="contents_email">Email address</string>
|
||||
<string name="contents_location">Geographic coordinates</string>
|
||||
<string name="contents_phone">Phone number</string>
|
||||
<string name="contents_sms">SMS address</string>
|
||||
<string name="contents_text">Plain text</string>
|
||||
<string name="history_clear_text">Clear history</string>
|
||||
<string name="history_clear_one_history_text">Clear</string>
|
||||
<string name="history_email_title">Barcode Scanner history</string>
|
||||
<string name="history_empty">Empty</string>
|
||||
<string name="history_empty_detail">No barcode scans have been recorded</string>
|
||||
<string name="history_send">Send history</string>
|
||||
<string name="history_title">History</string>
|
||||
<string name="menu_encode_mecard">Use MECARD</string>
|
||||
<string name="menu_encode_vcard">Use vCard</string>
|
||||
<string name="menu_help">Help</string>
|
||||
<string name="menu_history">History</string>
|
||||
<string name="menu_settings">Settings</string>
|
||||
<string name="menu_share">Share</string>
|
||||
<string name="msg_bulk_mode_scanned">Bulk mode: barcode scanned and saved</string>
|
||||
<string name="msg_camera_framework_bug">Sorry, the Android camera encountered a problem. You may need to restart the device.</string>
|
||||
<string name="msg_default_format">Format</string>
|
||||
<string name="msg_default_meta">Metadata</string>
|
||||
<string name="msg_default_mms_subject">Hi</string>
|
||||
<string name="msg_default_status">Place a barcode inside the viewfinder rectangle to scan it.</string>
|
||||
<string name="msg_default_time">Time</string>
|
||||
<string name="msg_default_type">Type</string>
|
||||
<string name="msg_encode_contents_failed">Could not encode a barcode from the data provided.</string>
|
||||
<string name="msg_google_books">Google</string>
|
||||
<string name="msg_google_product">Google</string>
|
||||
<string name="msg_intent_failed">Sorry, the requested application could not be launched. The barcode contents may be invalid.</string>
|
||||
<string name="msg_redirect">Redirect</string>
|
||||
<string name="msg_sbc_book_not_searchable">Sorry, this book is not searchable.</string>
|
||||
<string name="msg_sbc_failed">Sorry, the search encountered a problem.</string>
|
||||
<string name="msg_sbc_no_page_returned">No page returned</string>
|
||||
<string name="msg_sbc_page">Page</string>
|
||||
<string name="msg_sbc_results">Results</string>
|
||||
<string name="msg_sbc_searching_book">Searching book\u2026</string>
|
||||
<string name="msg_sbc_snippet_unavailable">Snippet not available</string>
|
||||
<string name="msg_share_explanation">You can share data by displaying a barcode on your screen and scanning it with another phone.</string>
|
||||
<string name="msg_share_text">Or type some text and press Enter</string>
|
||||
<string name="msg_sure">Are you sure?</string>
|
||||
<string name="msg_unmount_usb">Sorry, the SD card is not accessible.</string>
|
||||
<string name="preferences_actions_title">When a barcode is found\u2026</string>
|
||||
<string name="preferences_auto_focus_title">Use auto focus</string>
|
||||
<string name="preferences_bulk_mode_summary">Scan and save many barcodes continuously</string>
|
||||
<string name="preferences_bulk_mode_title">Bulk scan mode</string>
|
||||
<string name="preferences_copy_to_clipboard_title">Copy to clipboard</string>
|
||||
<string name="preferences_custom_product_search_summary" formatted="false">Substitutions: %s = contents, %f = format, %t = type</string>
|
||||
<string name="preferences_custom_product_search_title">Custom search URL</string>
|
||||
<string name="preferences_decode_1D_title">1D barcodes</string>
|
||||
<string name="preferences_decode_Data_Matrix_title">Data Matrix</string>
|
||||
<string name="preferences_decode_QR_title">QR Codes</string>
|
||||
<string name="preferences_device_bug_workarounds_title">Device Bug Workarounds</string>
|
||||
<string name="preferences_disable_continuous_focus_summary">Use only standard focus mode</string>
|
||||
<string name="preferences_disable_continuous_focus_title">No continuous focus</string>
|
||||
<string name="preferences_disable_exposure_title">No exposure</string>
|
||||
<string name="preferences_front_light_summary">Improves scanning in low light on some phones, but may cause glare. Does not work on all phones.</string>
|
||||
<string name="preferences_front_light_title">Use front light</string>
|
||||
<string name="preferences_front_light_auto">Automatic</string>
|
||||
<string name="preferences_front_light_off">Off</string>
|
||||
<string name="preferences_front_light_on">On</string>
|
||||
<string name="preferences_general_title">General settings</string>
|
||||
<string name="preferences_invert_scan_title">Invert scan</string>
|
||||
<string name="preferences_invert_scan_summary">Scan for white barcodes on black background. Not available on some devices.</string>
|
||||
<string name="preferences_name">Settings</string>
|
||||
<string name="preferences_play_beep_title">Beep</string>
|
||||
<string name="preferences_remember_duplicates_summary">Store multiple scans of the same barcode in History</string>
|
||||
<string name="preferences_remember_duplicates_title">Remember duplicates</string>
|
||||
<string name="preferences_result_title">Result settings</string>
|
||||
<string name="preferences_scanning_title">When scanning for barcodes, decode\u2026</string>
|
||||
<string name="preferences_search_country">Search country</string>
|
||||
<string name="preferences_try_bsplus">Try Barcode Scanner+</string>
|
||||
<string name="preferences_try_bsplus_summary">Enhanced with new features and interface</string>
|
||||
<string name="preferences_supplemental_summary">Try to retrieve more information about the barcode contents</string>
|
||||
<string name="preferences_supplemental_title">Retrieve more info</string>
|
||||
<string name="preferences_vibrate_title">Vibrate</string>
|
||||
<string name="result_address_book">Found contact info</string>
|
||||
<string name="result_calendar">Found calendar event</string>
|
||||
<string name="result_email_address">Found email address</string>
|
||||
<string name="result_geo">Found geographic coordinates</string>
|
||||
<string name="result_isbn">Found book</string>
|
||||
<string name="result_product">Found product</string>
|
||||
<string name="result_sms">Found SMS address</string>
|
||||
<string name="result_tel">Found phone number</string>
|
||||
<string name="result_text">Found plain text</string>
|
||||
<string name="result_uri">Found URL</string>
|
||||
<string name="result_wifi">Found WLAN Configuration</string>
|
||||
<string name="sbc_name">Google Book Search</string>
|
||||
<string name="wifi_changing_network">Requesting connection to network\u2026</string>
|
||||
<string name="wifi_ssid_label">Network Name</string>
|
||||
<string name="wifi_type_label">Type</string>
|
||||
</resources>
|
||||
|
16
src/java/PluginQR/res/values/stringsqr.xml
Normal file
16
src/java/PluginQR/res/values/stringsqr.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="app_name">QR Plugin for KP2A</string>
|
||||
<string name="title_activity_qr">QRActivity</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
<string name="action_show_qr">Show QR Code</string>
|
||||
<string name="include_label">Include field label</string>
|
||||
<string name="all_fields">All fields</string>
|
||||
<string name="kp2aplugin_title">QR Plugin</string>
|
||||
<string name="kp2aplugin_shortdesc">Displays password entries as QR code</string>
|
||||
<string name="kp2aplugin_author">Philipp Crocoll</string>
|
||||
<string name="title_activity_main">MainActivity</string>
|
||||
<string name="hello_world">Hello world!</string>
|
||||
|
||||
</resources>
|
@ -1,20 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
Base application theme, dependent on API level. This theme is replaced
|
||||
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
|
||||
-->
|
||||
<style name="AppBaseTheme" parent="android:Theme.Light">
|
||||
<!--
|
||||
Theme customizations available in newer API levels can go in
|
||||
res/values-vXX/styles.xml, while customizations related to
|
||||
backward-compatibility can go here.
|
||||
-->
|
||||
</style>
|
||||
|
||||
<!-- Application theme. -->
|
||||
<style name="AppTheme" parent="AppBaseTheme">
|
||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||
</style>
|
||||
<style name="ResultButton" parent="@android:style/Widget.Holo.Button.Borderless.Small">
|
||||
<item name="android:layout_width">0dip</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
</style>
|
||||
<style name="ShareButton" parent="@android:style/Widget.Holo.Button.Borderless.Small">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
20
src/java/PluginQR/res/values/stylesqr.xml
Normal file
20
src/java/PluginQR/res/values/stylesqr.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
Base application theme, dependent on API level. This theme is replaced
|
||||
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
|
||||
-->
|
||||
<style name="AppBaseTheme" parent="android:Theme.Light">
|
||||
<!--
|
||||
Theme customizations available in newer API levels can go in
|
||||
res/values-vXX/styles.xml, while customizations related to
|
||||
backward-compatibility can go here.
|
||||
-->
|
||||
</style>
|
||||
|
||||
<!-- Application theme. -->
|
||||
<style name="AppTheme" parent="AppBaseTheme">
|
||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||
</style>
|
||||
|
||||
</resources>
|
24
src/java/PluginQR/res/values/themes.xml
Normal file
24
src/java/PluginQR/res/values/themes.xml
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2012 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<style name="CaptureTheme" parent="android:Theme.Holo">
|
||||
<item name="android:windowFullscreen">true</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:windowActionBarOverlay">true</item>
|
||||
<item name="android:windowActionModeOverlay">true</item>
|
||||
</style>
|
||||
</resources>
|
110
src/java/PluginQR/res/xml/preferences.xml
Normal file
110
src/java/PluginQR/res/xml/preferences.xml
Normal file
@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2008 ZXing authors
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceCategory android:title="@string/preferences_scanning_title">
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_decode_1D"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_decode_1D_title"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_decode_QR"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_decode_QR_title"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_decode_Data_Matrix"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_decode_Data_Matrix_title"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/preferences_actions_title">
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_play_beep"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_play_beep_title"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_vibrate"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/preferences_vibrate_title"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_copy_to_clipboard"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_copy_to_clipboard_title"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_remember_duplicates"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/preferences_remember_duplicates_title"
|
||||
android:summary="@string/preferences_remember_duplicates_summary"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_supplemental"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_supplemental_title"
|
||||
android:summary="@string/preferences_supplemental_summary"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/preferences_result_title">
|
||||
<EditTextPreference
|
||||
android:key="preferences_custom_product_search"
|
||||
android:title="@string/preferences_custom_product_search_title"
|
||||
android:summary="@string/preferences_custom_product_search_summary"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/preferences_general_title">
|
||||
<ListPreference
|
||||
android:entries="@array/preferences_front_light_options"
|
||||
android:entryValues="@array/preferences_front_light_values"
|
||||
android:key="preferences_front_light_mode"
|
||||
android:defaultValue="OFF"
|
||||
android:title="@string/preferences_front_light_title"
|
||||
android:summary="@string/preferences_front_light_summary"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_auto_focus"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_auto_focus_title"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_invert_scan"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/preferences_invert_scan_title"
|
||||
android:summary="@string/preferences_invert_scan_summary"/>
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_bulk_mode"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/preferences_bulk_mode_title"
|
||||
android:summary="@string/preferences_bulk_mode_summary"/>
|
||||
<ListPreference
|
||||
android:key="preferences_search_country"
|
||||
android:defaultValue="-"
|
||||
android:entries="@array/country_codes"
|
||||
android:entryValues="@array/country_codes"
|
||||
android:title="@string/preferences_search_country"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/preferences_device_bug_workarounds_title">
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_disable_continuous_focus"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/preferences_disable_continuous_focus_title"
|
||||
android:summary="@string/preferences_disable_continuous_focus_summary"/>
|
||||
<!--
|
||||
<CheckBoxPreference
|
||||
android:key="preferences_disable_exposure"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/preferences_disable_exposure_title"/>
|
||||
-->
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/preferences_try_bsplus">
|
||||
<Preference android:title="@string/preferences_try_bsplus"
|
||||
android:summary="@string/preferences_try_bsplus_summary">
|
||||
<intent android:action="android.intent.action.VIEW" android:data="market://details?id=com.srowen.bs.android" />
|
||||
</Preference>
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Copyright (C) 2012 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.preference.PreferenceManager;
|
||||
import com.google.zxing.client.android.camera.CameraManager;
|
||||
import com.google.zxing.client.android.camera.FrontLightMode;
|
||||
|
||||
/**
|
||||
* Detects ambient light and switches on the front light when very dark, and off again when sufficiently light.
|
||||
*
|
||||
* @author Sean Owen
|
||||
* @author Nikolaus Huber
|
||||
*/
|
||||
final class AmbientLightManager implements SensorEventListener {
|
||||
|
||||
private static final float TOO_DARK_LUX = 45.0f;
|
||||
private static final float BRIGHT_ENOUGH_LUX = 450.0f;
|
||||
|
||||
private final Context context;
|
||||
private CameraManager cameraManager;
|
||||
private Sensor lightSensor;
|
||||
|
||||
AmbientLightManager(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
void start(CameraManager cameraManager) {
|
||||
this.cameraManager = cameraManager;
|
||||
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
if (FrontLightMode.readPref(sharedPrefs) == FrontLightMode.AUTO) {
|
||||
SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
|
||||
lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
|
||||
if (lightSensor != null) {
|
||||
sensorManager.registerListener(this, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void stop() {
|
||||
if (lightSensor != null) {
|
||||
SensorManager sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
|
||||
sensorManager.unregisterListener(this);
|
||||
cameraManager = null;
|
||||
lightSensor = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSensorChanged(SensorEvent sensorEvent) {
|
||||
float ambientLightLux = sensorEvent.values[0];
|
||||
if (cameraManager != null) {
|
||||
if (ambientLightLux <= TOO_DARK_LUX) {
|
||||
cameraManager.setTorch(true);
|
||||
} else if (ambientLightLux >= BRIGHT_ENOUGH_LUX) {
|
||||
cameraManager.setTorch(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAccuracyChanged(Sensor sensor, int accuracy) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,126 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.R;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.AssetFileDescriptor;
|
||||
import android.media.AudioManager;
|
||||
import android.media.MediaPlayer;
|
||||
import android.os.Vibrator;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Manages beeps and vibrations for {@link CaptureActivity}.
|
||||
*/
|
||||
final class BeepManager implements MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {
|
||||
|
||||
private static final String TAG = BeepManager.class.getSimpleName();
|
||||
|
||||
private static final float BEEP_VOLUME = 0.10f;
|
||||
private static final long VIBRATE_DURATION = 200L;
|
||||
|
||||
private final Activity activity;
|
||||
private MediaPlayer mediaPlayer;
|
||||
private boolean playBeep;
|
||||
private boolean vibrate;
|
||||
|
||||
BeepManager(Activity activity) {
|
||||
this.activity = activity;
|
||||
this.mediaPlayer = null;
|
||||
updatePrefs();
|
||||
}
|
||||
|
||||
synchronized void updatePrefs() {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
playBeep = shouldBeep(prefs, activity);
|
||||
vibrate = prefs.getBoolean(PreferencesActivity.KEY_VIBRATE, false);
|
||||
if (playBeep && mediaPlayer == null) {
|
||||
// The volume on STREAM_SYSTEM is not adjustable, and users found it too loud,
|
||||
// so we now play on the music stream.
|
||||
activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||
mediaPlayer = buildMediaPlayer(activity);
|
||||
}
|
||||
}
|
||||
|
||||
synchronized void playBeepSoundAndVibrate() {
|
||||
if (playBeep && mediaPlayer != null) {
|
||||
mediaPlayer.start();
|
||||
}
|
||||
if (vibrate) {
|
||||
Vibrator vibrator = (Vibrator) activity.getSystemService(Context.VIBRATOR_SERVICE);
|
||||
vibrator.vibrate(VIBRATE_DURATION);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean shouldBeep(SharedPreferences prefs, Context activity) {
|
||||
boolean shouldPlayBeep = prefs.getBoolean(PreferencesActivity.KEY_PLAY_BEEP, true);
|
||||
if (shouldPlayBeep) {
|
||||
// See if sound settings overrides this
|
||||
AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE);
|
||||
if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
|
||||
shouldPlayBeep = false;
|
||||
}
|
||||
}
|
||||
return shouldPlayBeep;
|
||||
}
|
||||
|
||||
private MediaPlayer buildMediaPlayer(Context activity) {
|
||||
MediaPlayer mediaPlayer = new MediaPlayer();
|
||||
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
|
||||
mediaPlayer.setOnCompletionListener(this);
|
||||
mediaPlayer.setOnErrorListener(this);
|
||||
|
||||
AssetFileDescriptor file = activity.getResources().openRawResourceFd(keepass2android.plugin.qr.R.raw.beep);
|
||||
try {
|
||||
mediaPlayer.setDataSource(file.getFileDescriptor(), file.getStartOffset(), file.getLength());
|
||||
file.close();
|
||||
mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME);
|
||||
mediaPlayer.prepare();
|
||||
} catch (IOException ioe) {
|
||||
Log.w(TAG, ioe);
|
||||
mediaPlayer = null;
|
||||
}
|
||||
return mediaPlayer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCompletion(MediaPlayer mp) {
|
||||
// When the beep has finished playing, rewind to queue up another one.
|
||||
mp.seekTo(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized boolean onError(MediaPlayer mp, int what, int extra) {
|
||||
if (what == MediaPlayer.MEDIA_ERROR_SERVER_DIED) {
|
||||
// we are finished, so put up an appropriate error toast if required and finish
|
||||
activity.finish();
|
||||
} else {
|
||||
// possibly media player error, so release and recreate
|
||||
mp.release();
|
||||
mediaPlayer = null;
|
||||
updatePrefs();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,716 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
import com.google.zxing.DecodeHintType;
|
||||
import com.google.zxing.Result;
|
||||
import com.google.zxing.ResultMetadataType;
|
||||
import com.google.zxing.ResultPoint;
|
||||
import com.google.zxing.client.android.camera.CameraManager;
|
||||
import com.google.zxing.client.android.clipboard.ClipboardInterface;
|
||||
import com.google.zxing.client.android.history.HistoryActivity;
|
||||
import com.google.zxing.client.android.history.HistoryItem;
|
||||
import com.google.zxing.client.android.history.HistoryManager;
|
||||
import com.google.zxing.client.android.result.ResultButtonListener;
|
||||
import com.google.zxing.client.android.result.ResultHandler;
|
||||
import com.google.zxing.client.android.result.ResultHandlerFactory;
|
||||
import com.google.zxing.client.android.result.supplement.SupplementalInfoRetriever;
|
||||
import com.google.zxing.client.android.share.ShareActivity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SurfaceHolder;
|
||||
import android.view.SurfaceView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.DateFormat;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Map;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
/**
|
||||
* This activity opens the camera and does the actual scanning on a background thread. It draws a
|
||||
* viewfinder to help the user place the barcode correctly, shows feedback as the image processing
|
||||
* is happening, and then overlays the results when a scan is successful.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
* @author Sean Owen
|
||||
*/
|
||||
public final class CaptureActivity extends Activity implements SurfaceHolder.Callback {
|
||||
|
||||
private static final String TAG = CaptureActivity.class.getSimpleName();
|
||||
|
||||
private static final long DEFAULT_INTENT_RESULT_DURATION_MS = 1500L;
|
||||
private static final long BULK_MODE_SCAN_DELAY_MS = 1000L;
|
||||
|
||||
private static final String[] ZXING_URLS = { "http://zxing.appspot.com/scan", "zxing://scan/" };
|
||||
|
||||
public static final int HISTORY_REQUEST_CODE = 0x0000bacc;
|
||||
|
||||
private static final Collection<ResultMetadataType> DISPLAYABLE_METADATA_TYPES =
|
||||
EnumSet.of(ResultMetadataType.ISSUE_NUMBER,
|
||||
ResultMetadataType.SUGGESTED_PRICE,
|
||||
ResultMetadataType.ERROR_CORRECTION_LEVEL,
|
||||
ResultMetadataType.POSSIBLE_COUNTRY);
|
||||
|
||||
private CameraManager cameraManager;
|
||||
private CaptureActivityHandler handler;
|
||||
private Result savedResultToShow;
|
||||
private ViewfinderView viewfinderView;
|
||||
private TextView statusView;
|
||||
private View resultView;
|
||||
private Result lastResult;
|
||||
private boolean hasSurface;
|
||||
private boolean copyToClipboard;
|
||||
private IntentSource source;
|
||||
private String sourceUrl;
|
||||
private ScanFromWebPageManager scanFromWebPageManager;
|
||||
private Collection<BarcodeFormat> decodeFormats;
|
||||
private Map<DecodeHintType,?> decodeHints;
|
||||
private String characterSet;
|
||||
private HistoryManager historyManager;
|
||||
private InactivityTimer inactivityTimer;
|
||||
private BeepManager beepManager;
|
||||
private AmbientLightManager ambientLightManager;
|
||||
|
||||
ViewfinderView getViewfinderView() {
|
||||
return viewfinderView;
|
||||
}
|
||||
|
||||
public Handler getHandler() {
|
||||
return handler;
|
||||
}
|
||||
|
||||
CameraManager getCameraManager() {
|
||||
return cameraManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
|
||||
Window window = getWindow();
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
||||
setContentView(R.layout.capture);
|
||||
|
||||
hasSurface = false;
|
||||
historyManager = new HistoryManager(this);
|
||||
historyManager.trimHistory();
|
||||
inactivityTimer = new InactivityTimer(this);
|
||||
beepManager = new BeepManager(this);
|
||||
ambientLightManager = new AmbientLightManager(this);
|
||||
|
||||
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
// CameraManager must be initialized here, not in onCreate(). This is necessary because we don't
|
||||
// want to open the camera driver and measure the screen size if we're going to show the help on
|
||||
// first launch. That led to bugs where the scanning rectangle was the wrong size and partially
|
||||
// off screen.
|
||||
cameraManager = new CameraManager(getApplication());
|
||||
|
||||
viewfinderView = (ViewfinderView) findViewById(R.id.viewfinder_view);
|
||||
viewfinderView.setCameraManager(cameraManager);
|
||||
|
||||
resultView = findViewById(R.id.result_view);
|
||||
statusView = (TextView) findViewById(R.id.status_view);
|
||||
|
||||
handler = null;
|
||||
lastResult = null;
|
||||
|
||||
resetStatusView();
|
||||
|
||||
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
|
||||
SurfaceHolder surfaceHolder = surfaceView.getHolder();
|
||||
if (hasSurface) {
|
||||
// The activity was paused but not stopped, so the surface still exists. Therefore
|
||||
// surfaceCreated() won't be called, so init the camera here.
|
||||
initCamera(surfaceHolder);
|
||||
} else {
|
||||
// Install the callback and wait for surfaceCreated() to init the camera.
|
||||
surfaceHolder.addCallback(this);
|
||||
}
|
||||
|
||||
beepManager.updatePrefs();
|
||||
ambientLightManager.start(cameraManager);
|
||||
|
||||
inactivityTimer.onResume();
|
||||
|
||||
Intent intent = getIntent();
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
copyToClipboard = prefs.getBoolean(PreferencesActivity.KEY_COPY_TO_CLIPBOARD, true)
|
||||
&& (intent == null || intent.getBooleanExtra(Intents.Scan.SAVE_HISTORY, true));
|
||||
|
||||
source = IntentSource.NONE;
|
||||
decodeFormats = null;
|
||||
characterSet = null;
|
||||
|
||||
if (intent != null) {
|
||||
|
||||
String action = intent.getAction();
|
||||
String dataString = intent.getDataString();
|
||||
|
||||
if (Intents.Scan.ACTION.equals(action)) {
|
||||
|
||||
// Scan the formats the intent requested, and return the result to the calling activity.
|
||||
source = IntentSource.NATIVE_APP_INTENT;
|
||||
decodeFormats = DecodeFormatManager.parseDecodeFormats(intent);
|
||||
decodeHints = DecodeHintManager.parseDecodeHints(intent);
|
||||
|
||||
if (intent.hasExtra(Intents.Scan.WIDTH) && intent.hasExtra(Intents.Scan.HEIGHT)) {
|
||||
int width = intent.getIntExtra(Intents.Scan.WIDTH, 0);
|
||||
int height = intent.getIntExtra(Intents.Scan.HEIGHT, 0);
|
||||
if (width > 0 && height > 0) {
|
||||
cameraManager.setManualFramingRect(width, height);
|
||||
}
|
||||
}
|
||||
|
||||
String customPromptMessage = intent.getStringExtra(Intents.Scan.PROMPT_MESSAGE);
|
||||
if (customPromptMessage != null) {
|
||||
statusView.setText(customPromptMessage);
|
||||
}
|
||||
|
||||
} else if (dataString != null &&
|
||||
dataString.contains("http://www.google") &&
|
||||
dataString.contains("/m/products/scan")) {
|
||||
|
||||
// Scan only products and send the result to mobile Product Search.
|
||||
source = IntentSource.PRODUCT_SEARCH_LINK;
|
||||
sourceUrl = dataString;
|
||||
decodeFormats = DecodeFormatManager.PRODUCT_FORMATS;
|
||||
|
||||
} else if (isZXingURL(dataString)) {
|
||||
|
||||
// Scan formats requested in query string (all formats if none specified).
|
||||
// If a return URL is specified, send the results there. Otherwise, handle it ourselves.
|
||||
source = IntentSource.ZXING_LINK;
|
||||
sourceUrl = dataString;
|
||||
Uri inputUri = Uri.parse(dataString);
|
||||
scanFromWebPageManager = new ScanFromWebPageManager(inputUri);
|
||||
decodeFormats = DecodeFormatManager.parseDecodeFormats(inputUri);
|
||||
// Allow a sub-set of the hints to be specified by the caller.
|
||||
decodeHints = DecodeHintManager.parseDecodeHints(inputUri);
|
||||
|
||||
}
|
||||
|
||||
characterSet = intent.getStringExtra(Intents.Scan.CHARACTER_SET);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isZXingURL(String dataString) {
|
||||
if (dataString == null) {
|
||||
return false;
|
||||
}
|
||||
for (String url : ZXING_URLS) {
|
||||
if (dataString.startsWith(url)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
if (handler != null) {
|
||||
handler.quitSynchronously();
|
||||
handler = null;
|
||||
}
|
||||
inactivityTimer.onPause();
|
||||
ambientLightManager.stop();
|
||||
cameraManager.closeDriver();
|
||||
if (!hasSurface) {
|
||||
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
|
||||
SurfaceHolder surfaceHolder = surfaceView.getHolder();
|
||||
surfaceHolder.removeCallback(this);
|
||||
}
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
inactivityTimer.shutdown();
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
switch (keyCode) {
|
||||
case KeyEvent.KEYCODE_BACK:
|
||||
if (source == IntentSource.NATIVE_APP_INTENT) {
|
||||
setResult(RESULT_CANCELED);
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
if ((source == IntentSource.NONE || source == IntentSource.ZXING_LINK) && lastResult != null) {
|
||||
restartPreviewAfterDelay(0L);
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case KeyEvent.KEYCODE_FOCUS:
|
||||
case KeyEvent.KEYCODE_CAMERA:
|
||||
// Handle these events so they don't launch the Camera app
|
||||
return true;
|
||||
// Use volume up/down to turn on light
|
||||
case KeyEvent.KEYCODE_VOLUME_DOWN:
|
||||
cameraManager.setTorch(false);
|
||||
return true;
|
||||
case KeyEvent.KEYCODE_VOLUME_UP:
|
||||
cameraManager.setTorch(true);
|
||||
return true;
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater menuInflater = getMenuInflater();
|
||||
menuInflater.inflate(R.menu.capture, menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||
switch (item.getItemId()) {
|
||||
case R.id.menu_share:
|
||||
intent.setClassName(this, ShareActivity.class.getName());
|
||||
startActivity(intent);
|
||||
break;
|
||||
case R.id.menu_history:
|
||||
intent.setClassName(this, HistoryActivity.class.getName());
|
||||
startActivityForResult(intent, HISTORY_REQUEST_CODE);
|
||||
break;
|
||||
case R.id.menu_settings:
|
||||
intent.setClassName(this, PreferencesActivity.class.getName());
|
||||
startActivity(intent);
|
||||
break;
|
||||
case R.id.menu_help:
|
||||
intent.setClassName(this, HelpActivity.class.getName());
|
||||
startActivity(intent);
|
||||
break;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
|
||||
if (resultCode == RESULT_OK) {
|
||||
if (requestCode == HISTORY_REQUEST_CODE) {
|
||||
int itemNumber = intent.getIntExtra(Intents.History.ITEM_NUMBER, -1);
|
||||
if (itemNumber >= 0) {
|
||||
HistoryItem historyItem = historyManager.buildHistoryItem(itemNumber);
|
||||
decodeOrStoreSavedBitmap(null, historyItem.getResult());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void decodeOrStoreSavedBitmap(Bitmap bitmap, Result result) {
|
||||
// Bitmap isn't used yet -- will be used soon
|
||||
if (handler == null) {
|
||||
savedResultToShow = result;
|
||||
} else {
|
||||
if (result != null) {
|
||||
savedResultToShow = result;
|
||||
}
|
||||
if (savedResultToShow != null) {
|
||||
Message message = Message.obtain(handler, R.id.decode_succeeded, savedResultToShow);
|
||||
handler.sendMessage(message);
|
||||
}
|
||||
savedResultToShow = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceCreated(SurfaceHolder holder) {
|
||||
if (holder == null) {
|
||||
Log.e(TAG, "*** WARNING *** surfaceCreated() gave us a null surface!");
|
||||
}
|
||||
if (!hasSurface) {
|
||||
hasSurface = true;
|
||||
initCamera(holder);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceDestroyed(SurfaceHolder holder) {
|
||||
hasSurface = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* A valid barcode has been found, so give an indication of success and show the results.
|
||||
*
|
||||
* @param rawResult The contents of the barcode.
|
||||
* @param scaleFactor amount by which thumbnail was scaled
|
||||
* @param barcode A greyscale bitmap of the camera data which was decoded.
|
||||
*/
|
||||
public void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor) {
|
||||
inactivityTimer.onActivity();
|
||||
lastResult = rawResult;
|
||||
ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(this, rawResult);
|
||||
|
||||
boolean fromLiveScan = barcode != null;
|
||||
if (fromLiveScan) {
|
||||
historyManager.addHistoryItem(rawResult, resultHandler);
|
||||
// Then not from history, so beep/vibrate and we have an image to draw on
|
||||
beepManager.playBeepSoundAndVibrate();
|
||||
drawResultPoints(barcode, scaleFactor, rawResult);
|
||||
}
|
||||
|
||||
switch (source) {
|
||||
case NATIVE_APP_INTENT:
|
||||
case PRODUCT_SEARCH_LINK:
|
||||
handleDecodeExternally(rawResult, resultHandler, barcode);
|
||||
break;
|
||||
case ZXING_LINK:
|
||||
if (scanFromWebPageManager == null || !scanFromWebPageManager.isScanFromWebPage()) {
|
||||
handleDecodeInternally(rawResult, resultHandler, barcode);
|
||||
} else {
|
||||
handleDecodeExternally(rawResult, resultHandler, barcode);
|
||||
}
|
||||
break;
|
||||
case NONE:
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
if (fromLiveScan && prefs.getBoolean(PreferencesActivity.KEY_BULK_MODE, false)) {
|
||||
Toast.makeText(getApplicationContext(),
|
||||
getResources().getString(R.string.msg_bulk_mode_scanned) + " (" + rawResult.getText() + ')',
|
||||
Toast.LENGTH_SHORT).show();
|
||||
// Wait a moment or else it will scan the same barcode continuously about 3 times
|
||||
restartPreviewAfterDelay(BULK_MODE_SCAN_DELAY_MS);
|
||||
} else {
|
||||
handleDecodeInternally(rawResult, resultHandler, barcode);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Superimpose a line for 1D or dots for 2D to highlight the key features of the barcode.
|
||||
*
|
||||
* @param barcode A bitmap of the captured image.
|
||||
* @param scaleFactor amount by which thumbnail was scaled
|
||||
* @param rawResult The decoded results which contains the points to draw.
|
||||
*/
|
||||
private void drawResultPoints(Bitmap barcode, float scaleFactor, Result rawResult) {
|
||||
ResultPoint[] points = rawResult.getResultPoints();
|
||||
if (points != null && points.length > 0) {
|
||||
Canvas canvas = new Canvas(barcode);
|
||||
Paint paint = new Paint();
|
||||
paint.setColor(getResources().getColor(R.color.result_points));
|
||||
if (points.length == 2) {
|
||||
paint.setStrokeWidth(4.0f);
|
||||
drawLine(canvas, paint, points[0], points[1], scaleFactor);
|
||||
} else if (points.length == 4 &&
|
||||
(rawResult.getBarcodeFormat() == BarcodeFormat.UPC_A ||
|
||||
rawResult.getBarcodeFormat() == BarcodeFormat.EAN_13)) {
|
||||
// Hacky special case -- draw two lines, for the barcode and metadata
|
||||
drawLine(canvas, paint, points[0], points[1], scaleFactor);
|
||||
drawLine(canvas, paint, points[2], points[3], scaleFactor);
|
||||
} else {
|
||||
paint.setStrokeWidth(10.0f);
|
||||
for (ResultPoint point : points) {
|
||||
if (point != null) {
|
||||
canvas.drawPoint(scaleFactor * point.getX(), scaleFactor * point.getY(), paint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void drawLine(Canvas canvas, Paint paint, ResultPoint a, ResultPoint b, float scaleFactor) {
|
||||
if (a != null && b != null) {
|
||||
canvas.drawLine(scaleFactor * a.getX(),
|
||||
scaleFactor * a.getY(),
|
||||
scaleFactor * b.getX(),
|
||||
scaleFactor * b.getY(),
|
||||
paint);
|
||||
}
|
||||
}
|
||||
|
||||
// Put up our own UI for how to handle the decoded contents.
|
||||
private void handleDecodeInternally(Result rawResult, ResultHandler resultHandler, Bitmap barcode) {
|
||||
statusView.setVisibility(View.GONE);
|
||||
viewfinderView.setVisibility(View.GONE);
|
||||
resultView.setVisibility(View.VISIBLE);
|
||||
|
||||
ImageView barcodeImageView = (ImageView) findViewById(R.id.barcode_image_view);
|
||||
if (barcode == null) {
|
||||
barcodeImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(),
|
||||
R.drawable.launcher_icon));
|
||||
} else {
|
||||
barcodeImageView.setImageBitmap(barcode);
|
||||
}
|
||||
|
||||
TextView formatTextView = (TextView) findViewById(R.id.format_text_view);
|
||||
formatTextView.setText(rawResult.getBarcodeFormat().toString());
|
||||
|
||||
TextView typeTextView = (TextView) findViewById(R.id.type_text_view);
|
||||
typeTextView.setText(resultHandler.getType().toString());
|
||||
|
||||
DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
|
||||
TextView timeTextView = (TextView) findViewById(R.id.time_text_view);
|
||||
timeTextView.setText(formatter.format(new Date(rawResult.getTimestamp())));
|
||||
|
||||
|
||||
TextView metaTextView = (TextView) findViewById(R.id.meta_text_view);
|
||||
View metaTextViewLabel = findViewById(R.id.meta_text_view_label);
|
||||
metaTextView.setVisibility(View.GONE);
|
||||
metaTextViewLabel.setVisibility(View.GONE);
|
||||
Map<ResultMetadataType,Object> metadata = rawResult.getResultMetadata();
|
||||
if (metadata != null) {
|
||||
StringBuilder metadataText = new StringBuilder(20);
|
||||
for (Map.Entry<ResultMetadataType,Object> entry : metadata.entrySet()) {
|
||||
if (DISPLAYABLE_METADATA_TYPES.contains(entry.getKey())) {
|
||||
metadataText.append(entry.getValue()).append('\n');
|
||||
}
|
||||
}
|
||||
if (metadataText.length() > 0) {
|
||||
metadataText.setLength(metadataText.length() - 1);
|
||||
metaTextView.setText(metadataText);
|
||||
metaTextView.setVisibility(View.VISIBLE);
|
||||
metaTextViewLabel.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view);
|
||||
CharSequence displayContents = resultHandler.getDisplayContents();
|
||||
contentsTextView.setText(displayContents);
|
||||
// Crudely scale betweeen 22 and 32 -- bigger font for shorter text
|
||||
int scaledSize = Math.max(22, 32 - displayContents.length() / 4);
|
||||
contentsTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, scaledSize);
|
||||
|
||||
TextView supplementTextView = (TextView) findViewById(R.id.contents_supplement_text_view);
|
||||
supplementTextView.setText("");
|
||||
supplementTextView.setOnClickListener(null);
|
||||
if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(
|
||||
PreferencesActivity.KEY_SUPPLEMENTAL, true)) {
|
||||
SupplementalInfoRetriever.maybeInvokeRetrieval(supplementTextView,
|
||||
resultHandler.getResult(),
|
||||
historyManager,
|
||||
this);
|
||||
}
|
||||
|
||||
int buttonCount = resultHandler.getButtonCount();
|
||||
ViewGroup buttonView = (ViewGroup) findViewById(R.id.result_button_view);
|
||||
buttonView.requestFocus();
|
||||
for (int x = 0; x < ResultHandler.MAX_BUTTON_COUNT; x++) {
|
||||
TextView button = (TextView) buttonView.getChildAt(x);
|
||||
if (x < buttonCount) {
|
||||
button.setVisibility(View.VISIBLE);
|
||||
button.setText(resultHandler.getButtonText(x));
|
||||
button.setOnClickListener(new ResultButtonListener(resultHandler, x));
|
||||
} else {
|
||||
button.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
if (copyToClipboard && !resultHandler.areContentsSecure()) {
|
||||
ClipboardInterface.setText(displayContents, this);
|
||||
}
|
||||
}
|
||||
|
||||
// Briefly show the contents of the barcode, then handle the result outside Barcode Scanner.
|
||||
private void handleDecodeExternally(Result rawResult, ResultHandler resultHandler, Bitmap barcode) {
|
||||
|
||||
if (barcode != null) {
|
||||
viewfinderView.drawResultBitmap(barcode);
|
||||
}
|
||||
|
||||
long resultDurationMS;
|
||||
if (getIntent() == null) {
|
||||
resultDurationMS = DEFAULT_INTENT_RESULT_DURATION_MS;
|
||||
} else {
|
||||
resultDurationMS = getIntent().getLongExtra(Intents.Scan.RESULT_DISPLAY_DURATION_MS,
|
||||
DEFAULT_INTENT_RESULT_DURATION_MS);
|
||||
}
|
||||
|
||||
if (resultDurationMS > 0) {
|
||||
String rawResultString = String.valueOf(rawResult);
|
||||
if (rawResultString.length() > 32) {
|
||||
rawResultString = rawResultString.substring(0, 32) + " ...";
|
||||
}
|
||||
statusView.setText(getString(resultHandler.getDisplayTitle()) + " : " + rawResultString);
|
||||
}
|
||||
|
||||
if (copyToClipboard && !resultHandler.areContentsSecure()) {
|
||||
CharSequence text = resultHandler.getDisplayContents();
|
||||
ClipboardInterface.setText(text, this);
|
||||
}
|
||||
|
||||
if (source == IntentSource.NATIVE_APP_INTENT) {
|
||||
|
||||
// Hand back whatever action they requested - this can be changed to Intents.Scan.ACTION when
|
||||
// the deprecated intent is retired.
|
||||
Intent intent = new Intent(getIntent().getAction());
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||
intent.putExtra(Intents.Scan.RESULT, rawResult.toString());
|
||||
intent.putExtra(Intents.Scan.RESULT_FORMAT, rawResult.getBarcodeFormat().toString());
|
||||
byte[] rawBytes = rawResult.getRawBytes();
|
||||
if (rawBytes != null && rawBytes.length > 0) {
|
||||
intent.putExtra(Intents.Scan.RESULT_BYTES, rawBytes);
|
||||
}
|
||||
Map<ResultMetadataType,?> metadata = rawResult.getResultMetadata();
|
||||
if (metadata != null) {
|
||||
if (metadata.containsKey(ResultMetadataType.UPC_EAN_EXTENSION)) {
|
||||
intent.putExtra(Intents.Scan.RESULT_UPC_EAN_EXTENSION,
|
||||
metadata.get(ResultMetadataType.UPC_EAN_EXTENSION).toString());
|
||||
}
|
||||
Number orientation = (Number) metadata.get(ResultMetadataType.ORIENTATION);
|
||||
if (orientation != null) {
|
||||
intent.putExtra(Intents.Scan.RESULT_ORIENTATION, orientation.intValue());
|
||||
}
|
||||
String ecLevel = (String) metadata.get(ResultMetadataType.ERROR_CORRECTION_LEVEL);
|
||||
if (ecLevel != null) {
|
||||
intent.putExtra(Intents.Scan.RESULT_ERROR_CORRECTION_LEVEL, ecLevel);
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
Iterable<byte[]> byteSegments = (Iterable<byte[]>) metadata.get(ResultMetadataType.BYTE_SEGMENTS);
|
||||
if (byteSegments != null) {
|
||||
int i = 0;
|
||||
for (byte[] byteSegment : byteSegments) {
|
||||
intent.putExtra(Intents.Scan.RESULT_BYTE_SEGMENTS_PREFIX + i, byteSegment);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
sendReplyMessage(R.id.return_scan_result, intent, resultDurationMS);
|
||||
|
||||
} else if (source == IntentSource.PRODUCT_SEARCH_LINK) {
|
||||
|
||||
// Reformulate the URL which triggered us into a query, so that the request goes to the same
|
||||
// TLD as the scan URL.
|
||||
int end = sourceUrl.lastIndexOf("/scan");
|
||||
String replyURL = sourceUrl.substring(0, end) + "?q=" + resultHandler.getDisplayContents() + "&source=zxing";
|
||||
sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS);
|
||||
|
||||
} else if (source == IntentSource.ZXING_LINK) {
|
||||
|
||||
if (scanFromWebPageManager != null && scanFromWebPageManager.isScanFromWebPage()) {
|
||||
String replyURL = scanFromWebPageManager.buildReplyURL(rawResult, resultHandler);
|
||||
sendReplyMessage(R.id.launch_product_query, replyURL, resultDurationMS);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void sendReplyMessage(int id, Object arg, long delayMS) {
|
||||
if (handler != null) {
|
||||
Message message = Message.obtain(handler, id, arg);
|
||||
if (delayMS > 0L) {
|
||||
handler.sendMessageDelayed(message, delayMS);
|
||||
} else {
|
||||
handler.sendMessage(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void initCamera(SurfaceHolder surfaceHolder) {
|
||||
if (surfaceHolder == null) {
|
||||
throw new IllegalStateException("No SurfaceHolder provided");
|
||||
}
|
||||
if (cameraManager.isOpen()) {
|
||||
Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
cameraManager.openDriver(surfaceHolder);
|
||||
// Creating the handler starts the preview, which can also throw a RuntimeException.
|
||||
if (handler == null) {
|
||||
handler = new CaptureActivityHandler(this, decodeFormats, decodeHints, characterSet, cameraManager);
|
||||
}
|
||||
decodeOrStoreSavedBitmap(null, null);
|
||||
} catch (IOException ioe) {
|
||||
Log.w(TAG, ioe);
|
||||
displayFrameworkBugMessageAndExit();
|
||||
} catch (RuntimeException e) {
|
||||
// Barcode Scanner has seen crashes in the wild of this variety:
|
||||
// java.?lang.?RuntimeException: Fail to connect to camera service
|
||||
Log.w(TAG, "Unexpected error initializing camera", e);
|
||||
displayFrameworkBugMessageAndExit();
|
||||
}
|
||||
}
|
||||
|
||||
private void displayFrameworkBugMessageAndExit() {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setTitle(getString(R.string.app_name));
|
||||
builder.setMessage(getString(R.string.msg_camera_framework_bug));
|
||||
builder.setPositiveButton(R.string.button_ok, new FinishListener(this));
|
||||
builder.setOnCancelListener(new FinishListener(this));
|
||||
builder.show();
|
||||
}
|
||||
|
||||
public void restartPreviewAfterDelay(long delayMS) {
|
||||
if (handler != null) {
|
||||
handler.sendEmptyMessageDelayed(R.id.restart_preview, delayMS);
|
||||
}
|
||||
resetStatusView();
|
||||
}
|
||||
|
||||
private void resetStatusView() {
|
||||
resultView.setVisibility(View.GONE);
|
||||
statusView.setText(R.string.msg_default_status);
|
||||
statusView.setVisibility(View.VISIBLE);
|
||||
viewfinderView.setVisibility(View.VISIBLE);
|
||||
lastResult = null;
|
||||
}
|
||||
|
||||
public void drawViewfinder() {
|
||||
viewfinderView.drawViewfinder();
|
||||
}
|
||||
}
|
@ -0,0 +1,171 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.provider.Browser;
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
import com.google.zxing.DecodeHintType;
|
||||
import com.google.zxing.Result;
|
||||
import com.google.zxing.client.android.camera.CameraManager;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
/**
|
||||
* This class handles all the messaging which comprises the state machine for capture.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
public final class CaptureActivityHandler extends Handler {
|
||||
|
||||
private static final String TAG = CaptureActivityHandler.class.getSimpleName();
|
||||
|
||||
private final CaptureActivity activity;
|
||||
private final DecodeThread decodeThread;
|
||||
private State state;
|
||||
private final CameraManager cameraManager;
|
||||
|
||||
private enum State {
|
||||
PREVIEW,
|
||||
SUCCESS,
|
||||
DONE
|
||||
}
|
||||
|
||||
CaptureActivityHandler(CaptureActivity activity,
|
||||
Collection<BarcodeFormat> decodeFormats,
|
||||
Map<DecodeHintType,?> baseHints,
|
||||
String characterSet,
|
||||
CameraManager cameraManager) {
|
||||
this.activity = activity;
|
||||
decodeThread = new DecodeThread(activity, decodeFormats, baseHints, characterSet,
|
||||
new ViewfinderResultPointCallback(activity.getViewfinderView()));
|
||||
decodeThread.start();
|
||||
state = State.SUCCESS;
|
||||
|
||||
// Start ourselves capturing previews and decoding.
|
||||
this.cameraManager = cameraManager;
|
||||
cameraManager.startPreview();
|
||||
restartPreviewAndDecode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message message) {
|
||||
switch (message.what) {
|
||||
case R.id.restart_preview:
|
||||
Log.d(TAG, "Got restart preview message");
|
||||
restartPreviewAndDecode();
|
||||
break;
|
||||
case R.id.decode_succeeded:
|
||||
Log.d(TAG, "Got decode succeeded message");
|
||||
state = State.SUCCESS;
|
||||
Bundle bundle = message.getData();
|
||||
Bitmap barcode = null;
|
||||
float scaleFactor = 1.0f;
|
||||
if (bundle != null) {
|
||||
byte[] compressedBitmap = bundle.getByteArray(DecodeThread.BARCODE_BITMAP);
|
||||
if (compressedBitmap != null) {
|
||||
barcode = BitmapFactory.decodeByteArray(compressedBitmap, 0, compressedBitmap.length, null);
|
||||
// Mutable copy:
|
||||
barcode = barcode.copy(Bitmap.Config.ARGB_8888, true);
|
||||
}
|
||||
scaleFactor = bundle.getFloat(DecodeThread.BARCODE_SCALED_FACTOR);
|
||||
}
|
||||
activity.handleDecode((Result) message.obj, barcode, scaleFactor);
|
||||
break;
|
||||
case R.id.decode_failed:
|
||||
// We're decoding as fast as possible, so when one decode fails, start another.
|
||||
state = State.PREVIEW;
|
||||
cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode);
|
||||
break;
|
||||
case R.id.return_scan_result:
|
||||
Log.d(TAG, "Got return scan result message");
|
||||
activity.setResult(Activity.RESULT_OK, (Intent) message.obj);
|
||||
activity.finish();
|
||||
break;
|
||||
case R.id.launch_product_query:
|
||||
Log.d(TAG, "Got product query message");
|
||||
String url = (String) message.obj;
|
||||
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||
intent.setData(Uri.parse(url));
|
||||
|
||||
ResolveInfo resolveInfo =
|
||||
activity.getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
|
||||
String browserPackageName = null;
|
||||
if (resolveInfo != null && resolveInfo.activityInfo != null) {
|
||||
browserPackageName = resolveInfo.activityInfo.packageName;
|
||||
Log.d(TAG, "Using browser in package " + browserPackageName);
|
||||
}
|
||||
|
||||
// Needed for default Android browser / Chrome only apparently
|
||||
if ("com.android.browser".equals(browserPackageName) || "com.android.chrome".equals(browserPackageName)) {
|
||||
intent.setPackage(browserPackageName);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intent.putExtra(Browser.EXTRA_APPLICATION_ID, browserPackageName);
|
||||
}
|
||||
|
||||
try {
|
||||
activity.startActivity(intent);
|
||||
} catch (ActivityNotFoundException ignored) {
|
||||
Log.w(TAG, "Can't find anything to handle VIEW of URI " + url);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void quitSynchronously() {
|
||||
state = State.DONE;
|
||||
cameraManager.stopPreview();
|
||||
Message quit = Message.obtain(decodeThread.getHandler(), R.id.quit);
|
||||
quit.sendToTarget();
|
||||
try {
|
||||
// Wait at most half a second; should be enough time, and onPause() will timeout quickly
|
||||
decodeThread.join(500L);
|
||||
} catch (InterruptedException e) {
|
||||
// continue
|
||||
}
|
||||
|
||||
// Be absolutely sure we don't send any queued up messages
|
||||
removeMessages(R.id.decode_succeeded);
|
||||
removeMessages(R.id.decode_failed);
|
||||
}
|
||||
|
||||
private void restartPreviewAndDecode() {
|
||||
if (state == State.SUCCESS) {
|
||||
state = State.PREVIEW;
|
||||
cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode);
|
||||
activity.drawViewfinder();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,114 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.provider.ContactsContract;
|
||||
|
||||
/**
|
||||
* The set of constants to use when sending Barcode Scanner an Intent which requests a barcode
|
||||
* to be encoded.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
public final class Contents {
|
||||
private Contents() {
|
||||
}
|
||||
|
||||
public static final class Type {
|
||||
/**
|
||||
* Plain text. Use Intent.putExtra(DATA, string). This can be used for URLs too, but string
|
||||
* must include "http://" or "https://".
|
||||
*/
|
||||
public static final String TEXT = "TEXT_TYPE";
|
||||
|
||||
/**
|
||||
* An email type. Use Intent.putExtra(DATA, string) where string is the email address.
|
||||
*/
|
||||
public static final String EMAIL = "EMAIL_TYPE";
|
||||
|
||||
/**
|
||||
* Use Intent.putExtra(DATA, string) where string is the phone number to call.
|
||||
*/
|
||||
public static final String PHONE = "PHONE_TYPE";
|
||||
|
||||
/**
|
||||
* An SMS type. Use Intent.putExtra(DATA, string) where string is the number to SMS.
|
||||
*/
|
||||
public static final String SMS = "SMS_TYPE";
|
||||
|
||||
/**
|
||||
* A contact. Send a request to encode it as follows:
|
||||
* <p/>
|
||||
* import android.provider.Contacts;
|
||||
* <p/>
|
||||
* Intent intent = new Intent(Intents.Encode.ACTION);
|
||||
* intent.putExtra(Intents.Encode.TYPE, CONTACT);
|
||||
* Bundle bundle = new Bundle();
|
||||
* bundle.putString(Contacts.Intents.Insert.NAME, "Jenny");
|
||||
* bundle.putString(Contacts.Intents.Insert.PHONE, "8675309");
|
||||
* bundle.putString(Contacts.Intents.Insert.EMAIL, "jenny@the80s.com");
|
||||
* bundle.putString(Contacts.Intents.Insert.POSTAL, "123 Fake St. San Francisco, CA 94102");
|
||||
* intent.putExtra(Intents.Encode.DATA, bundle);
|
||||
*/
|
||||
public static final String CONTACT = "CONTACT_TYPE";
|
||||
|
||||
/**
|
||||
* A geographic location. Use as follows:
|
||||
* Bundle bundle = new Bundle();
|
||||
* bundle.putFloat("LAT", latitude);
|
||||
* bundle.putFloat("LONG", longitude);
|
||||
* intent.putExtra(Intents.Encode.DATA, bundle);
|
||||
*/
|
||||
public static final String LOCATION = "LOCATION_TYPE";
|
||||
|
||||
private Type() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final String URL_KEY = "URL_KEY";
|
||||
|
||||
public static final String NOTE_KEY = "NOTE_KEY";
|
||||
|
||||
/**
|
||||
* When using Type.CONTACT, these arrays provide the keys for adding or retrieving multiple
|
||||
* phone numbers and addresses.
|
||||
*/
|
||||
public static final String[] PHONE_KEYS = {
|
||||
ContactsContract.Intents.Insert.PHONE,
|
||||
ContactsContract.Intents.Insert.SECONDARY_PHONE,
|
||||
ContactsContract.Intents.Insert.TERTIARY_PHONE
|
||||
};
|
||||
|
||||
public static final String[] PHONE_TYPE_KEYS = {
|
||||
ContactsContract.Intents.Insert.PHONE_TYPE,
|
||||
ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE,
|
||||
ContactsContract.Intents.Insert.TERTIARY_PHONE_TYPE
|
||||
};
|
||||
|
||||
public static final String[] EMAIL_KEYS = {
|
||||
ContactsContract.Intents.Insert.EMAIL,
|
||||
ContactsContract.Intents.Insert.SECONDARY_EMAIL,
|
||||
ContactsContract.Intents.Insert.TERTIARY_EMAIL
|
||||
};
|
||||
|
||||
public static final String[] EMAIL_TYPE_KEYS = {
|
||||
ContactsContract.Intents.Insert.EMAIL_TYPE,
|
||||
ContactsContract.Intents.Insert.SECONDARY_EMAIL_TYPE,
|
||||
ContactsContract.Intents.Insert.TERTIARY_EMAIL_TYPE
|
||||
};
|
||||
|
||||
}
|
@ -0,0 +1,101 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
final class DecodeFormatManager {
|
||||
|
||||
private static final Pattern COMMA_PATTERN = Pattern.compile(",");
|
||||
|
||||
static final Collection<BarcodeFormat> PRODUCT_FORMATS;
|
||||
static final Collection<BarcodeFormat> ONE_D_FORMATS;
|
||||
static final Collection<BarcodeFormat> QR_CODE_FORMATS = EnumSet.of(BarcodeFormat.QR_CODE);
|
||||
static final Collection<BarcodeFormat> DATA_MATRIX_FORMATS = EnumSet.of(BarcodeFormat.DATA_MATRIX);
|
||||
static {
|
||||
PRODUCT_FORMATS = EnumSet.of(BarcodeFormat.UPC_A,
|
||||
BarcodeFormat.UPC_E,
|
||||
BarcodeFormat.EAN_13,
|
||||
BarcodeFormat.EAN_8,
|
||||
BarcodeFormat.RSS_14,
|
||||
BarcodeFormat.RSS_EXPANDED);
|
||||
ONE_D_FORMATS = EnumSet.of(BarcodeFormat.CODE_39,
|
||||
BarcodeFormat.CODE_93,
|
||||
BarcodeFormat.CODE_128,
|
||||
BarcodeFormat.ITF,
|
||||
BarcodeFormat.CODABAR);
|
||||
ONE_D_FORMATS.addAll(PRODUCT_FORMATS);
|
||||
}
|
||||
|
||||
private DecodeFormatManager() {}
|
||||
|
||||
static Collection<BarcodeFormat> parseDecodeFormats(Intent intent) {
|
||||
Iterable<String> scanFormats = null;
|
||||
CharSequence scanFormatsString = intent.getStringExtra(Intents.Scan.FORMATS);
|
||||
if (scanFormatsString != null) {
|
||||
scanFormats = Arrays.asList(COMMA_PATTERN.split(scanFormatsString));
|
||||
}
|
||||
return parseDecodeFormats(scanFormats, intent.getStringExtra(Intents.Scan.MODE));
|
||||
}
|
||||
|
||||
static Collection<BarcodeFormat> parseDecodeFormats(Uri inputUri) {
|
||||
List<String> formats = inputUri.getQueryParameters(Intents.Scan.FORMATS);
|
||||
if (formats != null && formats.size() == 1 && formats.get(0) != null){
|
||||
formats = Arrays.asList(COMMA_PATTERN.split(formats.get(0)));
|
||||
}
|
||||
return parseDecodeFormats(formats, inputUri.getQueryParameter(Intents.Scan.MODE));
|
||||
}
|
||||
|
||||
private static Collection<BarcodeFormat> parseDecodeFormats(Iterable<String> scanFormats,
|
||||
String decodeMode) {
|
||||
if (scanFormats != null) {
|
||||
Collection<BarcodeFormat> formats = EnumSet.noneOf(BarcodeFormat.class);
|
||||
try {
|
||||
for (String format : scanFormats) {
|
||||
formats.add(BarcodeFormat.valueOf(format));
|
||||
}
|
||||
return formats;
|
||||
} catch (IllegalArgumentException iae) {
|
||||
// ignore it then
|
||||
}
|
||||
}
|
||||
if (decodeMode != null) {
|
||||
if (Intents.Scan.PRODUCT_MODE.equals(decodeMode)) {
|
||||
return PRODUCT_FORMATS;
|
||||
}
|
||||
if (Intents.Scan.QR_CODE_MODE.equals(decodeMode)) {
|
||||
return QR_CODE_FORMATS;
|
||||
}
|
||||
if (Intents.Scan.DATA_MATRIX_MODE.equals(decodeMode)) {
|
||||
return DATA_MATRIX_FORMATS;
|
||||
}
|
||||
if (Intents.Scan.ONE_D_MODE.equals(decodeMode)) {
|
||||
return ONE_D_FORMATS;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import com.google.zxing.BinaryBitmap;
|
||||
import com.google.zxing.DecodeHintType;
|
||||
import com.google.zxing.MultiFormatReader;
|
||||
import com.google.zxing.PlanarYUVLuminanceSource;
|
||||
import com.google.zxing.ReaderException;
|
||||
import com.google.zxing.Result;
|
||||
import com.google.zxing.common.HybridBinarizer;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.Map;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
final class DecodeHandler extends Handler {
|
||||
|
||||
private static final String TAG = DecodeHandler.class.getSimpleName();
|
||||
|
||||
private final CaptureActivity activity;
|
||||
private final MultiFormatReader multiFormatReader;
|
||||
private boolean running = true;
|
||||
|
||||
DecodeHandler(CaptureActivity activity, Map<DecodeHintType,Object> hints) {
|
||||
multiFormatReader = new MultiFormatReader();
|
||||
multiFormatReader.setHints(hints);
|
||||
this.activity = activity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message message) {
|
||||
if (!running) {
|
||||
return;
|
||||
}
|
||||
switch (message.what) {
|
||||
case R.id.decode:
|
||||
decode((byte[]) message.obj, message.arg1, message.arg2);
|
||||
break;
|
||||
case R.id.quit:
|
||||
running = false;
|
||||
Looper.myLooper().quit();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode the data within the viewfinder rectangle, and time how long it took. For efficiency,
|
||||
* reuse the same reader objects from one decode to the next.
|
||||
*
|
||||
* @param data The YUV preview frame.
|
||||
* @param width The width of the preview frame.
|
||||
* @param height The height of the preview frame.
|
||||
*/
|
||||
private void decode(byte[] data, int width, int height) {
|
||||
long start = System.currentTimeMillis();
|
||||
Result rawResult = null;
|
||||
PlanarYUVLuminanceSource source = activity.getCameraManager().buildLuminanceSource(data, width, height);
|
||||
if (source != null) {
|
||||
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
|
||||
try {
|
||||
rawResult = multiFormatReader.decodeWithState(bitmap);
|
||||
} catch (ReaderException re) {
|
||||
// continue
|
||||
} finally {
|
||||
multiFormatReader.reset();
|
||||
}
|
||||
}
|
||||
|
||||
Handler handler = activity.getHandler();
|
||||
if (rawResult != null) {
|
||||
// Don't log the barcode contents for security.
|
||||
long end = System.currentTimeMillis();
|
||||
Log.d(TAG, "Found barcode in " + (end - start) + " ms");
|
||||
if (handler != null) {
|
||||
Message message = Message.obtain(handler, R.id.decode_succeeded, rawResult);
|
||||
Bundle bundle = new Bundle();
|
||||
bundleThumbnail(source, bundle);
|
||||
message.setData(bundle);
|
||||
message.sendToTarget();
|
||||
}
|
||||
} else {
|
||||
if (handler != null) {
|
||||
Message message = Message.obtain(handler, R.id.decode_failed);
|
||||
message.sendToTarget();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void bundleThumbnail(PlanarYUVLuminanceSource source, Bundle bundle) {
|
||||
int[] pixels = source.renderThumbnail();
|
||||
int width = source.getThumbnailWidth();
|
||||
int height = source.getThumbnailHeight();
|
||||
Bitmap bitmap = Bitmap.createBitmap(pixels, 0, width, width, height, Bitmap.Config.ARGB_8888);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, out);
|
||||
bundle.putByteArray(DecodeThread.BARCODE_BITMAP, out.toByteArray());
|
||||
bundle.putFloat(DecodeThread.BARCODE_SCALED_FACTOR, (float) width / source.getWidth());
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,236 @@
|
||||
/*
|
||||
* Copyright (C) 2013 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.zxing.DecodeHintType;
|
||||
|
||||
/**
|
||||
* @author Lachezar Dobrev
|
||||
*/
|
||||
final class DecodeHintManager {
|
||||
|
||||
private static final String TAG = DecodeHintManager.class.getSimpleName();
|
||||
|
||||
// This pattern is used in decoding integer arrays.
|
||||
private static final Pattern COMMA = Pattern.compile(",");
|
||||
|
||||
private DecodeHintManager() {}
|
||||
|
||||
/**
|
||||
* <p>Split a query string into a list of name-value pairs.</p>
|
||||
*
|
||||
* <p>This is an alternative to the {@link Uri#getQueryParameterNames()} and
|
||||
* {@link Uri#getQueryParameters(String)}, which are quirky and not suitable
|
||||
* for exist-only Uri parameters.</p>
|
||||
*
|
||||
* <p>This method ignores multiple parameters with the same name and returns the
|
||||
* first one only. This is technically incorrect, but should be acceptable due
|
||||
* to the method of processing Hints: no multiple values for a hint.</p>
|
||||
*
|
||||
* @param query query to split
|
||||
* @return name-value pairs
|
||||
*/
|
||||
private static Map<String,String> splitQuery(String query) {
|
||||
Map<String,String> map = new HashMap<String,String>();
|
||||
int pos = 0;
|
||||
while (pos < query.length()) {
|
||||
if (query.charAt(pos) == '&') {
|
||||
// Skip consecutive ampersand separators.
|
||||
pos ++;
|
||||
continue;
|
||||
}
|
||||
int amp = query.indexOf('&', pos);
|
||||
int equ = query.indexOf('=', pos);
|
||||
if (amp < 0) {
|
||||
// This is the last element in the query, no more ampersand elements.
|
||||
String name;
|
||||
String text;
|
||||
if (equ < 0) {
|
||||
// No equal sign
|
||||
name = query.substring(pos);
|
||||
name = name.replace('+', ' '); // Preemptively decode +
|
||||
name = Uri.decode(name);
|
||||
text = "";
|
||||
} else {
|
||||
// Split name and text.
|
||||
name = query.substring(pos, equ);
|
||||
name = name.replace('+', ' '); // Preemptively decode +
|
||||
name = Uri.decode(name);
|
||||
text = query.substring(equ + 1);
|
||||
text = text.replace('+', ' '); // Preemptively decode +
|
||||
text = Uri.decode(text);
|
||||
}
|
||||
if (!map.containsKey(name)) {
|
||||
map.put(name, text);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (equ < 0 || equ > amp) {
|
||||
// No equal sign until the &: this is a simple parameter with no value.
|
||||
String name = query.substring(pos, amp);
|
||||
name = name.replace('+', ' '); // Preemptively decode +
|
||||
name = Uri.decode(name);
|
||||
if (!map.containsKey(name)) {
|
||||
map.put(name, "");
|
||||
}
|
||||
pos = amp + 1;
|
||||
continue;
|
||||
}
|
||||
String name = query.substring(pos, equ);
|
||||
name = name.replace('+', ' '); // Preemptively decode +
|
||||
name = Uri.decode(name);
|
||||
String text = query.substring(equ+1, amp);
|
||||
text = text.replace('+', ' '); // Preemptively decode +
|
||||
text = Uri.decode(text);
|
||||
if (!map.containsKey(name)) {
|
||||
map.put(name, text);
|
||||
}
|
||||
pos = amp + 1;
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
static Map<DecodeHintType,?> parseDecodeHints(Uri inputUri) {
|
||||
String query = inputUri.getEncodedQuery();
|
||||
if (query == null || query.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Extract parameters
|
||||
Map<String, String> parameters = splitQuery(query);
|
||||
|
||||
Map<DecodeHintType, Object> hints = new EnumMap<DecodeHintType, Object>(DecodeHintType.class);
|
||||
|
||||
for (DecodeHintType hintType: DecodeHintType.values()) {
|
||||
|
||||
if (hintType == DecodeHintType.CHARACTER_SET ||
|
||||
hintType == DecodeHintType.NEED_RESULT_POINT_CALLBACK ||
|
||||
hintType == DecodeHintType.POSSIBLE_FORMATS) {
|
||||
continue; // This hint is specified in another way
|
||||
}
|
||||
|
||||
String parameterName = hintType.name();
|
||||
String parameterText = parameters.get(parameterName);
|
||||
if (parameterText == null) {
|
||||
continue;
|
||||
}
|
||||
if (hintType.getValueType().equals(Object.class)) {
|
||||
// This is an unspecified type of hint content. Use the value as is.
|
||||
// TODO: Can we make a different assumption on this?
|
||||
hints.put(hintType, parameterText);
|
||||
continue;
|
||||
}
|
||||
if (hintType.getValueType().equals(Void.class)) {
|
||||
// Void hints are just flags: use the constant specified by DecodeHintType
|
||||
hints.put(hintType, Boolean.TRUE);
|
||||
continue;
|
||||
}
|
||||
if (hintType.getValueType().equals(String.class)) {
|
||||
// A string hint: use the decoded value.
|
||||
hints.put(hintType, parameterText);
|
||||
continue;
|
||||
}
|
||||
if (hintType.getValueType().equals(Boolean.class)) {
|
||||
// A boolean hint: a few values for false, everything else is true.
|
||||
// An empty parameter is simply a flag-style parameter, assuming true
|
||||
if (parameterText.isEmpty()) {
|
||||
hints.put(hintType, Boolean.TRUE);
|
||||
} else if ("0".equals(parameterText) ||
|
||||
"false".equalsIgnoreCase(parameterText) ||
|
||||
"no".equalsIgnoreCase(parameterText)) {
|
||||
hints.put(hintType, Boolean.FALSE);
|
||||
} else {
|
||||
hints.put(hintType, Boolean.TRUE);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
if (hintType.getValueType().equals(int[].class)) {
|
||||
// An integer array. Used to specify valid lengths.
|
||||
// Strip a trailing comma as in Java style array initialisers.
|
||||
if (!parameterText.isEmpty() && parameterText.charAt(parameterText.length() - 1) == ',') {
|
||||
parameterText = parameterText.substring(0, parameterText.length() - 1);
|
||||
}
|
||||
String[] values = COMMA.split(parameterText);
|
||||
int[] array = new int[values.length];
|
||||
for (int i = 0; i < values.length; i++) {
|
||||
try {
|
||||
array[i] = Integer.parseInt(values[i]);
|
||||
} catch (NumberFormatException ignored) {
|
||||
Log.w(TAG, "Skipping array of integers hint " + hintType + " due to invalid numeric value: '" + values[i] + '\'');
|
||||
array = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (array != null) {
|
||||
hints.put(hintType, array);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
Log.w(TAG, "Unsupported hint type '" + hintType + "' of type " + hintType.getValueType());
|
||||
}
|
||||
|
||||
Log.i(TAG, "Hints from the URI: " + hints);
|
||||
return hints;
|
||||
}
|
||||
|
||||
static Map<DecodeHintType, Object> parseDecodeHints(Intent intent) {
|
||||
Bundle extras = intent.getExtras();
|
||||
if (extras == null || extras.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
Map<DecodeHintType,Object> hints = new EnumMap<DecodeHintType,Object>(DecodeHintType.class);
|
||||
|
||||
for (DecodeHintType hintType: DecodeHintType.values()) {
|
||||
|
||||
if (hintType == DecodeHintType.CHARACTER_SET ||
|
||||
hintType == DecodeHintType.NEED_RESULT_POINT_CALLBACK ||
|
||||
hintType == DecodeHintType.POSSIBLE_FORMATS) {
|
||||
continue; // This hint is specified in another way
|
||||
}
|
||||
|
||||
String hintName = hintType.name();
|
||||
if (extras.containsKey(hintName)) {
|
||||
if (hintType.getValueType().equals(Void.class)) {
|
||||
// Void hints are just flags: use the constant specified by the DecodeHintType
|
||||
hints.put(hintType, Boolean.TRUE);
|
||||
} else {
|
||||
Object hintData = extras.get(hintName);
|
||||
if (hintType.getValueType().isInstance(hintData)) {
|
||||
hints.put(hintType, hintData);
|
||||
} else {
|
||||
Log.w(TAG, "Ignoring hint " + hintType + " because it is not assignable from " + hintData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Log.i(TAG, "Hints from the Intent: " + hints);
|
||||
return hints;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,104 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
import com.google.zxing.DecodeHintType;
|
||||
import com.google.zxing.ResultPointCallback;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.EnumMap;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
|
||||
/**
|
||||
* This thread does all the heavy lifting of decoding the images.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
final class DecodeThread extends Thread {
|
||||
|
||||
public static final String BARCODE_BITMAP = "barcode_bitmap";
|
||||
public static final String BARCODE_SCALED_FACTOR = "barcode_scaled_factor";
|
||||
|
||||
private final CaptureActivity activity;
|
||||
private final Map<DecodeHintType,Object> hints;
|
||||
private Handler handler;
|
||||
private final CountDownLatch handlerInitLatch;
|
||||
|
||||
DecodeThread(CaptureActivity activity,
|
||||
Collection<BarcodeFormat> decodeFormats,
|
||||
Map<DecodeHintType,?> baseHints,
|
||||
String characterSet,
|
||||
ResultPointCallback resultPointCallback) {
|
||||
|
||||
this.activity = activity;
|
||||
handlerInitLatch = new CountDownLatch(1);
|
||||
|
||||
hints = new EnumMap<DecodeHintType,Object>(DecodeHintType.class);
|
||||
if (baseHints != null) {
|
||||
hints.putAll(baseHints);
|
||||
}
|
||||
|
||||
// The prefs can't change while the thread is running, so pick them up once here.
|
||||
if (decodeFormats == null || decodeFormats.isEmpty()) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
|
||||
decodeFormats = EnumSet.noneOf(BarcodeFormat.class);
|
||||
if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_1D, false)) {
|
||||
decodeFormats.addAll(DecodeFormatManager.ONE_D_FORMATS);
|
||||
}
|
||||
if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_QR, false)) {
|
||||
decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS);
|
||||
}
|
||||
if (prefs.getBoolean(PreferencesActivity.KEY_DECODE_DATA_MATRIX, false)) {
|
||||
decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS);
|
||||
}
|
||||
}
|
||||
hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats);
|
||||
|
||||
if (characterSet != null) {
|
||||
hints.put(DecodeHintType.CHARACTER_SET, characterSet);
|
||||
}
|
||||
hints.put(DecodeHintType.NEED_RESULT_POINT_CALLBACK, resultPointCallback);
|
||||
Log.i("DecodeThread", "Hints: " + hints);
|
||||
}
|
||||
|
||||
Handler getHandler() {
|
||||
try {
|
||||
handlerInitLatch.await();
|
||||
} catch (InterruptedException ie) {
|
||||
// continue?
|
||||
}
|
||||
return handler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
Looper.prepare();
|
||||
handler = new DecodeHandler(activity, hints);
|
||||
handlerInitLatch.countDown();
|
||||
Looper.loop();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.DialogInterface;
|
||||
|
||||
/**
|
||||
* Simple listener used to exit the app in a few cases.
|
||||
*
|
||||
* @author Sean Owen
|
||||
*/
|
||||
public final class FinishListener implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
|
||||
|
||||
private final Activity activityToFinish;
|
||||
|
||||
public FinishListener(Activity activityToFinish) {
|
||||
this.activityToFinish = activityToFinish;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel(DialogInterface dialogInterface) {
|
||||
run();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialogInterface, int i) {
|
||||
run();
|
||||
}
|
||||
|
||||
private void run() {
|
||||
activityToFinish.finish();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.view.KeyEvent;
|
||||
import android.webkit.WebView;
|
||||
|
||||
/**
|
||||
* An HTML-based help screen.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
public final class HelpActivity extends Activity {
|
||||
|
||||
private static final String BASE_URL =
|
||||
"file:///android_asset/html-" + LocaleManager.getTranslatedAssetLanguage() + '/';
|
||||
|
||||
private WebView webView;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
setContentView(R.layout.help);
|
||||
|
||||
webView = (WebView) findViewById(R.id.help_contents);
|
||||
|
||||
if (icicle == null) {
|
||||
webView.loadUrl(BASE_URL + "index.html");
|
||||
} else {
|
||||
webView.restoreState(icicle);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle state) {
|
||||
String url = webView.getUrl();
|
||||
if (url != null && !url.isEmpty()) {
|
||||
webView.saveState(state);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
|
||||
webView.goBack();
|
||||
return true;
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,243 @@
|
||||
/*
|
||||
* Copyright 2011 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* Utility methods for retrieving content over HTTP using the more-supported {@code java.net} classes
|
||||
* in Android.
|
||||
*/
|
||||
public final class HttpHelper {
|
||||
|
||||
private static final String TAG = HttpHelper.class.getSimpleName();
|
||||
|
||||
private static final Collection<String> REDIRECTOR_DOMAINS = new HashSet<String>(Arrays.asList(
|
||||
"amzn.to", "bit.ly", "bitly.com", "fb.me", "goo.gl", "is.gd", "j.mp", "lnkd.in", "ow.ly",
|
||||
"R.BEETAGG.COM", "r.beetagg.com", "SCN.BY", "su.pr", "t.co", "tinyurl.com", "tr.im"
|
||||
));
|
||||
|
||||
private HttpHelper() {
|
||||
}
|
||||
|
||||
public enum ContentType {
|
||||
/** HTML-like content type, including HTML, XHTML, etc. */
|
||||
HTML,
|
||||
/** JSON content */
|
||||
JSON,
|
||||
/** XML */
|
||||
XML,
|
||||
/** Plain text content */
|
||||
TEXT,
|
||||
}
|
||||
|
||||
/**
|
||||
* Downloads the entire resource instead of part.
|
||||
*
|
||||
* @see #downloadViaHttp(String, HttpHelper.ContentType, int)
|
||||
*/
|
||||
public static CharSequence downloadViaHttp(String uri, ContentType type) throws IOException {
|
||||
return downloadViaHttp(uri, type, Integer.MAX_VALUE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param uri URI to retrieve
|
||||
* @param type expected text-like MIME type of that content
|
||||
* @param maxChars approximate maximum characters to read from the source
|
||||
* @return content as a {@code String}
|
||||
* @throws IOException if the content can't be retrieved because of a bad URI, network problem, etc.
|
||||
*/
|
||||
public static CharSequence downloadViaHttp(String uri, ContentType type, int maxChars) throws IOException {
|
||||
String contentTypes;
|
||||
switch (type) {
|
||||
case HTML:
|
||||
contentTypes = "application/xhtml+xml,text/html,text/*,*/*";
|
||||
break;
|
||||
case JSON:
|
||||
contentTypes = "application/json,text/*,*/*";
|
||||
break;
|
||||
case XML:
|
||||
contentTypes = "application/xml,text/*,*/*";
|
||||
break;
|
||||
case TEXT:
|
||||
default:
|
||||
contentTypes = "text/*,*/*";
|
||||
}
|
||||
return downloadViaHttp(uri, contentTypes, maxChars);
|
||||
}
|
||||
|
||||
private static CharSequence downloadViaHttp(String uri, String contentTypes, int maxChars) throws IOException {
|
||||
int redirects = 0;
|
||||
while (redirects < 5) {
|
||||
URL url = new URL(uri);
|
||||
HttpURLConnection connection = safelyOpenConnection(url);
|
||||
connection.setInstanceFollowRedirects(true); // Won't work HTTP -> HTTPS or vice versa
|
||||
connection.setRequestProperty("Accept", contentTypes);
|
||||
connection.setRequestProperty("Accept-Charset", "utf-8,*");
|
||||
connection.setRequestProperty("User-Agent", "ZXing (Android)");
|
||||
try {
|
||||
int responseCode = safelyConnect(uri, connection);
|
||||
switch (responseCode) {
|
||||
case HttpURLConnection.HTTP_OK:
|
||||
return consume(connection, maxChars);
|
||||
case HttpURLConnection.HTTP_MOVED_TEMP:
|
||||
String location = connection.getHeaderField("Location");
|
||||
if (location != null) {
|
||||
uri = location;
|
||||
redirects++;
|
||||
continue;
|
||||
}
|
||||
throw new IOException("No Location");
|
||||
default:
|
||||
throw new IOException("Bad HTTP response: " + responseCode);
|
||||
}
|
||||
} finally {
|
||||
connection.disconnect();
|
||||
}
|
||||
}
|
||||
throw new IOException("Too many redirects");
|
||||
}
|
||||
|
||||
private static String getEncoding(URLConnection connection) {
|
||||
String contentTypeHeader = connection.getHeaderField("Content-Type");
|
||||
if (contentTypeHeader != null) {
|
||||
int charsetStart = contentTypeHeader.indexOf("charset=");
|
||||
if (charsetStart >= 0) {
|
||||
return contentTypeHeader.substring(charsetStart + "charset=".length());
|
||||
}
|
||||
}
|
||||
return "UTF-8";
|
||||
}
|
||||
|
||||
private static CharSequence consume(URLConnection connection, int maxChars) throws IOException {
|
||||
String encoding = getEncoding(connection);
|
||||
StringBuilder out = new StringBuilder();
|
||||
Reader in = null;
|
||||
try {
|
||||
in = new InputStreamReader(connection.getInputStream(), encoding);
|
||||
char[] buffer = new char[1024];
|
||||
int charsRead;
|
||||
while (out.length() < maxChars && (charsRead = in.read(buffer)) > 0) {
|
||||
out.append(buffer, 0, charsRead);
|
||||
}
|
||||
} finally {
|
||||
if (in != null) {
|
||||
try {
|
||||
in.close();
|
||||
} catch (IOException ioe) {
|
||||
// continue
|
||||
} catch (NullPointerException npe) {
|
||||
// another apparent Android / Harmony bug; continue
|
||||
}
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
public static URI unredirect(URI uri) throws IOException {
|
||||
if (!REDIRECTOR_DOMAINS.contains(uri.getHost())) {
|
||||
return uri;
|
||||
}
|
||||
URL url = uri.toURL();
|
||||
HttpURLConnection connection = safelyOpenConnection(url);
|
||||
connection.setInstanceFollowRedirects(false);
|
||||
connection.setDoInput(false);
|
||||
connection.setRequestMethod("HEAD");
|
||||
connection.setRequestProperty("User-Agent", "ZXing (Android)");
|
||||
try {
|
||||
int responseCode = safelyConnect(uri.toString(), connection);
|
||||
switch (responseCode) {
|
||||
case HttpURLConnection.HTTP_MULT_CHOICE:
|
||||
case HttpURLConnection.HTTP_MOVED_PERM:
|
||||
case HttpURLConnection.HTTP_MOVED_TEMP:
|
||||
case HttpURLConnection.HTTP_SEE_OTHER:
|
||||
case 307: // No constant for 307 Temporary Redirect ?
|
||||
String location = connection.getHeaderField("Location");
|
||||
if (location != null) {
|
||||
try {
|
||||
return new URI(location);
|
||||
} catch (URISyntaxException e) {
|
||||
// nevermind
|
||||
}
|
||||
}
|
||||
}
|
||||
return uri;
|
||||
} finally {
|
||||
connection.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
private static HttpURLConnection safelyOpenConnection(URL url) throws IOException {
|
||||
URLConnection conn;
|
||||
try {
|
||||
conn = url.openConnection();
|
||||
} catch (NullPointerException npe) {
|
||||
// Another strange bug in Android?
|
||||
Log.w(TAG, "Bad URI? " + url);
|
||||
throw new IOException(npe);
|
||||
}
|
||||
if (!(conn instanceof HttpURLConnection)) {
|
||||
throw new IOException();
|
||||
}
|
||||
return (HttpURLConnection) conn;
|
||||
}
|
||||
|
||||
private static int safelyConnect(String uri, HttpURLConnection connection) throws IOException {
|
||||
try {
|
||||
connection.connect();
|
||||
} catch (NullPointerException npe) {
|
||||
// this is an Android bug: http://code.google.com/p/android/issues/detail?id=16895
|
||||
throw new IOException(npe);
|
||||
} catch (IllegalArgumentException iae) {
|
||||
// Also seen this in the wild, not sure what to make of it. Probably a bad URL
|
||||
throw new IOException(iae);
|
||||
} catch (SecurityException se) {
|
||||
// due to bad VPN settings?
|
||||
Log.w(TAG, "Restricted URI? " + uri);
|
||||
throw new IOException(se);
|
||||
} catch (IndexOutOfBoundsException ioobe) {
|
||||
// Another Android problem? https://groups.google.com/forum/?fromgroups#!topic/google-admob-ads-sdk/U-WfmYa9or0
|
||||
throw new IOException(ioobe);
|
||||
}
|
||||
try {
|
||||
return connection.getResponseCode();
|
||||
} catch (NullPointerException npe) {
|
||||
// this is maybe this Android bug: http://code.google.com/p/android/issues/detail?id=15554
|
||||
throw new IOException(npe);
|
||||
} catch (IllegalArgumentException iae) {
|
||||
// Again seen this in the wild for bad header fields in the server response! or bad reads
|
||||
Log.w(TAG, "Bad server status? " + uri);
|
||||
throw new IOException(iae);
|
||||
} catch (StringIndexOutOfBoundsException sioobe) {
|
||||
// Another Android bug: https://code.google.com/p/android/issues/detail?id=18856
|
||||
throw new IOException(sioobe);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,116 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.BatteryManager;
|
||||
import android.util.Log;
|
||||
|
||||
/**
|
||||
* Finishes an activity after a period of inactivity if the device is on battery power.
|
||||
*/
|
||||
final class InactivityTimer {
|
||||
|
||||
private static final String TAG = InactivityTimer.class.getSimpleName();
|
||||
|
||||
private static final long INACTIVITY_DELAY_MS = 5 * 60 * 1000L;
|
||||
|
||||
private final Activity activity;
|
||||
private final BroadcastReceiver powerStatusReceiver;
|
||||
private boolean registered;
|
||||
private AsyncTask<?,?,?> inactivityTask;
|
||||
|
||||
InactivityTimer(Activity activity) {
|
||||
this.activity = activity;
|
||||
powerStatusReceiver = new PowerStatusReceiver();
|
||||
registered = false;
|
||||
onActivity();
|
||||
}
|
||||
|
||||
synchronized void onActivity() {
|
||||
cancel();
|
||||
inactivityTask = new InactivityAsyncTask();
|
||||
inactivityTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
|
||||
public synchronized void onPause() {
|
||||
cancel();
|
||||
if (registered) {
|
||||
activity.unregisterReceiver(powerStatusReceiver);
|
||||
registered = false;
|
||||
} else {
|
||||
Log.w(TAG, "PowerStatusReceiver was never registered?");
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void onResume() {
|
||||
if (registered) {
|
||||
Log.w(TAG, "PowerStatusReceiver was already registered?");
|
||||
} else {
|
||||
activity.registerReceiver(powerStatusReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||
registered = true;
|
||||
}
|
||||
onActivity();
|
||||
}
|
||||
|
||||
private synchronized void cancel() {
|
||||
AsyncTask<?,?,?> task = inactivityTask;
|
||||
if (task != null) {
|
||||
task.cancel(true);
|
||||
inactivityTask = null;
|
||||
}
|
||||
}
|
||||
|
||||
void shutdown() {
|
||||
cancel();
|
||||
}
|
||||
|
||||
private final class PowerStatusReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent){
|
||||
if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
|
||||
// 0 indicates that we're on battery
|
||||
boolean onBatteryNow = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) <= 0;
|
||||
if (onBatteryNow) {
|
||||
InactivityTimer.this.onActivity();
|
||||
} else {
|
||||
InactivityTimer.this.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final class InactivityAsyncTask extends AsyncTask<Object,Object,Object> {
|
||||
@Override
|
||||
protected Object doInBackground(Object... objects) {
|
||||
try {
|
||||
Thread.sleep(INACTIVITY_DELAY_MS);
|
||||
Log.i(TAG, "Finishing activity due to inactivity");
|
||||
activity.finish();
|
||||
} catch (InterruptedException e) {
|
||||
// continue without killing
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (C) 2011 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
enum IntentSource {
|
||||
|
||||
NATIVE_APP_INTENT,
|
||||
PRODUCT_SEARCH_LINK,
|
||||
ZXING_LINK,
|
||||
NONE
|
||||
|
||||
}
|
@ -0,0 +1,261 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
/**
|
||||
* This class provides the constants to use when sending an Intent to Barcode Scanner.
|
||||
* These strings are effectively API and cannot be changed.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
public final class Intents {
|
||||
private Intents() {
|
||||
}
|
||||
|
||||
public static final class Scan {
|
||||
/**
|
||||
* Send this intent to open the Barcodes app in scanning mode, find a barcode, and return
|
||||
* the results.
|
||||
*/
|
||||
public static final String ACTION = "com.google.zxing.client.android.SCAN";
|
||||
|
||||
/**
|
||||
* By default, sending this will decode all barcodes that we understand. However it
|
||||
* may be useful to limit scanning to certain formats. Use
|
||||
* {@link android.content.Intent#putExtra(String, String)} with one of the values below.
|
||||
*
|
||||
* Setting this is effectively shorthand for setting explicit formats with {@link #FORMATS}.
|
||||
* It is overridden by that setting.
|
||||
*/
|
||||
public static final String MODE = "SCAN_MODE";
|
||||
|
||||
/**
|
||||
* Decode only UPC and EAN barcodes. This is the right choice for shopping apps which get
|
||||
* prices, reviews, etc. for products.
|
||||
*/
|
||||
public static final String PRODUCT_MODE = "PRODUCT_MODE";
|
||||
|
||||
/**
|
||||
* Decode only 1D barcodes.
|
||||
*/
|
||||
public static final String ONE_D_MODE = "ONE_D_MODE";
|
||||
|
||||
/**
|
||||
* Decode only QR codes.
|
||||
*/
|
||||
public static final String QR_CODE_MODE = "QR_CODE_MODE";
|
||||
|
||||
/**
|
||||
* Decode only Data Matrix codes.
|
||||
*/
|
||||
public static final String DATA_MATRIX_MODE = "DATA_MATRIX_MODE";
|
||||
|
||||
/**
|
||||
* Comma-separated list of formats to scan for. The values must match the names of
|
||||
* {@link com.google.zxing.BarcodeFormat}s, e.g. {@link com.google.zxing.BarcodeFormat#EAN_13}.
|
||||
* Example: "EAN_13,EAN_8,QR_CODE". This overrides {@link #MODE}.
|
||||
*/
|
||||
public static final String FORMATS = "SCAN_FORMATS";
|
||||
|
||||
/**
|
||||
* @see com.google.zxing.DecodeHintType#CHARACTER_SET
|
||||
*/
|
||||
public static final String CHARACTER_SET = "CHARACTER_SET";
|
||||
|
||||
/**
|
||||
* Optional parameters to specify the width and height of the scanning rectangle in pixels.
|
||||
* The app will try to honor these, but will clamp them to the size of the preview frame.
|
||||
* You should specify both or neither, and pass the size as an int.
|
||||
*/
|
||||
public static final String WIDTH = "SCAN_WIDTH";
|
||||
public static final String HEIGHT = "SCAN_HEIGHT";
|
||||
|
||||
/**
|
||||
* Desired duration in milliseconds for which to pause after a successful scan before
|
||||
* returning to the calling intent. Specified as a long, not an integer!
|
||||
* For example: 1000L, not 1000.
|
||||
*/
|
||||
public static final String RESULT_DISPLAY_DURATION_MS = "RESULT_DISPLAY_DURATION_MS";
|
||||
|
||||
/**
|
||||
* Prompt to show on-screen when scanning by intent. Specified as a {@link String}.
|
||||
*/
|
||||
public static final String PROMPT_MESSAGE = "PROMPT_MESSAGE";
|
||||
|
||||
/**
|
||||
* If a barcode is found, Barcodes returns {@link android.app.Activity#RESULT_OK} to
|
||||
* {@link android.app.Activity#onActivityResult(int, int, android.content.Intent)}
|
||||
* of the app which requested the scan via
|
||||
* {@link android.app.Activity#startActivityForResult(android.content.Intent, int)}
|
||||
* The barcodes contents can be retrieved with
|
||||
* {@link android.content.Intent#getStringExtra(String)}.
|
||||
* If the user presses Back, the result code will be {@link android.app.Activity#RESULT_CANCELED}.
|
||||
*/
|
||||
public static final String RESULT = "SCAN_RESULT";
|
||||
|
||||
/**
|
||||
* Call {@link android.content.Intent#getStringExtra(String)} with {@link #RESULT_FORMAT}
|
||||
* to determine which barcode format was found.
|
||||
* See {@link com.google.zxing.BarcodeFormat} for possible values.
|
||||
*/
|
||||
public static final String RESULT_FORMAT = "SCAN_RESULT_FORMAT";
|
||||
|
||||
/**
|
||||
* Call {@link android.content.Intent#getStringExtra(String)} with {@link #RESULT_UPC_EAN_EXTENSION}
|
||||
* to return the content of any UPC extension barcode that was also found. Only applicable
|
||||
* to {@link com.google.zxing.BarcodeFormat#UPC_A} and {@link com.google.zxing.BarcodeFormat#EAN_13}
|
||||
* formats.
|
||||
*/
|
||||
public static final String RESULT_UPC_EAN_EXTENSION = "SCAN_RESULT_UPC_EAN_EXTENSION";
|
||||
|
||||
/**
|
||||
* Call {@link android.content.Intent#getByteArrayExtra(String)} with {@link #RESULT_BYTES}
|
||||
* to get a {@code byte[]} of raw bytes in the barcode, if available.
|
||||
*/
|
||||
public static final String RESULT_BYTES = "SCAN_RESULT_BYTES";
|
||||
|
||||
/**
|
||||
* Key for the value of {@link com.google.zxing.ResultMetadataType#ORIENTATION}, if available.
|
||||
* Call {@link android.content.Intent#getIntArrayExtra(String)} with {@link #RESULT_ORIENTATION}.
|
||||
*/
|
||||
public static final String RESULT_ORIENTATION = "SCAN_RESULT_ORIENTATION";
|
||||
|
||||
/**
|
||||
* Key for the value of {@link com.google.zxing.ResultMetadataType#ERROR_CORRECTION_LEVEL}, if available.
|
||||
* Call {@link android.content.Intent#getStringExtra(String)} with {@link #RESULT_ERROR_CORRECTION_LEVEL}.
|
||||
*/
|
||||
public static final String RESULT_ERROR_CORRECTION_LEVEL = "SCAN_RESULT_ERROR_CORRECTION_LEVEL";
|
||||
|
||||
/**
|
||||
* Prefix for keys that map to the values of {@link com.google.zxing.ResultMetadataType#BYTE_SEGMENTS},
|
||||
* if available. The actual values will be set under a series of keys formed by adding 0, 1, 2, ...
|
||||
* to this prefix. So the first byte segment is under key "SCAN_RESULT_BYTE_SEGMENTS_0" for example.
|
||||
* Call {@link android.content.Intent#getByteArrayExtra(String)} with these keys.
|
||||
*/
|
||||
public static final String RESULT_BYTE_SEGMENTS_PREFIX = "SCAN_RESULT_BYTE_SEGMENTS_";
|
||||
|
||||
/**
|
||||
* Setting this to false will not save scanned codes in the history. Specified as a {@code boolean}.
|
||||
*/
|
||||
public static final String SAVE_HISTORY = "SAVE_HISTORY";
|
||||
|
||||
private Scan() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class History {
|
||||
|
||||
public static final String ITEM_NUMBER = "ITEM_NUMBER";
|
||||
|
||||
private History() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class Encode {
|
||||
/**
|
||||
* Send this intent to encode a piece of data as a QR code and display it full screen, so
|
||||
* that another person can scan the barcode from your screen.
|
||||
*/
|
||||
public static final String ACTION = "com.google.zxing.client.android.ENCODE";
|
||||
|
||||
/**
|
||||
* The data to encode. Use {@link android.content.Intent#putExtra(String, String)} or
|
||||
* {@link android.content.Intent#putExtra(String, android.os.Bundle)},
|
||||
* depending on the type and format specified. Non-QR Code formats should
|
||||
* just use a String here. For QR Code, see Contents for details.
|
||||
*/
|
||||
public static final String DATA = "ENCODE_DATA";
|
||||
|
||||
/**
|
||||
* The type of data being supplied if the format is QR Code. Use
|
||||
* {@link android.content.Intent#putExtra(String, String)} with one of {@link Contents.Type}.
|
||||
*/
|
||||
public static final String TYPE = "ENCODE_TYPE";
|
||||
|
||||
/**
|
||||
* The barcode format to be displayed. If this isn't specified or is blank,
|
||||
* it defaults to QR Code. Use {@link android.content.Intent#putExtra(String, String)}, where
|
||||
* format is one of {@link com.google.zxing.BarcodeFormat}.
|
||||
*/
|
||||
public static final String FORMAT = "ENCODE_FORMAT";
|
||||
|
||||
/**
|
||||
* Normally the contents of the barcode are displayed to the user in a TextView. Setting this
|
||||
* boolean to false will hide that TextView, showing only the encode barcode.
|
||||
*/
|
||||
public static final String SHOW_CONTENTS = "ENCODE_SHOW_CONTENTS";
|
||||
|
||||
private Encode() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class SearchBookContents {
|
||||
/**
|
||||
* Use Google Book Search to search the contents of the book provided.
|
||||
*/
|
||||
public static final String ACTION = "com.google.zxing.client.android.SEARCH_BOOK_CONTENTS";
|
||||
|
||||
/**
|
||||
* The book to search, identified by ISBN number.
|
||||
*/
|
||||
public static final String ISBN = "ISBN";
|
||||
|
||||
/**
|
||||
* An optional field which is the text to search for.
|
||||
*/
|
||||
public static final String QUERY = "QUERY";
|
||||
|
||||
private SearchBookContents() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class WifiConnect {
|
||||
/**
|
||||
* Internal intent used to trigger connection to a wi-fi network.
|
||||
*/
|
||||
public static final String ACTION = "com.google.zxing.client.android.WIFI_CONNECT";
|
||||
|
||||
/**
|
||||
* The network to connect to, all the configuration provided here.
|
||||
*/
|
||||
public static final String SSID = "SSID";
|
||||
|
||||
/**
|
||||
* The network to connect to, all the configuration provided here.
|
||||
*/
|
||||
public static final String TYPE = "TYPE";
|
||||
|
||||
/**
|
||||
* The network to connect to, all the configuration provided here.
|
||||
*/
|
||||
public static final String PASSWORD = "PASSWORD";
|
||||
|
||||
private WifiConnect() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class Share {
|
||||
/**
|
||||
* Give the user a choice of items to encode as a barcode, then render it as a QR Code and
|
||||
* display onscreen for a friend to scan with their phone.
|
||||
*/
|
||||
public static final String ACTION = "com.google.zxing.client.android.SHARE";
|
||||
|
||||
private Share() {
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,182 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Handles any locale-specific logic for the client.
|
||||
*
|
||||
* @author Sean Owen
|
||||
*/
|
||||
public final class LocaleManager {
|
||||
|
||||
private static final String DEFAULT_TLD = "com";
|
||||
private static final String DEFAULT_COUNTRY = "US";
|
||||
private static final String DEFAULT_LANGUAGE = "en";
|
||||
|
||||
/**
|
||||
* Locales (well, countries) where Google web search is available.
|
||||
* These should be kept in sync with our translations.
|
||||
*/
|
||||
private static final Map<String,String> GOOGLE_COUNTRY_TLD;
|
||||
static {
|
||||
GOOGLE_COUNTRY_TLD = new HashMap<String,String>();
|
||||
GOOGLE_COUNTRY_TLD.put("AR", "com.ar"); // ARGENTINA
|
||||
GOOGLE_COUNTRY_TLD.put("AU", "com.au"); // AUSTRALIA
|
||||
GOOGLE_COUNTRY_TLD.put("BR", "com.br"); // BRAZIL
|
||||
GOOGLE_COUNTRY_TLD.put("BG", "bg"); // BULGARIA
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.CANADA.getCountry(), "ca");
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.CHINA.getCountry(), "cn");
|
||||
GOOGLE_COUNTRY_TLD.put("CZ", "cz"); // CZECH REPUBLIC
|
||||
GOOGLE_COUNTRY_TLD.put("DK", "dk"); // DENMARK
|
||||
GOOGLE_COUNTRY_TLD.put("FI", "fi"); // FINLAND
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.FRANCE.getCountry(), "fr");
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.GERMANY.getCountry(), "de");
|
||||
GOOGLE_COUNTRY_TLD.put("GR", "gr"); // GREECE
|
||||
GOOGLE_COUNTRY_TLD.put("HU", "hu"); // HUNGARY
|
||||
GOOGLE_COUNTRY_TLD.put("ID", "co.id"); // INDONESIA
|
||||
GOOGLE_COUNTRY_TLD.put("IL", "co.il"); // ISRAEL
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.ITALY.getCountry(), "it");
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.JAPAN.getCountry(), "co.jp");
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.KOREA.getCountry(), "co.kr");
|
||||
GOOGLE_COUNTRY_TLD.put("NL", "nl"); // NETHERLANDS
|
||||
GOOGLE_COUNTRY_TLD.put("PL", "pl"); // POLAND
|
||||
GOOGLE_COUNTRY_TLD.put("PT", "pt"); // PORTUGAL
|
||||
GOOGLE_COUNTRY_TLD.put("RO", "ro"); // ROMANIA
|
||||
GOOGLE_COUNTRY_TLD.put("RU", "ru"); // RUSSIA
|
||||
GOOGLE_COUNTRY_TLD.put("SK", "sk"); // SLOVAK REPUBLIC
|
||||
GOOGLE_COUNTRY_TLD.put("SI", "si"); // SLOVENIA
|
||||
GOOGLE_COUNTRY_TLD.put("ES", "es"); // SPAIN
|
||||
GOOGLE_COUNTRY_TLD.put("SE", "se"); // SWEDEN
|
||||
GOOGLE_COUNTRY_TLD.put("CH", "ch"); // SWITZERLAND
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.TAIWAN.getCountry(), "tw");
|
||||
GOOGLE_COUNTRY_TLD.put("TR", "com.tr"); // TURKEY
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.UK.getCountry(), "co.uk");
|
||||
GOOGLE_COUNTRY_TLD.put(Locale.US.getCountry(), "com");
|
||||
}
|
||||
|
||||
/**
|
||||
* Google Product Search for mobile is available in fewer countries than web search. See here:
|
||||
* http://support.google.com/merchants/bin/answer.py?hl=en-GB&answer=160619
|
||||
*/
|
||||
private static final Map<String,String> GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD;
|
||||
static {
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD = new HashMap<String,String>();
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put("AU", "com.au"); // AUSTRALIA
|
||||
//GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.CHINA.getCountry(), "cn");
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.FRANCE.getCountry(), "fr");
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.GERMANY.getCountry(), "de");
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.ITALY.getCountry(), "it");
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.JAPAN.getCountry(), "co.jp");
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put("NL", "nl"); // NETHERLANDS
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put("ES", "es"); // SPAIN
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put("CH", "ch"); // SWITZERLAND
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.UK.getCountry(), "co.uk");
|
||||
GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD.put(Locale.US.getCountry(), "com");
|
||||
}
|
||||
|
||||
/**
|
||||
* Book search is offered everywhere that web search is available.
|
||||
*/
|
||||
private static final Map<String,String> GOOGLE_BOOK_SEARCH_COUNTRY_TLD = GOOGLE_COUNTRY_TLD;
|
||||
|
||||
private static final Collection<String> TRANSLATED_HELP_ASSET_LANGUAGES =
|
||||
Arrays.asList("de", "en", "es", "fr", "it", "ja", "ko", "nl", "pt", "ru", "zh-rCN", "zh-rTW");
|
||||
|
||||
private LocaleManager() {}
|
||||
|
||||
/**
|
||||
* @return country-specific TLD suffix appropriate for the current default locale
|
||||
* (e.g. "co.uk" for the United Kingdom)
|
||||
*/
|
||||
public static String getCountryTLD(Context context) {
|
||||
return doGetTLD(GOOGLE_COUNTRY_TLD, context);
|
||||
}
|
||||
|
||||
/**
|
||||
* The same as above, but specifically for Google Product Search.
|
||||
* @return The top-level domain to use.
|
||||
*/
|
||||
public static String getProductSearchCountryTLD(Context context) {
|
||||
return doGetTLD(GOOGLE_PRODUCT_SEARCH_COUNTRY_TLD, context);
|
||||
}
|
||||
|
||||
/**
|
||||
* The same as above, but specifically for Google Book Search.
|
||||
* @return The top-level domain to use.
|
||||
*/
|
||||
public static String getBookSearchCountryTLD(Context context) {
|
||||
return doGetTLD(GOOGLE_BOOK_SEARCH_COUNTRY_TLD, context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Does a given URL point to Google Book Search, regardless of domain.
|
||||
*
|
||||
* @param url The address to check.
|
||||
* @return True if this is a Book Search URL.
|
||||
*/
|
||||
public static boolean isBookSearchUrl(String url) {
|
||||
return url.startsWith("http://google.com/books") || url.startsWith("http://books.google.");
|
||||
}
|
||||
|
||||
private static String getSystemCountry() {
|
||||
Locale locale = Locale.getDefault();
|
||||
return locale == null ? DEFAULT_COUNTRY : locale.getCountry();
|
||||
}
|
||||
|
||||
private static String getSystemLanguage() {
|
||||
Locale locale = Locale.getDefault();
|
||||
if (locale == null) {
|
||||
return DEFAULT_LANGUAGE;
|
||||
}
|
||||
String language = locale.getLanguage();
|
||||
// Special case Chinese
|
||||
if (Locale.SIMPLIFIED_CHINESE.getLanguage().equals(language)) {
|
||||
return language + "-r" + getSystemCountry();
|
||||
}
|
||||
return language;
|
||||
}
|
||||
|
||||
public static String getTranslatedAssetLanguage() {
|
||||
String language = getSystemLanguage();
|
||||
return TRANSLATED_HELP_ASSET_LANGUAGES.contains(language) ? language : DEFAULT_LANGUAGE;
|
||||
}
|
||||
|
||||
private static String doGetTLD(Map<String,String> map, Context context) {
|
||||
String tld = map.get(getCountry(context));
|
||||
return tld == null ? DEFAULT_TLD : tld;
|
||||
}
|
||||
|
||||
public static String getCountry(Context context) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
String countryOverride = prefs.getString(PreferencesActivity.KEY_SEARCH_COUNTRY, null);
|
||||
if (countryOverride != null && !countryOverride.isEmpty() && !"-".equals(countryOverride)) {
|
||||
return countryOverride;
|
||||
}
|
||||
return getSystemCountry();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
|
||||
/**
|
||||
* The main settings activity.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
* @author Sean Owen
|
||||
*/
|
||||
public final class PreferencesActivity extends Activity {
|
||||
|
||||
public static final String KEY_DECODE_1D = "preferences_decode_1D";
|
||||
public static final String KEY_DECODE_QR = "preferences_decode_QR";
|
||||
public static final String KEY_DECODE_DATA_MATRIX = "preferences_decode_Data_Matrix";
|
||||
public static final String KEY_CUSTOM_PRODUCT_SEARCH = "preferences_custom_product_search";
|
||||
|
||||
public static final String KEY_PLAY_BEEP = "preferences_play_beep";
|
||||
public static final String KEY_VIBRATE = "preferences_vibrate";
|
||||
public static final String KEY_COPY_TO_CLIPBOARD = "preferences_copy_to_clipboard";
|
||||
public static final String KEY_FRONT_LIGHT_MODE = "preferences_front_light_mode";
|
||||
public static final String KEY_BULK_MODE = "preferences_bulk_mode";
|
||||
public static final String KEY_REMEMBER_DUPLICATES = "preferences_remember_duplicates";
|
||||
public static final String KEY_SUPPLEMENTAL = "preferences_supplemental";
|
||||
public static final String KEY_AUTO_FOCUS = "preferences_auto_focus";
|
||||
public static final String KEY_INVERT_SCAN = "preferences_invert_scan";
|
||||
public static final String KEY_SEARCH_COUNTRY = "preferences_search_country";
|
||||
|
||||
public static final String KEY_DISABLE_CONTINUOUS_FOCUS = "preferences_disable_continuous_focus";
|
||||
//public static final String KEY_DISABLE_EXPOSURE = "preferences_disable_exposure";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
getFragmentManager().beginTransaction().replace(android.R.id.content, new PreferencesFragment()).commit();
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright (C) 2013 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.PreferenceFragment;
|
||||
import android.preference.PreferenceScreen;
|
||||
|
||||
public final class PreferencesFragment
|
||||
extends PreferenceFragment
|
||||
implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
private CheckBoxPreference decode1D;
|
||||
private CheckBoxPreference decodeQR;
|
||||
private CheckBoxPreference decodeDataMatrix;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
|
||||
PreferenceScreen preferences = getPreferenceScreen();
|
||||
preferences.getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
|
||||
decode1D = (CheckBoxPreference) preferences.findPreference(PreferencesActivity.KEY_DECODE_1D);
|
||||
decodeQR = (CheckBoxPreference) preferences.findPreference(PreferencesActivity.KEY_DECODE_QR);
|
||||
decodeDataMatrix = (CheckBoxPreference) preferences.findPreference(PreferencesActivity.KEY_DECODE_DATA_MATRIX);
|
||||
disableLastCheckedPref();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
disableLastCheckedPref();
|
||||
}
|
||||
|
||||
private void disableLastCheckedPref() {
|
||||
Collection<CheckBoxPreference> checked = new ArrayList<CheckBoxPreference>(3);
|
||||
if (decode1D.isChecked()) {
|
||||
checked.add(decode1D);
|
||||
}
|
||||
if (decodeQR.isChecked()) {
|
||||
checked.add(decodeQR);
|
||||
}
|
||||
if (decodeDataMatrix.isChecked()) {
|
||||
checked.add(decodeDataMatrix);
|
||||
}
|
||||
boolean disable = checked.size() < 2;
|
||||
CheckBoxPreference[] checkBoxPreferences = {decode1D, decodeQR, decodeDataMatrix};
|
||||
for (CheckBoxPreference pref : checkBoxPreferences) {
|
||||
pref.setEnabled(!(disable && checked.contains(pref)));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
/*
|
||||
* Copyright (C) 2012 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import android.net.Uri;
|
||||
import com.google.zxing.Result;
|
||||
import com.google.zxing.client.android.result.ResultHandler;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
|
||||
/**
|
||||
* Manages functionality related to responding to requests to scan from an HTTP link in a web page.
|
||||
* See <a href="http://code.google.com/p/zxing/wiki/ScanningFromWebPages">ScanningFromWebPages</a>.
|
||||
*
|
||||
* @author Sean Owen
|
||||
*/
|
||||
final class ScanFromWebPageManager {
|
||||
|
||||
private static final CharSequence CODE_PLACEHOLDER = "{CODE}";
|
||||
private static final CharSequence RAW_CODE_PLACEHOLDER = "{RAWCODE}";
|
||||
private static final CharSequence META_PLACEHOLDER = "{META}";
|
||||
private static final CharSequence FORMAT_PLACEHOLDER = "{FORMAT}";
|
||||
private static final CharSequence TYPE_PLACEHOLDER = "{TYPE}";
|
||||
|
||||
private static final String RETURN_URL_PARAM = "ret";
|
||||
private static final String RAW_PARAM = "raw";
|
||||
|
||||
private final String returnUrlTemplate;
|
||||
private final boolean returnRaw;
|
||||
|
||||
ScanFromWebPageManager(Uri inputUri) {
|
||||
returnUrlTemplate = inputUri.getQueryParameter(RETURN_URL_PARAM);
|
||||
returnRaw = inputUri.getQueryParameter(RAW_PARAM) != null;
|
||||
}
|
||||
|
||||
boolean isScanFromWebPage() {
|
||||
return returnUrlTemplate != null;
|
||||
}
|
||||
|
||||
String buildReplyURL(Result rawResult, ResultHandler resultHandler) {
|
||||
String result = returnUrlTemplate;
|
||||
result = replace(CODE_PLACEHOLDER,
|
||||
returnRaw ? rawResult.getText() : resultHandler.getDisplayContents(), result);
|
||||
result = replace(RAW_CODE_PLACEHOLDER, rawResult.getText(), result);
|
||||
result = replace(FORMAT_PLACEHOLDER, rawResult.getBarcodeFormat().toString(), result);
|
||||
result = replace(TYPE_PLACEHOLDER, resultHandler.getType().toString(), result);
|
||||
result = replace(META_PLACEHOLDER, String.valueOf(rawResult.getResultMetadata()), result);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static String replace(CharSequence placeholder, CharSequence with, String pattern) {
|
||||
CharSequence escapedWith = with == null ? "" : with;
|
||||
try {
|
||||
escapedWith = URLEncoder.encode(escapedWith.toString(), "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
// can't happen; UTF-8 is always supported. Continue, I guess, without encoding
|
||||
}
|
||||
return pattern.replace(placeholder, escapedWith);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2009 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import com.google.zxing.ResultPoint;
|
||||
import com.google.zxing.ResultPointCallback;
|
||||
|
||||
final class ViewfinderResultPointCallback implements ResultPointCallback {
|
||||
|
||||
private final ViewfinderView viewfinderView;
|
||||
|
||||
ViewfinderResultPointCallback(ViewfinderView viewfinderView) {
|
||||
this.viewfinderView = viewfinderView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void foundPossibleResultPoint(ResultPoint point) {
|
||||
viewfinderView.addPossibleResultPoint(point);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,190 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android;
|
||||
|
||||
import com.google.zxing.ResultPoint;
|
||||
import com.google.zxing.client.android.camera.CameraManager;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Rect;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
/**
|
||||
* This view is overlaid on top of the camera preview. It adds the viewfinder rectangle and partial
|
||||
* transparency outside it, as well as the laser scanner animation and result points.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
public final class ViewfinderView extends View {
|
||||
|
||||
private static final int[] SCANNER_ALPHA = {0, 64, 128, 192, 255, 192, 128, 64};
|
||||
private static final long ANIMATION_DELAY = 80L;
|
||||
private static final int CURRENT_POINT_OPACITY = 0xA0;
|
||||
private static final int MAX_RESULT_POINTS = 20;
|
||||
private static final int POINT_SIZE = 6;
|
||||
|
||||
private CameraManager cameraManager;
|
||||
private final Paint paint;
|
||||
private Bitmap resultBitmap;
|
||||
private final int maskColor;
|
||||
private final int resultColor;
|
||||
private final int laserColor;
|
||||
private final int resultPointColor;
|
||||
private int scannerAlpha;
|
||||
private List<ResultPoint> possibleResultPoints;
|
||||
private List<ResultPoint> lastPossibleResultPoints;
|
||||
|
||||
// This constructor is used when the class is built from an XML resource.
|
||||
public ViewfinderView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
// Initialize these once for performance rather than calling them every time in onDraw().
|
||||
paint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
Resources resources = getResources();
|
||||
maskColor = resources.getColor(R.color.viewfinder_mask);
|
||||
resultColor = resources.getColor(R.color.result_view);
|
||||
laserColor = resources.getColor(R.color.viewfinder_laser);
|
||||
resultPointColor = resources.getColor(R.color.possible_result_points);
|
||||
scannerAlpha = 0;
|
||||
possibleResultPoints = new ArrayList<ResultPoint>(5);
|
||||
lastPossibleResultPoints = null;
|
||||
}
|
||||
|
||||
public void setCameraManager(CameraManager cameraManager) {
|
||||
this.cameraManager = cameraManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDraw(Canvas canvas) {
|
||||
if (cameraManager == null) {
|
||||
return; // not ready yet, early draw before done configuring
|
||||
}
|
||||
Rect frame = cameraManager.getFramingRect();
|
||||
Rect previewFrame = cameraManager.getFramingRectInPreview();
|
||||
if (frame == null || previewFrame == null) {
|
||||
return;
|
||||
}
|
||||
int width = canvas.getWidth();
|
||||
int height = canvas.getHeight();
|
||||
|
||||
// Draw the exterior (i.e. outside the framing rect) darkened
|
||||
paint.setColor(resultBitmap != null ? resultColor : maskColor);
|
||||
canvas.drawRect(0, 0, width, frame.top, paint);
|
||||
canvas.drawRect(0, frame.top, frame.left, frame.bottom + 1, paint);
|
||||
canvas.drawRect(frame.right + 1, frame.top, width, frame.bottom + 1, paint);
|
||||
canvas.drawRect(0, frame.bottom + 1, width, height, paint);
|
||||
|
||||
if (resultBitmap != null) {
|
||||
// Draw the opaque result bitmap over the scanning rectangle
|
||||
paint.setAlpha(CURRENT_POINT_OPACITY);
|
||||
canvas.drawBitmap(resultBitmap, null, frame, paint);
|
||||
} else {
|
||||
|
||||
// Draw a red "laser scanner" line through the middle to show decoding is active
|
||||
paint.setColor(laserColor);
|
||||
paint.setAlpha(SCANNER_ALPHA[scannerAlpha]);
|
||||
scannerAlpha = (scannerAlpha + 1) % SCANNER_ALPHA.length;
|
||||
int middle = frame.height() / 2 + frame.top;
|
||||
canvas.drawRect(frame.left + 2, middle - 1, frame.right - 1, middle + 2, paint);
|
||||
|
||||
float scaleX = frame.width() / (float) previewFrame.width();
|
||||
float scaleY = frame.height() / (float) previewFrame.height();
|
||||
|
||||
List<ResultPoint> currentPossible = possibleResultPoints;
|
||||
List<ResultPoint> currentLast = lastPossibleResultPoints;
|
||||
int frameLeft = frame.left;
|
||||
int frameTop = frame.top;
|
||||
if (currentPossible.isEmpty()) {
|
||||
lastPossibleResultPoints = null;
|
||||
} else {
|
||||
possibleResultPoints = new ArrayList<ResultPoint>(5);
|
||||
lastPossibleResultPoints = currentPossible;
|
||||
paint.setAlpha(CURRENT_POINT_OPACITY);
|
||||
paint.setColor(resultPointColor);
|
||||
synchronized (currentPossible) {
|
||||
for (ResultPoint point : currentPossible) {
|
||||
canvas.drawCircle(frameLeft + (int) (point.getX() * scaleX),
|
||||
frameTop + (int) (point.getY() * scaleY),
|
||||
POINT_SIZE, paint);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (currentLast != null) {
|
||||
paint.setAlpha(CURRENT_POINT_OPACITY / 2);
|
||||
paint.setColor(resultPointColor);
|
||||
synchronized (currentLast) {
|
||||
float radius = POINT_SIZE / 2.0f;
|
||||
for (ResultPoint point : currentLast) {
|
||||
canvas.drawCircle(frameLeft + (int) (point.getX() * scaleX),
|
||||
frameTop + (int) (point.getY() * scaleY),
|
||||
radius, paint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Request another update at the animation interval, but only repaint the laser line,
|
||||
// not the entire viewfinder mask.
|
||||
postInvalidateDelayed(ANIMATION_DELAY,
|
||||
frame.left - POINT_SIZE,
|
||||
frame.top - POINT_SIZE,
|
||||
frame.right + POINT_SIZE,
|
||||
frame.bottom + POINT_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
public void drawViewfinder() {
|
||||
Bitmap resultBitmap = this.resultBitmap;
|
||||
this.resultBitmap = null;
|
||||
if (resultBitmap != null) {
|
||||
resultBitmap.recycle();
|
||||
}
|
||||
invalidate();
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw a bitmap with the result points highlighted instead of the live scanning display.
|
||||
*
|
||||
* @param barcode An image of the decoded barcode.
|
||||
*/
|
||||
public void drawResultBitmap(Bitmap barcode) {
|
||||
resultBitmap = barcode;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void addPossibleResultPoint(ResultPoint point) {
|
||||
List<ResultPoint> points = possibleResultPoints;
|
||||
synchronized (points) {
|
||||
points.add(point);
|
||||
int size = points.size();
|
||||
if (size > MAX_RESULT_POINTS) {
|
||||
// trim it
|
||||
points.subList(0, size - MAX_RESULT_POINTS / 2).clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2009 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android.book;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import com.google.zxing.client.android.LocaleManager;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
final class BrowseBookListener implements AdapterView.OnItemClickListener {
|
||||
|
||||
private final SearchBookContentsActivity activity;
|
||||
private final List<SearchBookContentsResult> items;
|
||||
|
||||
BrowseBookListener(SearchBookContentsActivity activity, List<SearchBookContentsResult> items) {
|
||||
this.activity = activity;
|
||||
this.items = items;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
|
||||
if (position < 1) {
|
||||
// Clicked header, ignore it
|
||||
return;
|
||||
}
|
||||
int itemOffset = position - 1;
|
||||
if (itemOffset >= items.size()) {
|
||||
return;
|
||||
}
|
||||
String pageId = items.get(itemOffset).getPageId();
|
||||
String query = SearchBookContentsResult.getQuery();
|
||||
if (LocaleManager.isBookSearchUrl(activity.getISBN()) && !pageId.isEmpty()) {
|
||||
String uri = activity.getISBN();
|
||||
int equals = uri.indexOf('=');
|
||||
String volumeId = uri.substring(equals + 1);
|
||||
String readBookURI = "http://books.google." +
|
||||
LocaleManager.getBookSearchCountryTLD(activity) +
|
||||
"/books?id=" + volumeId + "&pg=" + pageId + "&vq=" + query;
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(readBookURI));
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||
activity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,275 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android.book;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.webkit.CookieManager;
|
||||
import android.webkit.CookieSyncManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import com.google.zxing.client.android.Intents;
|
||||
import com.google.zxing.client.android.HttpHelper;
|
||||
import com.google.zxing.client.android.LocaleManager;
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
/**
|
||||
* Uses Google Book Search to find a word or phrase in the requested book.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
public final class SearchBookContentsActivity extends Activity {
|
||||
|
||||
private static final String TAG = SearchBookContentsActivity.class.getSimpleName();
|
||||
|
||||
private static final Pattern TAG_PATTERN = Pattern.compile("\\<.*?\\>");
|
||||
private static final Pattern LT_ENTITY_PATTERN = Pattern.compile("<");
|
||||
private static final Pattern GT_ENTITY_PATTERN = Pattern.compile(">");
|
||||
private static final Pattern QUOTE_ENTITY_PATTERN = Pattern.compile("'");
|
||||
private static final Pattern QUOT_ENTITY_PATTERN = Pattern.compile(""");
|
||||
|
||||
private String isbn;
|
||||
private EditText queryTextView;
|
||||
private View queryButton;
|
||||
private ListView resultListView;
|
||||
private TextView headerView;
|
||||
private AsyncTask<String,?,?> networkTask;
|
||||
|
||||
private final Button.OnClickListener buttonListener = new Button.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
launchSearch();
|
||||
}
|
||||
};
|
||||
|
||||
private final View.OnKeyListener keyListener = new View.OnKeyListener() {
|
||||
@Override
|
||||
public boolean onKey(View view, int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||
launchSearch();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
String getISBN() {
|
||||
return isbn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
|
||||
// Make sure that expired cookies are removed on launch.
|
||||
CookieSyncManager.createInstance(this);
|
||||
CookieManager.getInstance().removeExpiredCookie();
|
||||
|
||||
Intent intent = getIntent();
|
||||
if (intent == null || !intent.getAction().equals(Intents.SearchBookContents.ACTION)) {
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
||||
isbn = intent.getStringExtra(Intents.SearchBookContents.ISBN);
|
||||
if (LocaleManager.isBookSearchUrl(isbn)) {
|
||||
setTitle(getString(R.string.sbc_name));
|
||||
} else {
|
||||
setTitle(getString(R.string.sbc_name) + ": ISBN " + isbn);
|
||||
}
|
||||
|
||||
setContentView(R.layout.search_book_contents);
|
||||
queryTextView = (EditText) findViewById(R.id.query_text_view);
|
||||
|
||||
String initialQuery = intent.getStringExtra(Intents.SearchBookContents.QUERY);
|
||||
if (initialQuery != null && !initialQuery.isEmpty()) {
|
||||
// Populate the search box but don't trigger the search
|
||||
queryTextView.setText(initialQuery);
|
||||
}
|
||||
queryTextView.setOnKeyListener(keyListener);
|
||||
|
||||
queryButton = findViewById(R.id.query_button);
|
||||
queryButton.setOnClickListener(buttonListener);
|
||||
|
||||
resultListView = (ListView) findViewById(R.id.result_list_view);
|
||||
LayoutInflater factory = LayoutInflater.from(this);
|
||||
headerView = (TextView) factory.inflate(R.layout.search_book_contents_header,
|
||||
resultListView, false);
|
||||
resultListView.addHeaderView(headerView);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
queryTextView.selectAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
AsyncTask<?,?,?> oldTask = networkTask;
|
||||
if (oldTask != null) {
|
||||
oldTask.cancel(true);
|
||||
networkTask = null;
|
||||
}
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
private void launchSearch() {
|
||||
String query = queryTextView.getText().toString();
|
||||
if (query != null && !query.isEmpty()) {
|
||||
AsyncTask<?,?,?> oldTask = networkTask;
|
||||
if (oldTask != null) {
|
||||
oldTask.cancel(true);
|
||||
}
|
||||
networkTask = new NetworkTask();
|
||||
networkTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, query, isbn);
|
||||
headerView.setText(R.string.msg_sbc_searching_book);
|
||||
resultListView.setAdapter(null);
|
||||
queryTextView.setEnabled(false);
|
||||
queryButton.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
private final class NetworkTask extends AsyncTask<String,Object,JSONObject> {
|
||||
|
||||
@Override
|
||||
protected JSONObject doInBackground(String... args) {
|
||||
try {
|
||||
// These return a JSON result which describes if and where the query was found. This API may
|
||||
// break or disappear at any time in the future. Since this is an API call rather than a
|
||||
// website, we don't use LocaleManager to change the TLD.
|
||||
String theQuery = args[0];
|
||||
String theIsbn = args[1];
|
||||
String uri;
|
||||
if (LocaleManager.isBookSearchUrl(theIsbn)) {
|
||||
int equals = theIsbn.indexOf('=');
|
||||
String volumeId = theIsbn.substring(equals + 1);
|
||||
uri = "http://www.google.com/books?id=" + volumeId + "&jscmd=SearchWithinVolume2&q=" + theQuery;
|
||||
} else {
|
||||
uri = "http://www.google.com/books?vid=isbn" + theIsbn + "&jscmd=SearchWithinVolume2&q=" + theQuery;
|
||||
}
|
||||
CharSequence content = HttpHelper.downloadViaHttp(uri, HttpHelper.ContentType.JSON);
|
||||
return new JSONObject(content.toString());
|
||||
} catch (IOException ioe) {
|
||||
Log.w(TAG, "Error accessing book search", ioe);
|
||||
return null;
|
||||
} catch (JSONException je) {
|
||||
Log.w(TAG, "Error accessing book search", je);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(JSONObject result) {
|
||||
if (result == null) {
|
||||
headerView.setText(R.string.msg_sbc_failed);
|
||||
} else {
|
||||
handleSearchResults(result);
|
||||
}
|
||||
queryTextView.setEnabled(true);
|
||||
queryTextView.selectAll();
|
||||
queryButton.setEnabled(true);
|
||||
}
|
||||
|
||||
// Currently there is no way to distinguish between a query which had no results and a book
|
||||
// which is not searchable - both return zero results.
|
||||
private void handleSearchResults(JSONObject json) {
|
||||
try {
|
||||
int count = json.getInt("number_of_results");
|
||||
headerView.setText(getString(R.string.msg_sbc_results) + " : " + count);
|
||||
if (count > 0) {
|
||||
JSONArray results = json.getJSONArray("search_results");
|
||||
SearchBookContentsResult.setQuery(queryTextView.getText().toString());
|
||||
List<SearchBookContentsResult> items = new ArrayList<SearchBookContentsResult>(count);
|
||||
for (int x = 0; x < count; x++) {
|
||||
items.add(parseResult(results.getJSONObject(x)));
|
||||
}
|
||||
resultListView.setOnItemClickListener(new BrowseBookListener(SearchBookContentsActivity.this, items));
|
||||
resultListView.setAdapter(new SearchBookContentsAdapter(SearchBookContentsActivity.this, items));
|
||||
} else {
|
||||
String searchable = json.optString("searchable");
|
||||
if ("false".equals(searchable)) {
|
||||
headerView.setText(R.string.msg_sbc_book_not_searchable);
|
||||
}
|
||||
resultListView.setAdapter(null);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
Log.w(TAG, "Bad JSON from book search", e);
|
||||
resultListView.setAdapter(null);
|
||||
headerView.setText(R.string.msg_sbc_failed);
|
||||
}
|
||||
}
|
||||
|
||||
// Available fields: page_id, page_number, snippet_text
|
||||
private SearchBookContentsResult parseResult(JSONObject json) {
|
||||
|
||||
String pageId;
|
||||
String pageNumber;
|
||||
String snippet;
|
||||
try {
|
||||
pageId = json.getString("page_id");
|
||||
pageNumber = json.optString("page_number");
|
||||
snippet = json.optString("snippet_text");
|
||||
} catch (JSONException e) {
|
||||
Log.w(TAG, e);
|
||||
// Never seen in the wild, just being complete.
|
||||
return new SearchBookContentsResult(getString(R.string.msg_sbc_no_page_returned), "", "", false);
|
||||
}
|
||||
|
||||
if (pageNumber == null || pageNumber.isEmpty()) {
|
||||
// This can happen for text on the jacket, and possibly other reasons.
|
||||
pageNumber = "";
|
||||
} else {
|
||||
pageNumber = getString(R.string.msg_sbc_page) + ' ' + pageNumber;
|
||||
}
|
||||
|
||||
boolean valid = snippet != null && !snippet.isEmpty();
|
||||
if (valid) {
|
||||
// Remove all HTML tags and encoded characters.
|
||||
snippet = TAG_PATTERN.matcher(snippet).replaceAll("");
|
||||
snippet = LT_ENTITY_PATTERN.matcher(snippet).replaceAll("<");
|
||||
snippet = GT_ENTITY_PATTERN.matcher(snippet).replaceAll(">");
|
||||
snippet = QUOTE_ENTITY_PATTERN.matcher(snippet).replaceAll("'");
|
||||
snippet = QUOT_ENTITY_PATTERN.matcher(snippet).replaceAll("\"");
|
||||
} else {
|
||||
snippet = '(' + getString(R.string.msg_sbc_snippet_unavailable) + ')';
|
||||
}
|
||||
|
||||
return new SearchBookContentsResult(pageId, pageNumber, snippet, valid);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android.book;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
/**
|
||||
* Manufactures list items which represent SBC results.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
final class SearchBookContentsAdapter extends ArrayAdapter<SearchBookContentsResult> {
|
||||
|
||||
SearchBookContentsAdapter(Context context, List<SearchBookContentsResult> items) {
|
||||
super(context, R.layout.search_book_contents_list_item, 0, items);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View view, ViewGroup viewGroup) {
|
||||
SearchBookContentsListItem listItem;
|
||||
|
||||
if (view == null) {
|
||||
LayoutInflater factory = LayoutInflater.from(getContext());
|
||||
listItem = (SearchBookContentsListItem) factory.inflate(
|
||||
R.layout.search_book_contents_list_item, viewGroup, false);
|
||||
} else {
|
||||
if (view instanceof SearchBookContentsListItem) {
|
||||
listItem = (SearchBookContentsListItem) view;
|
||||
} else {
|
||||
return view;
|
||||
}
|
||||
}
|
||||
|
||||
SearchBookContentsResult result = getItem(position);
|
||||
listItem.set(result);
|
||||
return listItem;
|
||||
}
|
||||
}
|
@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android.book;
|
||||
|
||||
import keepass2android.plugin.qr.R;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Typeface;
|
||||
import android.text.Spannable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.style.StyleSpan;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* A list item which displays the page number and snippet of this search result.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
public final class SearchBookContentsListItem extends LinearLayout {
|
||||
private TextView pageNumberView;
|
||||
private TextView snippetView;
|
||||
|
||||
SearchBookContentsListItem(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public SearchBookContentsListItem(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
pageNumberView = (TextView) findViewById(R.id.page_number_view);
|
||||
snippetView = (TextView) findViewById(R.id.snippet_view);
|
||||
}
|
||||
|
||||
public void set(SearchBookContentsResult result) {
|
||||
pageNumberView.setText(result.getPageNumber());
|
||||
String snippet = result.getSnippet();
|
||||
if (snippet.isEmpty()) {
|
||||
snippetView.setText("");
|
||||
} else {
|
||||
if (result.getValidSnippet()) {
|
||||
String lowerQuery = SearchBookContentsResult.getQuery().toLowerCase(Locale.getDefault());
|
||||
String lowerSnippet = snippet.toLowerCase(Locale.getDefault());
|
||||
Spannable styledSnippet = new SpannableString(snippet);
|
||||
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
|
||||
int queryLength = lowerQuery.length();
|
||||
int offset = 0;
|
||||
while (true) {
|
||||
int pos = lowerSnippet.indexOf(lowerQuery, offset);
|
||||
if (pos < 0) {
|
||||
break;
|
||||
}
|
||||
styledSnippet.setSpan(boldSpan, pos, pos + queryLength, 0);
|
||||
offset = pos + queryLength;
|
||||
}
|
||||
snippetView.setText(styledSnippet);
|
||||
} else {
|
||||
// This may be an error message, so don't try to bold the query terms within it
|
||||
snippetView.setText(snippet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Copyright (C) 2008 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android.book;
|
||||
|
||||
/**
|
||||
* The underlying data for a SBC result.
|
||||
*
|
||||
* @author dswitkin@google.com (Daniel Switkin)
|
||||
*/
|
||||
final class SearchBookContentsResult {
|
||||
|
||||
private static String query = null;
|
||||
|
||||
private final String pageId;
|
||||
private final String pageNumber;
|
||||
private final String snippet;
|
||||
private final boolean validSnippet;
|
||||
|
||||
SearchBookContentsResult(String pageId,
|
||||
String pageNumber,
|
||||
String snippet,
|
||||
boolean validSnippet) {
|
||||
this.pageId = pageId;
|
||||
this.pageNumber = pageNumber;
|
||||
this.snippet = snippet;
|
||||
this.validSnippet = validSnippet;
|
||||
}
|
||||
|
||||
public static void setQuery(String query) {
|
||||
SearchBookContentsResult.query = query;
|
||||
}
|
||||
|
||||
public String getPageId() {
|
||||
return pageId;
|
||||
}
|
||||
|
||||
public String getPageNumber() {
|
||||
return pageNumber;
|
||||
}
|
||||
|
||||
public String getSnippet() {
|
||||
return snippet;
|
||||
}
|
||||
|
||||
public boolean getValidSnippet() {
|
||||
return validSnippet;
|
||||
}
|
||||
|
||||
public static String getQuery() {
|
||||
return query;
|
||||
}
|
||||
}
|
@ -0,0 +1,112 @@
|
||||
/*
|
||||
* Copyright (C) 2012 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android.camera;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.hardware.Camera;
|
||||
import android.os.AsyncTask;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.zxing.client.android.PreferencesActivity;
|
||||
|
||||
final class AutoFocusManager implements Camera.AutoFocusCallback {
|
||||
|
||||
private static final String TAG = AutoFocusManager.class.getSimpleName();
|
||||
|
||||
private static final long AUTO_FOCUS_INTERVAL_MS = 2000L;
|
||||
private static final Collection<String> FOCUS_MODES_CALLING_AF;
|
||||
static {
|
||||
FOCUS_MODES_CALLING_AF = new ArrayList<String>(2);
|
||||
FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
FOCUS_MODES_CALLING_AF.add(Camera.Parameters.FOCUS_MODE_MACRO);
|
||||
}
|
||||
|
||||
private boolean active;
|
||||
private final boolean useAutoFocus;
|
||||
private final Camera camera;
|
||||
private AsyncTask<?,?,?> outstandingTask;
|
||||
|
||||
AutoFocusManager(Context context, Camera camera) {
|
||||
this.camera = camera;
|
||||
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
String currentFocusMode = camera.getParameters().getFocusMode();
|
||||
useAutoFocus =
|
||||
sharedPrefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true) &&
|
||||
FOCUS_MODES_CALLING_AF.contains(currentFocusMode);
|
||||
Log.i(TAG, "Current focus mode '" + currentFocusMode + "'; use auto focus? " + useAutoFocus);
|
||||
start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void onAutoFocus(boolean success, Camera theCamera) {
|
||||
if (active) {
|
||||
outstandingTask = new AutoFocusTask();
|
||||
outstandingTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
}
|
||||
|
||||
synchronized void start() {
|
||||
if (useAutoFocus) {
|
||||
active = true;
|
||||
try {
|
||||
camera.autoFocus(this);
|
||||
} catch (RuntimeException re) {
|
||||
// Have heard RuntimeException reported in Android 4.0.x+; continue?
|
||||
Log.w(TAG, "Unexpected exception while focusing", re);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
synchronized void stop() {
|
||||
if (useAutoFocus) {
|
||||
try {
|
||||
camera.cancelAutoFocus();
|
||||
} catch (RuntimeException re) {
|
||||
// Have heard RuntimeException reported in Android 4.0.x+; continue?
|
||||
Log.w(TAG, "Unexpected exception while cancelling focusing", re);
|
||||
}
|
||||
}
|
||||
if (outstandingTask != null) {
|
||||
outstandingTask.cancel(true);
|
||||
outstandingTask = null;
|
||||
}
|
||||
active = false;
|
||||
}
|
||||
|
||||
private final class AutoFocusTask extends AsyncTask<Object,Object,Object> {
|
||||
@Override
|
||||
protected Object doInBackground(Object... voids) {
|
||||
try {
|
||||
Thread.sleep(AUTO_FOCUS_INTERVAL_MS);
|
||||
} catch (InterruptedException e) {
|
||||
// continue
|
||||
}
|
||||
synchronized (AutoFocusManager.this) {
|
||||
if (active) {
|
||||
start();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,307 @@
|
||||
/*
|
||||
* Copyright (C) 2010 ZXing authors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.zxing.client.android.camera;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.Point;
|
||||
import android.hardware.Camera;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import android.view.Display;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.google.zxing.client.android.PreferencesActivity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* A class which deals with reading, parsing, and setting the camera parameters which are used to
|
||||
* configure the camera hardware.
|
||||
*/
|
||||
final class CameraConfigurationManager {
|
||||
|
||||
private static final String TAG = "CameraConfiguration";
|
||||
|
||||
// This is bigger than the size of a small screen, which is still supported. The routine
|
||||
// below will still select the default (presumably 320x240) size for these. This prevents
|
||||
// accidental selection of very low resolution on some devices.
|
||||
private static final int MIN_PREVIEW_PIXELS = 480 * 320; // normal screen
|
||||
//private static final float MAX_EXPOSURE_COMPENSATION = 1.5f;
|
||||
//private static final float MIN_EXPOSURE_COMPENSATION = 0.0f;
|
||||
private static final double MAX_ASPECT_DISTORTION = 0.15;
|
||||
|
||||
private final Context context;
|
||||
private Point screenResolution;
|
||||
private Point cameraResolution;
|
||||
|
||||
CameraConfigurationManager(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads, one time, values from the camera that are needed by the app.
|
||||
*/
|
||||
void initFromCameraParameters(Camera camera) {
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
||||
Display display = manager.getDefaultDisplay();
|
||||
Point theScreenResolution = new Point();
|
||||
display.getSize(theScreenResolution);
|
||||
screenResolution = theScreenResolution;
|
||||
Log.i(TAG, "Screen resolution: " + screenResolution);
|
||||
cameraResolution = findBestPreviewSizeValue(parameters, screenResolution);
|
||||
Log.i(TAG, "Camera resolution: " + cameraResolution);
|
||||
}
|
||||
|
||||
void setDesiredCameraParameters(Camera camera, boolean safeMode) {
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
|
||||
if (parameters == null) {
|
||||
Log.w(TAG, "Device error: no camera parameters are available. Proceeding without configuration.");
|
||||
return;
|
||||
}
|
||||
|
||||
Log.i(TAG, "Initial camera parameters: " + parameters.flatten());
|
||||
|
||||
if (safeMode) {
|
||||
Log.w(TAG, "In camera config safe mode -- most settings will not be honored");
|
||||
}
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
initializeTorch(parameters, prefs, safeMode);
|
||||
|
||||
String focusMode = null;
|
||||
if (prefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true)) {
|
||||
if (safeMode || prefs.getBoolean(PreferencesActivity.KEY_DISABLE_CONTINUOUS_FOCUS, false)) {
|
||||
focusMode = findSettableValue(parameters.getSupportedFocusModes(),
|
||||
Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
} else {
|
||||
focusMode = findSettableValue(parameters.getSupportedFocusModes(),
|
||||
Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
|
||||
Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO,
|
||||
Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
}
|
||||
}
|
||||
// Maybe selected auto-focus but not available, so fall through here:
|
||||
if (!safeMode && focusMode == null) {
|
||||
focusMode = findSettableValue(parameters.getSupportedFocusModes(),
|
||||
Camera.Parameters.FOCUS_MODE_MACRO,
|
||||
Camera.Parameters.FOCUS_MODE_EDOF);
|
||||
}
|
||||
if (focusMode != null) {
|
||||
parameters.setFocusMode(focusMode);
|
||||
}
|
||||
|
||||
if (prefs.getBoolean(PreferencesActivity.KEY_INVERT_SCAN, false)) {
|
||||
String colorMode = findSettableValue(parameters.getSupportedColorEffects(),
|
||||
Camera.Parameters.EFFECT_NEGATIVE);
|
||||
if (colorMode != null) {
|
||||
parameters.setColorEffect(colorMode);
|
||||
}
|
||||
}
|
||||
|
||||
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y);
|
||||
camera.setParameters(parameters);
|
||||
|
||||
Camera.Parameters afterParameters = camera.getParameters();
|
||||
Camera.Size afterSize = afterParameters.getPreviewSize();
|
||||
if (afterSize!= null && (cameraResolution.x != afterSize.width || cameraResolution.y != afterSize.height)) {
|
||||
Log.w(TAG, "Camera said it supported preview size " + cameraResolution.x + 'x' + cameraResolution.y +
|
||||
", but after setting it, preview size is " + afterSize.width + 'x' + afterSize.height);
|
||||
cameraResolution.x = afterSize.width;
|
||||
cameraResolution.y = afterSize.height;
|
||||
}
|
||||
}
|
||||
|
||||
Point getCameraResolution() {
|
||||
return cameraResolution;
|
||||
}
|
||||
|
||||
Point getScreenResolution() {
|
||||
return screenResolution;
|
||||
}
|
||||
|
||||
boolean getTorchState(Camera camera) {
|
||||
if (camera != null) {
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
if (parameters != null) {
|
||||
String flashMode = camera.getParameters().getFlashMode();
|
||||
return flashMode != null &&
|
||||
(Camera.Parameters.FLASH_MODE_ON.equals(flashMode) ||
|
||||
Camera.Parameters.FLASH_MODE_TORCH.equals(flashMode));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void setTorch(Camera camera, boolean newSetting) {
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
doSetTorch(parameters, newSetting, false);
|
||||
camera.setParameters(parameters);
|
||||
}
|
||||
|
||||
private void initializeTorch(Camera.Parameters parameters, SharedPreferences prefs, boolean safeMode) {
|
||||
boolean currentSetting = FrontLightMode.readPref(prefs) == FrontLightMode.ON;
|
||||
doSetTorch(parameters, currentSetting, safeMode);
|
||||
}
|
||||
|
||||
private void doSetTorch(Camera.Parameters parameters, boolean newSetting, boolean safeMode) {
|
||||
String flashMode;
|
||||
if (newSetting) {
|
||||
flashMode = findSettableValue(parameters.getSupportedFlashModes(),
|
||||
Camera.Parameters.FLASH_MODE_TORCH,
|
||||
Camera.Parameters.FLASH_MODE_ON);
|
||||
} else {
|
||||
flashMode = findSettableValue(parameters.getSupportedFlashModes(),
|
||||
Camera.Parameters.FLASH_MODE_OFF);
|
||||
}
|
||||
if (flashMode != null) {
|
||||
parameters.setFlashMode(flashMode);
|
||||
}
|
||||
|
||||
/*
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
if (!prefs.getBoolean(PreferencesActivity.KEY_DISABLE_EXPOSURE, false)) {
|
||||
if (!safeMode) {
|
||||
int minExposure = parameters.getMinExposureCompensation();
|
||||
int maxExposure = parameters.getMaxExposureCompensation();
|
||||
if (minExposure != 0 || maxExposure != 0) {
|
||||
float step = parameters.getExposureCompensationStep();
|
||||
int desiredCompensation;
|
||||
if (newSetting) {
|
||||
// Light on; set low exposue compensation
|
||||
desiredCompensation = Math.max((int) (MIN_EXPOSURE_COMPENSATION / step), minExposure);
|
||||
} else {
|
||||
// Light off; set high compensation
|
||||
desiredCompensation = Math.min((int) (MAX_EXPOSURE_COMPENSATION / step), maxExposure);
|
||||
}
|
||||
Log.i(TAG, "Setting exposure compensation to " + desiredCompensation + " / " + (step * desiredCompensation));
|
||||
parameters.setExposureCompensation(desiredCompensation);
|
||||
} else {
|
||||
Log.i(TAG, "Camera does not support exposure compensation");
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
private Point findBestPreviewSizeValue(Camera.Parameters parameters, Point screenResolution) {
|
||||
|
||||
List<Camera.Size> rawSupportedSizes = parameters.getSupportedPreviewSizes();
|
||||
if (rawSupportedSizes == null) {
|
||||
Log.w(TAG, "Device returned no supported preview sizes; using default");
|
||||
Camera.Size defaultSize = parameters.getPreviewSize();
|
||||
return new Point(defaultSize.width, defaultSize.height);
|
||||
}
|
||||
|
||||
// Sort by size, descending
|
||||
List<Camera.Size> supportedPreviewSizes = new ArrayList<Camera.Size>(rawSupportedSizes);
|
||||
Collections.sort(supportedPreviewSizes, new Comparator<Camera.Size>() {
|
||||
@Override
|
||||
public int compare(Camera.Size a, Camera.Size b) {
|
||||
int aPixels = a.height * a.width;
|
||||
int bPixels = b.height * b.width;
|
||||
if (bPixels < aPixels) {
|
||||
return -1;
|
||||
}
|
||||
if (bPixels > aPixels) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
if (Log.isLoggable(TAG, Log.INFO)) {
|
||||
StringBuilder previewSizesString = new StringBuilder();
|
||||
for (Camera.Size supportedPreviewSize : supportedPreviewSizes) {
|
||||
previewSizesString.append(supportedPreviewSize.width).append('x')
|
||||
.append(supportedPreviewSize.height).append(' ');
|
||||
}
|
||||
Log.i(TAG, "Supported preview sizes: " + previewSizesString);
|
||||
}
|
||||
|
||||
double screenAspectRatio = (double) screenResolution.x / (double) screenResolution.y;
|
||||
|
||||
// Remove sizes that are unsuitable
|
||||
Iterator<Camera.Size> it = supportedPreviewSizes.iterator();
|
||||
while (it.hasNext()) {
|
||||
Camera.Size supportedPreviewSize = it.next();
|
||||
int realWidth = supportedPreviewSize.width;
|
||||
int realHeight = supportedPreviewSize.height;
|
||||
if (realWidth * realHeight < MIN_PREVIEW_PIXELS) {
|
||||
it.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
boolean isCandidatePortrait = realWidth < realHeight;
|
||||
int maybeFlippedWidth = isCandidatePortrait ? realHeight : realWidth;
|
||||
int maybeFlippedHeight = isCandidatePortrait ? realWidth : realHeight;
|
||||
double aspectRatio = (double) maybeFlippedWidth / (double) maybeFlippedHeight;
|
||||
double distortion = Math.abs(aspectRatio - screenAspectRatio);
|
||||
if (distortion > MAX_ASPECT_DISTORTION) {
|
||||
it.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (maybeFlippedWidth == screenResolution.x && maybeFlippedHeight == screenResolution.y) {
|
||||
Point exactPoint = new Point(realWidth, realHeight);
|
||||
Log.i(TAG, "Found preview size exactly matching screen size: " + exactPoint);
|
||||
return exactPoint;
|
||||
}
|
||||
}
|
||||
|
||||
// If no exact match, use largest preview size. This was not a great idea on older devices because
|
||||
// of the additional computation needed. We're likely to get here on newer Android 4+ devices, where
|
||||
// the CPU is much more powerful.
|
||||
if (!supportedPreviewSizes.isEmpty()) {
|
||||
Camera.Size largestPreview = supportedPreviewSizes.get(0);
|
||||
Point largestSize = new Point(largestPreview.width, largestPreview.height);
|
||||
Log.i(TAG, "Using largest suitable preview size: " + largestSize);
|
||||
return largestSize;
|
||||
}
|
||||
|
||||
// If there is nothing at all suitable, return current preview size
|
||||
Camera.Size defaultPreview = parameters.getPreviewSize();
|
||||
Point defaultSize = new Point(defaultPreview.width, defaultPreview.height);
|
||||
Log.i(TAG, "No suitable preview sizes, using default: " + defaultSize);
|
||||
return defaultSize;
|
||||
}
|
||||
|
||||
private static String findSettableValue(Collection<String> supportedValues,
|
||||
String... desiredValues) {
|
||||
Log.i(TAG, "Supported values: " + supportedValues);
|
||||
String result = null;
|
||||
if (supportedValues != null) {
|
||||
for (String desiredValue : desiredValues) {
|
||||
if (supportedValues.contains(desiredValue)) {
|
||||
result = desiredValue;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Log.i(TAG, "Settable value: " + result);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user