app_description BRLTTY supports braille devices.

usbMonitor_label USB Device Attached Monitor

about_label_activity About Application
about_label_copyright Copyright
about_label_buildTime Build Time
about_label_sourceRevision Source Revision
about_label_privacyPolicy Privacy Policy

inputService_name BRLTTY Input Service
inputService_type Keyboards on Braille Devices
inputService_not_enabled input service not enabled
inputService_not_selected input service not selected
inputService_not_started input service not started
inputService_not_connected input service not connected

updateApplication_problem_failed application not updated

packageInstaller_problem_failed package not installed
packageInstaller_problem_same same version
packageInstaller_problem_downgrade downgrade not allowed

fileDownloader_title BRLTTY File Downloader
fileDownloader_problem_failed file not downloaded
fileDownloader_state_connecting connecting
fileDownloader_state_downloading downloading

setting_state_off Off
checkbox_state_unchecked No
checkbox_state_checked Yes

braille_channel_name Braille Device State
braille_hint_tap tap for actions
braille_state_released Released
braille_state_waiting Waiting
braille_state_connected Connected

GLOBAL_BUTTON_NOTIFICATIONS Notifications
GLOBAL_BUTTON_QUICK_SETTINGS Quick Settings
GLOBAL_BUTTON_BACK Back
GLOBAL_BUTTON_HOME Home
GLOBAL_BUTTON_RECENT_APPS Recent Apps
GLOBAL_BUTTON_OVERVIEW Overview

GLOBAL_BUTTON_SWITCH_INPUT_METHOD Switch Input Method
GLOBAL_BUTTON_VIEW_USER_GUIDE View User Guide
GLOBAL_BUTTON_BROWSE_WEB_SITE Browse Web Site
GLOBAL_BUTTON_BROWSE_COMMUNITY_MESSAGES Browse Community Messages
GLOBAL_BUTTON_POST_COMMUNITY_MESSAGE Post Community Message
GLOBAL_BUTTON_MANAGE_COMMUNITY_MEMBERSHIP Manage Community Membership

GLOBAL_BUTTON_UPDATE_APPLICATION Update Application
GLOBAL_CHECKBOX_DEVELOPER_BUILD Developer Build
GLOBAL_CHECKBOX_ALLOW_DOWNGRADE Allow Downgrade

CHOOSER_TITLE_ACCESSIBILITY_ACTIONS Accessibility Actions

SETTINGS_SCREEN_MAIN BRLTTY Settings
SETTINGS_SCREEN_GENERAL General Settings
SETTINGS_SCREEN_MESSAGE Message Settings
SETTINGS_SCREEN_DEVICES Manage Devices
SETTINGS_SCREEN_ADVANCED Advanced Settings

SETTINGS_CHECKBOX_RELEASE_BRAILLE_DEVICE Release Braille Device
SETTINGS_BUTTON_NAVIGATION_MODE Navigation Mode
SETTINGS_BUTTON_SPEECH_SUPPORT Speech Support

SETTINGS_BUTTON_TEXT_TABLE Text Table
SETTINGS_BUTTON_ATTRIBUTES_TABLE Attributes Table
SETTINGS_BUTTON_CONTRACTION_TABLE Contraction Table
SETTINGS_BUTTON_KEYBOARD_TABLE Keyboard Table

SETTINGS_CHECKBOX_SHOW_ALERTS Show Alerts
SETTINGS_CHECKBOX_SHOW_ANNOUNCEMENTS Show Announcements
SETTINGS_CHECKBOX_SHOW_NOTIFICATIONS Show Notifications

SETTINGS_BUTTON_LOG_LEVEL Log Level
SETTINGS_BUTTON_LOG_CATEGORIES Log Categories
SETTINGS_CHECKBOX_LOG_ACCESSIBILITY_EVENTS Log Accessibility Events
SETTINGS_CHECKBOX_LOG_RENDERED_SCREEN Log Rendered Screen
SETTINGS_CHECKBOX_LOG_KEYBOARD_EVENTS Log Keyboard Events
SETTINGS_CHECKBOX_LOG_UNHANDLED_EVENTS Log Unhandled Events

