started to add QR scanning functionality

This commit is contained in:
Philipp Crocoll 2014-05-07 15:30:52 +02:00
parent 53dd47044b
commit 8cbb7dfc23
151 changed files with 19619 additions and 280 deletions

View File

@ -4,6 +4,17 @@
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"
android:targetSdkVersion="19" />
@ -18,22 +29,21 @@
android:label="@string/title_activity_qr" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</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" />
@ -41,6 +51,18 @@
</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

View File

@ -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;
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View 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>

View 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>

View 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>

View 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" />

View 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>

View 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>

View 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>

View 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>

View 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>

View 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"/>

View 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>

View 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>

View 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"/>

View File

@ -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>

View 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>

View 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>

View 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>

View 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>

View 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>

Binary file not shown.

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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ı</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>

View 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>

View 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>

View 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>

View 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>

View 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>

View File

@ -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>
<dimen name="standard_padding">8dip</dimen>
<dimen name="half_padding">4dip</dimen>
</resources>

View 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>

View 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>

View File

@ -1,18 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<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="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>

View 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>

View File

@ -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 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>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<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>

View 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>

View 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>

View 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>

View File

@ -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
}
}

View File

@ -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;
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}
}

View File

@ -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
};
}

View File

@ -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;
}
}

View File

@ -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());
}
}

View File

@ -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;
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}
}

View File

@ -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;
}
}
}

View File

@ -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
}

View File

@ -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() {
}
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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)));
}
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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();
}
}
}
}

View File

@ -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);
}
}
}

View File

@ -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("&lt;");
private static final Pattern GT_ENTITY_PATTERN = Pattern.compile("&gt;");
private static final Pattern QUOTE_ENTITY_PATTERN = Pattern.compile("&#39;");
private static final Pattern QUOT_ENTITY_PATTERN = Pattern.compile("&quot;");
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);
}
}
}

View File

@ -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;
}
}

View File

@ -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);
}
}
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}
}

View File

@ -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