Prepare onboarding for localization

This commit is contained in:
nielsandriesse 2020-05-25 15:24:55 +10:00
parent 607b3d6a96
commit 13943f75ef
17 changed files with 121 additions and 67 deletions

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/very_large_font_size" android:textSize="@dimen/very_large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Pick your display name" /> android:text="@string/activity_display_name_title_2" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -29,7 +29,7 @@
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="This will be your name when you use Session." /> android:text="@string/activity_display_name_explanation" />
<EditText <EditText
style="@style/SessionEditText" style="@style/SessionEditText"
@ -39,7 +39,7 @@
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:hint="Enter a display name" /> android:hint="@string/activity_display_name_edit_text_hint" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
@ -54,6 +54,6 @@
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/medium_spacing" android:layout_marginBottom="@dimen/medium_spacing"
android:text="Continue" /> android:text="@string/continue_2" />
</LinearLayout> </LinearLayout>

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/very_large_font_size" android:textSize="@dimen/very_large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Your Session begins here..." /> android:text="@string/activity_landing_title_2" />
<org.thoughtcrime.securesms.loki.views.FakeChatView <org.thoughtcrime.securesms.loki.views.FakeChatView
android:id="@+id/fakeChatView" android:id="@+id/fakeChatView"
@ -39,7 +39,7 @@
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Create Session ID" /> android:text="@string/activity_landing_register_button_title" />
<Button <Button
style="@style/MediumProminentOutlineButton" style="@style/MediumProminentOutlineButton"
@ -49,7 +49,7 @@
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Continue Your Session" /> android:text="@string/activity_landing_restore_button_title" />
<Button <Button
android:id="@+id/linkButton" android:id="@+id/linkButton"
@ -62,6 +62,6 @@
android:textAllCaps="false" android:textAllCaps="false"
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Link to an existing account" /> android:text="@string/activity_landing_link_button_title" />
</LinearLayout> </LinearLayout>

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/very_large_font_size" android:textSize="@dimen/very_large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Say hello to your Session ID" /> android:text="@string/activity_register_title" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -29,7 +29,7 @@
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design." /> android:text="@string/activity_register_explanation" />
<TextView <TextView
style="@style/SessionIDTextView" style="@style/SessionIDTextView"
@ -53,7 +53,7 @@
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Continue" /> android:text="@string/continue_2" />
<Button <Button
style="@style/MediumProminentOutlineButton" style="@style/MediumProminentOutlineButton"
@ -63,7 +63,7 @@
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Copy" /> android:text="@string/copy" />
<TextView <TextView
android:id="@+id/termsTextView" android:id="@+id/termsTextView"
@ -75,6 +75,6 @@
android:textColorLink="@color/text" android:textColorLink="@color/text"
android:textSize="@dimen/very_small_font_size" android:textSize="@dimen/very_small_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> <!-- Intentionally not yet translated -->
</LinearLayout> </LinearLayout>

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/very_large_font_size" android:textSize="@dimen/very_large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Restore your account" /> android:text="@string/activity_restore_title" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -29,7 +29,7 @@
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Enter the recovery phrase that was given to you when you signed up to restore your account." /> android:text="@string/activity_restore_explanation" />
<EditText <EditText
style="@style/SessionEditText" style="@style/SessionEditText"
@ -39,7 +39,7 @@
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:hint="Enter your recovery phrase" /> android:hint="@string/activity_restore_seed_edit_text_hint" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
@ -53,7 +53,7 @@
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Continue" /> android:text="@string/continue_2" />
<TextView <TextView
android:id="@+id/termsTextView" android:id="@+id/termsTextView"
@ -65,6 +65,6 @@
android:textColorLink="@color/text" android:textColorLink="@color/text"
android:textSize="@dimen/very_small_font_size" android:textSize="@dimen/very_small_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> <!-- Intentionally not yet translated -->
</LinearLayout> </LinearLayout>

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/large_font_size" android:textSize="@dimen/large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Pick your display name" /> android:text="@string/activity_display_name_title_2" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -29,7 +29,7 @@
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/small_font_size" android:textSize="@dimen/small_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="This will be your name when you use Session." /> android:text="@string/activity_display_name_explanation" />
<EditText <EditText
style="@style/SmallSessionEditText" style="@style/SmallSessionEditText"
@ -39,7 +39,7 @@
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:hint="Enter a display name" /> android:hint="@string/activity_display_name_edit_text_hint" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
@ -54,6 +54,6 @@
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/small_spacing" android:layout_marginBottom="@dimen/small_spacing"
android:text="Continue" /> android:text="@string/continue_2" />
</LinearLayout> </LinearLayout>

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/large_font_size" android:textSize="@dimen/large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Your Session begins here..." /> android:text="@string/activity_landing_title_2" />
<org.thoughtcrime.securesms.loki.views.FakeChatView <org.thoughtcrime.securesms.loki.views.FakeChatView
android:id="@+id/fakeChatView" android:id="@+id/fakeChatView"
@ -39,7 +39,7 @@
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Create Session ID" /> android:text="@string/activity_landing_register_button_title" />
<Button <Button
style="@style/MediumProminentOutlineButton" style="@style/MediumProminentOutlineButton"
@ -49,7 +49,7 @@
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginTop="@dimen/small_spacing" android:layout_marginTop="@dimen/small_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Continue Your Session" /> android:text="@string/activity_landing_restore_button_title" />
<Button <Button
android:id="@+id/linkButton" android:id="@+id/linkButton"
@ -62,6 +62,6 @@
android:textAllCaps="false" android:textAllCaps="false"
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Link to an existing account" /> android:text="@string/activity_landing_link_button_title" />
</LinearLayout> </LinearLayout>