DEVICES_BUTTON_SELECTED Selected Device
DEVICES_BUTTON_ADD Add Device
DEVICES_BUTTON_REMOVE Remove Device

SELECTED_DEVICE_NONE no devices
SELECTED_DEVICE_UNSELECTED device not selected

ADD_DEVICE_NAME Device Name
ADD_DEVICE_METHOD Communication Method
ADD_DEVICE_SELECT Select Device
ADD_DEVICE_DRIVER Braille Driver
ADD_DEVICE_DONE Done
ADD_DEVICE_UNSELECTED_METHOD communication method not selected
ADD_DEVICE_UNSELECTED_DEVICE device not selected
ADD_DEVICE_UNSELECTED_DRIVER braille driver not selected
ADD_DEVICE_NO_DEVICES no devices
ADD_DEVICE_DUPLICATE_NAME device name already in use
ADD_DEVICE_NO_PERMISSION access to device not granted

REMOVE_DEVICE_PROMPT Would you really like to remove this device?

SET_SELECTION_NONE none selected

NAVIGATION_MODE_LABEL_List Vertical List
NAVIGATION_MODE_LABEL_Grid Two Dimensional Grid

SPEECH_SUPPORT_LABEL_native Native

COMMUNICATION_METHOD_LABEL_Bluetooth Bluetooth
COMMUNICATION_METHOD_LABEL_Usb USB
COMMUNICATION_METHOD_LABEL_Serial Serial

LOG_LEVEL_LABEL_debug Debug
LOG_LEVEL_LABEL_information Information
LOG_LEVEL_LABEL_notice Notice
LOG_LEVEL_LABEL_warning Warning
LOG_LEVEL_LABEL_error Error
LOG_LEVEL_LABEL_critical Critical
LOG_LEVEL_LABEL_alert Alert
LOG_LEVEL_LABEL_emergency Emergency

LOG_CATEGORY_LABEL_inpkts Input Packets
LOG_CATEGORY_LABEL_outpkts Output Packets
LOG_CATEGORY_LABEL_brlkeys Braille Device Key Events
LOG_CATEGORY_LABEL_kbdkeys Keyboard Key Events
LOG_CATEGORY_LABEL_csrtrk Cursor Tracking
LOG_CATEGORY_LABEL_csrrtg Cursor Routing
LOG_CATEGORY_LABEL_update Update Events
LOG_CATEGORY_LABEL_speech Speech Events
LOG_CATEGORY_LABEL_async Async Events
LOG_CATEGORY_LABEL_server Server Events
LOG_CATEGORY_LABEL_gio Generic I/O
LOG_CATEGORY_LABEL_serial Serial I/O
LOG_CATEGORY_LABEL_usb USB I/O
LOG_CATEGORY_LABEL_bt Bluetooth I/O
LOG_CATEGORY_LABEL_hid Human Interface I/O
LOG_CATEGORY_LABEL_brldrv Braille Driver Events
LOG_CATEGORY_LABEL_spkdrv Speech Driver Events
LOG_CATEGORY_LABEL_scrdrv Screen Driver Events

BRAILLE_DRIVER_LABEL_auto autodetect

