String Customization

Customize all the strings in Helpshift SDK's user interface

Starting from version 2.0.0, Helpshift now uses the HSLocalization bundle to read the default values of all the string translations.

You can customize all the strings used in the Helpshift SDK by following the steps below:

  1. Create a new simple folder "HelpshiftCustomLocalization" in your project from Finder.
  2. Go to HelpshiftDefaultLocalizations folder and copy the lproj files for all the languages you want to support. You can find this folder at the root level of SDK zip file or at Pods/Helpshift/helpshift-sdk-ios-vx.x.x/HelpshiftDefaultLocalizations if you are using CocoaPods integration.
  3. Add the lproj files selected in the previous step to the HelpshiftCustomLocalization folder.
  4. In HelpshiftCustomLocalization folder, change translations of the relevant keys in the HelpshiftLocalizable.strings files.
  5. Rename "HelpshiftCustomLocalization" folder to the " HelpshiftCustomLocalization.bundle". Your system will ask you confirmation to add "bundle" extension to the Folder and just click on "Add".
  6. Add this bundle to your project from Xcode using File -> Add Files to -> Select the HelpshiftCustomLocalization.bundle
  7. Go to "Build Phases" settings tab of your project and Expand Bundle Resources menu
  8. Drag the HelpshiftCustomLocalization.bundle from your project navigator to "Copy Bundle Resources" menu. Alternatively you can also add this bundle using + icon in the "Copy Bundle Resources" menu. SDK will start using your customized strings now.

Below is the description of the keys (in the HelpshiftLocalizable.strings file) for each of the customizable strings in the app:

No Internet!
Title for the alertview that indicates absence of internet connection
No working Internet connection is found.
Message for the alertview that indicates absence of internet connection
Take a screenshot on your iPhone
Title for tutorial explaining how to take screenshot on the iPhone show me
Take a screenshot on your iPad
Title for tutorial explaining how to take screenshot on the iPad show me
Go to the screen you want a screenshot of, hold down the power button and the home button on your iPhone, at the same time.
Instruction for taking screenshot on the iPhone in the tutorial show me
Go to the screen you want a screenshot of, hold down the power button and the home button on your iPad, at the same time.
Instruction for taking screenshot on the iPad in the tutorial
Opening Gallery...
Text for the progress hud that is shown when user opens a gallery for choosing a screenshot
Sending Screenshot...
Text for the progess hud that is shown when user sends a screenshot
Loading...
Generic Loading text for progress hud while fetching FAQs
FAQ
Title text of tableview section header for FAQs in the main support screen
No faqs found in this section
Text for no faqs in section when FAQs list for a particular section is empty
Could not fetch faqs
Text for alertview that shows when FAQs list could not be fetched
We could not fetch the required data
Text for alertview that shows when SDK fails to fetch FAQs
Can't find what you were looking for?
Text that shows below search when no FAQs are found. This show up if enableContactUs option is set to NO show me
Thanks for contacting us.
Text for alertview when customer is dropped back to app after starting a conversation show me
Your message has been received.
Text for alertview when customer is dropped back to conversation chat view after starting a conversation
Message send failure.
Title for alertview that shows when starting new conversation was not successful show me
Question
Title for navigation bar for single faq screen
Send
Text for screenshot widget send button and send button on navigation bar
Close
Generic Close, applies to close button in the navigation bar.
Help
Text for the title of main support screen
Sorry to hear that. Could you please tell us a little bit more about the problem you are facing?
Automated agent reply that shows up in the messages screen when the user does not accept a solution
We're happy to help you!
Automated agent reply that shows up in the conversation screen when the user accepts a solution
Describe your problem
Placeholder text for FAQ search
Name
Placeholder text for username in new conversation screen
Email (optional)
Placeholder text for email in new conversation screen (email is optional)
Email invalid
Title for alertview that shows up if the user entered an invalid email
Please provide a valid email address.
Message for alertview that shows up if the user entered an invalid email
Invalid Entry
Title for alertview that shows up if the user left description field blank or enters non-alphanumeric characters only. This is a slight attempt to prevent the user from entering gibberish
Please enter a brief description of the issue you are facing.
Message for alertview that shows up if the user left description field blank or enters non-alphanumeric characters only. This is a slight attempt to prevent the user from entering gibberish
Was this helpful?
Text that shows below every single faq to mark the faq as helpful or unhelpful. show me
You found this helpful.
Feedback text for mark helpful button in single faq screen. show me
You didn't find this helpful.
Feedback text for mark unhelpful button in single faq screen. show me
Your message was not sent. Tap "Try Again" to send this message?
Text for actionsheet which shows when user selects the red exclamation icon beside an unsent message to retry
Try Again
Title for the actionsheet button to try sending a message again. This action sheet shows when user selects the red exclamation icon beside an unsent message
Cancel
Title for the actionsheet button to cancel the actionsheet. This action sheet shows when user selects the red exclamation icon beside an unsent message
REVIEW
Review button text for the conversation screen review widget to review app
Change
Text for the button in conversation screen to allow changing the screenshot which the user has already selected to be sent.
You have answered: NO
Automated message label that appears when the user does not accept a solution
You have answered: YES
Automated message label that appears when the user accepts a solution
Ok, attach
Text for the button in the screenshot widget that takes the user to the iPhone/iPad gallery to select a screenshot show me
Learn how
Text for the button in the screenshot widget that shows the user how to take a screenshot
YES
Generic yes, applies to chatscreen widget and mark helpful button in single faq screen
NO
Generic no, applies to chatscreen widget and mark unhelpful button in single faq screen
OK
Generic OK, applies to attach screenshot
Sending failed !
Title for alertview that shows when the screenshot is too large
Screenshot could not be sent. Image is too large, try again with another image
Message for alertview that shows when the screenshot is too large
Name invalid
Title for alertview that shows when the user does not enter a name in the user/email entry screen
Please provide a name.
Message for alertview that shows when the user does not enter a name in the user/email entry screen
New message from Support
Title for a new in-app notification with one reply on a conversation
new messages from Support
Title for a new in-app notification with multiple replies on a conversation
No FAQs found
Text that shows below search when no FAQs are found for showFAQs: show me
Conversation
Title of the conversation screen
Name
Placeholder text for user's name in new conversation screen
Email (optional)
Placeholder text for user's email in new conversation screen
Email
Placeholder text for user's email in new conversation screen only when email is required.
Sending your message...
Text for the progress hud that is shown when user starts a new conversation
Please check your network connection and try again.
Message for alertview that shows when starting new conversation was not successful
CONTACT US
Contact button that tails search results and contact button in the navigation bar. When used in navigation bar, it is turned to camel case.
YES, THANKS!
Text for confirmation buttons at end of a conversation
New Conversation
Text for new conversation button in the confirmation panel
New Conversation
Navbar title for reporting new conversation
How can we help?
Placeholder for problem description in new conversation screen
Your message has been received. Thanks for contacting us!
Text for auto-response message when user starts a new conversation show me
What else can we help you with?
Auto-response message when the solution is rejected by the user in a conversation show me
What's your feedback about our customer support?
Text shown in the customer satisfaction survey dialog.
Service Rating
Title for the navigation bar, when the user gives their feedback on customer service.
Hated it
Text shown to hint the lowest rating.
Loved it
Text shown to hint the highest rating.
Any other feedback? (optional)
Placeholder for textview, for user feedback on customer service.
Thanks for messaging us!
Footer text for messages indicating issue resolution.
This conversation has ended.
Footer text for messages indicating end of conversation.
Did we answer all your questions?
Text shown for issue resolution dialog.
Your Rating:
Text that is shown beside the rating stars, on the service rating screen.
Thanks for rating us.
Title for alertview, when the user submits a feedback on customer service.
Your feedback has been received.
Message for alertview, when the user submits a feedback on customer service.
or
Separator text, shown between the customer satisfaction dialog, and start a new conversation dialog.
Preview
Title for navigation bar for image preview screen.
Questions that may already have your answer
Header for suggestions after new conversation when enhance ticket avoidance is enable.
SEND ANYWAY
Title for send button shown below suggestions when enhance ticket avoidance is enable.
Done
Navigation item to dismiss single FAQ view after the user has finished reading the suggested FAQ.
Suggestions
Title for navigation bar for search results when enhance ticket avoidance is enable.
This message is no longer available
Placeholder message in campaign detail when attempting to view an expired campaign.
GIFs are not supported
Message for alertview that shows when GIF image is selected from image picker.
Reply from customer support
Accessibility label for agent message bubbles.
Failed to send the message
Accessibility label for failed message indicator.
Start a new Conversation
Accessibility label for "Start a new conversation" button.
Audio
Accessibility label for Audio type files in agent attachments.
Video
Accessibility label for Video type files in agent attachments.
File:
Accessibility label for generic files in agent attachments.
Would you like to review the app?
Message for review request sent by Agent.
Message from support by %@ on %@
Voiceover text for Agent or Bot message if the name is also shown
Message from support on %@
Voiceover text for Agent or Bot message if the name is not shown
Your Reply on %@
Voiceover text for message sent by user
Your Reply, Sending
Voiceover text for message sent by user which is still being sent
Your Reply Failed to send
Voiceover text for message sent by user which failed to send
Retry Sending
Voiceover text for retry button to trigger sending a message
Image %1$s, Double Tap to Download
Voiceover text for image sent by Agent which is waiting for download
Image, Downloading, %1$s of %2$s
Voiceover text for image sent by Agent which is downloading
Image, Double Tap to View
Voiceover text for image sent by Agent which is downloaded
File, %1$s, %2$s, Double Tap to Download
Voiceover text for attachment sent by Agent which is waiting for download
File, %1$s, Downloading %2$s of %3$s
Voiceover text for attachment sent by Agent which is downloading
File, %1$s, Double Tap to Open
Voiceover text for attachment sent by Agent which is downloaded
Enter a valid email address
Error text message visible when user enters an invalid email address in portrait mode
Enter a valid number
Error text message visible when user enters an invalid number address in portrait mode
Please enter a valid email address
Error text message visible when user enters an invalid email address in landscape mode
Please enter a valid number
Error text message visible when user enters an invalid number address in landscape mode
Error
Title for the error dialog visible when user enters an invalid email address/number in landscape mode
Network error.
Error message visible when there is a network error just before Bots start working on a new conversation on the chat screen
Connecting...
Message visible when the SDK tries to connect to the server just before Bots start working on a new conversation on the chat screen in case of a network error
No internet connection
Error message visible in case the device loses internet connectivity while Identity Bot or Answer Bot is in progress
Something went wrong. Reconnecting...
Error message visible in case there is an error while Identity Bot or Answer Bot is in progress
Authentication Failed
Error message title visible in case user authentication failed
We are still trying to reach support. Please wait.
Error message visible in case there is a network error while the user is on the setup screen just before the chat screen
Please check your network connection.
Error message visible in case there is a network error while the user is on the setup screen just before the chat screen
Tap to retry
Error message visible on the retry button when there is a network error just before Bots start working on a new conversation on the chat screen
Please try again later
Error message visible if the user authentication failed
Sorry, something went wrong. This conversation cannot be continued.
Message that is shown when the conversation cannot be continued due to an error
Sending
Status text below customer's chat bubble when network is not available
Failed to send
Status text below customer's chat bubble when their reply is not delivered
FROM
Label text header in the New Conversation Form for asking user name and email
Back
Label text header in the New Conversation Form for asking user name and email
Hold down your device's power and volume up buttons at the same time.
Tutorial text for capturing screenshot on iPhoneX
Enter a valid date.
Error text message visible when user enters an invalid date
Conversation Closed
Footer text for messages indicating end of conversation.
Conversation deleted
Text message indicating that this conversation was deleted by an agent.
%lu Conversations deleted
Text message indicating that n number of consecutive conversations were deleted by an agent.
Loading Messages...
Header text on chat that is shown when older messages are being fetched.
Conversation Ended
Voiceover label for the divider line separating two conversations.
Jump to latest message
Voiceover label for the jump button on chat screen when there are no unread messages.
Jump to new message
Voiceover label for the jump button on chat screen when there is a new unread message.
Jump to new messages
Voiceover label for the jump button on chat screen when there are multiple unread message.
Conversation ID
Text to show the conversation id information.
Couldn't Load Messages, Tap to retry
Text message indicating that fetch for old messages failed.

The messages from the Identity Bot and the Answer Bot will be sent by the Helpshift servers, so they won't be customizable in the SDK.