249 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef I18N_H3#define I18N_H4/* Internationalization declarations */5 6enum msg_index_t {7 MSG_FIRST_INDEX,8 MSG_ANNOUNCEMENTS_START = MSG_FIRST_INDEX,9 MSG_BLANK = MSG_ANNOUNCEMENTS_START,10 MSG_IAM_ALIVE,11 MSG_YOU_KILLED_SPEAKUP,12 MSG_HEY_THATS_BETTER,13 MSG_YOU_TURNED_ME_OFF,14 MSG_PARKED,15 MSG_UNPARKED,16 MSG_MARK,17 MSG_CUT,18 MSG_MARK_CLEARED,19 MSG_PASTE,20 MSG_BRIGHT,21 MSG_ON_BLINKING,22 MSG_STATUS_START,23 MSG_OFF = MSG_STATUS_START,24 MSG_ON,25 MSG_NO_WINDOW,26 27 /* These must be ordered the same as enum cursor_track */28 MSG_CURSOR_MSGS_START,29 MSG_CURSORING_OFF = MSG_CURSOR_MSGS_START,30 MSG_CURSORING_ON,31 MSG_HIGHLIGHT_TRACKING,32 MSG_READ_WINDOW,33 MSG_READ_ALL,34 35 MSG_EDIT_DONE,36 MSG_WINDOW_ALREADY_SET,37 MSG_END_BEFORE_START,38 MSG_WINDOW_CLEARED,39 MSG_WINDOW_SILENCED,40 MSG_WINDOW_SILENCE_DISABLED,41 MSG_ERROR,42 MSG_GOTO_CANCELED,43 MSG_GOTO,44 MSG_LEAVING_HELP,45 MSG_IS_UNASSIGNED,46 MSG_HELP_INFO,47 48 /* These must be ordered the same as enum edge */49 MSG_EDGE_MSGS_START,50 MSG_EDGE_TOP = MSG_EDGE_MSGS_START,51 MSG_EDGE_BOTTOM,52 MSG_EDGE_LEFT,53 MSG_EDGE_RIGHT,54 55 MSG_NUMBER,56 MSG_SPACE,57 MSG_START, /* A little confusing, given our convention. */58 MSG_END, /* A little confusing, given our convention. */59 MSG_CTRL,60 61/* A message containing the single word "or". */62 MSG_DISJUNCTION,63 MSG_ANNOUNCEMENTS_END = MSG_DISJUNCTION,64 65/* Messages with format specifiers. */66 MSG_FORMATTED_START,67 MSG_POS_INFO = MSG_FORMATTED_START,68 MSG_CHAR_INFO,69 MSG_REPEAT_DESC,70 MSG_REPEAT_DESC2,71 MSG_WINDOW_LINE,72 MSG_WINDOW_BOUNDARY,73 MSG_EDIT_PROMPT,74 MSG_NO_COMMAND,75 MSG_KEYDESC,76 MSG_FORMATTED_END = MSG_KEYDESC,77 78 /* Control keys. */79 MSG_CTL_START,80 MSG_CTL_SHIFT = MSG_CTL_START,81 MSG_CTL_ALTGR,82 MSG_CTL_CONTROL,83 MSG_CTL_ALT,84 MSG_CTL_LSHIFT,85 MSG_CTL_SPEAKUP,86 MSG_CTL_LCONTROL,87 MSG_CTL_RCONTROL,88 MSG_CTL_CAPSSHIFT,89 MSG_CTL_END = MSG_CTL_CAPSSHIFT,90 91 /* Colors. */92 MSG_COLORS_START,93 MSG_COLOR_BLACK = MSG_COLORS_START,94 MSG_COLOR_BLUE,95 MSG_COLOR_GREEN,96 MSG_COLOR_CYAN,97 MSG_COLOR_RED,98 MSG_COLOR_MAGENTA,99 MSG_COLOR_YELLOW,100 MSG_COLOR_WHITE,101 MSG_COLOR_GREY,102 MSG_COLOR_BRIGHTBLUE,103 MSG_COLOR_BRIGHTGREEN,104 MSG_COLOR_BRIGHTCYAN,105 MSG_COLOR_BRIGHTRED,106 MSG_COLOR_BRIGHTMAGENTA,107 MSG_COLOR_BRIGHTYELLOW,108 MSG_COLOR_BRIGHTWHITE,109 MSG_COLORS_END = MSG_COLOR_BRIGHTWHITE,110 111 MSG_STATES_START,112 MSG_STATE_DOUBLE = MSG_STATES_START,113 MSG_STATE_SPEAKUP,114 MSG_STATE_ALT,115 MSG_STATE_CONTROL,116 MSG_STATE_ALTGR,117 MSG_STATE_SHIFT,118 MSG_STATES_END = MSG_STATE_SHIFT,119 120 MSG_KEYNAMES_START,121 MSG_KEYNAME_ESC = MSG_KEYNAMES_START,122 MSG_KEYNAME_1, MSG_KEYNAME_2, MSG_KEYNAME_3, MSG_KEYNAME_4,123 MSG_KEYNAME_5, MSG_KEYNAME_6, MSG_KEYNAME_7, MSG_KEYNAME_8,124 MSG_KEYNAME_9,125 MSG_KEYNAME_0, MSG_KEYNAME_DASH, MSG_KEYNAME_EQUAL, MSG_KEYNAME_BS,126 MSG_KEYNAME_TAB,127 MSG_KEYNAME_Q, MSG_KEYNAME_W, MSG_KEYNAME_E, MSG_KEYNAME_R,128 MSG_KEYNAME_T, MSG_KEYNAME_Y, MSG_KEYNAME_U, MSG_KEYNAME_I,129 MSG_KEYNAME_O, MSG_KEYNAME_P,130 MSG_KEYNAME_LEFTBRACE, MSG_KEYNAME_RIGHTBRACE, MSG_KEYNAME_ENTER,131 MSG_KEYNAME_LEFTCTRL, MSG_KEYNAME_A,132 MSG_KEYNAME_S, MSG_KEYNAME_D, MSG_KEYNAME_F, MSG_KEYNAME_G,133 MSG_KEYNAME_H, MSG_KEYNAME_J, MSG_KEYNAME_K, MSG_KEYNAME_L,134 MSG_KEYNAME_SEMICOLON,135 MSG_KEYNAME_SINGLEQUOTE, MSG_KEYNAME_GRAVE,136 MSG_KEYNAME_LEFTSHFT, MSG_KEYNAME_BACKSLASH, MSG_KEYNAME_Z,137 MSG_KEYNAME_X, MSG_KEYNAME_C, MSG_KEYNAME_V, MSG_KEYNAME_B,138 MSG_KEYNAME_N, MSG_KEYNAME_M, MSG_KEYNAME_COMMA, MSG_KEYNAME_DOT,139 MSG_KEYNAME_SLASH, MSG_KEYNAME_RIGHTSHFT,140 MSG_KEYNAME_KPSTAR,141 MSG_KEYNAME_LEFTALT, MSG_KEYNAME_SPACE, MSG_KEYNAME_CAPSLOCK,142 MSG_KEYNAME_F1, MSG_KEYNAME_F2,143 MSG_KEYNAME_F3, MSG_KEYNAME_F4, MSG_KEYNAME_F5, MSG_KEYNAME_F6,144 MSG_KEYNAME_F7,145 MSG_KEYNAME_F8, MSG_KEYNAME_F9, MSG_KEYNAME_F10, MSG_KEYNAME_NUMLOCK,146 MSG_KEYNAME_SCROLLLOCK,147 MSG_KEYNAME_KP7, MSG_KEYNAME_KP8, MSG_KEYNAME_KP9, MSG_KEYNAME_KPMINUS,148 MSG_KEYNAME_KP4,149 MSG_KEYNAME_KP5, MSG_KEYNAME_KP6, MSG_KEYNAME_KPPLUS, MSG_KEYNAME_KP1,150 MSG_KEYNAME_KP2,151 MSG_KEYNAME_KP3, MSG_KEYNAME_KP0, MSG_KEYNAME_KPDOT, MSG_KEYNAME_103RD,152 MSG_KEYNAME_F13,153 MSG_KEYNAME_102ND, MSG_KEYNAME_F11, MSG_KEYNAME_F12, MSG_KEYNAME_F14,154 MSG_KEYNAME_F15,155 MSG_KEYNAME_F16, MSG_KEYNAME_F17, MSG_KEYNAME_F18, MSG_KEYNAME_F19,156 MSG_KEYNAME_F20,157 MSG_KEYNAME_KPENTER, MSG_KEYNAME_RIGHTCTRL, MSG_KEYNAME_KPSLASH,158 MSG_KEYNAME_SYSRQ, MSG_KEYNAME_RIGHTALT,159 MSG_KEYNAME_LF, MSG_KEYNAME_HOME, MSG_KEYNAME_UP, MSG_KEYNAME_PGUP,160 MSG_KEYNAME_LEFT,161 MSG_KEYNAME_RIGHT, MSG_KEYNAME_END, MSG_KEYNAME_DOWN, MSG_KEYNAME_PGDN,162 MSG_KEYNAME_INS,163 MSG_KEYNAME_DEL, MSG_KEYNAME_MACRO, MSG_KEYNAME_MUTE,164 MSG_KEYNAME_VOLDOWN, MSG_KEYNAME_VOLUP,165 MSG_KEYNAME_POWER, MSG_KEYNAME_KPEQUAL, MSG_KEYNAME_KPPLUSDASH,166 MSG_KEYNAME_PAUSE, MSG_KEYNAME_F21, MSG_KEYNAME_F22, MSG_KEYNAME_F23,167 MSG_KEYNAME_F24, MSG_KEYNAME_KPCOMMA, MSG_KEYNAME_LEFTMETA,168 MSG_KEYNAME_RIGHTMETA, MSG_KEYNAME_COMPOSE, MSG_KEYNAME_STOP,169 MSG_KEYNAME_AGAIN, MSG_KEYNAME_PROPS,170 MSG_KEYNAME_UNDO, MSG_KEYNAME_FRONT, MSG_KEYNAME_COPY, MSG_KEYNAME_OPEN,171 MSG_KEYNAME_PASTE,172 MSG_KEYNAME_FIND, MSG_KEYNAME_CUT, MSG_KEYNAME_HELP, MSG_KEYNAME_MENU,173 MSG_KEYNAME_CALC,174 MSG_KEYNAME_SETUP, MSG_KEYNAME_SLEEP, MSG_KEYNAME_WAKEUP,175 MSG_KEYNAME_FILE, MSG_KEYNAME_SENDFILE,176 MSG_KEYNAME_DELFILE, MSG_KEYNAME_XFER, MSG_KEYNAME_PROG1,177 MSG_KEYNAME_PROG2, MSG_KEYNAME_WWW,178 MSG_KEYNAME_MSDOS, MSG_KEYNAME_COFFEE, MSG_KEYNAME_DIRECTION,179 MSG_KEYNAME_CYCLEWINDOWS, MSG_KEYNAME_MAIL,180 MSG_KEYNAME_BOOKMARKS, MSG_KEYNAME_COMPUTER, MSG_KEYNAME_BACK,181 MSG_KEYNAME_FORWARD, MSG_KEYNAME_CLOSECD,182 MSG_KEYNAME_EJECTCD, MSG_KEYNAME_EJECTCLOSE, MSG_KEYNAME_NEXTSONG,183 MSG_KEYNAME_PLAYPAUSE, MSG_KEYNAME_PREVSONG,184 MSG_KEYNAME_STOPCD, MSG_KEYNAME_RECORD, MSG_KEYNAME_REWIND,185 MSG_KEYNAME_PHONE, MSG_KEYNAME_ISO,186 MSG_KEYNAME_CONFIG, MSG_KEYNAME_HOMEPG, MSG_KEYNAME_REFRESH,187 MSG_KEYNAME_EXIT, MSG_KEYNAME_MOVE,188 MSG_KEYNAME_EDIT, MSG_KEYNAME_SCROLLUP, MSG_KEYNAME_SCROLLDN,189 MSG_KEYNAME_KPLEFTPAR, MSG_KEYNAME_KPRIGHTPAR,190 MSG_KEYNAMES_END = MSG_KEYNAME_KPRIGHTPAR,191 192 MSG_FUNCNAMES_START,193 MSG_FUNCNAME_ATTRIB_BLEEP_DEC = MSG_FUNCNAMES_START,194 MSG_FUNCNAME_ATTRIB_BLEEP_INC,195 MSG_FUNCNAME_BLEEPS_DEC, MSG_FUNCNAME_BLEEPS_INC,196 MSG_FUNCNAME_CHAR_FIRST, MSG_FUNCNAME_CHAR_LAST,197 MSG_FUNCNAME_CHAR_CURRENT, MSG_FUNCNAME_CHAR_HEX_AND_DEC,198 MSG_FUNCNAME_CHAR_NEXT,199 MSG_FUNCNAME_CHAR_PHONETIC, MSG_FUNCNAME_CHAR_PREVIOUS,200 MSG_FUNCNAME_CURSOR_PARK, MSG_FUNCNAME_CUT,201 MSG_FUNCNAME_EDIT_DELIM, MSG_FUNCNAME_EDIT_EXNUM,202 MSG_FUNCNAME_EDIT_MOST, MSG_FUNCNAME_EDIT_REPEATS,203 MSG_FUNCNAME_EDIT_SOME,204 MSG_FUNCNAME_GOTO, MSG_FUNCNAME_GOTO_BOTTOM, MSG_FUNCNAME_GOTO_LEFT,205 MSG_FUNCNAME_GOTO_RIGHT, MSG_FUNCNAME_GOTO_TOP, MSG_FUNCNAME_HELP,206 MSG_FUNCNAME_LINE_SAY_CURRENT, MSG_FUNCNAME_LINE_SAY_NEXT,207 MSG_FUNCNAME_LINE_SAY_PREVIOUS, MSG_FUNCNAME_LINE_SAY_WITH_INDENT,208 MSG_FUNCNAME_PASTE, MSG_FUNCNAME_PITCH_DEC, MSG_FUNCNAME_PITCH_INC,209 MSG_FUNCNAME_PUNC_DEC, MSG_FUNCNAME_PUNC_INC,210 MSG_FUNCNAME_PUNC_LEVEL_DEC, MSG_FUNCNAME_PUNC_LEVEL_INC,211 MSG_FUNCNAME_QUIET,212 MSG_FUNCNAME_RATE_DEC, MSG_FUNCNAME_RATE_INC,213 MSG_FUNCNAME_READING_PUNC_DEC, MSG_FUNCNAME_READING_PUNC_INC,214 MSG_FUNCNAME_SAY_ATTRIBUTES,215 MSG_FUNCNAME_SAY_FROM_LEFT, MSG_FUNCNAME_SAY_FROM_TOP,216 MSG_FUNCNAME_SAY_POSITION, MSG_FUNCNAME_SAY_SCREEN,217 MSG_FUNCNAME_SAY_TO_BOTTOM, MSG_FUNCNAME_SAY_TO_RIGHT,218 MSG_FUNCNAME_SPEAKUP, MSG_FUNCNAME_SPEAKUP_LOCK,219 MSG_FUNCNAME_SPEAKUP_OFF, MSG_FUNCNAME_SPEECH_KILL,220 MSG_FUNCNAME_SPELL_DELAY_DEC, MSG_FUNCNAME_SPELL_DELAY_INC,221 MSG_FUNCNAME_SPELL_WORD, MSG_FUNCNAME_SPELL_WORD_PHONETICALLY,222 MSG_FUNCNAME_TONE_DEC, MSG_FUNCNAME_TONE_INC,223 MSG_FUNCNAME_VOICE_DEC, MSG_FUNCNAME_VOICE_INC,224 MSG_FUNCNAME_VOLUME_DEC, MSG_FUNCNAME_VOLUME_INC,225 MSG_FUNCNAME_WINDOW_CLEAR, MSG_FUNCNAME_WINDOW_SAY,226 MSG_FUNCNAME_WINDOW_SET, MSG_FUNCNAME_WINDOW_SILENCE,227 MSG_FUNCNAME_WORD_SAY_CURRENT, MSG_FUNCNAME_WORD_SAY_NEXT,228 MSG_FUNCNAME_WORD_SAY_PREVIOUS,229 MSG_FUNCNAMES_END = MSG_FUNCNAME_WORD_SAY_PREVIOUS,230 231 /* all valid indices must be above this */232 MSG_LAST_INDEX233};234 235struct msg_group_t {236 char *name;237 enum msg_index_t start;238 enum msg_index_t end;239};240 241char *spk_msg_get(enum msg_index_t index);242ssize_t spk_msg_set(enum msg_index_t index, char *text, size_t length);243struct msg_group_t *spk_find_msg_group(const char *group_name);244void spk_reset_msg_group(struct msg_group_t *group);245void spk_initialize_msgs(void);246void spk_free_user_msgs(void);247 248#endif249