Language Localization
The Pulsate SDK localizes the static text elements it renders — labels and UI copy that are not editable in the campaign builder. How this works depends on your SDK version, so start by confirming which version you are on.
Pulsate SDK 4.7.0+
Section titled “Pulsate SDK 4.7.0+”From version 4.7.0 the Feed is rendered as a Web Feed. Because the Feed UI is served remotely, per-string localization on the app/SDK side is no longer performed for Feed content.
Campaign content is still localizable: segment your userbase by device language and send a language-specific campaign to each segment. See Language Codes below for how device language is matched.
Earlier SDKs (pre-4.7.0, legacy)
Section titled “Earlier SDKs (pre-4.7.0, legacy)”On SDKs older than 4.7.0, localization of the native Feed was done by editing bundled string files. This path is retained here for teams still on older builds.
All needed packages ship with the SDK — you only replace the string values you want to localize.
Locate PULPulsateBasic.bundle and PULStrings.bundle, open the folder for the language you want (for example pl.lproj), and edit the PULStrings file. Change values only — never the keys — and keep the .strings syntax intact.
List of changeable strings (legacy bundle)
Section titled “List of changeable strings (legacy bundle)”"%d days ago" = "%d days ago";"%d hours ago" = "%d hours ago";"%d minutes ago" = "%d minutes ago";"%d months ago" = "%d months ago";"%d seconds ago" = "%d seconds ago";"%d weeks ago" = "%d weeks ago";"%d years ago" = "%d years ago";"A minute ago" = "A minute ago";"An hour ago" = "An hour ago";"Just now" = "Just now";"Last month" = "Last month";"Last week" = "Last week";"Last year" = "Last year";"Yesterday" = "Yesterday";"1 year ago" = "1 year ago";"1 month ago" = "1 month ago";"1 week ago" = "1 week ago";"1 day ago" = "1 day ago";"This morning" = "This morning";"This afternoon" = "This afternoon";"Today" = "Today";"This week" = "This week";"This month" = "This month";"This year" = "This year";"reply_button_label" = "Reply";"new_message_button_label" = "New Message";"new_messages_button_label" = "New Messages";"new_updates" = "New Updates";"no_internet_user_deleted_error" = "User deleted.";"no_internet_server_error" = "Unable to Connect. Swipe down to Retry.";"no_internet_send_message_error" = "Unable to Connect. Try again later.";"view_conversation_button_label" = "View Conversation";"select_subject_label" = "Please select a subject";"write_a_message_hint" = "Write a message...";"give_your_message_a_subject" = "Give your message a subject so\nit's easier to organize.";"sent_a_message" = "sent a message";"replied_to_your" = "replied to your message";"send_button" = "SEND";"new_card_label" = "New Card";"feed_title_label" = "Feed";"new_message_title_label" = "New Message";"subject_feedback_label" = "Feedback";"subject_feature_suggestion_label" = "Feature Suggestion";"subject_complaint_label" = "Complaint";"subject_other_label" = "Other...";"feed_is_empty_title" = "Your Feed is Empty";"icon_left_text" = "Tap the";"icon_right_text" = "icon to start a";"icon_bottom_text" = "new conversation with us.";"second_paragraph_text" = "You can use this section to \n ask questions or send feedback";"message_sending" = "Message Sending...";"message_sent" = "Message Sent";"message_failed" = "No Internet Connection";"try_again" = "Try Again?";"other_subject_hint" = "Please describe your message";"reached_bottom_of_feed" = "You have reached the bottom of your feed.";"pulsate_YOU_in_message_card" = "You";Language Codes
Section titled “Language Codes”Pulsate lets you build Segments and Campaigns based on device language, using ISO 639-1 two-letter language codes (for example en, pl, de, fr). Use these codes when segmenting your userbase.

