aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/res
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/res')
-rw-r--r--OpenKeychain/src/main/res/drawable-hdpi/yubi_icon.pngbin0 -> 2517 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-hdpi/yubi_icon_24dp.pngbin0 -> 1203 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-mdpi/yubi_icon.pngbin0 -> 1715 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-mdpi/yubi_icon_24dp.pngbin0 -> 753 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon.pngbin0 -> 4078 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon_24dp.pngbin0 -> 1715 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon.pngbin0 -> 5808 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon_24dp.pngbin0 -> 2854 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxxhdpi/yubi_icon_24dp.pngbin0 -> 4078 bytes
-rw-r--r--OpenKeychain/src/main/res/layout/create_key_start_fragment.xml34
-rw-r--r--OpenKeychain/src/main/res/layout/create_yubikey_import_fragment.xml126
-rw-r--r--OpenKeychain/src/main/res/layout/create_yubikey_wait_fragment.xml83
-rw-r--r--OpenKeychain/src/main/res/layout/view_key_yubikey.xml103
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml27
14 files changed, 351 insertions, 22 deletions
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/yubi_icon.png b/OpenKeychain/src/main/res/drawable-hdpi/yubi_icon.png
new file mode 100644
index 000000000..428ad6fad
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-hdpi/yubi_icon.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/yubi_icon_24dp.png b/OpenKeychain/src/main/res/drawable-hdpi/yubi_icon_24dp.png
new file mode 100644
index 000000000..6fb41223d
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-hdpi/yubi_icon_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/yubi_icon.png b/OpenKeychain/src/main/res/drawable-mdpi/yubi_icon.png
new file mode 100644
index 000000000..05c21c052
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-mdpi/yubi_icon.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/yubi_icon_24dp.png b/OpenKeychain/src/main/res/drawable-mdpi/yubi_icon_24dp.png
new file mode 100644
index 000000000..753f22607
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-mdpi/yubi_icon_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon.png b/OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon.png
new file mode 100644
index 000000000..cfa799e74
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon_24dp.png b/OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon_24dp.png
new file mode 100644
index 000000000..05c21c052
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xhdpi/yubi_icon_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon.png b/OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon.png
new file mode 100644
index 000000000..f20f562ec
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon_24dp.png b/OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon_24dp.png
new file mode 100644
index 000000000..9bae15a02
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxhdpi/yubi_icon_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxxhdpi/yubi_icon_24dp.png b/OpenKeychain/src/main/res/drawable-xxxhdpi/yubi_icon_24dp.png
new file mode 100644
index 000000000..cfa799e74
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxxhdpi/yubi_icon_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/layout/create_key_start_fragment.xml b/OpenKeychain/src/main/res/layout/create_key_start_fragment.xml
index 79ffe58b1..2db147475 100644
--- a/OpenKeychain/src/main/res/layout/create_key_start_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/create_key_start_fragment.xml
@@ -50,22 +50,22 @@
android:clickable="true"
style="?android:attr/borderlessButtonStyle" />
- <!--<TextView-->
- <!--android:id="@+id/create_key_yubikey_button"-->
- <!--android:paddingLeft="16dp"-->
- <!--android:paddingRight="16dp"-->
- <!--android:textAppearance="?android:attr/textAppearanceMedium"-->
- <!--android:layout_width="match_parent"-->
- <!--android:layout_height="wrap_content"-->
- <!--android:layout_weight="1"-->
- <!--android:text="@string/first_time_yubikey"-->
- <!--android:textAllCaps="true"-->
- <!--android:minHeight="?android:attr/listPreferredItemHeight"-->
- <!--android:drawableRight="@drawable/ic_chevron_right_grey_24dp"-->
- <!--android:drawablePadding="8dp"-->
- <!--android:gravity="right|center_vertical"-->
- <!--android:clickable="true"-->
- <!--style="?android:attr/borderlessButtonStyle" />-->
+ <TextView
+ android:id="@+id/create_key_yubikey_button"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/first_time_yubikey"
+ android:textAllCaps="true"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:drawableRight="@drawable/ic_chevron_right_grey_24dp"
+ android:drawablePadding="8dp"
+ android:gravity="right|center_vertical"
+ android:clickable="true"
+ style="?android:attr/borderlessButtonStyle" />
<TextView
android:id="@+id/create_key_import_button"
@@ -101,4 +101,4 @@
android:clickable="true"
style="?android:attr/borderlessButtonStyle" />
</LinearLayout>
-</RelativeLayout> \ No newline at end of file
+</RelativeLayout>
diff --git a/OpenKeychain/src/main/res/layout/create_yubikey_import_fragment.xml b/OpenKeychain/src/main/res/layout/create_yubikey_import_fragment.xml
new file mode 100644
index 000000000..e70188e49
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout/create_yubikey_import_fragment.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="4dp"
+ android:orientation="horizontal"
+ android:id="@+id/yubikey_status_layout" >
+
+ <ImageView
+ android:layout_margin="14dp"
+ android:layout_width="32dp"
+ android:layout_height="32dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/yubi_icon"/>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:layout_weight="1"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/yubikey_serno"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:text="Yubikey #"
+ />
+
+ <TextView
+ android:id="@+id/yubikey_userid"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:text="User ID"
+ />
+
+ <TextView
+ android:id="@+id/yubikey_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:text="Unknown key, hit next to import"
+ />
+
+ </LinearLayout>
+
+ <ImageButton
+ android:id="@+id/button_search"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:padding="8dp"
+ android:src="@drawable/ic_search_grey_24dp"
+ android:layout_gravity="center_vertical"
+ android:background="?android:selectableItemBackground" />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_marginTop="4dp"
+ android:layout_height="1dip"
+ android:layout_below="@id/yubikey_status_layout"
+ android:background="?android:attr/listDivider" />
+
+ <FrameLayout
+ android:id="@+id/yubikey_import_fragment"
+ android:layout_marginTop="8dp"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/yubikey_status_layout"
+ android:layout_above="@id/create_key_buttons"
+ />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:background="@color/holo_gray_bright"
+ android:id="@+id/create_key_buttons">
+
+ <TextView
+ android:id="@+id/create_key_back_button"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/btn_back"
+ android:textAllCaps="true"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:drawableLeft="@drawable/ic_chevron_left_grey_24dp"
+ android:drawablePadding="8dp"
+ android:gravity="left|center_vertical"
+ android:clickable="true"
+ style="?android:attr/borderlessButtonStyle" />
+
+ <TextView
+ android:id="@+id/create_key_next_button"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/btn_import"
+ android:textAllCaps="true"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:drawableRight="@drawable/ic_key_plus_grey600_24dp"
+ android:drawablePadding="8dp"
+ android:gravity="right|center_vertical"
+ android:clickable="true"
+ style="?android:attr/borderlessButtonStyle" />
+
+ </LinearLayout>
+
+</RelativeLayout> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/create_yubikey_wait_fragment.xml b/OpenKeychain/src/main/res/layout/create_yubikey_wait_fragment.xml
new file mode 100644
index 000000000..c7f9821eb
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout/create_yubikey_wait_fragment.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fillViewport="true"
+ android:layout_above="@+id/create_key_buttons">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="10dp"
+ android:paddingRight="10dp"
+ android:orientation="vertical">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
+ android:layout_marginLeft="8dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="Hold Yubikey against device dawg"
+ />
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:src="@drawable/yubikey_phone" />
+
+ </LinearLayout>
+
+ </ScrollView>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:background="@color/holo_gray_bright"
+ android:id="@+id/create_key_buttons">
+
+ <TextView
+ android:id="@+id/create_key_back_button"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/btn_back"
+ android:textAllCaps="true"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:drawableLeft="@drawable/ic_chevron_left_grey_24dp"
+ android:drawablePadding="8dp"
+ android:gravity="left|center_vertical"
+ android:clickable="true"
+ style="?android:attr/borderlessButtonStyle" />
+
+ <TextView
+ android:id="@+id/create_key_next_button"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="@string/btn_next"
+ android:textAllCaps="true"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:drawableRight="@drawable/yubi_icon_24dp"
+ android:drawablePadding="16dp"
+ android:gravity="right|center_vertical"
+ android:clickable="false"
+ style="?android:attr/borderlessButtonStyle" />
+
+ </LinearLayout>
+
+</RelativeLayout> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/view_key_yubikey.xml b/OpenKeychain/src/main/res/layout/view_key_yubikey.xml
new file mode 100644
index 000000000..83272ef4e
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout/view_key_yubikey.xml
@@ -0,0 +1,103 @@
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:card_view="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingTop="16dp"
+ android:paddingBottom="16dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp">
+
+ <android.support.v7.widget.CardView
+ android:id="@+id/card_view"
+ android:layout_gravity="center"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:transitionName="card"
+ card_view:cardBackgroundColor="@android:color/white"
+ card_view:cardElevation="2dp"
+ card_view:cardUseCompatPadding="true"
+ card_view:cardCornerRadius="4dp"
+ android:animateLayoutChanges="true">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView
+ style="@style/CardViewHeader"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/section_yubikey"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="4dp"
+ android:paddingBottom="4dp"
+ android:orientation="horizontal">
+
+ <ImageView
+ android:layout_margin="14dp"
+ android:layout_width="32dp"
+ android:layout_height="32dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/yubi_icon"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/yubikey_serno"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:text="Yubikey #"
+ />
+
+ <TextView
+ android:id="@+id/yubikey_userid"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:text="User ID"
+ />
+
+ <TextView
+ android:id="@+id/yubikey_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:text="Key matches!"
+ />
+
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <Button
+ android:id="@+id/button_bind"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="right|end"
+ android:text="@string/button_bind_key"
+ android:textColor="@color/link_text_material_light"
+ style="?android:attr/borderlessButtonStyle"
+ android:visibility="gone"
+ />
+
+ </LinearLayout>
+
+ </android.support.v7.widget.CardView>
+
+ </LinearLayout>
+
+</ScrollView>
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index 8c4fe2a33..f6fbd132c 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -42,6 +42,7 @@
<!-- section -->
<string name="section_user_ids">"Identities"</string>
+ <string name="section_yubikey">"Yubikey"</string>
<string name="section_linked_system_contact">"Linked System Contact"</string>
<string name="section_should_you_trust">"Should you trust this key?"</string>
<string name="section_proof_details">Proof verification</string>
@@ -885,6 +886,7 @@
<!-- modifySecretKeyRing -->
<string name="msg_mr">"Modifying keyring %s"</string>
+ <string name="msg_mf_divert">"Will divert to card/nfc for crypto operations"</string>
<string name="msg_mf_error_divert_serial">"The serial number of a divert-to-card key must be 16 bytes! This is a programming error, please file a bug report!"</string>
<string name="msg_mf_error_encode">"Encoding exception!"</string>
<string name="msg_mf_error_fingerprint">"Actual key fingerprint does not match the expected one!"</string>
@@ -896,9 +898,11 @@
<string name="msg_mf_error_restricted">"Tried to execute restricted operation without passphrase! This is a programming error, please file a bug report!"</string>
<string name="msg_mf_error_revoked_primary">"Revoked user IDs cannot be primary!"</string>
<string name="msg_mf_error_null_expiry">"Expiry time cannot be "same as before" on subkey creation. This is a programming error, please file a bug report!"</string>
+ <string name="msg_mf_error_noop">"Nothing to do!"</string>
<string name="msg_mf_error_passphrase_master">"Fatal error decrypting master key! This is likely a programming error, please file a bug report!"</string>
<string name="msg_mf_error_pgp">"Internal OpenPGP error!"</string>
<string name="msg_mf_error_sig">"Signature exception!"</string>
+ <string name="msg_mf_error_subkey_missing">"Tried to operate on missing subkey %s!"</string>
<string name="msg_mf_master">"Modifying master certifications"</string>
<string name="msg_mf_notation_empty">"Adding empty notation packet"</string>
<string name="msg_mf_notation_pin">"Adding PIN notation packet"</string>
@@ -908,8 +912,10 @@
<string name="msg_mf_passphrase_fail">"Passphrase for subkey could not be changed! (Does it have a different one from the other keys?)"</string>
<string name="msg_mf_primary_replace_old">"Replacing certificate of previous primary user ID"</string>
<string name="msg_mf_primary_new">"Generating new certificate for new primary user ID"</string>
+ <string name="msg_mf_restricted_mode">"Changing to restricted operation mode"</string>
<string name="msg_mf_subkey_change">"Modifying subkey %s"</string>
- <string name="msg_mf_error_subkey_missing">"Tried to operate on missing subkey %s!"</string>
+ <string name="msg_mf_require_divert">"Diverting to card/nfc for crypto operations"</string>
+ <string name="msg_mf_require_passphrase">"Passphrase required for operations"</string>
<string name="msg_mf_subkey_new">"Adding new subkey of type %s"</string>
<string name="msg_mf_subkey_new_id">"New subkey ID: %s"</string>
<string name="msg_mf_error_past_expiry">"Expiry date cannot be in the past!"</string>
@@ -969,13 +975,11 @@
<!-- Promote key -->
<string name="msg_pr">"Promoting public key to secret key"</string>
- <string name="msg_pr_error_already_secret">"Key is already a secret key!"</string>
<string name="msg_pr_error_key_not_found">"Key not found!"</string>
<string name="msg_pr_fetching">"Fetching key to modify (%s)"</string>
<string name="msg_pr_success">"Key successfully promoted"</string>
<!-- Other messages used in OperationLogs -->
- <string name="msg_ek_error_divert">"Editing of NFC keys is not (yet) supported!"</string>
<string name="msg_ek_error_dummy">"Cannot edit keyring with stripped master key!"</string>
<string name="msg_ek_error_not_found">"Key not found!"</string>
@@ -1087,9 +1091,9 @@
<string name="msg_crt_error_master_not_found">"Master key not found!"</string>
<string name="msg_crt_error_nothing">"No keys certified!"</string>
<string name="msg_crt_error_unlock">"Error unlocking master key!"</string>
- <string name="msg_crt_error_divert">"Certification with NFC is not (yet) supported!"</string>
<string name="msg_crt">"Certifying keyrings"</string>
<string name="msg_crt_master_fetch">"Fetching certifying master key"</string>
+ <string name="msg_crt_nfc_return">"Returning for NFC input"</string>
<string name="msg_crt_save">"Saving certified key %s"</string>
<string name="msg_crt_saving">"Saving keyrings"</string>
<string name="msg_crt_unlock">"Unlocking master key"</string>
@@ -1107,7 +1111,7 @@
<string name="msg_import_fetch_error_decode">"Error decoding retrieved keyring!"</string>
<string name="msg_import_fetch_error">"Key could not be retrieved! (Network problems?)"</string>
<string name="msg_import_fetch_keybase">"Retrieving from keybase.io: %s"</string>
- <string name="msg_import_fetch_keyserver_error">"Could not retrieve key from keybase!"</string>
+ <string name="msg_import_fetch_keyserver_error">"Could not retrieve key from keyservers: %s"</string>
<string name="msg_import_fetch_keyserver">"Retrieving from keyserver: %s"</string>
<string name="msg_import_fetch_keyserver_ok">"Key retrieval successful"</string>
<string name="msg_import_keyserver">"Using keyserver %s"</string>
@@ -1250,5 +1254,18 @@
<string name="nfc_write_succesful">Successfully written on NFC tag</string>
<string name="unlocked">Unlocked</string>
<string name="nfc_settings">Settings</string>
+ <string name="snack_yubikey_view">"View"</string>
+ <string name="snack_yubikey_import">"Import"</string>
+ <string name="button_bind_key">"Bind Key"</string>
+ <string name="yubikey_serno">"Serial No: %s"</string>
+ <string name="yubikey_key_holder">"Key holder: "</string>
+ <string name="yubikey_key_holder_unset">"Key holder: &lt;unset&gt;"</string>
+ <string name="yubikey_status_bound">"Yubikey matches and is bound to key"</string>
+ <string name="yubikey_status_unbound">"Yubikey matches, can be bound to key"</string>
+ <string name="yubikey_status_partly">"Yubikey matches, partly bound to key"</string>
+ <string name="btn_import">"Import"</string>
+ <string name="snack_yubi_other">Different key stored on Yubikey!</string>
+ <string name="error_nfc">"NFC Error: %s"</string>
+ <string name="error_pin_nodefault">Default PIN was rejected!</string>
</resources>