Customize Strings for iOS

The UI SDK provides default text for all the messages that a user can encounter. You can customize the strings in your app using resource files.

This article applies to the following implementations:

UI SDK Core SDK
✅

To customize these strings in your app, create an Localizable.strings localizable resource file in your app and override the string keywords. For example:

"SMI.Feed.Input.Text" = "My custom text...";

To learn more, see the Apple documentation on String Resources. To learn about which languages the SDK supports, see Language Support.

Chat Feed Strings

Keyword Default Value Description
SMI.Chat.Feed.Title Chat Title for the chat feed view.
SMI.Chat.Feed.Accessibility Chat Feed Accessibility label for the chat feed container view.
SMI.Chat.Start.Conversation Start Conversation Content description for a button that is used to resubmit pre-chat fields mid-conversation.
SMI.Chat.Start.Conversation.Feed.Input.Text.Accessibility Fill out a pre-chat form to continue the conversation Accessibility announcement when the user needs to enter and resubmit pre-chat fields.
SMI.Chat.Badge.Overlay.Count 9+ The chat feed badge overlay unread message count for amounts equal to or over 10.

Chat Feed Input Strings

Keyword Default Value Description
SMI.Feed.Input.Text Type a message Placeholder text inside chat input field.
SMI.Feed.Input.Text.Accessibility Message Input Accessibility label for identifying the input control.
SMI.Feed.Input.Button Send Action text for the send message button.
SMI.Feed.New.Messages New Messages A notification that alerts the user that there are new unread messages in the chat feed.
SMI.Feed.New.Messages.Accessibility You have new messages. An accessibility announcement that alerts the user that there are new unread messages in the chat feed.
SMI.Feed.New.Messages.Button.Accessibility Scroll to bottom of chat feed. The description for the notification badge button that alerts a user they will be brought to the bottom of the feed.

Action Menu Strings

Keyword Default Value Description
SMI.Feed.Action.Menu.Title Send an attachment? Action Menu text for sending a photo.
SMI.Feed.Action.Menu.Photo.Send Send a Photo Action Menu text for sending a photo.
SMI.Feed.Action.Menu.File.Send Send a File Action Menu text for sending a file.
SMI.Feed.Action.Menu.Photo.Take Take a Photo Action Menu text for taking a photo.
SMI.Feed.Action.Menu.Accessibility Action Menu The accessibility string for the Action Menu to the left of the text input

Delivery Status

Keyword Default Value Description
SMI.Delivery.Timestamp.Yesterday Yesterday • %@ The message auxiliary view that will display the time information for the day yesterday with the timestamp.
SMI.Delivery.Timestamp.Today Today • %@ The message auxiliary view that will display the time information for the day today with the timestamp.
SMI.Delivery.Status.Sending Sending The message auxiliary view that will display the sending message indicator.
SMI.Delivery.Status.Sent Sent The message auxiliary view that will display the sent message indicator.
SMI.Delivery.Status.Read Read The message auxiliary view that will display the read message indicator.
SMI.Delivery.Status.Delivered Delivered The message auxiliary view that will display the delivered message indicator.
SMI.Delivery.Status.Error Send failed. Tap to retry. The message auxiliary view that will display the error message.
SMI.Delivery.Status.Error.Additional.Information.Required Provide additional info to proceed. The error message that appears when receiving a 417 error. This message corresponds to needing to resubmit pre-chat fields.
SMI.Delivery.Status.Error.Accessibility Failed The concise failed status for accessibility
SMI.Delivery.Status.Error.Hint.Accessibility Double tap to retry Hint for the user to double tap the message to retry
SMI.Local.Message.Identifier.Accessibility Your Message %@ The accessibility text for identifying messages sent from the local user
SMI.Remote.Message.Identifier.Accessibility %1$@ message %2$@ The accessibility text for identifying messages sent from the remote user. %1$s is the name of the agent, %2$s will represent the message.
SMI.System.Message.Identifier.Accessibility System message %@ The accessibility text for identifying messages sent from the system user
SMI.Message.Received.Event.Accessibility Message received from %@ The accessibility announcement text that informs the user when a message has been received
SMI.Message.Sending.Event.Accessibility Message sent The accessibility announcement text that informs the user that their message has been sent

Network Connectivity Banner

Keyword Default Value Description
SMI.Network.Status.Reconnecting Waiting to reconnect The network connectivity banner text that will inform the user the network connection has been lost and is attempting to reconnect
SMI.Network.Status.Reconnecting.Accessibility Network connectivity is lost, attempting to reconnect The accessibility announcement that informs the user when the network connection has been lost and is attempting to reconnect
SMI.Network.Status.Connected Connected The network connectivity banner that will inform the user the network has connected after the network has lost connectivity
SMI.Network.Status.Connected.Accessibility Network connectivity established The accessibility announcement that informs the user when the network is connected after having lost connectivity