View File

@ -111,6 +111,6 @@
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/medium_spacing" android:layout_marginBottom="@dimen/medium_spacing"
android:text="Continue" /> android:text="@string/continue_2" />
</LinearLayout> </LinearLayout>

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/large_font_size" android:textSize="@dimen/large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Say hello to your Session ID" /> android:text="@string/activity_register_title" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -29,7 +29,7 @@
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/small_font_size" android:textSize="@dimen/small_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design." /> android:text="@string/activity_register_explanation" />
<TextView <TextView
style="@style/SessionIDTextView" style="@style/SessionIDTextView"
@ -54,7 +54,7 @@
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Continue" /> android:text="@string/continue_2" />
<Button <Button
style="@style/MediumProminentOutlineButton" style="@style/MediumProminentOutlineButton"
@ -64,7 +64,7 @@
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginTop="@dimen/small_spacing" android:layout_marginTop="@dimen/small_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Copy" /> android:text="@string/copy" />
<TextView <TextView
android:id="@+id/termsTextView" android:id="@+id/termsTextView"
@ -76,6 +76,6 @@
android:textColorLink="@color/text" android:textColorLink="@color/text"
android:textSize="@dimen/very_small_font_size" android:textSize="@dimen/very_small_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> <!-- Intentionally not yet translated -->
</LinearLayout> </LinearLayout>

View File

@ -19,7 +19,7 @@
android:textSize="@dimen/large_font_size" android:textSize="@dimen/large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Restore your account" /> android:text="@string/activity_restore_title" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -29,7 +29,7 @@
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:textSize="@dimen/small_font_size" android:textSize="@dimen/small_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Enter the recovery phrase that was given to you when you signed up to restore your account." /> android:text="@string/activity_restore_explanation" />
<EditText <EditText
style="@style/SmallSessionEditText" style="@style/SmallSessionEditText"
@ -39,7 +39,7 @@
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:hint="Enter your recovery phrase" /> android:hint="@string/activity_restore_seed_edit_text_hint" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
@ -53,7 +53,7 @@
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing"
android:text="Continue" /> android:text="@string/continue_2" />
<TextView <TextView
android:id="@+id/termsTextView" android:id="@+id/termsTextView"
@ -65,6 +65,6 @@
android:textColorLink="@color/text" android:textColorLink="@color/text"
android:textSize="@dimen/very_small_font_size" android:textSize="@dimen/very_small_font_size"
android:textColor="@color/text" android:textColor="@color/text"
android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> <!-- Intentionally not yet translated -->
</LinearLayout> </LinearLayout>

View File