TEXT_TABLE_LABEL_auto locale-based autoselection
TEXT_TABLE_LABEL_ar Arabic (generic)
TEXT_TABLE_LABEL_as Assamese
TEXT_TABLE_LABEL_awa Awadhi
TEXT_TABLE_LABEL_bg Bulgarian
TEXT_TABLE_LABEL_bh Bihari
TEXT_TABLE_LABEL_bn Bengali
TEXT_TABLE_LABEL_bo Tibetan
TEXT_TABLE_LABEL_bra Braj
TEXT_TABLE_LABEL_brf Braille Ready Format (for viewing .brf files within an editor or pager)
TEXT_TABLE_LABEL_cs Czech
TEXT_TABLE_LABEL_cy Welsh
TEXT_TABLE_LABEL_da Danish
TEXT_TABLE_LABEL_da_1252 Danish (Svend Thougaard, 2002–11–18)
TEXT_TABLE_LABEL_da_lt Danish (LogText)
TEXT_TABLE_LABEL_de German
TEXT_TABLE_LABEL_dra Dravidian
TEXT_TABLE_LABEL_el Greek
TEXT_TABLE_LABEL_en English
TEXT_TABLE_LABEL_en_CA English (Canada)
TEXT_TABLE_LABEL_en_GB English (United Kingdom)
TEXT_TABLE_LABEL_en_nabcc English (North American Braille Computer Code)
TEXT_TABLE_LABEL_en_US English (United States)
TEXT_TABLE_LABEL_eo Esperanto
TEXT_TABLE_LABEL_es Spanish
TEXT_TABLE_LABEL_et Estonian
TEXT_TABLE_LABEL_fi Finnish
TEXT_TABLE_LABEL_fr French
TEXT_TABLE_LABEL_fr_2007 French (unified 2007)
TEXT_TABLE_LABEL_fr_CA French (Canada)
TEXT_TABLE_LABEL_fr_cbifs French (Code Braille Informatique Français Standard)
TEXT_TABLE_LABEL_fr_FR French (France)
TEXT_TABLE_LABEL_fr_vs French (VisioBraille)
TEXT_TABLE_LABEL_ga Irish
TEXT_TABLE_LABEL_gd Gaelic
TEXT_TABLE_LABEL_gon Gondi
TEXT_TABLE_LABEL_gu Gujarati
TEXT_TABLE_LABEL_he Hebrew
TEXT_TABLE_LABEL_hi Hindi
TEXT_TABLE_LABEL_hr Croatian
TEXT_TABLE_LABEL_hu Hungarian
TEXT_TABLE_LABEL_hy Armenian
TEXT_TABLE_LABEL_is Icelandic
TEXT_TABLE_LABEL_it Italian
TEXT_TABLE_LABEL_kha Khasi
TEXT_TABLE_LABEL_kn Kannada
TEXT_TABLE_LABEL_kok Konkani
TEXT_TABLE_LABEL_kru Kurukh
TEXT_TABLE_LABEL_lt Lituanian
TEXT_TABLE_LABEL_lv Latvian
TEXT_TABLE_LABEL_mg Malagasy
TEXT_TABLE_LABEL_mi Maori
TEXT_TABLE_LABEL_ml Malayalam
TEXT_TABLE_LABEL_mni Manipuri
TEXT_TABLE_LABEL_mr Marathi
TEXT_TABLE_LABEL_mt Maltese
TEXT_TABLE_LABEL_mun Munda
TEXT_TABLE_LABEL_mwr Marwari
TEXT_TABLE_LABEL_ne Nepali
TEXT_TABLE_LABEL_new Newari
TEXT_TABLE_LABEL_nl Dutch
TEXT_TABLE_LABEL_nl_BE Dutch (Belgium)
TEXT_TABLE_LABEL_nl_NL Dutch (Netherlands)
TEXT_TABLE_LABEL_no Norwegian
TEXT_TABLE_LABEL_no_generic Norwegian (with support for other languages)
TEXT_TABLE_LABEL_no_oup Norwegian (Offentlig utvalg for punktskrift)
TEXT_TABLE_LABEL_nwc Newari (old)
TEXT_TABLE_LABEL_or Oriya
TEXT_TABLE_LABEL_pa Panjabi
TEXT_TABLE_LABEL_pi Pali
TEXT_TABLE_LABEL_pl Polish
TEXT_TABLE_LABEL_pt Portuguese
TEXT_TABLE_LABEL_ro Romanian
TEXT_TABLE_LABEL_ru Russian
TEXT_TABLE_LABEL_sa Sanskrit
TEXT_TABLE_LABEL_sat Santali
TEXT_TABLE_LABEL_sd Sindhi
TEXT_TABLE_LABEL_se Sami (Northern)
TEXT_TABLE_LABEL_sk Slovak
TEXT_TABLE_LABEL_sl Slovenian
TEXT_TABLE_LABEL_sv Swedish
TEXT_TABLE_LABEL_sv_1989 Swedish (1989 standard)
TEXT_TABLE_LABEL_sv_1996 Swedish (1996 standard)
TEXT_TABLE_LABEL_sw Swahili
TEXT_TABLE_LABEL_ta Tamil
TEXT_TABLE_LABEL_te Telugu
TEXT_TABLE_LABEL_tr Turkish
TEXT_TABLE_LABEL_uk Ukrainian
TEXT_TABLE_LABEL_vi Vietnamese