Business Hours Banner

Keyword Default Value Description
SMI.Business.Hours.Outside New chats aren't available outside of business hours The message that is shown in the chat feed banner when outside of business hours
SMI.Business.Hours.Outside.Accessibility New chats aren't currently available. Try again during business hours. The accessibility announcement that informs the user that they are out of the set business hours and the contact center is closed

Typing

Keyword Default Value Description
SMI.Typing.Indicator.Start.Accessibility %@ has started typing The accessibility announcement that informs the user when a participant starts typing
SMI.Typing.Indicator.Stop.Accessibility %@ has stopped typing The accessibility announcement that informs the user when a participant stops typing
SMI.Typing.Indicator.Accessibility %@ is typing The accessibility label for the agent typing indicator

Progress Indicators

Keyword Default Value Description
SMI.Progress.Indicator.Single.Participant %@ is typing... The default label for a single participant progress indicator.
SMI.Progress.Indicator.Bot %@ is responding... The default label for a bot progress indicator.
SMI.Progress.Indicator.Two.Participants %1$@ and %2$@ are typing... The default label for two participants typing.
SMI.Progress.Indicator.Multiple.Participants Multiple people are typing... The default label for multiple participants typing.
SMI.Progress.Indicator.Message.Accessibility %1$@ %2$@ The accessibility announcement for a bot progress indicator containing the bot display name and the progress message text.

Misc

Keyword Default Value Description
SMI.Misc.Separator • separator used when conjoining information together in a string
SMI.Misc.Unknown Unknown This is used when a value or result cannot be determined
SMI.Action.Cancel Cancel Cancel action to be used for cancel button and menus throughout the SDK.
SMI.Action.Settings Settings Settings action for permission alerts
SMI.File.Size.Megabyte MB Size of a file in megabytes
SMI.Unknown.Entry.Message This message type isn't supported. The error message that appears when the message type of the message in the chat feed isn't supported.

Alerts

Keyword Default Value Description
SMI.Alert.Title.Failed Message Failed Alert title text for the retry message alert.
SMI.Alert.Title.Permission.Camera Allow Camera Access Alert title text for requesting camera access.
SMI.Alert.Message.Failed Message failed to send. Retry? Confirmation text for the retry message alert.
SMI.Alert.Message.Permission.Camera To use your camera, go to Settings and enable Camera access for this app. Explanation that the user must allow camera permission
SMI.Alert.Action.Retry Retry Retry action for the retry message alert.
SMI.Alert.Attachment.Limit.Reached Attachment limit reached Alert when limit for number of attachments is reached.

Participant Changed

Keyword Default Value Description
SMI.Participant.Name.Default Participant Default string for a participant with no displayName or subject configured.
SMI.Participant.Changed.Joined %@ has joined Notice that a participant has joined the conversation
SMI.Participant.Changed.Joined.Accessibility %@ has joined the conversation The accessibility announcement that informs the user that a participant has joined the conversation
SMI.Participant.Changed.Left %@ has left Notice that a participant has left the conversation
SMI.Participant.Changed.Left.Accessibility %@ has left the conversation The accessibility announcement that informs the user that a participant has left the conversation

PreChat