@ -20,7 +20,7 @@
android:textSize="19sp" android:textSize="19sp"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Link your device" /> android:text="@string/fragment_enter_session_id_title" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -30,7 +30,7 @@
android:layout_marginRight="@dimen/large_spacing" android:layout_marginRight="@dimen/large_spacing"
android:textSize="14sp" android:textSize="14sp"
android:textColor="@color/text" android:textColor="@color/text"
android:text="Navigate to &quot;Settings&quot; > &quot;Devices&quot; > &quot;Link a Device&quot; on your other device and then enter your Session ID here to start the linking process." /> android:text="@string/fragment_enter_session_id_explanation" />
<EditText <EditText
style="@style/SmallSessionEditText" style="@style/SmallSessionEditText"
@ -40,7 +40,7 @@
android:layout_marginLeft="@dimen/large_spacing" android:layout_marginLeft="@dimen/large_spacing"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/large_spacing" android:layout_marginRight="@dimen/large_spacing"
android:hint="Enter your session ID" /> android:hint="@string/fragment_enter_session_id_edit_text_hint" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
@ -53,6 +53,6 @@
android:layout_width="196dp" android:layout_width="196dp"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginBottom="@dimen/small_spacing" android:layout_marginBottom="@dimen/small_spacing"
android:text="Next" /> android:text="@string/next" />
</LinearLayout> </LinearLayout>

View File

@ -13,7 +13,7 @@
android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_width="@dimen/fake_chat_view_bubble_width"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:text="What's Session?" android:text="@string/view_fake_chat_bubble_1"
android:layout_gravity="right" /> android:layout_gravity="right" />
<TextView <TextView
@ -22,7 +22,7 @@
android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_width="@dimen/fake_chat_view_bubble_width"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:text="It's a decentralized, encrypted messaging app" android:text="@string/view_fake_chat_bubble_2"
android:layout_gravity="left" /> android:layout_gravity="left" />
<TextView <TextView
@ -31,7 +31,7 @@
android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_width="@dimen/fake_chat_view_bubble_width"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:text="So it doesn't collect my personal information or my conversation metadata? How does it work?" android:text="@string/view_fake_chat_bubble_3"
android:layout_gravity="right" /> android:layout_gravity="right" />
<TextView <TextView
@ -40,7 +40,7 @@
android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_width="@dimen/fake_chat_view_bubble_width"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:text="Using a combination of advanced anonymous routing and end-to-end encryption technologies." android:text="@string/view_fake_chat_bubble_4"
android:layout_gravity="left" /> android:layout_gravity="left" />
<TextView <TextView
@ -49,7 +49,7 @@
android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_width="@dimen/fake_chat_view_bubble_width"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:text="Friends don't let friends use compromised messengers. You're welcome." android:text="@string/view_fake_chat_bubble_5"
android:layout_gravity="left" /> android:layout_gravity="left" />
</LinearLayout> </LinearLayout>

View File

