Enable localization (iOS)

Enable, customize, and improve player accessibility for your iOS app.


The iOS SDK selects the appropriate string from one of the available string tables. The SDK searches the string tables in the following order:

  • Main bundle string tables in the app
  • String tables in the JWPlayerKit (iOS SDK)
  • English string tables in the iOS SDK

By creating a string table for a language, you can customize the displayed string for menus, title bars, and strings in many other interfaces. Your language-specific string table will override the string tables in the iOS SDK.

You can create string tables for any language, allowing you to customize the video experience for your global users.

πŸ“˜

There are a handful of classes created by our builders which take a string as an argument. These values are not localized by the SDK. Instead, you should provide a localized string to these structures, or override their default in your string tables using our string keys.

For example, in JWAdInterfaceStyleBuilder there are string properties for skipText, countdownText, and skipDelayText. These strings will be displayed as provided. Thus, if you set one to β€œSkip Ahead” the text displayed is β€œSkip Ahead” and is not looked up from the string table.



Requirements

  • JWPlayerKit 4.3.0+ (iOS)


Default Supported Languages

The iOS SDK supports localization for the languages in the following table.

Arabic (ar) Chinese (zh) Danish (da) Dutch (nl)
English (en) Finnish (fi) French (fr) German (de)
Greek (el) Hebrew (he) Indonesian (id) Italian (it)
Japanese (ja) Korean (ko) Norwegian Bokmal (no) Occitan (oc)
Polish (pl) Portuguese (pt) Romanian (ro) Russian (ru)
Spanish (es) Swedish (sv) Thai (th) Turkish (tr)
Vietnamese (vi)


Enable localization

General

Use the following steps to enable localization:

  1. Create language-specific string tables for the app. Refer to the String Reference to see the list of customizable strings in the player.

  2. In the info.plist of the app, add the CGBundleAllowMixedLocalizations key and set the value to YES. When added to info.plist, the key appears as Localized resources can be mixed.

    <key>CGBundleAllowMixedLocalizations</key>
    <string>YES</string>
    
    1530

    Localized resources can be mixed setting in the info.plist file


Google IMA

By default, Google IMA uses the language specified in the user’s default settings.

Use the following steps to override the default settings:

  1. Use JWImaSettingsBuilder() to create a JWImaSettings object.
  2. Define locale with the two-letter language code.

let imaSettings = try! JWImaSettingsBuilder()
       .locale("en") // Set to English
       .build()
// adConfigBuilder is a JWImaAdvertisingConfigBuilder
adConfigBuilder.imaSettings(imaSettings)
JWImaSettings *imaSettings = [[[[JWImaSettingsBuilder alloc] init] locale:@"en"] build];

// adConfigBuilder is a JWImaAdvertisingConfigBuilder
[adConfigBuilder imaSettings:imaSettings];


String Reference

General Strings

The following table lists all strings that can be customized for a language-specific string table. The default English string is listed for each string.

String Description
jwplayer_ad_countdown Prefix for the ad countdown

English: Ad in

NOTE: The number of seconds until the ad begins is appended on the end of the string.
jwplayer_advertisement Displayed in the control center when an advertisement is playing while the application is backgrounded

English: Advertisement
jwplayer_advertising_ad_x_of_y Displays on the ad pod count label during JWP VAST ad

English: Ad __AD_POD_CURRENT__ of __AD_POD_LENGTH__

NOTE: The substring __AD_POD_CURRENT__ is replaced by the index of the currently playing advertisement. The substring __AD_POD_LENGTH__ is replaced by the total number of advertisements in the ad pod.
jwplayer_advertising_remaining_time Countdown text that displays during ad playback

English: This ad will end in xx
NOTE: The letters, xx, are replaced with a number of seconds.
jwplayer_advertising_skip_message Skip countdown message during VAST ad playback

English: Skip ad in xx
NOTE: The letters, xx, are replaced with a number of seconds.
jwplayer_advertising_skip_text Button text that appears when an ad is skippable

English: Skip
jwplayer_airplay Accessibility label for Airplay button

English: AirPlay
jwplayer_am Suffix on a time in the day before noon.

English: AM
jwplayer_audio Menu header for language settings

English: Audio
jwplayer_audio_and_subtitles Menu header for subtitles and audio in the same menu

English: Audio & Subtitles
jwplayer_audio_tracks Header above a selection of audio tracks in the Audio & Subtitles menu

English: Audio Tracks
jwplayer_auto Label text for the default quality selection option that allows the player to automatically select the appropriate quality level for the viewer

English: Auto
jwplayer_back Text displayed and used for a back button in a menu

English: Back
jwplayer_cancel Menu option for cancelling out of a menu