ATTRIBUTES_TABLE_LABEL_invleft_right inverse foreground colour in the left column and background colour in the right column
ATTRIBUTES_TABLE_LABEL_left_right foreground colour in the left column and background colour in the right column
ATTRIBUTES_TABLE_LABEL_upper_lower foreground colour in the upper square and background colour in the lower square

CONTRACTION_TABLE_LABEL_auto locale-based autoselection
CONTRACTION_TABLE_LABEL_af Afrikaans (contracted)
CONTRACTION_TABLE_LABEL_am Amharic (uncontracted)
CONTRACTION_TABLE_LABEL_de German
CONTRACTION_TABLE_LABEL_de_g0 German (uncontracted)
CONTRACTION_TABLE_LABEL_de_g1 German (basic contractions)
CONTRACTION_TABLE_LABEL_de_g2 German (contracted)
CONTRACTION_TABLE_LABEL_de_1998 German (contracted - 1998 standard)
CONTRACTION_TABLE_LABEL_de_2015 German (contracted - 2015 standard)
CONTRACTION_TABLE_LABEL_en English
CONTRACTION_TABLE_LABEL_en_US English (United States)
CONTRACTION_TABLE_LABEL_en_ueb_g1 English (Unified, uncontracted)
CONTRACTION_TABLE_LABEL_en_ueb_g2 English (Unified, contracted)
CONTRACTION_TABLE_LABEL_en_us_g2 English (United States, contracted)
CONTRACTION_TABLE_LABEL_es Spanish (contracted)
CONTRACTION_TABLE_LABEL_fr French
CONTRACTION_TABLE_LABEL_fr_g1 French (uncontracted)
CONTRACTION_TABLE_LABEL_fr_g2 French (contracted)
CONTRACTION_TABLE_LABEL_ha Hausa (contracted)
CONTRACTION_TABLE_LABEL_id Indonesian (contracted)
CONTRACTION_TABLE_LABEL_ipa International Phonetic Alphabet
CONTRACTION_TABLE_LABEL_ja Japanese (uncontracted)
CONTRACTION_TABLE_LABEL_ko Korean
CONTRACTION_TABLE_LABEL_ko_g0 Korean (uncontracted)
CONTRACTION_TABLE_LABEL_ko_g1 Korean (partially contracted)
CONTRACTION_TABLE_LABEL_ko_g2 Korean (contracted)
CONTRACTION_TABLE_LABEL_lt Lithuanian (uncontracted)
CONTRACTION_TABLE_LABEL_mg Malagasy (contracted)
CONTRACTION_TABLE_LABEL_mun Munda (contracted)
CONTRACTION_TABLE_LABEL_nl Dutch (contracted)
CONTRACTION_TABLE_LABEL_ny Chichewa (contracted)
CONTRACTION_TABLE_LABEL_pt Portuguese (contracted)
CONTRACTION_TABLE_LABEL_ru Russian (contracted)
CONTRACTION_TABLE_LABEL_si Sinhalese (uncontracted)
CONTRACTION_TABLE_LABEL_sw Swahili (contracted)
CONTRACTION_TABLE_LABEL_th Thai (contracted)
CONTRACTION_TABLE_LABEL_zh_TW Chinese (Taiwan, uncontracted)
CONTRACTION_TABLE_LABEL_zu Zulu (contracted)

KEYBOARD_TABLE_LABEL_braille bindings for braille keyboards
KEYBOARD_TABLE_LABEL_desktop bindings for full keyboards
KEYBOARD_TABLE_LABEL_keypad bindings for keypad-based navigation
KEYBOARD_TABLE_LABEL_laptop bindings for keyboards without a keypad
KEYBOARD_TABLE_LABEL_sun_type6 bindings for Sun Type 6 keyboards
