#define _(str) (gettext(str))
+#ifndef SCREEN_READER_TV
+#define _IGNORE_ON_TV(str) (gettext(str))
+#else
+#define _IGNORE_ON_TV(str) (gettext(""))
+#endif
+
#endif /* end of include guard: LOGGER_H_ */
-msgid "IDS_REMOVED"
-msgstr " removed"
+msgid "IDS_TPLATFORM_BODY_FLICK_UP_AND_DOWN_TO_ADJUST_THE_POSITION_T_TTS"
+msgstr "Flick up and down to adjust the position."
-msgid "IDS_TEXT_REMOVED"
-msgstr "text removed"
+msgid "IDS_TPLATFORM_BODY_EDIT_FIELD_M_NOUN_T_TTS"
+msgstr "Edit field"
-msgid "IDS_TEXT_INSERTED"
-msgstr "text inserted"
+msgid "IDS_ST_MBODY_SCREEN_READER_HTTS"
+msgstr "Screen reader (TTS)"
-msgid "IDS_BACK_BUTTON"
-msgstr "back button"
+msgid "IDS_ST_MBODY_CHARGING"
+msgstr "Charging"
-msgid "IDS_TRAIT_SLIDER_SWIPE_COMMUNICATE"
-msgstr "flick up and down to adjust the position. "
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_OPEN_THE_MENU_T_TTS"
+msgstr "Double tap to open the menu."
-msgid "IDS_TRAIT_SLIDER_VALUE"
-msgstr " %.*f of %.*f"
+msgid "IDS_BT_BODY_NO_DEVICES_FOUND_ABB"
+msgstr "No devices found"
-msgid "IDS_SCROLLING_FINISHED"
-msgstr "Scrolling finished"
+msgid "IDS_BT_BODY_BLUETOOTH"
+msgstr "Bluetooth"
-msgid "IDS_SCROLLING_STARTED"
-msgstr "Scrolling started"
+msgid "IDS_COM_BODY_SEARCHING"
+msgstr "Searching"
-msgid "IDS_KEYBOARD_HIDDEN"
-msgstr "Keyboard hidden"
+msgid "IDS_COM_BODY_NO_SERVICE"
+msgstr "No service"
-msgid "IDS_KEYBOARD_SHOWN"
-msgstr "Keyboard shown"
+msgid "IDS_WIFI_BODY_UNKNOWN"
+msgstr "Unknown"
-msgid "IDS_REACHED_MAX_VAL"
-msgstr ", maximum value reached"
+msgid "IDS_COM_BODY_AM"
+msgstr "AM"
-msgid "IDS_REACHED_MIN_VAL"
-msgstr ", minimum value reached"
+msgid "IDS_WIFI_SBODY_NOT_CONNECTED_M_STATUS_ABB"
+msgstr "Not connected"
-msgid "IDS_REACHED_MAX_POS"
-msgstr ", end of text reached"
+msgid "IDS_MSGS_BODY_EXPANDABLE_LIST_T_TTS"
+msgstr "Expandable list"
-msgid "IDS_REACHED_MIN_POS"
-msgstr ", begin of text reached"
+msgid "IDS_ACCS_BODY_SIGNAL_STRENGTH_TTS"
+msgstr "Signal strength"
-msgid "IDS_NO_VALUE_INTERFACE"
-msgstr "No value interface present"
+msgid "IDS_ST_HEADER_VISION"
+msgstr "Vision"
-msgid "IDS_NO_TEXT_INTERFACE"
-msgstr "No text interface present"
+msgid "IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS"
+msgstr "Showing %d items"
-msgid "IDS_REACHED_ITEMS_NOTIFICATION"
-msgstr "Visible items from %1$d to %2$d"
+msgid "IDS_COM_HEADER_BATTERY_CRITICALLY_LOW"
+msgstr "Battery critically low"
-msgid "IDS_TRAIT_PD_HOVERSEL"
-msgstr "Dropdown list. Showing %d items."
+msgid "IDS_ACCS_BODY_3G_TTS"
+msgstr "3G"
-msgid "IDS_TRAIT_PD_HOVERSEL_OPEN"
-msgstr "Double tap to open the menu."
+msgid "IDS_ACCS_BODY_4G_TTS"
+msgstr "4G"
+
+msgid "IDS_ACCS_BODY_ALL_CHARACTERS_DELETED_TTS"
+msgstr "All characters deleted."
+
+msgid "IDS_ACCS_BODY_BATTERY_TTS"
+msgstr "Battery"
+
+msgid "IDS_ACCS_BODY_BUTTON_TTS"
+msgstr "Button"
+
+msgid "IDS_ACCS_BODY_DATE_TTS"
+msgstr "Date"
+
+msgid "IDS_ACCS_BODY_DISABLED_TTS"
+msgstr "Turned off."
+
+msgid "IDS_ACCS_BODY_DOUBLE_TAP_TO_COLLAPSE_THE_LIST_T_TTS"
+msgstr "Double tap to collapse the list."
+
+msgid "IDS_ACCS_BODY_DOUBLE_TAP_TO_EDIT_T_TTS"
+msgstr "Double tap to edit."
+
+msgid "IDS_ACCS_BODY_DOUBLE_TAP_TO_EXPAND_THE_LIST_T_TTS"
+msgstr "Double tap to expand the list"
+
+msgid "IDS_ACCS_BODY_DOUBLE_TAP_TO_SELECT_TTS"
+msgstr "Double tap to select."
+
+msgid "IDS_ACCS_BODY_DROPDOWN_LIST_TTS"
+msgstr "Dropdown list"
+
+msgid "IDS_ACCS_BODY_HOME_SCREEN"
+msgstr "Home screen"
+
+msgid "IDS_ACCS_BODY_KEYBOARD_HIDDEN_TTS"
+msgstr "Keyboard hidden."
+
+msgid "IDS_ACCS_BODY_MEDIA_VOLUME_TTS"
+msgstr "Media volume"
+
+msgid "IDS_ACCS_BODY_PD_CHARACTERS_TTS"
+msgstr "%d characters."
+
+msgid "IDS_ACCS_BODY_SELECTED_TTS"
+msgstr "Selected."
+
+msgid "IDS_ACCS_BODY_TAB_P1SD_OF_P2SD"
+msgstr "Tab %1$d of %2$d."
+
+msgid "IDS_ACCS_BODY_WHILE_SCREEN_READER_IS_ENABLED_YOUR_PHONE_WILL_PROVIDE_VOICE_FEEDBACK_FOR_EXAMPLE_SCREEN_READER_WILL_MSG"
+msgstr "While Screen reader is turned on, your phone will provide voice feedback. For example, Screen reader will tell you what you can interact with on each screen. Tap items to select them and hear what they are, and double tap items to perform the related action."
+
+msgid "IDS_ACCS_BODY_WI_FI_SIGNAL_WEAK_M_STATUS_TTS"
+msgstr "Wi-Fi signal weak"
+
+msgid "IDS_ACCS_BODY_WI_FI_TTS"
+msgstr "Wi-Fi"
+
+msgid "IDS_ACCS_BUTTON2_DISABLE"
+msgstr "Turn off"
+
+msgid "IDS_ACCS_MBODY_EDITING_TEXT"
+msgstr "Editing text"
+
+msgid "IDS_ACCS_MBODY_GREYSCALE"
+msgstr "Grayscale"
+
+msgid "IDS_ACCS_OPT_CAPITAL_PS_TTS"
+msgstr "Capital %s"
+
+msgid "IDS_ACCS_OPT_DEVICE_VOLUME_ABB"
+msgstr "Device volume"
+
+msgid "IDS_ACCS_OPT_LANDSCAPE_VIEW_TTS"
+msgstr "Landscape view"
+
+msgid "IDS_ACCS_OPT_MUTE_M_NOTI_TTS"
+msgstr "Mute"
+
+msgid "IDS_ACCS_OPT_NOT_SELECTED_TTS"
+msgstr "Not selected"
+
+msgid "IDS_ACCS_OPT_NO_ITEMS_TTS"
+msgstr "No items"
+
+msgid "IDS_ACCS_OPT_PD_ITEMS_TTS"
+msgstr "%d items"
+
+msgid "IDS_ACCS_OPT_PORTRAIT_VIEW_TTS"
+msgstr "Portrait view"
+
+msgid "IDS_ACCS_OPT_SETTINGS_VZW"
+msgstr "Settings"
+
+msgid "IDS_ACCS_POP_PAGE_P1SD_OF_P2SD_M_DESCRIPTIVE_FORM_TTS"
+msgstr "Page %1$d of %2$d."
+
+msgid "IDS_ACCS_TBBODY_ADJUST_VOLUME"
+msgstr "Adjust volume."
+
+msgid "IDS_ACCS_TBBODY_CHARGING_P1SS_BATTERY_POWER_P2SS_PERCENT"
+msgstr "Charging %1$s. Battery power %2$s percent."
+
+msgid "IDS_ACCS_TBBODY_IN_PROGRESS"
+msgstr "In progress."
+
+msgid "IDS_ACCS_TBBODY_PRESS_BACK_KEY_TO_CLOSE_POP_UP"
+msgstr "Press Back key to close pop-up."
+
+msgid "IDS_ACCS_TBBODY_SCREEN_TURNED_ON"
+msgstr "Screen turned on."
+
+msgid "IDS_ACCS_TBBODY_SWIPE_RIGHT_OR_LEFT_WITH_ONE_FINGER_TO_SELECT_NEXT_OR_PREVIOUS_LETTER"
+msgstr "Swipe right or left with one finger to select next or previous letter."
+
+msgid "IDS_ACCS_TBOPT_ALPHABETICAL_INDEX_BAR"
+msgstr "Alphabetical index bar"
+
+msgid "IDS_ACCS_TBOPT_DECREASE_BY_ONE_DAY"
+msgstr "Decrease by one day"
+
+msgid "IDS_ACCS_TBOPT_DECREASE_BY_ONE_MONTH"
+msgstr "Decrease by one month"
+
+msgid "IDS_ACCS_TBOPT_DECREASE_BY_ONE_YEAR"
+msgstr "Decrease by one year"
+
+msgid "IDS_ACCS_TBOPT_INCREASE_BY_ONE_DAY"
+msgstr "Increase by one day"
+
+msgid "IDS_ACCS_TBOPT_INCREASE_BY_ONE_MONTH"
+msgstr "Increase by one month"
+
+msgid "IDS_ACCS_TBOPT_INCREASE_BY_ONE_YEAR"
+msgstr "Increase by one year"
+
+msgid "IDS_ACCS_TBOPT_NAVIGATE_BACK"
+msgstr "Navigate back"
+
+msgid "IDS_ACCS_TBOPT_PS_DELETED"
+msgstr "%s deleted"
+
+msgid "IDS_ACCS_TBOPT_PS_DISABLED"
+msgstr "%s turned off"
+
+msgid "IDS_ACCS_TBOPT_RADIO_BUTTON"
+msgstr "Radio button"
+
+msgid "IDS_ACCS_TBOPT_TEXT_FIELD"
+msgstr "Text field"
+
+msgid "WDS_ACCS_ACBUTTON_EXIT_ABB"
+msgstr "EXIT"
+
+msgid "WDS_ACCS_ACBUTTON_FINISH_ABB2"
+msgstr "FINISH"
+
+msgid "WDS_ACCS_ACBUTTON_NEXT_ABB2"
+msgstr "NEXT"
+
+msgid "WDS_ACCS_BODY_AND_AGAIN_TO_REVEAL_YOUR_NOTIFICATIONS_ABB"
+msgstr "And again to reveal your notifications."
+
+msgid "WDS_ACCS_BODY_AND_ANOTHER_CLOCKWISE_TURN_TAKES_YOU_TO_THE_NEXT_PAGE_ABB"
+msgstr "And another clockwise turn takes you to the next page."
+
+msgid "WDS_ACCS_BODY_AND_IN_THE_SAME_DIRECTION_UNTIL_YOU_FIND_THE_NEXT_PAGE_ICON_ABB"
+msgstr "And in the same direction until you find the Next page icon."
+
+msgid "WDS_ACCS_BODY_AND_THATS_IT_ALL_DONE_TO_FINISH_UP_THE_TUTORIAL_DOUBLE_TAP_FINISH_AT_THE_BOTTOM_OF_THE_SCREEN_ABB"
+msgstr "And that's it. All done. To finish up the tutorial, double tap FINISH at the bottom of the screen."
+
+msgid "WDS_ACCS_BODY_AND_TURN_THE_BEZEL_CLOCKWISE_AGAIN_TO_MOVE_TO_THE_NEXT_PAGE_ABB"
+msgstr "And turn the bezel clockwise again to move to the next page."
+
+msgid "WDS_ACCS_BODY_FIND_THE_PS_ICON_BY_ROTATING_THE_BEZEL_ABB"
+msgstr "Find the %s icon by rotating the bezel."
+
+msgid "WDS_ACCS_BODY_GEAR_WILL_PERFORM_AN_ACTION_ON_YOUR_SELECTION_ABB"
+msgstr "Gear will perform an action on your selection."
+
+msgid "WDS_ACCS_BODY_GEAR_WILL_READ_OUT_THE_ITEM_UNDER_YOUR_FINGER_ABB"
+msgstr "Gear will read aloud the item under your finger."
+
+msgid "WDS_ACCS_BODY_GEAR_WILL_READ_OUT_THE_NEXT_ITEM_ABB"
+msgstr "Gear will read aloud the next item."
+
+msgid "WDS_ACCS_BODY_GEAR_WILL_READ_OUT_THE_PREVIOUS_ITEM_ABB"
+msgstr "Gear will read aloud the previous item."
+
+msgid "WDS_ACCS_BODY_GEAR_WILL_TURN_ON_EITHER_SELECTION_OR_EDIT_MODE_ABB"
+msgstr "Gear will turn on either Selection or Edit mode."
+
+msgid "WDS_ACCS_BODY_NAVIGATE_THROUGH_PAGES_ON_THE_SCREEN_ABB"
+msgstr "Navigate through pages on the screen."
+
+msgid "WDS_ACCS_BODY_NOW_TURN_THE_BEZEL_ANTICLOCKWISE_TO_FIND_THE_PREVIOUS_PAGE_ICON_ABB"
+msgstr "Turn the bezel counter clockwise for the Previous page icon."
+
+msgid "WDS_ACCS_BODY_PRESS_THE_BACK_KEY_ON_THE_UPPER_RIGHT_SIDE_OF_GEAR_TO_GO_TO_THE_PREVIOUS_SCREEN_ABB"
+msgstr "Press the Back key on the upper right side of Gear to go to the previous screen."
+
+msgid "WDS_ACCS_BODY_PRESS_THE_HOME_KEY_ON_THE_LOWER_RIGHT_SIDE_OF_GEAR_TO_SEE_YOUR_APPS_ABB"
+msgstr "Press the Home key on the lower right side of Gear to see your apps."
+
+msgid "WDS_ACCS_BODY_SCREEN_READER_CANT_BE_USED_WITH_C"
+msgstr "Screen reader can't be used with:"
+
+msgid "WDS_ACCS_BODY_SCROLL_DOWN_THROUGH_LISTS_ABB"
+msgstr "Scroll down through lists."
+
+msgid "WDS_ACCS_BODY_SCROLL_UP_THROUGH_LISTS_ABB"
+msgstr "Scroll up through lists."
+
+msgid "WDS_ACCS_BODY_SWIPE_LEFT_WITH_2_FINGERS_TO_SEE_YOUR_WIDGETS_ABB"
+msgstr "Swipe left with 2 fingers to see your widgets."
+
+msgid "WDS_ACCS_BODY_SWIPE_RIGHT_WITH_2_FINGERS_TO_GO_BACK_TO_THE_WATCH_FACE_ABB"
+msgstr "Swipe right with 2 fingers to go back to the watch face."
+
+msgid "WDS_ACCS_BODY_TAP_ANYWHERE_ON_THE_SCREEN_ABB"
+msgstr "Tap anywhere on the screen."
+
+msgid "WDS_ACCS_BODY_TAP_OK_TO_FINISH_TUTORIAL_ABB"
+msgstr "Tap OK to finish tutorial."
+
+msgid "WDS_ACCS_BODY_THE_CURRENT_SCREEN_CONTAINS_APPS_TAP_ON_AN_APP_ICON_TO_SELECT_ONE_AND_ITS_NAME_WILL_BE_READ_ALOUD_ABB"
+msgstr "The current screen contains apps. Tap on an app icon to select one, and its name will be read aloud."
+
+msgid "WDS_ACCS_BODY_THIS_LANGUAGE_CANT_BE_USED_AS_A_TTS_LANGUAGE_YOU_CAN_TAP_OK_TO_CHOOSE_ANOTHER_ONE_BUT_SCREEN_READER_WILL_BE_TURNED_OFF_ABB"
+msgstr "This language can't be used as a TTS language. You can tap OK to choose another one, but Screen reader will be turned off."
+
+msgid "WDS_ACCS_BODY_TO_CLOSE_THE_TUTORIAL_TAP_THE_SKIP_BUTTON_ABB"
+msgstr "To close the tutorial, tap the Skip button."
+
+msgid "WDS_ACCS_BODY_TO_GO_BACK_TURN_THE_BEZEL_ANTICLOCKWISE_ABB"
+msgstr "To go back, turn the bezel counter clockwise."
+
+msgid "WDS_ACCS_BODY_TO_MOVE_ON_TO_THE_NEXT_STAGE_OF_THE_TUTORIAL_DOUBLE_TAP_NEXT_AT_THE_BOTTOM_OF_THE_SCREEN_ABB"
+msgstr "To move on to the next stage of the tutorial, double tap NEXT at the bottom of the screen."
+
+msgid "WDS_ACCS_BODY_TO_NAVIGATE_THROUGH_MULTIPLE_PAGES_OF_APP_ICONS_SWIPE_LEFT_OR_RIGHT_WITH_2_FINGERS_ABB"
+msgstr "To navigate through multiple pages of app icons, swipe left or right with 2 fingers."
+
+msgid "WDS_ACCS_BODY_TO_SCROLL_THROUGH_LISTS_OF_ITEMS_SWIPE_UP_OR_DOWN_THE_SCREEN_WITH_TWO_FINGERS_ABB"
+msgstr "To scroll through lists of items, swipe up or down the screen with two fingers."
+
+msgid "WDS_ACCS_BODY_TURN_THE_BEZEL_CLOCKWISE_TO_FIND_THE_APP_YOU_WANT_ABB"
+msgstr "Turn the bezel clockwise to find the app you want."
+
+msgid "WDS_ACCS_BODY_WIDGETS_ABB"
+msgstr "Widgets"
+
+msgid "WDS_ACCS_BODY_YOU_FOUND_IT_DOUBLE_TAP_ANYWHERE_ON_THE_SCREEN_TO_OPEN_THE_APP_ABB"
+msgstr "You found it. Double tap anywhere on the screen to open the app."
+
+msgid "WDS_ACCS_HEADER_ADD_SHORTCUT_ABB"
+msgstr "Add shortcut"
+
+msgid "WDS_ACCS_HEADER_DOUBLE_TAP"
+msgstr "Double tap"
+
+msgid "WDS_ACCS_HEADER_DOUBLE_TAP_AND_HOLD_ABB"
+msgstr "Double tap and hold"
+
+msgid "WDS_ACCS_HEADER_DOUBLE_TAP_AND_HOLD_WITH_2_FINGERS_ABB"
+msgstr "Double tap and hold with 2 fingers"
+
+msgid "WDS_ACCS_HEADER_PRACTICE_ZONE_ABB"
+msgstr "Practice zone"
+
+msgid "WDS_ACCS_HEADER_SCREEN_READER_HELP_ABB"
+msgstr "Screen reader help"
-msgid "IDS_TRAIT_GROUP_INDEX"
-msgstr "group index"
+msgid "WDS_ACCS_HEADER_SWIPE_DOWN_WITH_2_FINGERS_ABB"
+msgstr "Swipe down with 2 fingers"
-msgid "IDS_TRAIT_GROUP_INDEX_EXPANDED"
-msgstr "Expandable list, Double tap to collapse the list"
+msgid "WDS_ACCS_HEADER_SWIPE_LEFT_ABB"
+msgstr "Swipe left"
-msgid "IDS_TRAIT_GROUP_INDEX_COLLAPSED"
-msgstr "Expandable list, Double tap to expand the list"
+msgid "WDS_ACCS_HEADER_SWIPE_LEFT_WITH_2_FINGERS_ABB"
+msgstr "Swipe left with 2 fingers"
-msgid "IDS_TRAIT_GROUP_INDEX_IN_CHECK_BOX"
-msgstr "The Checkbox for the entire group"
+msgid "WDS_ACCS_HEADER_SWIPE_RIGHT_ABB"
+msgstr "Swipe right"
-msgid "IDS_TRAIT_MENU_ITEM_TAB_INDEX"
-msgstr "Tab %1$d of %2$d"
+msgid "WDS_ACCS_HEADER_SWIPE_RIGHT_WITH_2_FINGERS_ABB"
+msgstr "Swipe right with 2 fingers"
-msgid "IDS_TRAIT_TEXT_EDIT"
-msgstr "Double tap to enter text"
+msgid "WDS_ACCS_HEADER_SWIPE_UP_WITH_2_FINGERS_ABB"
+msgstr "Swipe up with 2 fingers"
-msgid "IDS_TRAIT_SHOWING"
-msgstr "Showing"
+msgid "WDS_ACCS_HEADER_TAP"
+msgstr "Tap"
-msgid "IDS_TRAIT_ITEMS"
-msgstr "Items"
+msgid "WDS_ACCS_HEADER_TESTPAD_ABB"
+msgstr "Testpad"
-msgid "IDS_TRAIT_POPUP_CLOSE"
-msgstr "Press back key to close"
+msgid "WDS_ACCS_HEADER_TUTORIAL_ABB"
+msgstr "Tutorial"
-msgid "IDS_TRAIT_TEXT_EDIT_FOCUSED"
+msgid "WDS_ACCS_MBODY_EXPLORE_THE_SCREEN_ABB"
+msgstr "Explore the screen"
+
+msgid "WDS_ACCS_MBODY_NAVIGATE_THROUGH_PAGES_ABB"
+msgstr "Navigate through pages"
+
+msgid "WDS_ACCS_MBODY_SCREEN_READER_ABB"
+msgstr "Screen reader"
+
+msgid "WDS_ACCS_MBODY_SCREEN_READER_HELP_ABB"
+msgstr "Screen reader help"
+
+msgid "WDS_ACCS_MBODY_TESTPAD_ABB"
+msgstr "Testpad"
+
+msgid "WDS_ACCS_MBODY_ZOOM_ABB"
+msgstr "Zoom"
+
+msgid "WDS_ACCS_POP_KEEP_SCREEN_TURNED_OFF_Q"
+msgstr "Keep screen turned off?"
+
+msgid "WDS_ACCS_POP_LANGUAGE_NOT_RECOGNISED_GO_TO_YOUR_PHONES_SETTINGS_AND_SELECT_A_DIFFERENT_LANGUAGE_TO_USE_SCREEN_READER"
+msgstr "Language not recognized. Go to your phone's settings and select a different language to use Screen reader."
+
+msgid "WDS_ACCS_POP_LANGUAGE_NOT_RECOGNISED_TAP_OK_TO_CHANGE_YOUR_LANGUAGE_SETTINGS_TO_USE_SCREEN_READER"
+msgstr "Language not recognized. Tap OK to change your language settings to use Screen reader."
+
+msgid "WDS_ACCS_POP_PRESS_AND_HOLD_HOME_KEY_FOR_ACCESSIBILITY_SETTINGS"
+msgstr "Press and hold Home key for Accessibility settings."
+
+msgid "WDS_ACCS_POP_QUICKLY_TRIPLE_TAP_SCREEN_TO_ZOOM_IN_AND_OUT_AFTER_ZOOMING_IN_DRAG_TWO_FINGERS_ACROSS_SCREEN_TO_PAN"
+msgstr "Quickly triple tap screen to zoom in and out. After zooming in, drag two fingers across screen to pan."
+
+msgid "WDS_ACCS_POP_QUICKLY_TRIPLE_TAP_SCREEN_WITH_TWO_FINGERS_FOR_SCREEN_READER_SETTINGS"
+msgstr "Quickly triple tap screen with two fingers for Screen reader settings."
+
+msgid "WDS_ACCS_POP_QUICKLY_TRIPLE_TAP_THE_SCREEN_WITH_TWO_FINGERS_TO_ENABLE_OR_DISABLE_SCREEN_READER"
+msgstr "Quickly triple tap the screen with two fingers to turn Screen reader on or off."
+
+msgid "WDS_ACCS_POP_SWITCH_AUDIO_FROM_STEREO_TO_MONO_WHILE_USING_ONE_EARPHONE"
+msgstr "Switch audio from stereo to mono while using one earphone."
+
+msgid "WDS_ACCS_POP_TAP_OK_TO_INSTALL_THE_VOICE_DATA_TO_USE_SCREEN_READER_EXTRA_CHARGES_MAY_APPLY_IF_YOURE_INSTALLING_VIA_A_MOBILE_NETWORK"
+msgstr "Tap OK to install the voice data to use Screen reader. Extra charges may apply if you're installing via a mobile network."
+
+msgid "WDS_ACCS_POP_THIS_LANGUAGE_CANT_BE_USED_AS_A_TTS_LANGUAGE_SO_SCREEN_READER_WILL_BE_TURNED_OFF_TO_TURN_IT_ON_AGAIN_GO_TO_YOUR_PHONES_SETTINGS_AND_SELECT_A_DIFFERENT_MSG"
+msgstr "This language can't be used as a TTS language, so Screen reader will be turned off. To turn it on again, go to your phone's settings and select a different language."
+
+msgid "WDS_ACCS_POP_TRIPLE_TAP_THE_SCREEN_WITH_TWO_FINGERS_TO_TURN_FUNCTIONS_ON_OR_OFF"
+msgstr "Triple tap the screen with two fingers to turn functions on or off."
+
+msgid "WDS_ACCS_SBODY_TRY_OUT_GESTURE_SKILLS_ABB"
+msgstr "Try out gesture skills."
+
+msgid "WDS_ACCS_TBBODY_TOUCH_INTERACTION_IS_BLOCKED_WHILE_TUTORIAL_INFORMATION_IS_BEING_READ_OUT"
+msgstr "Touch interaction is blocked while tutorial information is being read aloud."
+
+msgid "WDS_ACCS_TBOPT_PAGE_P1SD_OF_P2SD"
+msgstr "Page %1$d of %2$d"
+
+msgid "WDS_ACCS_TBOPT_UNMUTE"
+msgstr "Unmute"
+
+msgid "WDS_ACCS_TPOP_SELECT_ANOTHER_LANGUAGE_TO_TURN_ON_SCREEN_READER_ABB"
+msgstr "Select another language to turn on Screen reader."
+
+msgid "WDS_ACCS_TPOP_TRIPLE_TAP_THE_SCREEN_TO_ZOOM_IN_AND_OUT_ZOOM_IN_AND_DRAG_TWO_FINGERS_ACROSS_THE_SCREEN_TO_PAN"
+msgstr "Triple tap the screen to zoom in and out. Zoom in and drag two fingers across the screen to pan."
+
+msgid "WDS_ACCS_TPOP_WHILE_THE_SCREEN_READER_IS_ON_YOUR_GEAR_WILL_PROVIDE_VOICE_FEEDBACK_MSG_ABB"
+msgstr "While the Screen reader is on, your Gear will provide voice feedback. For example, Screen reader can provide audible commentary describing each screen. Simply tap each item to hear it described, then double tap to initiate the described function."
+
+msgid "WDS_ACCS_TPOP_WITH_THE_SCREEN_READER_ON_MSG_ABB"
+msgstr "With the Screen reader on, Gear provides audible commentary that describes each screen. Tap any item to hear it described. Double tap to initiate the described function."
+
+msgid "IDS_BR_BODY_DOUBLE_TAP_AND_HOLD_THEN_DRAG_TO_REORDER_TTS"
+msgstr "Double tap and hold, then drag to reorder."
+
+msgid "IDS_MSG_BODY_ON_T_TTS"
+msgstr "On"
+
+msgid "IDS_STORYALBUM_BODY_OFF_T_TTS"
+msgstr "Off"
+
+msgid "WDS_TTS_TBBODY_ROTATE_BEZEL_TO_ADJUST_PS"
+msgstr "Rotate bezel to adjust %s."
+
+msgid "IDS_AM_OPT_HEADER_TTS"
+msgstr "Header"
+
+msgid "IDS_CLD_BODY_CORAL_M_COLOUR"
+msgstr "Coral"
+
+msgid "IDS_CLOCK_BUTTON_DECREASE_BY_1_HOUR"
+msgstr "Decrease by 1 hour"
+
+msgid "IDS_CLOCK_BUTTON_DECREASE_BY_1_MINUTE"
+msgstr "Decrease by 1 minute"
+
+msgid "IDS_CLOCK_BUTTON_DECREASE_BY_1_SECOND"
+msgstr "Decrease by 1 second"
+
+msgid "IDS_CLOCK_BUTTON_INCREASE_BY_1_HOUR"
+msgstr "Increase by 1 hour"
+
+msgid "IDS_CLOCK_BUTTON_INCREASE_BY_1_MINUTE"
+msgstr "Increase by 1 minute"
+
+msgid "IDS_CLOCK_BUTTON_INCREASE_BY_1_SECOND"
+msgstr "Increase by 1 second"
+
+msgid "IDS_COM_BODY_FAVOURITE_T_TTS"
+msgstr "Favorite"
+
+msgid "IDS_COM_POP_ITEM_DROPPED_INTO_POSITION_PD_TTS"
+msgstr "Item dropped into position %d."
+
+msgid "IDS_COM_POP_STARTED_DRAGGING_ITEM_AT_POSITION_PD_TTS"
+msgstr "Started dragging item at position %d."
+
+msgid "IDS_EL_BODY_CUSTOM_COLOUR_PALETTE_T_TTS"
+msgstr "Custom color palette"
+
+msgid "IDS_GCTS_BODY_SHOWING_ITEM_P1SD_OF_P2SD_TTS"
+msgstr "Showing item %1$d of %2$d."
+
+msgid "IDS_GCTS_OPT_NO_EVENTS_TTS"
+msgstr "No events"
+
+msgid "IDS_GCTS_OPT_P1SS_VOLUME_P2SD_PERCENT_TTS"
+msgstr "%1$s volume, %2$d percent"
+
+msgid "IDS_GCTS_OPT_SCREEN_TURNED_OFF_TTS"
+msgstr "Screen turned off"
+
+msgid "IDS_GP_POP_SCREEN_READER_IS_NOT_SUPPORTED_BY_THIS_APPLICATION_PRESS_THE_HOME_OR_BACK_KEY_MSG"
+msgstr "Screen reader is not supported by this application. Press the home or back key to return to the Home screen."
+
+msgid "IDS_IDLE_HEADER_UNABLE_TO_OPEN_APP_ABB"
+msgstr "Unable to open app"
+
+msgid "IDS_IDLE_TBOPT_DAY"
+msgstr "Day"
+
+msgid "IDS_IDLE_TBOPT_MONTH"
+msgstr "Month"
+
+msgid "IDS_IDLE_TBOPT_YEAR"
+msgstr "Year"
+
+msgid "IDS_MEMO_BODY_GREY_M_COLOUR_TTS"
+msgstr "Gray"
+
+msgid "IDS_OCR_HEADER_DARK_GREY_M_COLOUR"
+msgstr "Dark gray"
+
+msgid "IDS_QP_BODY_SOUND_TTS"
+msgstr "Sound"
+
+msgid "IDS_QP_BODY_VIBRATION_TTS"
+msgstr "Vibration"
+
+msgid "IDS_SMEMO_BODY_BLACK"
+msgstr "Black"
+
+msgid "IDS_SMEMO_BODY_BLUE_VIOLET"
+msgstr "Blue violet"
+
+msgid "IDS_SMEMO_BODY_DARK_BLUE_M_COLOUR_TTS"
+msgstr "Dark blue"
+
+msgid "IDS_SMEMO_BODY_FOREST_GREEN_M_COLOUR_T_TTS"
+msgstr "Forest green"
+
+msgid "IDS_SMEMO_BODY_HOT_PINK_M_COLOUR"
+msgstr "Hot pink"
+
+msgid "IDS_SMEMO_BODY_LIME_GREEN_M_COLOUR"
+msgstr "Lime green"
+
+msgid "IDS_SMEMO_BODY_PLUM"
+msgstr "Plum"
+
+msgid "IDS_SMEMO_BODY_SKY_BLUE_M_COLOUR_TTS"
+msgstr "Sky blue"
+
+msgid "IDS_SMEMO_BODY_WHITE_M_COLOUR_TTS"
+msgstr "White"
+
+msgid "IDS_SMEMO_BODY_YELLOW_M_COLOUR_TTS"
+msgstr "Yellow"
+
+msgid "IDS_SSWITCH_OPT_HEADER_TTS"
+msgstr "Header"
+
+msgid "IDS_ST_BODY_EDITING_T_TTS"
msgstr "Editing"
-msgid "IDS_TRAIT_DISABLED"
-msgstr "Disabled"
+msgid "IDS_ST_BODY_SEEK_CONTROL"
+msgstr "Seek control"
-msgid "IDS_DELETED"
-msgstr "Deleted"
+msgid "IDS_TPLATFORM_BODY_DOUBLE_TAP_TO_SELECT_ALL_T_TTS"
+msgstr "Double tap to select all."
-msgid "IDS_CAPITAL"
-msgstr "Capital"
+msgid "MIDS_OTS_TBBODY_DIMMED"
+msgstr "Dimmed."
-msgid "IDS_ALL_CHARACTERS_DELETED"
-msgstr "All characters deleted"
+msgid "IDS_SMEMO_BODY_RED"
+msgstr "Red"
-msgid "IDS_TRAIT_TEXT_EDIT_FOCUSED_TV"
-msgstr "editing"
+msgid "WDS_TTS_TBBODY_DOUBLE_TAP_TO_CHANGE"
+msgstr "Double tap to change."
-msgid "IDS_TRAIT_PD_PROGRESSBAR"
-msgstr "In progress"
+msgid "IDS_HEALTH_BUTTON2_ENABLE"
+msgstr "Turn on"
-msgid "IDS_TRAIT_PD_PROGRESSBAR_PERCENT"
-msgstr "%.0f percent"
+msgid "IDS_SMEMO_BODY_TOMATO"
+msgstr "Tomato"
-msgid "IDS_TRAIT_PUSH_BUTTON"
-msgstr "button"
+msgid "WDS_TTS_TBOPT_TICKED"
+msgstr "Checked"
-msgid "IDS_TRAIT_CHECK_BOX_SELECTED"
-msgstr "selected"
+msgid "WDS_TTS_TBOPT_SELECT_MODE_POP_UP"
+msgstr "Select mode pop-up"
-msgid "IDS_TRAIT_CHECK_BOX_NOT_SELECTED"
-msgstr "not selected"
+msgid "WDS_TTS_TBOPT_PICKER"
+msgstr "Picker"
-msgid "IDS_TEXT_BEGIN"
-msgstr "Cursor is at the begining of text"
+msgid "WDS_TTS_TBOPT_NOT_TICKED"
+msgstr "Not checked"
-msgid "IDS_TEXT_END"
-msgstr "Cursor is at the end of text"
+msgid "WDS_TTS_TBOPT_MORE_OPTIONS"
+msgstr "More options"
-msgid "IDS_SYSTEM_CHARGING"
-msgstr "Battery charger connected"
+msgid "WDS_TTS_TBOPT_INDEX_SCROLL"
+msgstr "Index scroll"
-msgid "IDS_SYSTEM_NOT_CHARGING"
-msgstr "Battery charger disconnected"
+msgid "WDS_TTS_TBOPT_ALERT"
+msgstr "Alert"
-msgid "IDS_SYSTEM_SCREEN_ON"
-msgstr "Screen is on"
+msgid "WDS_TTS_TBBODY_SCREEN_ON"
+msgstr "Screen on."
-msgid "IDS_SYSTEM_SCREEN_OFF"
-msgstr "Screen is off"
+msgid "WDS_TTS_TBBODY_ROTATE_THE_PS_TO_SEARCH_INDEX"
+msgstr "Rotate the %s to search index."
-msgid "IDS_SYSTEM_BATTERY_EMPTY"
-msgstr "Battery level is empty"
+msgid "WDS_TTS_TBBODY_ROTATE_THE_PS_TO_NAVIGATE_ITEMS"
+msgstr "Rotate the %s to navigate items."
-msgid "IDS_SYSTEM_BATTERY_LOW"
-msgstr "Battery level is low"
+msgid "WDS_TTS_TBBODY_ROTATE_THE_P1SS_TO_ADJUST_P2SS"
+msgstr "Rotate the %1$s to adjust %2$s."
-msgid "IDS_SYSTEM_BATTERY_HIGH"
-msgstr "Battery level is high"
+msgid "WDS_TTS_TBBODY_ROTATE_BEZEL_TO_SEARCH_INDEX"
+msgstr "Rotate bezel to search index."
-msgid "IDS_SYSTEM_BATTERY_FULL"
-msgstr "Battery level is full"
+msgid "WDS_TTS_TBBODY_ROTATE_BEZEL_TO_NAVIGATE_ITEMS"
+msgstr "Rotate bezel to navigate items."
-msgid "IDS_SYSTEM_BATTERY_CRITICAL"
-msgstr "Battery level is critical"
+msgid "WDS_TTS_TBBODY_PROGRESSING"
+msgstr "Progressing"
-msgid "IDS_SYSTEM_BATTERY_INFO_CHARGING"
-msgstr "Charging."
+msgid "WDS_TTS_TBBODY_DOUBLE_TAP_TO_VIEW"
+msgstr "Double tap to view."
-msgid "IDS_SYSTEM_BATTERY_INFO_BATTERY_STR"
-msgstr "Battery"
+msgid "WDS_TTS_TBBODY_DOUBLE_TAP_TO_SEND"
+msgstr "Double tap to send."
-msgid "IDS_SYSTEM_BATTERY_FULLY_CHARGED_STR"
-msgstr "Fully charged"
+msgid "WDS_TTS_TBBODY_DOUBLE_TAP_TO_SELECT_ALL"
+msgstr "Double tap to select all."
-msgid "IDS_SYSTEM_SIGNAL_STRENGTH"
-msgstr "Signal strength equals:"
+msgid "WDS_TTS_TBBODY_DOUBLE_TAP_TO_EDIT"
+msgstr "Double tap to edit."
-msgid "IDS_SYSTEM_SIGNAL_SIMCARD"
-msgstr "Simcard"
+msgid "WDS_TTS_TBBODY_DOUBLE_TAP_TO_DESELECT_ALL"
+msgstr "Double tap to deselect all."
-msgid "IDS_SYSTEM_NETWORK_SERVICE_LTE"
-msgstr "LTE"
+msgid "WDS_TTS_TBBODY_DOUBLE_TAP_TO_CLOSE_THE_POP_UP"
+msgstr "Double tap to close the pop-up."
-msgid "IDS_SYSTEM_NETWORK_SERVICE_HSDPA"
-msgstr "HSDPA"
+msgid "WDS_ST_TPOP_TRIPLE_TAP_SCREEN_WITH_TWO_FINGERS_FOR_SCREEN_READER_SETTINGS_ABB"
+msgstr "Triple tap screen with two fingers for Screen reader settings."
-msgid "IDS_SYSTEM_NETWORK_SERVICE_3G"
-msgstr "3G"
+msgid "WDS_ST_TPOP_SCREEN_READER_WILL_BE_DISABLED_IT_NEEDS_ALL_SOUNDS_TO_BE_TURNED_ON_ABB"
+msgstr "Screen reader will be turned off. It needs all sounds to be turned on."
-msgid "IDS_SYSTEM_NETWORK_SERVICE_EDGE"
-msgstr "EDGE"
+msgid "WDS_ST_TPOP_SCREEN_READER_ONLY_SUPPORTS_C_ABB"
+msgstr "Screen reader only supports:"
-msgid "IDS_SYSTEM_NETWORK_SERVICE_25G"
-msgstr "2.5G"
+msgid "WDS_ST_TPOP_PRESS_AND_HOLD_THE_HOME_KEY_FOR_ACCESSIBILITY_SETTINGS_ABB"
+msgstr "Press and hold the Home key for accessibility settings."
-msgid "IDS_SYSTEM_NETWORK_SERVICE_2G"
-msgstr "2G"
+msgid "WDS_ST_TPOP_NOT_SUPPORTED_AS_A_TTS_LANGUAGE_TAP_OK_TO_DOWNLOAD_IT_ABB"
+msgstr "Not supported as a TTS language. Tap OK to download it."
+
+msgid "WDS_ST_TPOP_NOT_AVAILABLE_SCREEN_READER_IS_ON_ABB"
+msgstr "Not available. Screen reader is on."
+
+msgid "WDS_ST_TPOP_KEEP_THE_SCREEN_TURNED_OFF_ABB"
+msgstr "Keep the screen turned off."
+
+msgid "WDS_PN_OPT_ACCESSIBILITY_ABB"
+msgstr "Accessibility"
+
+msgid "IDS_ST_MBODY_TURN_OFF_ALL_SOUNDS"
+msgstr "Turn off all sounds"
-msgid "IDS_SYSTEM_NETWORK_SERVICE_SEARCHING"
-msgstr "Searching..."
+msgid "IDS_ST_MBODY_NEGATIVE_COLOURS"
+msgstr "Negative colors"
-msgid "IDS_SYSTEM_NETWORK_SERVICE_EMERGENCY"
+msgid "IDS_ST_MBODY_MONO_AUDIO"
+msgstr "Mono audio"
+
+msgid "IDS_ST_MBODY_DIRECT_ACCESS"
+msgstr "Direct access"
+
+msgid "IDS_ST_MBODY_DARK_SCREEN"
+msgstr "Dark screen"
+
+msgid "IDS_ST_HEADER_HEARING"
+msgstr "Hearing"
+
+msgid "IDS_ST_BODY_SWITCH_AUDIO_FROM_STEREO_TO_MONO_FOR_WHEN_YOU_ARE_USING_ONE_EARPHONE_ABB"
+msgstr "Switch audio from stereo to mono for when you are using one earphone."
+
+msgid "IDS_HEALTH_TBBODY_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_QP_MBODY_BATTERY_FULLY_CHARGED_ABB"
+msgstr "Battery fully charged"
+
+msgid "IDS_ST_MBODY_LOW_BATTERY"
+msgstr "Low battery"
+
+msgid "IDS_GCTS_OPT_DEVICES_CONNECTED_TTS"
+msgstr "Devices connected"
+
+msgid "IDS_MSG_TPOP_CHARGER_CONNECTED"
+msgstr "Charger connected."
+
+msgid "IDS_ST_BODY_2G"
+msgstr "2G"
+
+msgid "IDS_AUTO_HEADER_EMERGENCY"
msgstr "Emergency"
-msgid "IDS_SYSTEM_NETWORK_SERVICE_NO_SERVICE"
-msgstr "No service"
+msgid "IDS_ST_BODY_LTE"
+msgstr "LTE"
-msgid "IDS_SYSTEM_NETWORK_SERVICE_UNKNOWN"
-msgstr "Unknown"
+msgid "IDS_COM_POP_CHARGER_DISCONNECTED"
+msgstr "Charger disconnected."
+
+msgid "IDS_SCR_BODY_1_UNREAD_ITEM"
+msgstr "1 unread item"
+
+msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS"
+msgstr "%d unread notifications"
-msgid "IDS_SYSTEM_NETWORK_TYPE_WIFI"
-msgstr "Wi fi"
+msgid "IDS_ST_BODY_SIM"
+msgstr "SIM"
-msgid "IDS_SYSTEM_WIFI_SIGNAL_GOOD"
+msgid "IDS_WIFI_BODY_GOOD"
msgstr "Good"
-msgid "IDS_SYSTEM_WIFI_SIGNAL_MEDIUM"
-msgstr "Medium"
+msgid "IDS_WIFI_SBODY_NO_SIGNAL_DETECTED_M_STATUS_ABB"
+msgstr "No signal detected"
-msgid "IDS_SYSTEM_WIFI_SIGNAL_WEAK"
-msgstr "Weak"
+msgid "IDS_ST_TBOPT_GROUP_INDEX"
+msgstr "Group index"
-msgid "IDS_SYSTEM_WIFI_SIGNAL_POOR"
-msgstr "Poor"
+msgid "DREAM_MSG_TBOPT_CHECK_BOX"
+msgstr "Check box"
-msgid "IDS_SYSTEM_WIFI_SIGNAL_NO_SIGNAL"
-msgstr "No signal"
+msgid "IDS_TPLATFORM_BODY_EXPANDABLE_LIST"
+msgstr "Expandable list"
-msgid "IDS_SYSTEM_NOTIFICATIONS_UNREAD_0"
-msgstr "No event"
+msgid "IDS_BR_BODY_IMAGE_T_TTS"
+msgstr "Image"
-msgid "IDS_SYSTEM_NOTIFICATIONS_UNREAD_1"
-msgstr "1 notification unread"
+msgid "IDS_GCTS_OPT_P1SS_PERCENT_TTS"
+msgstr "%1$s percent"
-msgid "IDS_SYSTEM_NOTIFICATIONS_UNREAD_MANY"
-msgstr "Notifications unread"
+msgid "IDS_GALLERY_OPT_REORDER"
+msgstr "Reorder"
-msgid "IDS_SYSTEM_BT_BLUETOOTH_OFF"
-msgstr "Bluetooth off"
+msgid "IDS_ST_BODY_DOUBLE_TAP_TO_ENTER_TEXT_T_TTS"
+msgstr "Double tap to enter text."
-msgid "IDS_SYSTEM_BT_NO_DEVICES_CONNECTED"
-msgstr "Nothing connected"
+msgid "IDS_IME_BODY_JANUARY"
+msgstr "January"
-msgid "IDS_SYSTEM_BT_DEVICES_CONNECTED_COUNT"
-msgstr "Devices connected"
+msgid "IDS_IME_BODY_FEBRUARY"
+msgstr "February"
-msgid "IDS_TRAIT_TOGGLE_BUTTON_ON"
-msgstr "On"
+msgid "IDS_IME_BODY_MARCH"
+msgstr "March"
-msgid "IDS_TRAIT_TOGGLE_BUTTON_OFF"
-msgstr "Off"
+msgid "IDS_IME_BODY_APRIL"
+msgstr "April"
-msgid "IDS_TRAIT_TOGGLE_BUTTON"
-msgstr "button"
+msgid "IDS_IME_BODY_MAY"
+msgstr "May"
-msgid "IDS_TRAIT_GROUP_INDEX_CHECK_BOX"
-msgstr "The Tick box for the entire group"
+msgid "IDS_IME_BODY_JUNE"
+msgstr "June"
-msgid "IDS_TRAIT_LIST_ITEM_ICON"
-msgstr "icon"
+msgid "IDS_IME_BODY_JULY"
+msgstr "July"
-msgid "IDS_TRAIT_ITEM_SELECTED"
-msgstr "selected"
+msgid "IDS_IME_BODY_AUGUST"
+msgstr "August"
-msgid "IDS_TRAIT_ITEM_SELECTED_IMAGE"
-msgstr "image"
+msgid "IDS_IME_BODY_SEPTEMBER"
+msgstr "September"
-msgid "IDS_TRAIT_ITEM_SELECTED_COUNT"
-msgstr ", %d selected in total"
+msgid "IDS_IME_BODY_OCTOBER"
+msgstr "October"
-msgid "IDS_TRAIT_ITEM_SELECT"
-msgstr "Double tap to select"
+msgid "IDS_IME_BODY_NOVEMBER"
+msgstr "November"
-msgid "IDS_TRAIT_REORDER_ITEM_NAME"
-msgstr "Reorder, Button"
+msgid "IDS_IME_BODY_DECEMBER"
+msgstr "December"
-msgid "IDS_TRAIT_REORDER_ITEM_SELECT"
-msgstr "Double tap and hold, then drag to reorder"
+msgid "IDS_COM_BODY_PM"
+msgstr "PM"
-msgid "IDS_TRAIT_REORDER_DRAG_START"
-msgstr "Started dragging item at position %d"
+msgid "IDS_ST_TBOPT_PD_HOURS"
+msgstr "%d hours"
-msgid "IDS_TRAIT_REORDER_DRAG_STOP"
-msgstr "Item dropped into position %d"
+msgid "IDS_CLOCK_BODY_MINUTES_ABB2"
+msgstr "Minutes"
-msgid "IDS_TRAIT_ITEM_EDIT"
-msgstr "Double tap to edit"
+msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS"
+msgstr "%d selected in total."
-msgid "IDS_PASSWORD_CHARACTER_COUNT"
-msgstr "%d characters"
+msgid "IDS_MUSIC_TBOPT_P1SS_OF_P2SS"
+msgstr "%1$s of %2$s"
-msgid "IDS_SYSTEM_PORTRAIT_VIEW"
-msgstr "Portrait view"
+msgid "MIDS_MH_BODY_BACK_BUTTON_T_TTS"
+msgstr "Back button"
-msgid "IDS_SYSTEM_LANDSCAPE_VIEW"
-msgstr "Landscape view"
+msgid "IDS_ALM_BODY_OFF"
+msgstr "OFF"
-msgid "IDS_SYSTEM_SCREEN_READER_ON"
-msgstr "Screen reader on"
+msgid "IDS_IME_BODY_KEYBOARD_DISPLAYED_T_TTS"
+msgstr "Keyboard shown"
+msgid "IDS_SCR_TBOPT_TICKBOX_FOR_ENTIRE_GROUP"
+msgstr "Tickbox for entire group"
else if (atspi_accessible_get_role(event->source, NULL) == ATSPI_ROLE_WINDOW) {
if (rect) {
if (rect->width > rect->height)
- tts_speak (_("IDS_SYSTEM_LANDSCAPE_VIEW"), EINA_TRUE, tts_data);
+ tts_speak (_("IDS_ACCS_OPT_LANDSCAPE_VIEW_TTS"), EINA_TRUE, tts_data);
else
- tts_speak (_("IDS_SYSTEM_PORTRAIT_VIEW"), EINA_TRUE, tts_data);
+ tts_speak (_("IDS_ACCS_OPT_PORTRAIT_VIEW_TTS"), EINA_TRUE, tts_data);
DEBUG("Window geometry: %d %d", rect->width, rect->height);
}
}
if (get_keyboard_feedback(vconf_data)) {
if (!strcmp(event->type, "object:text-changed:insert") && (atspi_accessible_get_role(event->source, NULL) == ATSPI_ROLE_ENTRY)) {
char buf[256] = "\0";
+ char buf_deleted[256] ="\0";
const gchar *text = NULL;
text = g_value_get_string(&event->any_data);
if ((event->detail2 == 1) && isupper((int)*text)) {
- strncat(buf, _("IDS_CAPITAL"), sizeof(buf) - strlen(buf) - 1);
+ snprintf(buf, sizeof(buf), _("IDS_ACCS_OPT_CAPITAL_PS_TTS"), text);
strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
}
- strncat(buf, text, sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
+ snprintf(buf_deleted, sizeof(buf_deleted), _("IDS_ACCS_TBOPT_PS_DELETED"),"");
+ strncat(buf, buf_deleted, sizeof(buf) - strlen(buf) - 1);
DEBUG("Text Inserted :%s", buf);
tts_speak(buf, EINA_TRUE, tts_data);
}
AtspiText *iface_text = NULL;
text = g_value_get_string(&event->any_data);
if ((event->detail2 == 1) && isupper((int)*text)) {
- strncat(buf, _("IDS_CAPITAL"), sizeof(buf) - strlen(buf) - 1);
+ snprintf(buf, sizeof(buf), _("IDS_ACCS_OPT_CAPITAL_PS_TTS"), text);
strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
}
strncat(buf, text, sizeof(buf) - strlen(buf) - 1);
strncat(buf, " ", sizeof(buf) - strlen(buf) - 1);
- strncat(buf, _("IDS_DELETED"), sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, _("IDS_ACCS_TBOPT_PS_DELETED"), sizeof(buf) - strlen(buf) - 1);
if (event->detail1 == 0) {
iface_text = atspi_accessible_get_text_iface(event->source);
if (iface_text) {
if (etext) {
if (!strcmp(etext, "")) {
strncat(buf, " ", sizeof(buf) - strlen(buf) - 1); //entry should be empty, need to find/get more detail here
- strncat(buf, _("IDS_ALL_CHARACTERS_DELETED"), sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, _("IDS_ACCS_BODY_ALL_CHARACTERS_DELETED_TTS"), sizeof(buf) - strlen(buf) - 1);
}
free(etext);
}
iface_text = atspi_accessible_get_text_iface(event->source);
if (iface_text) {
gint count = atspi_text_get_character_count(iface_text, NULL);
- snprintf(buf, sizeof(buf), _("IDS_PASSWORD_CHARACTER_COUNT"), count);
+ snprintf(buf, sizeof(buf), _("IDS_ACCS_BODY_PD_CHARACTERS_TTS"), count);
g_object_unref(iface_text);
}
tts_speak(buf, EINA_TRUE, tts_data);
char buf[256] = "\0";
gint idx = atspi_accessible_get_index_in_parent(event->source, &err);
if (event->detail1)
- snprintf(buf, sizeof(buf), _("IDS_TRAIT_REORDER_DRAG_START"), idx + 1);
+ snprintf(buf, sizeof(buf), _("IDS_COM_POP_STARTED_DRAGGING_ITEM_AT_POSITION_PD_TTS"), idx + 1);
else
- snprintf(buf, sizeof(buf), _("IDS_TRAIT_REORDER_DRAG_STOP"), idx + 1);
+ snprintf(buf, sizeof(buf), _("IDS_COM_POP_ITEM_DROPPED_INTO_POSITION_PD_TTS"), idx + 1);
tts_speak_customized(buf, EINA_TRUE, EINA_TRUE, event->source, tts_data);
g_error_free(err);
}
strncat(buf, name, sizeof(buf) - strlen(buf) - 1);
strncat(buf, ", ", sizeof(buf) - strlen(buf) - 1);
if (event->detail1)
- strncat(buf, _("IDS_TRAIT_CHECK_BOX_SELECTED"), sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(buf) - strlen(buf) - 1);
else
- strncat(buf, _("IDS_TRAIT_CHECK_BOX_NOT_SELECTED"), sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, _("IDS_ACCS_OPT_NOT_SELECTED_TTS"), sizeof(buf) - strlen(buf) - 1);
tts_speak(buf, EINA_TRUE, tts_data);
g_free(name);
}
int index = atspi_accessible_get_index_in_parent(event->source, NULL);
strncat(buf, name, sizeof(buf) - strlen(buf) - 1);
strncat(buf, ", ", sizeof(buf) - strlen(buf) - 1);
- snprintf(tab_index, sizeof(tab_index), _("IDS_TRAIT_MENU_ITEM_TAB_INDEX"), index + 1, children_count);
+ snprintf(tab_index, sizeof(tab_index), _("IDS_ACCS_BODY_TAB_P1SD_OF_P2SD"), index + 1, children_count);
strncat(buf, tab_index, sizeof(buf) - strlen(buf) - 1);
strncat(buf, ", ", sizeof(buf) - strlen(buf) - 1);
if (event->detail1) {
- strncat(buf, _("IDS_TRAIT_ITEM_SELECTED"), sizeof(buf) - strlen(buf) - 1);
+ strncat(buf, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(buf) - strlen(buf) - 1);
}
- else strncat(buf, _("IDS_TRAIT_ITEM_SELECT"), sizeof(buf) - strlen(buf) - 1);
+ else strncat(buf, _("IDS_ACCS_BODY_DOUBLE_TAP_TO_SELECT_TTS"), sizeof(buf) - strlen(buf) - 1);
tts_speak(buf, EINA_TRUE, tts_data);
}
else if (atspi_accessible_get_role(event->source, NULL) == ATSPI_ROLE_LIST_ITEM && atspi_accessible_get_role(parent, NULL) == ATSPI_ROLE_TREE_TABLE) {
if (event->detail1) {
AtspiStateSet *parent_state_set = atspi_accessible_get_state_set(parent);
bool is_parent_multiselectable = atspi_state_set_contains(parent_state_set, ATSPI_STATE_MULTISELECTABLE);
- snprintf(buf, sizeof(buf), "%s, %s, ", name,_("IDS_TRAIT_ITEM_SELECTED_IMAGE"));
+ snprintf(buf, sizeof(buf), "%s, %s, ", name,_("IDS_BR_BODY_IMAGE_T_TTS"));
AtspiStateSet *state_set = atspi_accessible_get_state_set(event->source);
gboolean is_selected = atspi_state_set_contains(state_set, ATSPI_STATE_SELECTED);
g_object_unref(state_set);
if(is_selected)
- snprintf(buf + strlen(buf), sizeof(buf), "%s, ", _("IDS_TRAIT_ITEM_SELECTED"));
+ snprintf(buf + strlen(buf), sizeof(buf), "%s, ", _("IDS_ACCS_BODY_SELECTED_TTS"));
if(is_parent_multiselectable) {
AtspiSelection *parent_selection = atspi_accessible_get_selection(parent);
int selected_children_count = atspi_selection_get_n_selected_children(parent_selection, NULL);
- snprintf(buf + strlen(buf), sizeof(buf), _("IDS_TRAIT_ITEM_SELECTED_COUNT"), selected_children_count);
+ snprintf(buf + strlen(buf), sizeof(buf), _("IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS"), selected_children_count);
g_object_unref(parent_selection);
}
else {
- snprintf(buf + strlen(buf), sizeof(buf), _("IDS_TRAIT_ITEM_SELECTED"));
+ snprintf(buf + strlen(buf), sizeof(buf), _("IDS_ACCS_BODY_SELECTED_TTS"));
}
tts_speak(buf, EINA_TRUE, tts_data);
g_object_unref(parent_state_set);
}
}
- else strncat(buf, _("IDS_TRAIT_ITEM_SELECT"), sizeof(buf) - strlen(buf) - 1);
+ else strncat(buf, _("IDS_ACCS_BODY_DOUBLE_TAP_TO_SELECT_TTS"), sizeof(buf) - strlen(buf) - 1);
tts_speak(buf, EINA_TRUE, tts_data);
g_free(name);
g_object_unref(parent);
stroke->id, stroke->event_string,stroke->type,stroke->hw_code, stroke->modifiers, stroke->timestamp);
if (!strcmp(stroke->event_string, "XF86Back")) {
- tts_speak(_("IDS_BACK_BUTTON"), EINA_TRUE, sd->tts_data);
+ tts_speak(_("MIDS_MH_BODY_BACK_BUTTON_T_TTS"), EINA_TRUE, sd->tts_data);
return TRUE;
} else
return FALSE;
return;
if (keyboard_state == VCONFKEY_ISF_INPUT_PANEL_STATE_SHOW) {
- tts_speak (_("IDS_KEYBOARD_SHOWN"), EINA_FALSE, sd->tts_data);
+ tts_speak (_("IDS_IME_BODY_KEYBOARD_DISPLAYED_T_TTS"), EINA_FALSE, sd->tts_data);
DEBUG("tts_speak Keyboard shown\n");
ktd->prev_keyboard_state = keyboard_state;
} else if (keyboard_state == VCONFKEY_ISF_INPUT_PANEL_STATE_HIDE) {
- tts_speak (_("IDS_KEYBOARD_HIDDEN"), EINA_FALSE, sd->tts_data);
+ tts_speak (_("IDS_ACCS_BODY_KEYBOARD_HIDDEN_TTS"), EINA_FALSE, sd->tts_data);
DEBUG("tts_speak keyboard hidden\n");
ktd->prev_keyboard_state = keyboard_state;
}
screen_reader_switch_enabled_set(EINA_TRUE);
screen_reader_switch_wm_enabled_set(EINA_TRUE);
- tts_speak_customized(_("IDS_SYSTEM_SCREEN_READER_ON"), EINA_TRUE, EINA_FALSE, NULL, sd->tts_data);
-
DEBUG("[END]");
return 0;
}
}
if (!widget_has_state(obj, ATSPI_STATE_ENABLED)) {
strncat(ret, ", ", sizeof(ret) - strlen(ret) - 1);
- strncat(ret, _("IDS_TRAIT_DISABLED"), sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, _("IDS_ACCS_BODY_DISABLED_TTS"), sizeof(ret) - strlen(ret) - 1);
}
SCREEN_READER_SAFE_FREE(state_from_role, free);
}
gchar *text = atspi_text_get_text(text_interface, 0, 1, NULL);
DEBUG("SPEAK:%s", text);
tts_speak_customized(text, EINA_TRUE, EINA_TRUE, nd->current_obj, tts_data);
- tts_speak_customized(_("IDS_TEXT_BEGIN"), EINA_FALSE, EINA_TRUE, nd->current_obj, tts_data);
g_free(text);
} else {
ERROR("Caret position increment error");
ret = atspi_text_set_caret_offset(text_interface, len, &err);
if (ret) {
DEBUG("Caret position increment done");
- DEBUG("SPEAK:%s", _("IDS_TEXT_END"));
- tts_speak_customized(_("IDS_TEXT_END"), EINA_TRUE, EINA_TRUE, nd->current_obj, tts_data);
} else
ERROR("Caret position to end error");
g_object_unref(text_interface);
DEBUG("Current caret position:%d", offset_pos);
DEBUG("Current caret offset:%d", current_offset);
if (offset_pos == atspi_text_get_character_count(text_interface, NULL)) {
- DEBUG("SPEAK:%s", _("IDS_TEXT_END"));
- tts_speak_customized(_("IDS_TEXT_END"), EINA_FALSE, EINA_TRUE, nd->current_obj, tts_data);
} else {
DEBUG("SPEAK:%s", text);
tts_speak_customized(text, EINA_TRUE, EINA_TRUE, nd->current_obj, tts_data);
DEBUG("SPEAK:%s", text);
tts_speak_customized(text, EINA_TRUE, EINA_TRUE, nd->current_obj, tts_data);
g_free(text);
- if (offset_pos == 0) {
- DEBUG("SPEAK:%s", _("IDS_TEXT_BEGIN"));
- tts_speak_customized(_("IDS_TEXT_BEGIN"), EINA_FALSE, EINA_TRUE, nd->current_obj, tts_data);
- }
}
else
ERROR("Caret position decrement error");
#endif
#define BUF_SIZE 1024
+#define SCREEN_READER_STATUS_TXT_SIZE 255
Service_Data service_data = {
.navigator_data = NULL,
service_data->vconf_data = vconf_init();
service_data->tts_data = tts_init();
+#ifndef SCREEN_READER_TV
+ char buf[SCREEN_READER_STATUS_TXT_SIZE] = "";
+ snprintf(buf, SCREEN_READER_STATUS_TXT_SIZE, "%s %s",_("IDS_ST_MBODY_SCREEN_READER_HTTS"), _("IDS_MSG_BODY_ON_T_TTS"));
+ tts_speak_customized(buf, EINA_TRUE, EINA_FALSE, NULL, service_data->tts_data);
+#endif
+
#ifdef SCREEN_READER_TV
+
service_data->spi_data = spi_init(service_data);
#endif
DEBUG("[END]");
}
if (status == DEVICE_BATTERY_LEVEL_LOW) {
- tts_speak(_("IDS_SYSTEM_BATTERY_LOW"), EINA_TRUE, tts_data);
+ tts_speak(_("IDS_ST_MBODY_LOW_BATTERY"), EINA_TRUE, tts_data);
} else if (status == DEVICE_BATTERY_LEVEL_CRITICAL) {
- tts_speak(_("IDS_SYSTEM_BATTERY_CRITICAL"), EINA_TRUE, tts_data);
+ tts_speak(_("IDS_COM_HEADER_BATTERY_CRITICALLY_LOW"), EINA_TRUE, tts_data);
} else if (status == DEVICE_BATTERY_LEVEL_FULL) {
- tts_speak(_("IDS_SYSTEM_BATTERY_FULL"), EINA_TRUE, tts_data);
+ tts_speak(_("IDS_QP_MBODY_BATTERY_FULLY_CHARGED_ABB"), EINA_TRUE, tts_data);
}
} else if (type == DEVICE_CALLBACK_BATTERY_CHARGING) {
bool charging;
}
if (!charging)
- tts_speak(_("IDS_SYSTEM_NOT_CHARGING"), EINA_FALSE, tts_data);
+ tts_speak(_("IDS_COM_POP_CHARGER_DISCONNECTED"), EINA_FALSE, tts_data);
} else if (type == DEVICE_CALLBACK_DISPLAY_STATE) {
display_state_e state;
}
if (state == DISPLAY_STATE_NORMAL) {
- tts_speak(_("IDS_SYSTEM_SCREEN_ON"), EINA_FALSE, tts_data);
+ tts_speak(_("IDS_ACCS_TBBODY_SCREEN_TURNED_ON"), EINA_FALSE, tts_data);
} else if (state == DISPLAY_STATE_SCREEN_OFF) {
- tts_speak(_("IDS_SYSTEM_SCREEN_OFF"), EINA_FALSE, tts_data);
+ tts_speak(_("IDS_GCTS_OPT_SCREEN_TURNED_OFF_TTS"), EINA_FALSE, tts_data);
}
}
}
break;
default:
- return _("IDS_SYSTEM_NETWORK_SERVICE_UNKNOWN");
+ return _("IDS_WIFI_BODY_UNKNOWN");
break;
}
}
}
if (is_charging) {
- charging_text = _("IDS_SYSTEM_BATTERY_INFO_CHARGING");
+ charging_text = _("IDS_ST_MBODY_CHARGING");
} else {
charging_text = "";
}
}
if (percent == 100) {
- ret = asprintf(&buffer, "%s %s", charging_text, _("IDS_SYSTEM_BATTERY_FULLY_CHARGED_STR"));
+ ret = asprintf(&buffer, "%s %s", charging_text, _("IDS_QP_MBODY_BATTERY_FULLY_CHARGED_ABB"));
if (ret == 0) {
free(buffer);
ERROR("Buffer length == 0");
return;
}
} else {
- ret = asprintf(&buffer, "%s %d %% %s", charging_text, percent, _("IDS_SYSTEM_BATTERY_INFO_BATTERY_STR"));
+ ret = asprintf(&buffer, _("IDS_ACCS_TBBODY_CHARGING_P1SS_BATTERY_POWER_P2SS_PERCENT"), charging_text, percent);
if (ret == 0) {
free(buffer);
ERROR("Buffer length == 0");
}
if (sim_card_count > 1)
- eina_strbuf_append_printf(str_buf, "%s %d %s %d; ", _("IDS_SYSTEM_SIGNAL_SIMCARD"), i + 1, _("IDS_SYSTEM_SIGNAL_STRENGTH"), val);
+ eina_strbuf_append_printf(str_buf, "%s %d %s %d; ", _("IDS_ST_BODY_SIM"), i + 1, _("IDS_ACCS_BODY_SIGNAL_STRENGTH_TTS"), val);
else
- eina_strbuf_append_printf(str_buf, "%s %d; ", _("IDS_SYSTEM_SIGNAL_STRENGTH"), val);
+ eina_strbuf_append_printf(str_buf, "%s %d; ", _("IDS_ACCS_BODY_SIGNAL_STRENGTH_TTS"), val);
DEBUG("sim: %d TAPI_PROP_NETWORK_SIGNALSTRENGTH_LEVEL %d", i, val);
int service_type = TAPI_NETWORK_SERVICE_TYPE_UNKNOWN;
char *service_type_text = NULL;
switch (service_type) {
case TAPI_NETWORK_SERVICE_TYPE_UNKNOWN:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_UNKNOWN");
+ service_type_text = _("IDS_WIFI_BODY_UNKNOWN");
break;
case TAPI_NETWORK_SERVICE_TYPE_NO_SERVICE:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_NO_SERVICE");
+ service_type_text = _("IDS_COM_BODY_NO_SERVICE");
break;
case TAPI_NETWORK_SERVICE_TYPE_EMERGENCY:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_EMERGENCY");
+ service_type_text = _("IDS_AUTO_HEADER_EMERGENCY");
break;
case TAPI_NETWORK_SERVICE_TYPE_SEARCH:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_SEARCHING");
+ service_type_text = _("IDS_COM_BODY_SEARCHING");
break;
case TAPI_NETWORK_SERVICE_TYPE_2G:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_2G");
- break;
-
- case TAPI_NETWORK_SERVICE_TYPE_2_5G:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_25G");
- break;
-
- case TAPI_NETWORK_SERVICE_TYPE_2_5G_EDGE:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_EDGE");
+ service_type_text = _("IDS_ST_BODY_2G");
break;
case TAPI_NETWORK_SERVICE_TYPE_3G:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_3G");
- break;
-
- case TAPI_NETWORK_SERVICE_TYPE_HSDPA:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_HSDPA");
+ service_type_text = _("IDS_ACCS_BODY_3G_TTS");
break;
case TAPI_NETWORK_SERVICE_TYPE_LTE:
- service_type_text = _("IDS_SYSTEM_NETWORK_SERVICE_LTE");
+ service_type_text = _("IDS_ST_BODY_LTE");
break;
}
}
if (!ap) {
- DEBUG("Text to say: %s %s", _("IDS_SYSTEM_NETWORK_TYPE_WIFI"), "Not connected");
+ DEBUG("Text to say: %s %s", _("IDS_ACCS_BODY_WI_FI_TTS"), "Not connected");
char *buffer = NULL;
- ret = asprintf(&buffer, " %s, %s", _("IDS_SYSTEM_NETWORK_TYPE_WIFI"), "Not connected");
+ ret = asprintf(&buffer, " %s, %s", _("IDS_ACCS_BODY_WI_FI_TTS"), "Not connected");
if (ret == 0) {
free(buffer);
ERROR("Buffer length == 0");
return;
}
- if (ret < 0) {
- ERROR("Buffer == NULL");
- return;
- }
tts_speak(buffer, EINA_FALSE, tts_data);
free(buffer);
char *wifi_text = NULL;
switch (val) {
case 0:
- wifi_text = _("IDS_SYSTEM_WIFI_SIGNAL_NO_SIGNAL");
- break;
-
- case 1:
- wifi_text = _("IDS_SYSTEM_WIFI_SIGNAL_POOR");
+ wifi_text = _("IDS_WIFI_SBODY_NO_SIGNAL_DETECTED_M_STATUS_ABB");
break;
case 2:
- wifi_text = _("IDS_SYSTEM_WIFI_SIGNAL_WEAK");
- break;
-
- case 3:
- wifi_text = _("IDS_SYSTEM_WIFI_SIGNAL_MEDIUM");
+ wifi_text = _("IDS_ACCS_BODY_WI_FI_SIGNAL_WEAK_M_STATUS_TTS");
break;
case 4:
- wifi_text = _("IDS_SYSTEM_WIFI_SIGNAL_GOOD");
+ wifi_text = _("IDS_WIFI_BODY_GOOD");
break;
}
char *buffer = NULL;
- int ret = asprintf(&buffer, " %s, %s", _("IDS_SYSTEM_NETWORK_TYPE_WIFI"), wifi_text);
+ int ret = asprintf(&buffer, " %s, %s", _("IDS_ACCS_BODY_WI_FI_TTS"), wifi_text);
if (ret == 0) {
ERROR("buffer length == 0");
wifi_ap_destroy(ap);
}
if (noti_count == 0)
- tts_speak(_("IDS_SYSTEM_NOTIFICATIONS_UNREAD_0"), EINA_FALSE, tts_data);
+ tts_speak(_("IDS_GCTS_OPT_NO_EVENTS_TTS"), EINA_FALSE, tts_data);
else if (noti_count == 1)
- tts_speak(_("IDS_SYSTEM_NOTIFICATIONS_UNREAD_1"), EINA_FALSE, tts_data);
+ tts_speak(_("IDS_SCR_BODY_PD_UNREAD_ITEMS"), 1, tts_data);
else {
- DEBUG("%d %s", noti_count, _("IDS_SYSTEM_NOTIFICATIONS_UNREAD_MANY"));
+ DEBUG("%d %s", _("IDS_SCR_BODY_PD_UNREAD_ITEMS"), noti_count);
char *buffer = NULL;
- if (asprintf(&buffer, "%d %s", noti_count, _("IDS_SYSTEM_NOTIFICATIONS_UNREAD_MANY")) < 0)
+ if (asprintf(&buffer, "%d %s", _("noti_count"), noti_count) < 0)
ERROR("failed to allocate memory");
if (buffer) {
}
if (adapter_state == BT_ADAPTER_DISABLED) {
- DEBUG("Text to say: %s", _("IDS_SYSTEM_BT_BLUETOOTH_OFF"));
- tts_speak(_("IDS_SYSTEM_BT_BLUETOOTH_OFF"), EINA_FALSE, tts_data);
+ char buf[255];
+ snprintf(buf, sizeof(buf),"%s %s",_("IDS_BT_BODY_BLUETOOTH"), _("IDS_ALM_BODY_OFF"));
+ DEBUG("Text to say: %s", buf);
+ tts_speak(buf, EINA_FALSE, tts_data);
return;
} else {
bt_adapter_foreach_bonded_device(bonded_device_count_cb, (void *)&device_count);
if (device_count == 0) {
- if (!asprintf(&buffer, _("IDS_SYSTEM_BT_NO_DEVICES_CONNECTED"))) {
+ if (!asprintf(&buffer, _("IDS_BT_BODY_NO_DEVICES_FOUND_ABB"))) {
ERROR("buffer length == 0");
}
} else if (device_count == 1) {
bt_adapter_foreach_bonded_device(bonded_device_get_cb, &buffer);
} else {
- if (asprintf(&buffer, "%d %s", device_count, _("IDS_SYSTEM_BT_DEVICES_CONNECTED_COUNT"))) {
+ if (asprintf(&buffer, "%d %s", device_count, _("IDS_GCTS_OPT_DEVICES_CONNECTED_TTS"))) {
ERROR("buffer length == 0");
}
}
case ATSPI_ROLE_ENTRY:
case ATSPI_ROLE_PASSWORD_TEXT: {
if (atspi_state_set_contains(state_set, ATSPI_STATE_FOCUSED))
- strncpy(ret, _("IDS_TRAIT_TEXT_EDIT_FOCUSED"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ST_BODY_EDITING_T_TTS"), sizeof(ret) - strlen(ret) - 1);
else
- strncpy(ret, _("IDS_TRAIT_TEXT_EDIT"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ST_BODY_DOUBLE_TAP_TO_ENTER_TEXT_T_TTS"), sizeof(ret) - strlen(ret) - 1);
break;
}
case ATSPI_ROLE_MENU_ITEM: {
AtspiSelection* selection = atspi_accessible_get_selection_iface(parent);
gboolean is_selected = atspi_selection_is_child_selected(selection, index, &err);
GERROR_CHECK(err);
- snprintf(ret, sizeof(ret), _("IDS_TRAIT_MENU_ITEM_TAB_INDEX"), index + 1, children_count);
+ snprintf(ret, sizeof(ret), _("IDS_ACCS_BODY_TAB_P1SD_OF_P2SD"), index + 1, children_count);
if (!is_selected)
- snprintf(ret + strlen(ret), sizeof(ret), ", %s", _("IDS_TRAIT_ITEM_SELECT"));
+ snprintf(ret + strlen(ret), sizeof(ret), ", %s", _("IDS_ACCS_BODY_DOUBLE_TAP_TO_SELECT_TTS"));
g_object_unref(selection);
}
g_object_unref(parent);
AtspiRole parent_role = atspi_accessible_get_role(parent, NULL);
AtspiStateSet *parent_state_set = atspi_accessible_get_state_set(parent);
if (parent_role == ATSPI_ROLE_TREE_TABLE) {
- strncat(ret, _("IDS_TRAIT_ITEM_SELECTED_IMAGE"), sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, _("IDS_BR_BODY_IMAGE_T_TTS"), sizeof(ret) - strlen(ret) - 1);
AtspiStateSet *parent_state_set = atspi_accessible_get_state_set(parent);
bool is_parent_multiselectable = atspi_state_set_contains(parent_state_set, ATSPI_STATE_MULTISELECTABLE);
if (is_parent_multiselectable) {
AtspiSelection *parent_selection = atspi_accessible_get_selection(parent);
int selected_children_count = atspi_selection_get_n_selected_children(parent_selection, NULL);
- snprintf(ret + strlen(ret), sizeof(ret), _("IDS_TRAIT_ITEM_SELECTED_COUNT"), selected_children_count);
+ snprintf(ret + strlen(ret), sizeof(ret), _("IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS"), selected_children_count);
g_object_unref(parent_selection);
}
}
else if (!atspi_state_set_contains(state_set, ATSPI_STATE_EXPANDABLE)
&& (atspi_state_set_contains(state_set, ATSPI_STATE_EXPANDED) || atspi_state_set_contains(state_set, ATSPI_STATE_COLLAPSED))) {
+ strncpy(ret, _("IDS_AM_OPT_HEADER_TTS"), sizeof(ret) - strlen(ret) - 1);
//ELM_GENLIST_ITEM_GROUP
GError *err = NULL;
int children_count = atspi_accessible_get_child_count(obj, &err);
AtspiRole child_role = atspi_accessible_get_role(child_iter, &err);
GERROR_CHECK(err);
if (child_role == ATSPI_ROLE_CHECK_BOX) {
- strncpy(ret, _("IDS_TRAIT_GROUP_INDEX_IN_CHECK_BOX"), sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, ", ", sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, _("IDS_SCR_TBOPT_TICKBOX_FOR_ENTIRE_GROUP"), sizeof(ret) - strlen(ret) - 1);
g_object_unref(child_iter);
break;
}
}
else if (atspi_state_set_contains(state_set, ATSPI_STATE_EXPANDABLE)) {
//ELM_GENLIST_ITEM_TREE
- if (atspi_state_set_contains(state_set, ATSPI_STATE_EXPANDED))
- strncpy(ret, _("IDS_TRAIT_GROUP_INDEX_EXPANDED"), sizeof(ret) - strlen(ret) - 1);
- else
- strncpy(ret, _("IDS_TRAIT_GROUP_INDEX_COLLAPSED"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_TPLATFORM_BODY_EXPANDABLE_LIST"), sizeof(ret) - strlen(ret) - 1);
+ if (atspi_state_set_contains(state_set, ATSPI_STATE_EXPANDED)) {
+ strncat(ret, ", ", sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, _IGNORE_ON_TV("IDS_ACCS_BODY_DOUBLE_TAP_TO_COLLAPSE_THE_LIST_T_TTS"), sizeof(ret) - strlen(ret) - 1);
+ } else {
+ strncat(ret, ", ", sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, _IGNORE_ON_TV("IDS_ACCS_BODY_DOUBLE_TAP_TO_EXPAND_THE_LIST_T_TTS"), sizeof(ret) - strlen(ret) - 1);
+ }
}
else if (atspi_state_set_contains(parent_state_set, ATSPI_STATE_ANIMATED)) {
- strncpy(ret, _("IDS_TRAIT_REORDER_ITEM_SELECT"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_BR_BODY_DOUBLE_TAP_AND_HOLD_THEN_DRAG_TO_REORDER_TTS"), sizeof(ret) - strlen(ret) - 1);
}
g_object_unref(parent_state_set);
g_object_unref(parent);
break;
}
case ATSPI_ROLE_POPUP_MENU: {
- if (!widget_has_action(obj, "activate"))
+ AtspiAccessible *parent = atspi_accessible_get_parent(obj, NULL);
+ if (parent == NULL)
break;
- AtspiAccessible *parent = atspi_accessible_get_parent(obj, NULL);
AtspiRole parent_role = atspi_accessible_get_role(parent, NULL);
+
if (parent_role == ATSPI_ROLE_COMBO_BOX) {
g_object_unref(parent);
break;
}
- strncpy(ret, _("IDS_TRAIT_POPUP_CLOSE"), sizeof(ret) - strlen(ret) - 1);
+ int children_count = atspi_accessible_get_child_count(obj, NULL);
+ snprintf(ret, sizeof(ret), _("IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS"), children_count);
+
g_object_unref(parent);
break;
}
case ATSPI_ROLE_DIALOG: {
AtspiAccessible *parent = atspi_accessible_get_parent(obj, NULL);
- strncpy(ret, _("IDS_TRAIT_POPUP_CLOSE"), sizeof(ret) - strlen(ret) - 1);
+ int children_count = atspi_accessible_get_child_count(obj, NULL);
+ if (children_count > 0)
+ snprintf(ret, sizeof(ret), _("IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS"), children_count);
g_object_unref(parent);
break;
}
case ATSPI_ROLE_COMBO_BOX:
case ATSPI_ROLE_GLASS_PANE: {
- strncpy(ret, _("IDS_TRAIT_PD_HOVERSEL_OPEN"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ST_BODY_DOUBLE_TAP_TO_OPEN_THE_MENU_T_TTS"), sizeof(ret) - strlen(ret) - 1);
break;
}
case ATSPI_ROLE_CHECK_BOX:
AtspiAccessible *parent;
parent = atspi_accessible_get_parent(obj, NULL);
if (!atspi_state_set_contains(state_set, ATSPI_STATE_CHECKED) && atspi_state_set_contains(state_set, ATSPI_STATE_EDITABLE))
- strncpy(ret, _("IDS_TRAIT_ITEM_EDIT"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("WDS_TTS_TBBODY_DOUBLE_TAP_TO_EDIT"), sizeof(ret) - strlen(ret) - 1);
g_object_unref(parent);
//Role name should not be read for radio button, color selector, multibuttonentry items
break;
}
case ATSPI_ROLE_PROGRESS_BAR: {
- strncpy(ret, _("IDS_TRAIT_PD_PROGRESSBAR"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ACCS_TBBODY_IN_PROGRESS"), sizeof(ret) - strlen(ret) - 1);
break;
}
case ATSPI_ROLE_SLIDER: {
if (atspi_state_set_contains(state_set, ATSPI_STATE_ENABLED))
- strncpy(ret, _("IDS_TRAIT_SLIDER_SWIPE_COMMUNICATE"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_TPLATFORM_BODY_FLICK_UP_AND_DOWN_TO_ADJUST_THE_POSITION_T_TTS"), sizeof(ret) - strlen(ret) - 1);
break;
}
default:
gboolean is_selected = atspi_state_set_contains(state_set, ATSPI_STATE_SELECTED);
if (is_selected)
- strncpy(ret, _("IDS_TRAIT_ITEM_SELECTED"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(ret) - strlen(ret) - 1);
}
break;
g_object_unref(parent);
if (atspi_state_set_contains(state_set, ATSPI_STATE_CHECKED))
- strncpy(ret, _("IDS_TRAIT_CHECK_BOX_SELECTED"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(ret) - strlen(ret) - 1);
else if (!atspi_state_set_contains(state_set, ATSPI_STATE_EDITABLE) && (parent_role != ATSPI_ROLE_COLOR_CHOOSER))
- strncpy(ret, _("IDS_TRAIT_CHECK_BOX_NOT_SELECTED"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ACCS_OPT_NOT_SELECTED_TTS"), sizeof(ret) - strlen(ret) - 1);
//Role name should not be read for radio button, color selector, multibuttonentry items
break;
}
case ATSPI_ROLE_TOGGLE_BUTTON: {
if (atspi_state_set_contains(state_set, ATSPI_STATE_CHECKED))
- strncpy(ret, _("IDS_TRAIT_TOGGLE_BUTTON_ON"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_MSG_BODY_ON_T_TTS"), sizeof(ret) - strlen(ret) - 1);
else
- strncpy(ret, _("IDS_TRAIT_TOGGLE_BUTTON_OFF"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_STORYALBUM_BODY_OFF_T_TTS"), sizeof(ret) - strlen(ret) - 1);
break;
}
case ATSPI_ROLE_RADIO_MENU_ITEM: {
- strncpy(ret, _("IDS_TRAIT_CHECK_BOX_SELECTED"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ACCS_BODY_SELECTED_TTS"), sizeof(ret) - strlen(ret) - 1);
break;
}
AtspiValue *value_iface;
double val;
double max_val;
+ double min_val;
+ int percent;
char trait[HOVERSEL_TRAIT_SIZE] = "";
- int accuracy;
+ char buf_percent[64] = "";
role_name = atspi_accessible_get_localized_role_name(obj, NULL);
if (role_name) {
return;
}
- accuracy = calculate_significant_positions(atspi_value_get_minimum_increment(value_iface, NULL), 3 );
val = atspi_value_get_current_value(value_iface, NULL);
max_val = atspi_value_get_maximum_value(value_iface, NULL);
- snprintf(trait, HOVERSEL_TRAIT_SIZE, _("IDS_TRAIT_SLIDER_VALUE"), accuracy, val, accuracy, max_val);
- strncat(dest, trait, dest_size - strlen(dest) - 1);
-
+ min_val = atspi_value_get_minimum_value(value_iface, NULL);
+ if (max_val - min_val) {
+ percent = ((val - min_val) / fabs(max_val - min_val)) * 100;
+ snprintf(buf_percent, sizeof(buf_percent), "%d", percent);
+ snprintf(trait, HOVERSEL_TRAIT_SIZE, _("IDS_GCTS_OPT_P1SS_PERCENT_TTS"), buf_percent);
+ strncat(dest, trait, dest_size - strlen(dest) - 1);
+ }
g_object_unref(value_iface);
}
return strdup("");
AtspiRole role = atspi_accessible_get_role(obj, NULL);
- char ret[TTS_MAX_TEXT_SIZE] = { [TTS_MAX_TEXT_SIZE - 1] = 0 };
+ char ret[TTS_MAX_TEXT_SIZE];
+ memset (ret, 0, TTS_MAX_TEXT_SIZE);
switch (role) {
case ATSPI_ROLE_ENTRY:
}
case ATSPI_ROLE_COMBO_BOX: {
int children_count = atspi_accessible_get_child_count(obj, NULL);
- snprintf(ret, sizeof(ret), _("IDS_TRAIT_PD_HOVERSEL"), children_count);
+ char buf[TTS_MAX_TEXT_SIZE] ="";
+ snprintf(ret, sizeof(ret), _("IDS_ACCS_BODY_DROPDOWN_LIST_TTS"));
+ snprintf(buf, sizeof(buf), _("IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS"),children_count);
+ strncat(ret, " ", sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, buf, sizeof(ret) - strlen(ret) - 1);
break;
}
case ATSPI_ROLE_GLASS_PANE: {
AtspiAccessible *parent = atspi_accessible_get_parent(obj, NULL);
int children_count = atspi_accessible_get_child_count(parent, NULL);
- snprintf(ret, sizeof(ret), _("IDS_TRAIT_PD_HOVERSEL"), children_count);
+ char buf[TTS_MAX_TEXT_SIZE] ="";
+ snprintf(ret, sizeof(ret), _("IDS_ACCS_BODY_DROPDOWN_LIST_TTS"));
+ snprintf(buf, sizeof(buf), _("IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS"),children_count);
+ strncat(ret, " ", sizeof(ret) - strlen(ret) - 1);
+ strncat(ret, buf, sizeof(ret) - strlen(ret) - 1);
g_object_unref(parent);
break;
}
AtspiAccessible *parent = atspi_accessible_get_parent(obj, NULL);
AtspiStateSet *parent_state_set = atspi_accessible_get_state_set(parent);
if (atspi_state_set_contains(parent_state_set, ATSPI_STATE_ANIMATED)) {
- strncpy(ret, _("IDS_TRAIT_REORDER_ITEM_NAME"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_GALLERY_OPT_REORDER"), sizeof(ret) - strlen(ret) - 1);
}
g_object_unref(parent_state_set);
g_object_unref(parent);
break;
}
case ATSPI_ROLE_PUSH_BUTTON: {
- strncpy(ret, _("IDS_TRAIT_PUSH_BUTTON"), sizeof(ret) - strlen(ret) - 1);
+ strncpy(ret, _("IDS_ACCS_BODY_BUTTON_TTS"), sizeof(ret) - strlen(ret) - 1);
break;
}
case ATSPI_ROLE_PROGRESS_BAR: {
AtspiValue *value = atspi_accessible_get_value_iface(obj);
if (value) {
double val = atspi_value_get_current_value(value, NULL);
- if (val > 0)
- snprintf(ret, sizeof(ret), _("IDS_TRAIT_PD_PROGRESSBAR_PERCENT"), val * 100);
+ if (val > 0) {
+ char buf[64];
+ snprintf(buf, sizeof(buf), "%.0f", val * 100);
+ snprintf(ret, sizeof(ret), _("IDS_GCTS_OPT_P1SS_PERCENT_TTS"), buf);
+ }
g_object_unref(value);
}
break;
}
case ATSPI_ROLE_TOGGLE_BUTTON: {
- snprintf(ret, sizeof(ret), "%s", _("IDS_TRAIT_TOGGLE_BUTTON"));
+ snprintf(ret, sizeof(ret), "%s", _("IDS_ACCS_BODY_BUTTON_TTS"));
break;
}
case ATSPI_ROLE_SLIDER: {
if (!strcmp(event->type, "object:scroll-start")) {
DEBUG("Scrolling started");
- tts_speak_customized(_("IDS_SCROLLING_STARTED"), EINA_TRUE, EINA_TRUE, event->source, tts_data);
} else if (!strcmp(event->type, "object:scroll-end")) {
DEBUG("Scrolling finished");
- tts_speak_customized(_("IDS_SCROLLING_FINISHED"), EINA_FALSE, EINA_TRUE, event->source, tts_data);
get_realized_items_count((AtspiAccessible *) event->source, &start_index, &end_index);
_handle_realized_items(start_index, end_index, tts_data);
}
return;
DEBUG(RED "Smart notification - Visible items notification" RESET);
-
- char buf[256];
-
- snprintf(buf, sizeof(buf), _("IDS_REACHED_ITEMS_NOTIFICATION"), start_idx, end_idx);
-
- tts_speak(buf, EINA_FALSE, tts_data);
}
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_FOCUSED)).WillOnce(Return(true));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_TEXT_EDIT_FOCUSED");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_ST_BODY_EDITING_T_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, EntryOrPasswordTextNotFocused) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_FOCUSED)).WillOnce(Return(false));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_TEXT_EDIT");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_ST_BODY_DOUBLE_TAP_TO_ENTER_TEXT_T_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, MenuItemNoToolbar) {
EXPECT_FUNCTION_CALL(m_atspi_selection_is_child_selected, (_, _, _)).WillOnce(Return(true));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_MENU_ITEM_TAB_INDEX");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_ACCS_BODY_TAB_P1SD_OF_P2SD");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, MenuItemWithToolbarNotSelected) {
EXPECT_FUNCTION_CALL(m_atspi_selection_is_child_selected, (_, _, _)).WillOnce(Return(false));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_MENU_ITEM_TAB_INDEX, IDS_TRAIT_ITEM_SELECT");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_ACCS_BODY_TAB_P1SD_OF_P2SD, IDS_ACCS_BODY_DOUBLE_TAP_TO_SELECT_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, ListItemNoAdditionalRole) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_state_set, (parent_)).Times(2);
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (_, ATSPI_STATE_MULTISELECTABLE)).WillOnce(Return(false));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_ITEM_SELECTED_IMAGE");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_BR_BODY_IMAGE_T_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, ListItemParentIsTreeTableAndMultiselectable) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_selection, (parent_)).Times(1);
EXPECT_FUNCTION_CALL(m_atspi_selection_get_n_selected_children, (_, nullptr)).Times(1);
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_ITEM_SELECTED_IMAGEIDS_TRAIT_ITEM_SELECTED_COUNT");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_BR_BODY_IMAGE_T_TTSIDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, ListItemNotExpandable) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_child_at_index, (obj_, 0, _)).WillOnce(Return(childIter));
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_role, (childIter, _)).WillOnce(Return(ATSPI_ROLE_CHECK_BOX));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_GROUP_INDEX_IN_CHECK_BOX");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_AM_OPT_HEADER_TTS, IDS_SCR_TBOPT_TICKBOX_FOR_ENTIRE_GROUP");
delete childIter;
}
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_EXPANDABLE)).WillRepeatedly(Return(true));
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_EXPANDED)).WillOnce(Return(true));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_GROUP_INDEX_EXPANDED");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_TPLATFORM_BODY_EXPANDABLE_LIST, IDS_ACCS_BODY_DOUBLE_TAP_TO_COLLAPSE_THE_LIST_T_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, ListItemExpandableAndNotExpanded) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_EXPANDABLE)).WillRepeatedly(Return(true));
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_EXPANDED)).WillOnce(Return(false));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_GROUP_INDEX_COLLAPSED");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_TPLATFORM_BODY_EXPANDABLE_LIST, IDS_ACCS_BODY_DOUBLE_TAP_TO_EXPAND_THE_LIST_T_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, ListItemAnimated) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_ANIMATED)).WillOnce(Return(true));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_REORDER_ITEM_SELECT");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_BR_BODY_DOUBLE_TAP_AND_HOLD_THEN_DRAG_TO_REORDER_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, PopupMenu) {
AtspiAccessible *obj_ = GetAtspiAccessibleObject();
CallGeneralDependencies(ATSPI_ROLE_POPUP_MENU, stateSet_);
- EXPECT_FUNCTION_CALL(m_widget_has_action, (obj_, _)).WillOnce(Return(true));
-
NewParentObject();
CallParentWithRoleDependencies();
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_POPUP_CLOSE");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, Dialog) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_parent, (obj_, _)).Times(1);
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_POPUP_CLOSE");
+ EXPECT_STREQ(generate_description_trait(obj_), "");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, ComboBoxOrGlassPane) {
CallGeneralDependencies(ATSPI_ROLE_COMBO_BOX, stateSet_);
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_PD_HOVERSEL_OPEN");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_ST_BODY_DOUBLE_TAP_TO_OPEN_THE_MENU_T_TTS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, CheckBoxOrRadioButton) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_CHECKED)).WillOnce(Return(false));
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_EDITABLE)).WillOnce(Return(true));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_ITEM_EDIT");
+ EXPECT_STREQ(generate_description_trait(obj_), "WDS_TTS_TBBODY_DOUBLE_TAP_TO_EDIT");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, ProgressBar) {
CallGeneralDependencies(ATSPI_ROLE_PROGRESS_BAR, stateSet_);
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_PD_PROGRESSBAR");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_ACCS_TBBODY_IN_PROGRESS");
}
TEST_F(DescriptionTraitWithAccessibleObjectAndStateSet, Slider) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_ENABLED)).WillOnce(Return(true));
- EXPECT_STREQ(generate_description_trait(obj_), "IDS_TRAIT_SLIDER_SWIPE_COMMUNICATE");
+ EXPECT_STREQ(generate_description_trait(obj_), "IDS_TPLATFORM_BODY_FLICK_UP_AND_DOWN_TO_ADJUST_THE_POSITION_T_TTS");
}
mock_atspi_value_get_current_value m_atspi_value_get_current_value;
mock_atspi_accessible_get_value_iface m_atspi_accessible_get_value_iface;
mock_atspi_value_get_maximum_value m_atspi_value_get_maximum_value;
+ mock_atspi_value_get_minimum_value m_atspi_value_get_minimum_value;
mock_atspi_accessible_get_child_count m_atspi_accessible_get_child_count;
mock_atspi_accessible_get_parent m_atspi_accessible_get_parent;
mock_atspi_accessible_get_state_set m_atspi_accessible_get_state_set;
mock_atspi_state_set_contains m_atspi_state_set_contains;
+ mock_g_object_unref m_g_object_unref;
public:
void SetUp() {
TEST_F(RoleTraitFixture, AddSliderDescriptionWithValueIface) {
AtspiAccessible *obj_ = GetAtspiAccessibleObject();
AtspiValue *valueIface_ = (AtspiValue *)0xBADDCAFE;
- mock_calculate_significant_positions m_calculate_significant_positions;
char dest[] = "TIZEN_RULES";
uint dest_size = 12;
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_localized_role_name, (obj_, nullptr)).WillOnce(Return(nullptr));
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_value_iface, (obj_)).WillOnce(Return(valueIface_));
- EXPECT_FUNCTION_CALL(m_calculate_significant_positions, (_, _)).Times(1);
- EXPECT_FUNCTION_CALL(m_atspi_value_get_current_value, (valueIface_, nullptr)).Times(1);
- EXPECT_FUNCTION_CALL(m_atspi_value_get_maximum_value, (valueIface_, nullptr)).Times(1);
+ EXPECT_FUNCTION_CALL(m_atspi_value_get_current_value, (valueIface_, nullptr)).WillOnce(Return(50));
+ EXPECT_FUNCTION_CALL(m_atspi_value_get_maximum_value, (valueIface_, nullptr)).WillOnce(Return(100));
+ EXPECT_FUNCTION_CALL(m_atspi_value_get_minimum_value, (valueIface_, nullptr)).WillOnce(Return(0));
+ EXPECT_FUNCTION_CALL(m_g_object_unref, (valueIface_));
add_slider_description(dest, dest_size, obj_);
}
CallGeneralDependencies(ATSPI_ROLE_COMBO_BOX);
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_child_count, (obj_, nullptr)).WillOnce(Return(children_count));
- RunGenRoleTraitAndFreeMemory(obj_, "IDS_TRAIT_PD_HOVERSEL");
+ RunGenRoleTraitAndFreeMemory(obj_, "IDS_ACCS_BODY_DROPDOWN_LIST_TTS IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS");
}
TEST_F(RoleTraitFixture, GlassPane) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_parent, (obj_, nullptr)).WillOnce(Return(parent_));
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_child_count, (parent_, nullptr)).WillOnce(Return(children_count));
- RunGenRoleTraitAndFreeMemory(obj_, "IDS_TRAIT_PD_HOVERSEL");
+ RunGenRoleTraitAndFreeMemory(obj_, "IDS_ACCS_BODY_DROPDOWN_LIST_TTS IDS_WEBVIEW_BODY_SHOWING_PD_ITEMS_TTS");
}
TEST_F(RoleTraitFixture, ListItemParentNotAnimated) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_state_set, (parent_)).WillOnce(Return(parentStateSet_));
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (parentStateSet_, ATSPI_STATE_ANIMATED)).WillOnce(Return(true));
- RunGenRoleTraitAndFreeMemory(obj_, "IDS_TRAIT_REORDER_ITEM_NAME");
+ RunGenRoleTraitAndFreeMemory(obj_, "IDS_GALLERY_OPT_REORDER");
}
TEST_F(RoleTraitFixture, PushButton) {
CallGeneralDependencies(ATSPI_ROLE_PUSH_BUTTON);
- RunGenRoleTraitAndFreeMemory(obj_, "IDS_TRAIT_PUSH_BUTTON");
+ RunGenRoleTraitAndFreeMemory(obj_, "IDS_ACCS_BODY_BUTTON_TTS");
}
TEST_F(RoleTraitFixture, ProgressBarNoIfaceValue) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_value_iface, (obj_)).WillOnce(Return(value));
EXPECT_FUNCTION_CALL(m_atspi_value_get_current_value, (value, nullptr)).WillOnce(Return(val));
+ EXPECT_FUNCTION_CALL(m_g_object_unref, (value));
+
RunGenRoleTraitAndFreeMemory(obj_, "");
}
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_value_iface, (obj_)).WillOnce(Return(value));
EXPECT_FUNCTION_CALL(m_atspi_value_get_current_value, (value, nullptr)).WillOnce(Return(val));
- RunGenRoleTraitAndFreeMemory(obj_, "IDS_TRAIT_PD_PROGRESSBAR_PERCENT");
+ EXPECT_FUNCTION_CALL(m_g_object_unref, (value));
+
+ RunGenRoleTraitAndFreeMemory(obj_, "IDS_GCTS_OPT_P1SS_PERCENT_TTS");
}
TEST_F(RoleTraitFixture, ToggleButton) {
CallGeneralDependencies(ATSPI_ROLE_TOGGLE_BUTTON);
- RunGenRoleTraitAndFreeMemory(obj_, "IDS_TRAIT_TOGGLE_BUTTON");
+ RunGenRoleTraitAndFreeMemory(obj_, "IDS_ACCS_BODY_BUTTON_TTS");
}
TEST_F(RoleTraitFixture, Slider) {
EXPECT_FUNCTION_CALL(m_atspi_accessible_get_role, (parent_, nullptr)).WillOnce(Return(ATSPI_ROLE_TREE_TABLE));
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (_, ATSPI_STATE_SELECTED)).WillOnce(Return(TRUE));
- RunGenStateTraitAndFreeMemory(obj_, "IDS_TRAIT_ITEM_SELECTED");
+ RunGenStateTraitAndFreeMemory(obj_, "IDS_ACCS_BODY_SELECTED_TTS");
}
TEST_F(StateTraitFixture, CheckBoxOrRadioButtonNoTrait) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_CHECKED)).WillOnce(Return(true));
- RunGenStateTraitAndFreeMemory(obj_, "IDS_TRAIT_CHECK_BOX_SELECTED");
+ RunGenStateTraitAndFreeMemory(obj_, "IDS_ACCS_BODY_SELECTED_TTS");
}
TEST_F(StateTraitFixture, CheckBoxOrRadioButtonParentIsColorChooser) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_CHECKED)).WillOnce(Return(false));
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_EDITABLE)).WillOnce(Return(false));
- RunGenStateTraitAndFreeMemory(obj_, "IDS_TRAIT_CHECK_BOX_NOT_SELECTED");
+ RunGenStateTraitAndFreeMemory(obj_, "IDS_ACCS_OPT_NOT_SELECTED_TTS");
}
TEST_F(StateTraitFixture, ToggleButtonChecked) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_CHECKED)).WillOnce(Return(true));
- RunGenStateTraitAndFreeMemory(obj_, "IDS_TRAIT_TOGGLE_BUTTON_ON");
+ RunGenStateTraitAndFreeMemory(obj_, "IDS_MSG_BODY_ON_T_TTS");
}
TEST_F(StateTraitFixture, ToggleButtonNotChecked) {
EXPECT_FUNCTION_CALL(m_atspi_state_set_contains, (stateSet_, ATSPI_STATE_CHECKED)).WillOnce(Return(false));
- RunGenStateTraitAndFreeMemory(obj_, "IDS_TRAIT_TOGGLE_BUTTON_OFF");
+ RunGenStateTraitAndFreeMemory(obj_, "IDS_STORYALBUM_BODY_OFF_T_TTS");
}
TEST_F(StateTraitFixture, RadioMenuItem) {
CallGeneralDependencies(ATSPI_ROLE_RADIO_MENU_ITEM, stateSet_);
- RunGenStateTraitAndFreeMemory(obj_, "IDS_TRAIT_CHECK_BOX_SELECTED");
+ RunGenStateTraitAndFreeMemory(obj_, "IDS_ACCS_BODY_SELECTED_TTS");
}
IMPLEMENT_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_generate_role_trait, generate_role_trait, char *(AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *)));
IMPLEMENT_FUNCTION_MOCK2(mock_generate_what_to_read, generate_what_to_read, char *(AtspiAccessible *, Screen_Reader_Vconf_Data_t *));
IMPLEMENT_FUNCTION_MOCK1(mock_get_haptic, get_haptic, _Bool(Screen_Reader_Vconf_Data_t *));
IMPLEMENT_FUNCTION_MOCK1(mock_get_keyboard_feedback, get_keyboard_feedback, _Bool(Screen_Reader_Vconf_Data_t *));
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(Flat_Navi_Context *)); // src/flat_navi.c
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // include/flat_navi.h
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType)); // src/flat_navi.c
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // src/flat_navi.c
-DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // include/flat_navi.h
+DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
DECLARE_FUNCTION_MOCK1(mock_generate_role_trait, generate_role_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
-DECLARE_FUNCTION_MOCK2(mock_generate_what_to_read, generate_what_to_read, char *(AtspiAccessible *, Screen_Reader_Vconf_Data_t *)); // include/navigator.h
+DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *))); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK2(mock_generate_what_to_read, generate_what_to_read, char *(AtspiAccessible *, Screen_Reader_Vconf_Data_t *)); // src/navigator.c
DECLARE_FUNCTION_MOCK1(mock_get_haptic, get_haptic, _Bool(Screen_Reader_Vconf_Data_t *)); // src/screen_reader_vconf.c
DECLARE_FUNCTION_MOCK1(mock_get_keyboard_feedback, get_keyboard_feedback, _Bool(Screen_Reader_Vconf_Data_t *)); // src/screen_reader_vconf.c
DECLARE_FUNCTION_MOCK0(mock_get_pointer_to_service_data_struct, get_pointer_to_service_data_struct, Service_Data *()); // include/screen_reader.h
DECLARE_FUNCTION_MOCK1(mock_screen_reader_terminate_service, screen_reader_terminate_service, int(void *)); // src/screen_reader.c
DECLARE_FUNCTION_MOCK2(mock_set_utterance_cb, set_utterance_cb, void(Screen_Reader_Tts_Data_t *, void (*)(void))); // src/screen_reader_tts.c
DECLARE_FUNCTION_MOCK4(mock_state_changed_cb, state_changed_cb, void(tts_h, tts_state_e, tts_state_e, void *)); // src/screen_reader_tts.c
-DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK0(mock_tts_init, tts_init, Screen_Reader_Tts_Data_t *()); // src/screen_reader_tts.c
-DECLARE_FUNCTION_MOCK1(mock_tts_pause_get, tts_pause_get, Eina_Bool(Screen_Reader_Tts_Data_t *)); // src/screen_reader_tts.c
+DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // include/screen_reader_utils.h
+DECLARE_FUNCTION_MOCK0(mock_tts_init, tts_init, Screen_Reader_Tts_Data_t *()); // include/screen_reader_tts.h
+DECLARE_FUNCTION_MOCK1(mock_tts_pause_get, tts_pause_get, Eina_Bool(Screen_Reader_Tts_Data_t *)); // include/screen_reader_tts.h
DECLARE_FUNCTION_MOCK2(mock_tts_pause_set, tts_pause_set, Eina_Bool(Screen_Reader_Tts_Data_t *, Eina_Bool)); // src/screen_reader_tts.c
DECLARE_FUNCTION_MOCK2(mock_tts_purge, tts_purge, void(Screen_Reader_Tts_Data_t *, Eina_Bool)); // src/screen_reader_tts.c
DECLARE_FUNCTION_MOCK1(mock_tts_shutdown, tts_shutdown, void(Screen_Reader_Tts_Data_t *)); // include/screen_reader_tts.h
IMPLEMENT_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_generate_role_trait, generate_role_trait, char *(AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *)));
IMPLEMENT_FUNCTION_MOCK1(mock_get_haptic, get_haptic, _Bool(Screen_Reader_Vconf_Data_t *));
IMPLEMENT_FUNCTION_MOCK1(mock_get_keyboard_feedback, get_keyboard_feedback, _Bool(Screen_Reader_Vconf_Data_t *));
IMPLEMENT_FUNCTION_MOCK0(mock_get_pointer_to_service_data_struct, get_pointer_to_service_data_struct, Service_Data *());
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(Flat_Navi_Context *)); // src/flat_navi.c
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // include/flat_navi.h
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType)); // src/flat_navi.c
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // src/flat_navi.c
-DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // include/flat_navi.h
+DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
DECLARE_FUNCTION_MOCK1(mock_generate_role_trait, generate_role_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
+DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *))); // src/screen_reader_utils.c
DECLARE_FUNCTION_MOCK1(mock_get_haptic, get_haptic, _Bool(Screen_Reader_Vconf_Data_t *)); // src/screen_reader_vconf.c
DECLARE_FUNCTION_MOCK1(mock_get_keyboard_feedback, get_keyboard_feedback, _Bool(Screen_Reader_Vconf_Data_t *)); // src/screen_reader_vconf.c
DECLARE_FUNCTION_MOCK0(mock_get_pointer_to_service_data_struct, get_pointer_to_service_data_struct, Service_Data *()); // include/screen_reader.h
DECLARE_FUNCTION_MOCK3(mock_smart_notification, smart_notification, void(Notification_Type, int, int)); // src/smart_notification.c
DECLARE_FUNCTION_MOCK0(mock_smart_notification_init, smart_notification_init, Smart_Notification_Data *()); // src/smart_notification.c
DECLARE_FUNCTION_MOCK1(mock_smart_notification_shutdown, smart_notification_shutdown, void(Smart_Notification_Data *)); // include/smart_notification.h
-DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // include/screen_reader_utils.h
DECLARE_FUNCTION_MOCK1(mock_vconf_exit, vconf_exit, void(Screen_Reader_Vconf_Data_t *)); // include/screen_reader_vconf.h
DECLARE_FUNCTION_MOCK0(mock_vconf_init, vconf_init, Screen_Reader_Vconf_Data_t *()); // include/screen_reader_vconf.h
DECLARE_FUNCTION_MOCK2(mock_widget_do_action, widget_do_action, Eina_Bool(AtspiAccessible *, char *)); // include/screen_reader_utils.h
IMPLEMENT_FUNCTION_MOCK1(mock__gesture_enum_to_string, _gesture_enum_to_string, const char *(Gesture));
IMPLEMENT_FUNCTION_MOCK1(mock__get_main_window, _get_main_window, AtspiAction *(Flat_Navi_Context *));
IMPLEMENT_FUNCTION_MOCK6(mock__widget_scroll, _widget_scroll, void(Navigator_Data *, Screen_Reader_Vconf_Data_t *, Haptic_Data *, Screen_Reader_Tts_Data_t *, Flat_Navi_Context *, Gesture_Info *));
-IMPLEMENT_FUNCTION_MOCK4(mock_app_tracker_init, app_tracker_init, App_Tracker_Data *(Service_Data *, AppTrackerEventCB, Flat_Navi_Context *, DefaultLabelCB));
+IMPLEMENT_FUNCTION_MOCK3(mock_app_tracker_init, app_tracker_init, App_Tracker_Data *(Service_Data *, AppTrackerEventCB, DefaultLabelCB));
IMPLEMENT_FUNCTION_MOCK2(mock_app_tracker_new_obj_highlighted_callback_register, app_tracker_new_obj_highlighted_callback_register, void(AppTrackerEventCB, App_Tracker_Data *));
IMPLEMENT_FUNCTION_MOCK1(mock_app_tracker_shutdown, app_tracker_shutdown, void(App_Tracker_Data *));
IMPLEMENT_FUNCTION_MOCK5(mock_auto_review_highlight_set, auto_review_highlight_set, void(Navigator_Data *, Screen_Reader_Vconf_Data_t *, Haptic_Data *, Screen_Reader_Tts_Data_t *, Flat_Navi_Context *));
extern "C" void auto_review_highlight_set(Navigator_Data * nd, Screen_Reader_Vconf_Data_t * vconf_data, Haptic_Data * haptic_data, Screen_Reader_Tts_Data_t * tts_data, Flat_Navi_Context * context);
extern "C" void auto_review_highlight_top(Navigator_Data * nd, Screen_Reader_Vconf_Data_t * vconf_data, Haptic_Data * haptic_data, Screen_Reader_Tts_Data_t * tts_data, Flat_Navi_Context * context);
extern "C" void clear(gpointer d);
-extern "C" char * generate_text_for_relation_objects(AtspiAccessible * obj, AtspiRelationType search, char * (*text_generate_cb)(AtspiAccessible *));
extern "C" Navigator_Data * navigator_create();
extern "C" void navigator_destroy(Navigator_Data * nd);
extern "C" void navigator_gestures_tracker_register(Navigator_Data * nd, GestureCB gesture_cb, void * data);
extern "C" void navigator_gestures_tracker_unregister(Navigator_Data * nd);
DECLARE_FUNCTION_MOCK1(mock__gesture_enum_to_string, _gesture_enum_to_string, const char *(Gesture)); // src/dbus_gesture_adapter.c
DECLARE_FUNCTION_MOCK1(mock__get_main_window, _get_main_window, AtspiAction *(Flat_Navi_Context *)); // src/navigator.c
-DECLARE_FUNCTION_MOCK6(mock__widget_scroll, _widget_scroll, void(Navigator_Data *, Screen_Reader_Vconf_Data_t *, Haptic_Data *, Screen_Reader_Tts_Data_t *, Flat_Navi_Context *, Gesture_Info *)); // src/navigator.c
-DECLARE_FUNCTION_MOCK4(mock_app_tracker_init, app_tracker_init, App_Tracker_Data *(Service_Data *, AppTrackerEventCB, Flat_Navi_Context *, DefaultLabelCB)); // include/app_tracker.h
+DECLARE_FUNCTION_MOCK6(mock__widget_scroll, _widget_scroll, void(Navigator_Data *, Screen_Reader_Vconf_Data_t *, Haptic_Data *, Screen_Reader_Tts_Data_t *, Flat_Navi_Context *, Gesture_Info *)); // include/navigator.h
+DECLARE_FUNCTION_MOCK3(mock_app_tracker_init, app_tracker_init, App_Tracker_Data *(Service_Data *, AppTrackerEventCB, DefaultLabelCB)); // include/app_tracker.h
DECLARE_FUNCTION_MOCK2(mock_app_tracker_new_obj_highlighted_callback_register, app_tracker_new_obj_highlighted_callback_register, void(AppTrackerEventCB, App_Tracker_Data *)); // include/app_tracker.h
DECLARE_FUNCTION_MOCK1(mock_app_tracker_shutdown, app_tracker_shutdown, void(App_Tracker_Data *)); // src/app_tracker.c
DECLARE_FUNCTION_MOCK5(mock_auto_review_highlight_set, auto_review_highlight_set, void(Navigator_Data *, Screen_Reader_Vconf_Data_t *, Haptic_Data *, Screen_Reader_Tts_Data_t *, Flat_Navi_Context *)); // src/navigator.c
DECLARE_FUNCTION_MOCK1(mock_flat_navi_context_root_get, flat_navi_context_root_get, AtspiAccessible *(Flat_Navi_Context *)); // src/flat_navi.c
DECLARE_FUNCTION_MOCK2(mock_flat_navi_context_setup, flat_navi_context_setup, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // include/flat_navi.h
DECLARE_FUNCTION_MOCK2(mock_flat_navi_get_object_in_relation, flat_navi_get_object_in_relation, AtspiAccessible *(AtspiAccessible *, AtspiRelationType)); // src/flat_navi.c
-DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // src/flat_navi.c
-DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK2(mock_flat_navi_is_valid, flat_navi_is_valid, Eina_Bool(Flat_Navi_Context *, AtspiAccessible *)); // include/flat_navi.h
+DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
DECLARE_FUNCTION_MOCK1(mock_generate_role_trait, generate_role_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
-DECLARE_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *))); // src/navigator.c
-DECLARE_FUNCTION_MOCK2(mock_generate_what_to_read, generate_what_to_read, char *(AtspiAccessible *, Screen_Reader_Vconf_Data_t *)); // include/navigator.h
+DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *))); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK2(mock_generate_what_to_read, generate_what_to_read, char *(AtspiAccessible *, Screen_Reader_Vconf_Data_t *)); // src/navigator.c
DECLARE_FUNCTION_MOCK1(mock_get_haptic, get_haptic, _Bool(Screen_Reader_Vconf_Data_t *)); // src/screen_reader_vconf.c
DECLARE_FUNCTION_MOCK1(mock_get_keyboard_feedback, get_keyboard_feedback, _Bool(Screen_Reader_Vconf_Data_t *)); // src/screen_reader_vconf.c
DECLARE_FUNCTION_MOCK0(mock_get_pointer_to_service_data_struct, get_pointer_to_service_data_struct, Service_Data *()); // include/screen_reader.h
DECLARE_FUNCTION_MOCK0(mock_smart_notification_init, smart_notification_init, Smart_Notification_Data *()); // src/smart_notification.c
DECLARE_FUNCTION_MOCK1(mock_smart_notification_shutdown, smart_notification_shutdown, void(Smart_Notification_Data *)); // include/smart_notification.h
DECLARE_FUNCTION_MOCK4(mock_state_changed_cb, state_changed_cb, void(tts_h, tts_state_e, tts_state_e, void *)); // src/screen_reader_tts.c
-DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // include/screen_reader_utils.h
DECLARE_FUNCTION_MOCK1(mock_system_notifications_init, system_notifications_init, Screen_Reader_System_Data_t *(Service_Data *)); // src/screen_reader_system.c
DECLARE_FUNCTION_MOCK1(mock_system_notifications_shutdown, system_notifications_shutdown, void(Screen_Reader_System_Data_t *)); // src/screen_reader_system.c
DECLARE_FUNCTION_MOCK0(mock_tts_init, tts_init, Screen_Reader_Tts_Data_t *()); // include/screen_reader_tts.h
IMPLEMENT_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_generate_role_trait, generate_role_trait, char *(AtspiAccessible *));
IMPLEMENT_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *));
+IMPLEMENT_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *)));
IMPLEMENT_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType));
IMPLEMENT_FUNCTION_MOCK2(mock_widget_do_action, widget_do_action, Eina_Bool(AtspiAccessible *, char *));
IMPLEMENT_FUNCTION_MOCK2(mock_widget_has_action, widget_has_action, Eina_Bool(AtspiAccessible *, const char *));
DECLARE_FUNCTION_MOCK1(mock__debug_display_win_screen, _debug_display_win_screen, void(AtspiComponent *)); // src/screen_reader_utils.c
DECLARE_FUNCTION_MOCK3(mock_add_slider_description, add_slider_description, void(char *, uint, AtspiAccessible *)); // src/screen_reader_utils.c
DECLARE_FUNCTION_MOCK2(mock_calculate_significant_positions, calculate_significant_positions, int(double, int)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK2(mock_debug_display_info_about_object, debug_display_info_about_object, void(AtspiAccessible *, _Bool)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK2(mock_debug_display_info_about_object, debug_display_info_about_object, void(AtspiAccessible *, _Bool)); // include/screen_reader_utils.h
+DECLARE_FUNCTION_MOCK1(mock_generate_description_trait, generate_description_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
DECLARE_FUNCTION_MOCK1(mock_generate_role_trait, generate_role_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // include/screen_reader_utils.h
-DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK2(mock_widget_do_action, widget_do_action, Eina_Bool(AtspiAccessible *, char *)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK2(mock_widget_has_action, widget_has_action, Eina_Bool(AtspiAccessible *, const char *)); // src/screen_reader_utils.c
-DECLARE_FUNCTION_MOCK2(mock_widget_has_state, widget_has_state, _Bool(AtspiAccessible *, AtspiStateType)); // src/screen_reader_utils.c
\ No newline at end of file
+DECLARE_FUNCTION_MOCK1(mock_generate_state_trait, generate_state_trait, char *(AtspiAccessible *)); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK3(mock_generate_text_for_relation_objects, generate_text_for_relation_objects, char *(AtspiAccessible *, AtspiRelationType, char *(*)(AtspiAccessible *))); // src/screen_reader_utils.c
+DECLARE_FUNCTION_MOCK1(mock_state_to_char, state_to_char, char *(AtspiStateType)); // include/screen_reader_utils.h
+DECLARE_FUNCTION_MOCK2(mock_widget_do_action, widget_do_action, Eina_Bool(AtspiAccessible *, char *)); // include/screen_reader_utils.h
+DECLARE_FUNCTION_MOCK2(mock_widget_has_action, widget_has_action, Eina_Bool(AtspiAccessible *, const char *)); // include/screen_reader_utils.h
+DECLARE_FUNCTION_MOCK2(mock_widget_has_state, widget_has_state, _Bool(AtspiAccessible *, AtspiStateType)); // include/screen_reader_utils.h
+