English: Cancel
jwplayer_cast_connect_to_a_device Menu header for casting menu displaying devices

English: Connect to a device
jwplayer_cast_disconnect Menu option to disconnect from a casting or linked device

English: Disconnect
jwplayer_cast_playing_on Title on the casting information button while it is casting

English: Playing on __device__

NOTE: __device__ is replaced with the device name.
jwplayer_cast_scanning Informational text when scanning for casting devices

English: Scanning for devices...
jwplayer_cast_use_same_wifi Menu subtext for casting, informing the user to be on the same WiFi network as the device they are searching for and wish to connect to

English: Make sure your device is connected to the same WiFi network.
jwplayer_casting_info_button_title Title displayed on the blue button when casting

English: Casting Info
jwplayer_chapter Singular word: chapter

English: Chapter
jwplayer_chapters Plural word: chapters

English: Chapters
jwplayer_chromecast Accessibility label for ChromeCast button

English: Chromecast
jwplayer_close Text on a close button used to close a menu or overlay

English: Close
jwplayer_close_menu Accessibility label for closing the menu

English: close menu
jwplayer_done Button on menus labeled: done

English: Done
jwplayer_errors_bad_connection Error message text displayed when a connection issue prevents playback

English: This video cannot be played because of a problem with your internet connection.
jwplayer_errors_cant_load_player Error message text displayed when a player fails to set up for a non-network reason, like incorrect JSON or license keys

English: Sorry, the video player failed to load.
jwplayer_errors_cant_play_video Error message text displayed when a media item fails to load and the reason is because of the media file itself

English: This video file cannot be played.
jwplayer_errors_error_code Label text for a numeric error code, for example, Error code: 50244402

English: Error Code
jwplayer_errors_live_stream_down Error message text displayed when a live stream down or has ended

English: The live stream is either down or has ended.
jwplayer_errors_protected_content Error message text displayed when DRM or protected content fails

English: There was a problem providing access to protected content.
jwplayer_errors_technical_error Generic error message text for all cases that do not fit in another situation

English: This video cannot be played because of a technical error.
jwplayer_exit_fullscreen Text in the control bar to exit fullscreen

English: Exit Fullscreen
jwplayer_forward_15_seconds Accessibility label for fast forwarding

English: fast forward 15 seconds
jwplayer_from_beginning Displayed in the information panel, on the restart button

English: From beginning
jwplayer_fullscreen Accessibility label for the full screen button

English: Fullscreen
jwplayer_go_to_live Text for the β€œgo to live” button

English: Go to live
jwplayer_hour Singular word: hour

English: hour
jwplayer_hours Plural word: hours

English: hours
jwplayer_hours_abbr Abbreviation for hours

English: hrs
jwplayer_just_watched Label displayed over playlist items in the playlist item menu, conveying that an item has already been watched

English: Just watched
jwplayer_learn_more Tap-through button on the VAST ad UI

English: Learn more
jwplayer_live_broadcast Label text for live streams, displayed in the control bar

English: Live
jwplayer_menu Accessibility label for opening the settings menu

English: menu
jwplayer_minute Singular word: minute

English: minute
jwplayer_minutes Plural word: minutes

English: minutes
jwplayer_minutes_abbr Abbreviation for the word minutes

English: mins
jwplayer_more_videos Button text and overlay heading for recommended video interfaces

English: More Videos
jwplayer_next Accessibility label for the right arrow in paginated overlays

English: Next
jwplayer_next_up Title of an overlay that displays the next item to automatically play

English: Next Up
jwplayer_next_up_countdown Countdown message text until the next item automatically plays

English: Next up in xx

NOTE: The letters, xx, will be programmatically replaced by a number of seconds.
jwplayer_normal Word for 1x playback speed

English: Normal
jwplayer_not_specified Menu option for video quality is not being specified by the user

English: Not specified
jwplayer_off Menu option text for turning an option off, such as closed captions

English: Off
jwplayer_okay Displayed on a button for the affirmative

English: Okay
jwplayer_pause Accessibility label for the pause button

English: Pause
jwplayer_picture_in_picture Accessibility label for picture in picture button

English: Picture in Picture
jwplayer_play Accessibility label for the play button

English: Play
jwplayer_playback_rates Header text for the playback rate controls menu

English: Playback Rates
jwplayer_player Accessibility label for the player

English: Video Player
jwplayer_playlist Playlist menu header

English: Playlist
jwplayer_pm Suffix on a time in the day after noon

English: PM
jwplayer_previous Accessibility label for the previous playlist item button

English: Previous
jwplayer_quality Header text for the video quality controls menu

English: Quality
jwplayer_recommendations Recommendations menu header