Keyword Default Value Description
SMI.Pre.Chat.Required.Accessibility %@ is required The accessibility string for the PreChat field if the field is required
SMI.Pre.Chat.Required %@ * The string for a PreChat field label if the field is required
SMI.Pre.Chat.Submit.Button Chat with an Agent The title of the PreChat submit button
SMI.Pre.Chat.Title Just a few things before we connect you with an expert… The title of the PreChat forum
SMI.Pre.Chat.Choice.List.None None Label for the None option in a pre-chat choice list
SMI.Pre.Chat.Back.Button Back The back button for the prechat form
SMI.Pre.Chat.Error.Field.Required This field is required. Error message shown when a required field fails PreChat validation
SMI.Pre.Chat.Error.Valid.Email.Format Use a valid email format. Error message shown when an email PreChat field fails PreChat validation
SMI.Pre.Chat.Error.Valid.Number.Format Field can only contain numbers. Error message shown when a number PreChat field fails PreChat validation
SMI.Pre.Chat.Error.Valid.Phone.Format Use a valid phone number format. Error message shown when a phone PreChat field fails PreChat validation
SMI.Pre.Chat.Submission.Review.Title Submitted Form Details Header for prechat submitted form details
SMI.Pre.Chat.Submission.Card.Title Form submitted Tap to review Text for prechat cell that shows in chat after submitting prechat
SMI.Back.Button.Accessibility Back to chat feed Accessibility text for hitting the back button on pre chat submission screen
SMI.Exit.Button.Accessibility Exit to chat feed Accessibility text for hitting the exit button on pre chat submission screen
SMI.Checkbox.Selected.Accessibility Checkbox selected Accessibility text for when the checkbox is selected
SMI.Checkbox.Not.Selected.Accessibility Checkbox not selected Accessibility text for when the checkbox is not selected
SMI.Terms.And.Conditions.Error Accept the Terms and Conditions to continue. Error message displayed when the Terms and Conditions are required but not accepted.
SMI.Terms.And.Conditions.Accept Accept Message displayed next to the checkbox to accept the Terms and Conditions.
SMI.Terms.And.Conditions.Accepted.Accessibility Terms and conditions is accepted Accessibility label for terms and conditions box when it is accepted.
SMI.Terms.And.Conditions.Not.Accepted.Accessibility Terms and conditions is not accepted Accessibility label for terms and conditions box when it is accepted.
SMI.Pre.Chat.Error.Accessibility %1$@ input. Error %2$@. Accessibility readout for prechat errors. The first parameter is the field name, the second field is the error on the field.

Attachments

Keyword Default Value Description
SMI.Image.Accessibility Image message. Accessibility text for an image message in the chat feed or attachment preview.
SMI.Remove.Image.Button.Accessibility Remove image message. Accessibility text for the button to remove an image message from the input field.
SMI.Multiple.Attachment.Counter +%d A counter that takes an integer representing the number of file attachments not shown.
SMI.Image.Preview.Accessibility Image preview. Accessibility text for the image preview dialog.
SMI.Image.Preview.Cancel.Button.Accessibility Close image preview. Accessibility text for the button to close the image preview dialog.
SMI.Camera.Gallery.Button.Accessibility Photo gallery. Accessibility text for the button to open the photo gallery.
SMI.Camera.Switch.Lens.Button.Accessibility Switch lens direction. Accessibility text for the button to switch the camera lens direction.
SMI.Camera.Capture.Button.Accessibility Capture photo. Accessibility text for the button to capture a photo.
SMI.Camera.View.Capturing.Accessibility Camera capturing photo Accessibility text for the view that is displaying the phones camera capturing a photo
SMI.Image.Viewer.Jump.To.Photo.Accessibility Jump to photo Accessibility text for the jump to photo button in image viewer
SMI.Image.Viewer.Share.Photo.Accessibility Share photo Accessibility text for the share button in image viewer
SMI.Image.Viewer.Download.Photo.Accessibility Download photo Accessibility text for the download button in image viewer
SMI.Header.Share.Image.Viewer Image Shown when user taps the share button while viewing an image in the attachment viewer screen
SMI.Header.Share.Gif.Viewer GIF Shown when user taps the share button while viewing a GIF in the attachment viewer screen
SMI.Header.Share.Pdf.Viewer PDF Shown when user taps the share button while viewing a PDF in the attachment viewer screen
SMI.Image.Saved.Message Attachment saved Shown in popup when user taps the download button and the attachment successfully saves
SMI.Attachment.Download.Failed.Message Failed to save attachment Shown in popup when user clicks on download button and the attachment fails to save
SMI.Image.Download.Denied.Title Allow Photo Access Title shown in popup when user tries to save a photo with denied permission
SMI.Image.Download.Denied.Body To save photos, go to Settings and enable Photos access for this app. Message shown in popup when user tries to save a photo with denied permission
SMI.File.Format.Unsupported Unsupported file format. Message shown if user sends an unsupported file in chat
SMI.File.Size.Exceeded Attachment is too large. Maximum size is %@. Message shown if the user sends an attachment that exceeds the max size that can be sent

Agent Transfer

Keyword Default Value Description
SMI.Transfer.Requested.Event.Text Transfer requested at %@ A system message informing the user that a transfer to a service agent has been requested, and a string template indicating the time of the request.

Routing Failure

Keyword Default Value Description
SMI.Routing.Failure.Event.Text Agents are not available. Try again later. A default system message informing the user that routing to a service console agent has failed.

Routing Estimated Wait Time

Keyword Default Value Description
SMI.Routing.Initial.Agent An agent will be with you shortly. Shown when the routing type is initial. and EWT is available
SMI.Routing.Wait.Resolved.Minutes Your expected wait time is %@ minutes. Shown when the estimated wait time is greater than 60 seconds. Rounded up to the nearest minute
SMI.Routing.Wait.Resolved.Short Your expected wait time is less than one minute. Shown when the estimated wait time is less than or equal to 60 seconds