@ -1549,9 +1549,12 @@
<string name="prompt_passphrase_activity__tap_to_unlock">TAP TO UNLOCK</string> <string name="prompt_passphrase_activity__tap_to_unlock">TAP TO UNLOCK</string>
<string name="RegistrationLockDialog_reminder">Reminder:</string> <string name="RegistrationLockDialog_reminder">Reminder:</string>
<string name="recipient_preferences__about">About</string> <string name="recipient_preferences__about">About</string>
<!-- EOF -->
<!-- Loki -->
<!-- Old Loki Messenger Copy -->
<!-- Landing activity --> <!-- Landing activity -->
<string name="activity_landing_title">Session</string> <string name="activity_landing_title">Session</string>
@ -1663,14 +1666,56 @@
<string name="session_restore_banner_dismiss_button_title">Dismiss</string> <string name="session_restore_banner_dismiss_button_title">Dismiss</string>
<string name="session_restore_banner_restore_button_title">Restore</string> <string name="session_restore_banner_restore_button_title">Restore</string>
<!-- Session --> <!-- Session -->
<string name="continue_2">Continue</string>
<string name="copy">Copy</string>
<string name="invalid_url">Couldn\'t open link</string>
<string name="copied_to_clipboard">Copied to clipboard</string>
<string name="device_linking_failed">Couldn\'t link device.</string>
<string name="next">Next</string>
<string name="invalid_session_id">Invalid Session ID</string>
<string name="activity_landing_title_2">Your Session begins here...</string>
<string name="activity_landing_register_button_title">Create Session ID</string>
<string name="activity_landing_restore_button_title">Continue Your Session</string>
<string name="activity_landing_link_button_title">Link to an existing account</string>
<string name="activity_landing_device_unlinked_dialog_title">Your device was unlinked successfully</string>
<string name="view_fake_chat_bubble_1">What\'s Session?</string>
<string name="view_fake_chat_bubble_2">It\'s a decentralized, encrypted messaging app</string>
<string name="view_fake_chat_bubble_3">So it doesn\'t collect my personal information or my conversation metadata? How does it work?</string>
<string name="view_fake_chat_bubble_4">Using a combination of advanced anonymous routing and end-to-end encryption technologies.</string>
<string name="view_fake_chat_bubble_5">Friends don\'t let friends use compromised messengers. You\'re welcome.</string>
<string name="activity_register_title">Say hello to your Session ID</string>
<string name="activity_register_explanation">Your Session ID is the unique address people can use to contact you on Session. With no connection to your real identity, your Session ID is totally anonymous and private by design.</string>
<string name="activity_register_public_key_copied_message">Copied to clipboard</string> <string name="activity_register_public_key_copied_message">Copied to clipboard</string>
<string name="activity_home_leave_group_dialog_message">Are you sure you want to leave this group?</string>
<string name="activity_home_delete_conversation_dialog_message">Are you sure you want to delete this conversation?</string> <string name="activity_restore_title">Restore your account</string>
<string name="activity_home_conversation_deleted_message">Conversation deleted</string> <string name="activity_restore_explanation">Enter the recovery phrase that was given to you when you signed up to restore your account.</string>
<string name="fragment_contact_selection_contacts_title">Contacts</string> <string name="activity_restore_seed_edit_text_hint">Enter your recovery phrase</string>
<string name="fragment_contact_selection_closed_groups_title">Closed Groups</string>
<string name="fragment_contact_selection_open_groups_title">Open Groups</string> <string name="activity_link_device_title">Link Device</string>
<string name="activity_link_device_enter_session_id_tab_title">Enter Session ID</string>
<string name="activity_link_device_scan_qr_code_tab_title">Scan QR Code</string>
<string name="activity_link_device_scan_qr_code_explanation">"Navigate to "Settings" > "Devices" > "Link a Device" on your other device and then scan the QR code that comes up to start the linking process."</string>
<string name="fragment_enter_session_id_title">Link your device</string>
<string name="fragment_enter_session_id_explanation">Navigate to "Settings" > "Devices" > "Link a Device" on your other device and then enter your Session ID here to start the linking process.</string>
<string name="fragment_enter_session_id_edit_text_hint">Enter your Session ID</string>
<string name="activity_display_name_title_2">Pick your display name</string>
<string name="activity_display_name_explanation">This will be your name when you use Session.</string>
<string name="activity_display_name_edit_text_hint">Enter a display name</string>
<string name="activity_display_name_display_name_missing_error">Please pick a display name</string>
<string name="activity_display_name_display_name_invalid_error">Please pick a display name that consists of only a-z, A-Z, 0-9 and _ characters</string>
<string name="activity_display_name_display_name_too_long_error">Please pick a shorter display name</string>
<string name="activity_pn_mode_title">Push Notifications</string> <string name="activity_pn_mode_title">Push Notifications</string>
<string name="activity_pn_mode_explanation">There are two ways Session can handle push notifications. Make sure to read the descriptions carefully before you choose.</string> <string name="activity_pn_mode_explanation">There are two ways Session can handle push notifications. Make sure to read the descriptions carefully before you choose.</string>
<string name="activity_pn_mode_fcm_option_title">Firebase Cloud Messaging</string> <string name="activity_pn_mode_fcm_option_title">Firebase Cloud Messaging</string>
@ -1679,6 +1724,15 @@
<string name="activity_pn_mode_background_polling_option_explanation">Session will occasionally check for new messages in the background. This guarantees full privacy protection, but message notifications may be significantly delayed.</string> <string name="activity_pn_mode_background_polling_option_explanation">Session will occasionally check for new messages in the background. This guarantees full privacy protection, but message notifications may be significantly delayed.</string>
<string name="activity_pn_mode_recommended_option_tag">Recommended</string> <string name="activity_pn_mode_recommended_option_tag">Recommended</string>
<string name="activity_pn_mode_no_option_picked_dialog_title">Please Pick an Option</string> <string name="activity_pn_mode_no_option_picked_dialog_title">Please Pick an Option</string>
<string name="activity_home_leave_group_dialog_message">Are you sure you want to leave this group?</string>
<string name="activity_home_delete_conversation_dialog_message">Are you sure you want to delete this conversation?</string>
<string name="activity_home_conversation_deleted_message">Conversation deleted</string>
<string name="fragment_contact_selection_contacts_title">Contacts</string>
<string name="fragment_contact_selection_closed_groups_title">Closed Groups</string>
<string name="fragment_contact_selection_open_groups_title">Open Groups</string>
<string name="sheet_pn_mode_title">Push Notifications</string> <string name="sheet_pn_mode_title">Push Notifications</string>
<string name="sheet_pn_mode_explanation">Session now features two ways to handle push notifications. Make sure to read the descriptions carefully before you choose.</string> <string name="sheet_pn_mode_explanation">Session now features two ways to handle push notifications. Make sure to read the descriptions carefully before you choose.</string>
<string name="sheet_pn_mode_fcm_option_title">Firebase Cloud Messaging</string> <string name="sheet_pn_mode_fcm_option_title">Firebase Cloud Messaging</string>