English: Recommendations
jwplayer_replay Accessibility label for the replay button

English: Replay
jwplayer_resume Text for a button used to resume playback

English: Resume
jwplayer_second Singular word: second

English: second
jwplayer_seconds Plural word: seconds

English: seconds
jwplayer_seconds_abbr Abbreviation for seconds

English: secs
jwplayer_subtitles Menu header for subtitles menu

English: Subtitles
jwplayer_unavailable Single-word text for describing when a menu or option is unavailable

English: Unavailable
jwplayer_unknown_cc Label displayed for closed captions with an unknown region

English: Unknown cc

Accessibility

The following table lists all the customizable accessibility labels and values. The default English string is listed for each string.

πŸ“˜

Refer to Apple's documentation for further information on these properties and how they affect the user experience.

String Description
jwplayer_acc_airplaybutton Label for the AirPlay button

English: AirPlay
jwplayer_acc_audioandcaptionsbutton Label for the header of the Audio & Captions button

English: Audio and captions
jwplayer_acc_chaptersbutton Label for the chapters button

English: Chapters
jwplayer_acc_chromecastbutton Label for the Chromecast button

English: Chromecast
jwplayer_acc_closebutton Label for menu close buttons

English: Close
jwplayer_acc_description Label for the description label

English: The description is xx

NOTE: The substring xx in the label will be replaced with the text description of the video specified in the config.
jwplayer_acc_durationlabel Label of the label specifying the duration of the video

English: Duration

NOTE: This label will also have an accessibility value set to a text description of the total duration of the video.
jwplayer_acc_enterfullscreenbutton Label of the button used to switch the video into a full screen experience

English: Enter full screen
jwplayer_acc_exitfullscreenbutton Label of the button used to switch the video out of a full screen experience

English: Exit full screen
jwplayer_acc_fastforwardbutton Label of the button used to skip the next 15 seconds of the video

English: Fast-forward 15 seconds
jwplayer_acc_learnmorebutton Label of the button used to visit the click-through URL of the currently-playing JWP VAST ad

English: Tap to learn more
jwplayer_acc_livebutton Label of the live button displayed during live content

English: Live
jwplayer_acc_nextitembutton Label of the button used to skip to the next item in the playlist

English: Next item
jwplayer_acc_nextup Label of the label displayed about the next item in the playlist

English: The next video is xx

NOTE: The substring xx is replaced by the title of the next item.
jwplayer_acc_next_up_countdown Label of the label displaying the countdown to the next item in the playlist loading and starting

This is on the next up card.

English: Next up in xx seconds.

NOTE: The substring xx is replaced by the number of seconds until the next item plays.
jwplayer_acc_pausebutton Label of the pause button

English: Pause
jwplayer_acc_playbackratebutton Label of the playback rate button

English: Playback rates
jwplayer_acc_playbutton Label of the play button

English: Play
jwplayer_acc_playlistbutton Label of the playlist button

English: Playlist
jwplayer_acc_playlistitem_title Label of the playlist item in the playlist menu

English: Item is titled xx

NOTE: The substring xx is replaced by the title of the item.
jwplayer_acc_playlistitem_title_duration Label of the playlist item in the playlist menu if it is accompanied by a duration

English: Item is titled xx and is yy long.

NOTE: The substring xx is replaced by the title of the item. The substring yy is replaced by the duration of the video.
jwplayer_acc_positionlabel Label of the label specifying the position of the video

English: Position

NOTE: This label will also have an accessibility value set to a text description of the position within the video.
jwplayer_acc_previousitembutton Label of the button used to skip to the previous item in the playlist

English: Previous item
jwplayer_acc_resumebutton Label of the resume button

English: Resume playback
jwplayer_acc_rewindbutton Label of the button used to rewind the video 15 seconds before its current position

English: Rewind 15 seconds
jwplayer_acc_settingsbutton Label of the setting button

English: Settings
jwplayer_acc_skipbutton_active Label of the skip button displayed during an advertisement using JWP VAST when the button is active

English: Skip ad
jwplayer_acc_skipbutton_inactive Label of the skip button displayed during an advertisement using JWP VAST when the button is inactive waiting to be enabled

English: Skip ad in xx seconds

NOTE: The substring xx will be replaced by the number of seconds until the button is enabled.
jwplayer_acc_title Label of the title label of the current content

English: The title is xx

NOTE: The substring of xx is replaced by the title of the content.
jwplayer_acc_value_disabled Value of menu buttons which have been disabled

English: disabled
jwplayer_acc_value_selected Value of menu buttons or options which have been selected and are displayed as selected

English: selected
jwplayer_acc_value_unknown Value of menu options with an indeterminate value, such as an unknown locale for captions

English: unknown