Loading Screen

Keyword Default Value Description
SMI.Loading.Screen.Accessibility Active loading screen A message that will be read out to the user when a loading screen is shown, and read out to the user when the loading screen is selected.

Link Preview Strings

Keyword Default Value Description
SMI.Link.Preview.Accessibility Link preview The screen reader will read out link preview and then the name of the link

Message Search

Keyword Default Value Description
SMI.Nothing.Entered.In.Search Nothing here yet Message displayed when there’s nothing in the search bar and there are no recent searches
SMI.No.Search.Results No search results Message displayed when there are no search results
SMI.No.Matching.Results We couldn't find what you're looking for. Try searching for something else. Message displayed when nothing matches the users search
SMI.Message.Search.Header Message Search Header for the message search page
SMI.Recent.Searches.Header Recent Searches Header for the recent search list
SMI.Search.Placeholder.Text Search Placeholder text for the search bar
SMI.Today.Timestamp.Message.Search Today Timestamp text for when the message was sent today
SMI.Yesterday.Timestamp.Message.Search Yesterday Timestamp text for when the message was sent yesterday
SMI.Users.Name You The name shown for the user in the time stamp row
SMI.No.Recent.Searches You haven't performed a recent search. Enter keywords in the search field. Message displayed when there are no search results and no text is entered in the search field
SMI.Message.Search.Back.Button Back The back button for message search
SMI.Message.Search.Clear.Search.Text.Accessibility Clear search text Accessibility text for clearing the search field in message search
SMI.Message.Search.Agent.Avatar.Accessibility Agent avatar Accessibility text for the agent avatar in message search
SMI.Message.Search.User.Avatar.Accessibility User avatar Accessibility text for the user avatar in message search
SMI.Message.Search.Agent.Bot.Accessibility Bot avatar Accessibility text for the bot avatar in message search

Copy Menu

Keyword Default Value Description
SMI.Action.Copy Copy Text displayed in the context menu for the copy behavior
SMI.Action.Copy.Attachment Copy Attachment Text displayed in the context menu for copying an attachment when receiving part of a conversation entry with text and an attachment
SMI.Action.Copy.Text Copy Text Text displayed in the context menu for copying text when receiving part of a conversation entry with text and an attachment

Participant Client Menu

Keyword Default Value Description
SMI.Participant.Client.Menu.Title Conversation Options Text displayed in the header of the participant client menu. The participant client menu will contain actions a user can take in a chat feed. The header will display the name of the participant followed by Options.
SMI.Participant.Client.Menu.Title.Accessibility Conversation Options Menus The accessibility message for the participant client menu

Form Message

Keyword Default Value Description
SMI.Form.Message.Footer.Submit Submit Text displayed in the footer menu of the Form Message for the submit button.
SMI.Form.Message.Footer.Back Back Text displayed in the footer menu of the Form Message for the back button.
SMI.Form.Message.Footer.Next Next Text displayed in the footer menu of the Form Message for the next button.
SMI.Form.Message.Back.Button Back The back button for the secure form
SMI.Form.Message.Back.Button.Accessibility Back to chat feed Accessibility text for hitting the back button on form message submission screen
SMI.Form.Message.Exit.Screen.Title Leave the form? The main title for the secure form exit confirmation screen.
SMI.Form.Message.Exit.Screen.Subtitle After leaving the form, you can open it again in the messaging window. However, your progress isn't saved. The subtitle for the secure form exit confirmation screen.
SMI.Form.Message.Exit.Screen.Confirm Leave Form The leave form button for the secure form exit confirmation screen.
SMI.Form.Message.Exit.Screen.Cancel Cancel The cancel button text for the secure form exit confirmation screen
SMI.Form.Message.Result.Success Form Submitted The message shown in the chat bubble when a form has been successfully submitted.
SMI.Form.Message.Result.Submitting Form Submitting The message shown in the chat bubble when a form is submitting.
SMI.Form.Message.Result.Error Error Submitting Form The message shown in the chat bubble when a form fails to submit.
SMI.Form.Message.Required.Accessibility %@ is required The accessibility string for the form message field if the field is required
SMI.Form.Message.Required %@ * The string for a form message field label if the field is required
SMI.Form.Message.Text.Invalid.Email Not a valid email The string that is displayed below a form entry that indicates an invalid email has been entered.
SMI.Form.Message.Text.Invalid.Url Not a valid url The string that is displayed below a form entry that indicates an invalid url has been entered.
SMI.Form.Message.Text.Input.Required.Message This field is required The string that is displayed below a form entry that indicates this item is required.
SMI.Form.Message.Option.Required.Message One or more options required The string that is displayed below a form entry that indicates this item is required.
SMI.Form.Message.Divider %1$d/%2$d The divider for the form message text field character counter
SMI.Form.Message.Text.Input.Accessibility %@ double tap to edit The accessibility message for the grouped form text input
SMI.Form.Message.Text.Input.Required.Accessibility %@ is required. Double tap to edit The accessibility message for the group form text required input
SMI.Form.Message.Screen.Accessibility %@ Screen The accessibility message is shown when a new screen is displayed in the form input
SMI.Form.Message.Option.Selected.Accessibility %@ option selected The accessibility message for a selected option in the form options menu
SMI.Form.Error.Accessibility %1$@ input. Error %2$@. Accessibility readout for form errors. The first parameter is the form field label. The second parameter is the error message on the field.