View File

@ -39,13 +39,13 @@ class DisplayNameActivity : BaseActionBarActivity() {
private fun register() { private fun register() {
val displayName = displayNameEditText.text.toString().trim() val displayName = displayNameEditText.text.toString().trim()
if (displayName.isEmpty()) { if (displayName.isEmpty()) {
return Toast.makeText(this, "Please pick a display name", Toast.LENGTH_SHORT).show() return Toast.makeText(this, R.string.activity_display_name_display_name_missing_error, Toast.LENGTH_SHORT).show()
} }
if (!displayName.matches(Regex("[a-zA-Z0-9_]+"))) { if (!displayName.matches(Regex("[a-zA-Z0-9_]+"))) {
return Toast.makeText(this, "Please pick a display name that consists of only a-z, A-Z, 0-9 and _ characters", Toast.LENGTH_SHORT).show() return Toast.makeText(this, R.string.activity_display_name_display_name_invalid_error, Toast.LENGTH_SHORT).show()
} }
if (displayName.toByteArray().size > ProfileCipher.NAME_PADDED_LENGTH) { if (displayName.toByteArray().size > ProfileCipher.NAME_PADDED_LENGTH) {
return Toast.makeText(this, "Please pick a shorter display name", Toast.LENGTH_SHORT).show() return Toast.makeText(this, R.string.activity_display_name_display_name_too_long_error, Toast.LENGTH_SHORT).show()
} }
val inputMethodManager = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager val inputMethodManager = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(displayNameEditText.windowToken, 0) inputMethodManager.hideSoftInputFromWindow(displayNameEditText.windowToken, 0)

View File

@ -47,7 +47,7 @@ class LandingActivity : BaseActionBarActivity(), LinkDeviceSlaveModeDialogDelega
restoreButton.setOnClickListener { restore() } restoreButton.setOnClickListener { restore() }
linkButton.setOnClickListener { linkDevice() } linkButton.setOnClickListener { linkDevice() }
if (TextSecurePreferences.getWasUnlinked(this)) { if (TextSecurePreferences.getWasUnlinked(this)) {
Toast.makeText(this, "Your device was unlinked successfully", Toast.LENGTH_LONG).show() Toast.makeText(this, R.string.activity_landing_device_unlinked_dialog_title, Toast.LENGTH_LONG).show()
} }
} }
@ -102,7 +102,7 @@ class LandingActivity : BaseActionBarActivity(), LinkDeviceSlaveModeDialogDelega
if (deviceLink == null) { if (deviceLink == null) {
Log.d("Loki", "Failed to sign device link request.") Log.d("Loki", "Failed to sign device link request.")
reset() reset()
return Toast.makeText(application, "Couldn't link device.", Toast.LENGTH_LONG).show() return Toast.makeText(application, R.string.device_linking_failed, Toast.LENGTH_LONG).show()
} }
val application = ApplicationContext.getInstance(this) val application = ApplicationContext.getInstance(this)
application.startPollingIfNeeded() application.startPollingIfNeeded()

View File

@ -26,7 +26,7 @@ class LinkDeviceActivity : BaseActionBarActivity(), ScanQRCodeWrapperFragmentDel
// Set content view // Set content view
setContentView(R.layout.activity_link_device) setContentView(R.layout.activity_link_device)
// Set title // Set title
supportActionBar!!.title = "Link Device" supportActionBar!!.title = resources.getString(R.string.activity_link_device_title)
// Set up view pager // Set up view pager
viewPager.adapter = adapter viewPager.adapter = adapter
tabLayout.setupWithViewPager(viewPager) tabLayout.setupWithViewPager(viewPager)
@ -40,7 +40,7 @@ class LinkDeviceActivity : BaseActionBarActivity(), ScanQRCodeWrapperFragmentDel
fun requestDeviceLinkIfPossible(hexEncodedPublicKey: String) { fun requestDeviceLinkIfPossible(hexEncodedPublicKey: String) {
if (!PublicKeyValidation.isValid(hexEncodedPublicKey)) { if (!PublicKeyValidation.isValid(hexEncodedPublicKey)) {
Toast.makeText(this, "Invalid Session ID", Toast.LENGTH_SHORT).show() Toast.makeText(this, R.string.invalid_session_id, Toast.LENGTH_SHORT).show()
} else { } else {
val intent = Intent() val intent = Intent()
intent.putExtra("hexEncodedPublicKey", hexEncodedPublicKey) intent.putExtra("hexEncodedPublicKey", hexEncodedPublicKey)
@ -64,7 +64,7 @@ private class LinkDeviceActivityAdapter(val activity: LinkDeviceActivity) : Frag
1 -> { 1 -> {
val result = ScanQRCodeWrapperFragment() val result = ScanQRCodeWrapperFragment()
result.delegate = activity result.delegate = activity
result.message = "Navigate to \"Settings\" > \"Devices\" > \"Link a Device\" on your other device and then scan the QR code that comes up to start the linking process." result.message = activity.resources.getString(R.string.activity_link_device_scan_qr_code_explanation)
result result
} }
else -> throw IllegalStateException() else -> throw IllegalStateException()
@ -73,8 +73,8 @@ private class LinkDeviceActivityAdapter(val activity: LinkDeviceActivity) : Frag
override fun getPageTitle(index: Int): CharSequence? { override fun getPageTitle(index: Int): CharSequence? {
return when (index) { return when (index) {
0 -> "Enter Session ID" 0 -> activity.getString(R.string.activity_link_device_enter_session_id_tab_title)
1 -> "Scan QR Code" 1 -> activity.getString(R.string.activity_link_device_scan_qr_code_tab_title)
else -> throw IllegalStateException() else -> throw IllegalStateException()
} }
} }

View File

@ -154,7 +154,7 @@ class RegisterActivity : BaseActionBarActivity() {
val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText("Session ID", keyPair!!.hexEncodedPublicKey) val clip = ClipData.newPlainText("Session ID", keyPair!!.hexEncodedPublicKey)
clipboard.primaryClip = clip clipboard.primaryClip = clip
Toast.makeText(this, R.string.activity_register_public_key_copied_message, Toast.LENGTH_SHORT).show() Toast.makeText(this, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show()
} }
private fun openURL(url: String) { private fun openURL(url: String) {
@ -162,7 +162,7 @@ class RegisterActivity : BaseActionBarActivity() {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent) startActivity(intent)
} catch (e: Exception) { } catch (e: Exception) {
Toast.makeText(this, "Couldn't open link", Toast.LENGTH_SHORT).show() Toast.makeText(this, R.string.invalid_url, Toast.LENGTH_SHORT).show()
} }
} }
// endregion // endregion

View File

@ -117,7 +117,7 @@ class RestoreActivity : BaseActionBarActivity() {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent) startActivity(intent)
} catch (e: Exception) { } catch (e: Exception) {
Toast.makeText(this, "Couldn't open link", Toast.LENGTH_SHORT).show() Toast.makeText(this, R.string.invalid_url, Toast.LENGTH_SHORT).show()
} }
} }
// endregion // endregion