Carousel

Keyword Default Value Description
SMI.Carousel.Image.Placeholder.Accessibility Empty Carousel image A placeholder icon to indicate there is no image for a carousel option.
SMI.Carousel.Selected.Icon.Accessibility Option selected An icon to indicate that an option has been selected for a carousel message.
SMI.Carousel.Image.Accessibility Carousel image The default image content description for a carousel option, if no description is given.
SMI.Carousel.Indicator.Accessibility Page %1$d of %2$d Accessibility label for the carousel indicator
SMI.Carousel.Indicator.Dot.Accessibility Go to page %1$d of %2$d Accessibility label for individual carousel indicator dots

Request Transcript

Keyword Default Value Description
SMI.Transcript.Request.Button Request Chat Transcript The title of the request transcript button in the participant client menu.
SMI.Transcript.Title Chat Transcript The title of the request transcript screen.
SMI.Transcript.Leave.Button Leave The leave button on the leave transcript screen. This screen warns the user that if they leave without saving, the transcript is lost.
SMI.Transcript.Cancel.Button Cancel The cancel button on the leave transcript screen. This screen warns the user that if they leave without saving, the transcript is lost.
SMI.Transcript.Leave.Title Leave Transcript Title of the leave transcript screen. This screen warns the user that if they leave without saving, the transcript is lost.
SMI.Transcript.Leave.Subtitle Be sure to save the transcript before leaving. Subtitle of the leave transcript screen. This screen warns the user that if they leave without saving, the transcript is lost.
SMI.Transcript.Save.Button.Accessibility Save Transcript The accessibility string for the save transcript button.
SMI.Transcript.Share.Button.Accessibility Share Transcript The accessibility string for the share transcript button.
SMI.Transcript.Error.Message Something went wrong. Please try again later. Error message to display on the error screen when the transcript fails to download from the server.
SMI.Transcript.Alert.Save.Failed Save failed Message to display when the request transcript fails to save on the device.
SMI.Transcript.Alert.Save.Succeed Save was successful Message to display when a request transcript successfully saves on the device.
SMI.Transcript.Alert.Title Save The title of the alert that is shown after an attempt to save a request transcript on the device.
SMI.Transcript.Alert.Button.Title Ok The text for the confirm button in the alert shown after an attempt to save a request transcript on the device.
SMI.Transcript.Back.Accessibility Back to options menu Accessibility text for the back button in request transcripts.

End Chat Session

Keyword Default Value Description
SMI.End.Chat.Menu.Button End Chat The title of the end chat button in the participant client menu.
SMI.End.Chat.Title End Chat? The title label on the end chat confirmation page.
SMI.End.Chat.Subtitle Are you sure you want to end the chat session? You will be disconnected from the agent. The subtitle label on the end chat confirmation page.
SMI.End.Chat.Confirmation.Button End Chat The end chat button label on the confirmation page.
SMI.End.Chat.Cancel Cancel The cancel button label on the confirmation page.
SMI.End.Chat.Error.Message Something went wrong. Please try again later. Error message to display on the end chat confirmation page when there is an issue ending the chat
SMI.Fallback.Message.Close.Button Close The close button label on the fallback message page.

Streaming Tokens

Keyword Default Value Description
SMI.Streaming.Text.Cursor ▏ The cursor to display while text is streaming in.
SMI.Streaming.Message.Accessibility The bot is responding Accessibility readout for when a message is being streamed in.
SMI.Citation.Inline.Title \[%d\] A string template for inline citations. Takes an integer representing the citation number.
SMI.Citation.Source.Button.Title [%1$d] %2$@ A string template for citation source button. Takes an integer representing the citation number and a string representing the url title