Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef I18N_H
0003 #define I18N_H
0004 /* Internationalization declarations */
0005 
0006 enum msg_index_t {
0007     MSG_FIRST_INDEX,
0008     MSG_ANNOUNCEMENTS_START = MSG_FIRST_INDEX,
0009     MSG_BLANK = MSG_ANNOUNCEMENTS_START,
0010     MSG_IAM_ALIVE,
0011     MSG_YOU_KILLED_SPEAKUP,
0012     MSG_HEY_THATS_BETTER,
0013     MSG_YOU_TURNED_ME_OFF,
0014     MSG_PARKED,
0015     MSG_UNPARKED,
0016     MSG_MARK,
0017     MSG_CUT,
0018     MSG_MARK_CLEARED,
0019     MSG_PASTE,
0020     MSG_BRIGHT,
0021     MSG_ON_BLINKING,
0022     MSG_STATUS_START,
0023     MSG_OFF = MSG_STATUS_START,
0024     MSG_ON,
0025     MSG_NO_WINDOW,
0026 
0027     /* These must be ordered the same as enum cursor_track */
0028     MSG_CURSOR_MSGS_START,
0029     MSG_CURSORING_OFF = MSG_CURSOR_MSGS_START,
0030     MSG_CURSORING_ON,
0031     MSG_HIGHLIGHT_TRACKING,
0032     MSG_READ_WINDOW,
0033     MSG_READ_ALL,
0034 
0035     MSG_EDIT_DONE,
0036     MSG_WINDOW_ALREADY_SET,
0037     MSG_END_BEFORE_START,
0038     MSG_WINDOW_CLEARED,
0039     MSG_WINDOW_SILENCED,
0040     MSG_WINDOW_SILENCE_DISABLED,
0041     MSG_ERROR,
0042     MSG_GOTO_CANCELED,
0043     MSG_GOTO,
0044     MSG_LEAVING_HELP,
0045     MSG_IS_UNASSIGNED,
0046     MSG_HELP_INFO,
0047 
0048     /* These must be ordered the same as enum edge */
0049     MSG_EDGE_MSGS_START,
0050     MSG_EDGE_TOP  = MSG_EDGE_MSGS_START,
0051     MSG_EDGE_BOTTOM,
0052     MSG_EDGE_LEFT,
0053     MSG_EDGE_RIGHT,
0054 
0055     MSG_NUMBER,
0056     MSG_SPACE,
0057     MSG_START, /* A little confusing, given our convention. */
0058     MSG_END, /* A little confusing, given our convention. */
0059     MSG_CTRL,
0060 
0061 /* A message containing the single word "or". */
0062     MSG_DISJUNCTION,
0063     MSG_ANNOUNCEMENTS_END = MSG_DISJUNCTION,
0064 
0065 /* Messages with format specifiers. */
0066     MSG_FORMATTED_START,
0067     MSG_POS_INFO = MSG_FORMATTED_START,
0068     MSG_CHAR_INFO,
0069     MSG_REPEAT_DESC,
0070     MSG_REPEAT_DESC2,
0071     MSG_WINDOW_LINE,
0072     MSG_WINDOW_BOUNDARY,
0073     MSG_EDIT_PROMPT,
0074     MSG_NO_COMMAND,
0075     MSG_KEYDESC,
0076     MSG_FORMATTED_END = MSG_KEYDESC,
0077 
0078     /* Control keys. */
0079     MSG_CTL_START,
0080     MSG_CTL_SHIFT = MSG_CTL_START,
0081     MSG_CTL_ALTGR,
0082     MSG_CTL_CONTROL,
0083     MSG_CTL_ALT,
0084     MSG_CTL_LSHIFT,
0085     MSG_CTL_SPEAKUP,
0086     MSG_CTL_LCONTROL,
0087     MSG_CTL_RCONTROL,
0088     MSG_CTL_CAPSSHIFT,
0089     MSG_CTL_END = MSG_CTL_CAPSSHIFT,
0090 
0091     /* Colors. */
0092     MSG_COLORS_START,
0093     MSG_COLOR_BLACK = MSG_COLORS_START,
0094     MSG_COLOR_BLUE,
0095     MSG_COLOR_GREEN,
0096     MSG_COLOR_CYAN,
0097     MSG_COLOR_RED,
0098     MSG_COLOR_MAGENTA,
0099     MSG_COLOR_YELLOW,
0100     MSG_COLOR_WHITE,
0101     MSG_COLOR_GREY,
0102     MSG_COLOR_BRIGHTBLUE,
0103     MSG_COLOR_BRIGHTGREEN,
0104     MSG_COLOR_BRIGHTCYAN,
0105     MSG_COLOR_BRIGHTRED,
0106     MSG_COLOR_BRIGHTMAGENTA,
0107     MSG_COLOR_BRIGHTYELLOW,
0108     MSG_COLOR_BRIGHTWHITE,
0109     MSG_COLORS_END = MSG_COLOR_BRIGHTWHITE,
0110 
0111     MSG_STATES_START,
0112     MSG_STATE_DOUBLE = MSG_STATES_START,
0113     MSG_STATE_SPEAKUP,
0114     MSG_STATE_ALT,
0115     MSG_STATE_CONTROL,
0116     MSG_STATE_ALTGR,
0117     MSG_STATE_SHIFT,
0118     MSG_STATES_END = MSG_STATE_SHIFT,
0119 
0120     MSG_KEYNAMES_START,
0121     MSG_KEYNAME_ESC = MSG_KEYNAMES_START,
0122     MSG_KEYNAME_1, MSG_KEYNAME_2, MSG_KEYNAME_3, MSG_KEYNAME_4,
0123     MSG_KEYNAME_5, MSG_KEYNAME_6, MSG_KEYNAME_7, MSG_KEYNAME_8,
0124     MSG_KEYNAME_9,
0125     MSG_KEYNAME_0, MSG_KEYNAME_DASH, MSG_KEYNAME_EQUAL, MSG_KEYNAME_BS,
0126     MSG_KEYNAME_TAB,
0127     MSG_KEYNAME_Q, MSG_KEYNAME_W, MSG_KEYNAME_E, MSG_KEYNAME_R,
0128     MSG_KEYNAME_T, MSG_KEYNAME_Y, MSG_KEYNAME_U, MSG_KEYNAME_I,
0129     MSG_KEYNAME_O, MSG_KEYNAME_P,
0130     MSG_KEYNAME_LEFTBRACE, MSG_KEYNAME_RIGHTBRACE, MSG_KEYNAME_ENTER,
0131     MSG_KEYNAME_LEFTCTRL, MSG_KEYNAME_A,
0132     MSG_KEYNAME_S, MSG_KEYNAME_D, MSG_KEYNAME_F, MSG_KEYNAME_G,
0133     MSG_KEYNAME_H, MSG_KEYNAME_J, MSG_KEYNAME_K, MSG_KEYNAME_L,
0134     MSG_KEYNAME_SEMICOLON,
0135     MSG_KEYNAME_SINGLEQUOTE, MSG_KEYNAME_GRAVE,
0136     MSG_KEYNAME_LEFTSHFT, MSG_KEYNAME_BACKSLASH, MSG_KEYNAME_Z,
0137     MSG_KEYNAME_X, MSG_KEYNAME_C, MSG_KEYNAME_V, MSG_KEYNAME_B,
0138     MSG_KEYNAME_N, MSG_KEYNAME_M, MSG_KEYNAME_COMMA, MSG_KEYNAME_DOT,
0139     MSG_KEYNAME_SLASH, MSG_KEYNAME_RIGHTSHFT,
0140     MSG_KEYNAME_KPSTAR,
0141     MSG_KEYNAME_LEFTALT, MSG_KEYNAME_SPACE, MSG_KEYNAME_CAPSLOCK,
0142     MSG_KEYNAME_F1, MSG_KEYNAME_F2,
0143     MSG_KEYNAME_F3, MSG_KEYNAME_F4, MSG_KEYNAME_F5, MSG_KEYNAME_F6,
0144     MSG_KEYNAME_F7,
0145     MSG_KEYNAME_F8, MSG_KEYNAME_F9, MSG_KEYNAME_F10, MSG_KEYNAME_NUMLOCK,
0146     MSG_KEYNAME_SCROLLLOCK,
0147     MSG_KEYNAME_KP7, MSG_KEYNAME_KP8, MSG_KEYNAME_KP9, MSG_KEYNAME_KPMINUS,
0148     MSG_KEYNAME_KP4,
0149     MSG_KEYNAME_KP5, MSG_KEYNAME_KP6, MSG_KEYNAME_KPPLUS, MSG_KEYNAME_KP1,
0150     MSG_KEYNAME_KP2,
0151     MSG_KEYNAME_KP3, MSG_KEYNAME_KP0, MSG_KEYNAME_KPDOT, MSG_KEYNAME_103RD,
0152     MSG_KEYNAME_F13,
0153     MSG_KEYNAME_102ND, MSG_KEYNAME_F11, MSG_KEYNAME_F12, MSG_KEYNAME_F14,
0154     MSG_KEYNAME_F15,
0155     MSG_KEYNAME_F16, MSG_KEYNAME_F17, MSG_KEYNAME_F18, MSG_KEYNAME_F19,
0156     MSG_KEYNAME_F20,
0157     MSG_KEYNAME_KPENTER, MSG_KEYNAME_RIGHTCTRL, MSG_KEYNAME_KPSLASH,
0158     MSG_KEYNAME_SYSRQ, MSG_KEYNAME_RIGHTALT,
0159     MSG_KEYNAME_LF, MSG_KEYNAME_HOME, MSG_KEYNAME_UP, MSG_KEYNAME_PGUP,
0160     MSG_KEYNAME_LEFT,
0161     MSG_KEYNAME_RIGHT, MSG_KEYNAME_END, MSG_KEYNAME_DOWN, MSG_KEYNAME_PGDN,
0162     MSG_KEYNAME_INS,
0163     MSG_KEYNAME_DEL, MSG_KEYNAME_MACRO, MSG_KEYNAME_MUTE,
0164     MSG_KEYNAME_VOLDOWN, MSG_KEYNAME_VOLUP,
0165     MSG_KEYNAME_POWER, MSG_KEYNAME_KPEQUAL, MSG_KEYNAME_KPPLUSDASH,
0166     MSG_KEYNAME_PAUSE, MSG_KEYNAME_F21, MSG_KEYNAME_F22, MSG_KEYNAME_F23,
0167     MSG_KEYNAME_F24, MSG_KEYNAME_KPCOMMA, MSG_KEYNAME_LEFTMETA,
0168     MSG_KEYNAME_RIGHTMETA, MSG_KEYNAME_COMPOSE, MSG_KEYNAME_STOP,
0169     MSG_KEYNAME_AGAIN, MSG_KEYNAME_PROPS,
0170     MSG_KEYNAME_UNDO, MSG_KEYNAME_FRONT, MSG_KEYNAME_COPY, MSG_KEYNAME_OPEN,
0171     MSG_KEYNAME_PASTE,
0172     MSG_KEYNAME_FIND, MSG_KEYNAME_CUT, MSG_KEYNAME_HELP, MSG_KEYNAME_MENU,
0173     MSG_KEYNAME_CALC,
0174     MSG_KEYNAME_SETUP, MSG_KEYNAME_SLEEP, MSG_KEYNAME_WAKEUP,
0175     MSG_KEYNAME_FILE, MSG_KEYNAME_SENDFILE,
0176     MSG_KEYNAME_DELFILE, MSG_KEYNAME_XFER, MSG_KEYNAME_PROG1,
0177     MSG_KEYNAME_PROG2, MSG_KEYNAME_WWW,
0178     MSG_KEYNAME_MSDOS, MSG_KEYNAME_COFFEE, MSG_KEYNAME_DIRECTION,
0179     MSG_KEYNAME_CYCLEWINDOWS, MSG_KEYNAME_MAIL,
0180     MSG_KEYNAME_BOOKMARKS, MSG_KEYNAME_COMPUTER, MSG_KEYNAME_BACK,
0181     MSG_KEYNAME_FORWARD, MSG_KEYNAME_CLOSECD,
0182     MSG_KEYNAME_EJECTCD, MSG_KEYNAME_EJECTCLOSE, MSG_KEYNAME_NEXTSONG,
0183     MSG_KEYNAME_PLAYPAUSE, MSG_KEYNAME_PREVSONG,
0184     MSG_KEYNAME_STOPCD, MSG_KEYNAME_RECORD, MSG_KEYNAME_REWIND,
0185     MSG_KEYNAME_PHONE, MSG_KEYNAME_ISO,
0186     MSG_KEYNAME_CONFIG, MSG_KEYNAME_HOMEPG, MSG_KEYNAME_REFRESH,
0187     MSG_KEYNAME_EXIT, MSG_KEYNAME_MOVE,
0188     MSG_KEYNAME_EDIT, MSG_KEYNAME_SCROLLUP, MSG_KEYNAME_SCROLLDN,
0189     MSG_KEYNAME_KPLEFTPAR, MSG_KEYNAME_KPRIGHTPAR,
0190     MSG_KEYNAMES_END = MSG_KEYNAME_KPRIGHTPAR,
0191 
0192     MSG_FUNCNAMES_START,
0193     MSG_FUNCNAME_ATTRIB_BLEEP_DEC = MSG_FUNCNAMES_START,
0194     MSG_FUNCNAME_ATTRIB_BLEEP_INC,
0195     MSG_FUNCNAME_BLEEPS_DEC, MSG_FUNCNAME_BLEEPS_INC,
0196     MSG_FUNCNAME_CHAR_FIRST, MSG_FUNCNAME_CHAR_LAST,
0197     MSG_FUNCNAME_CHAR_CURRENT, MSG_FUNCNAME_CHAR_HEX_AND_DEC,
0198     MSG_FUNCNAME_CHAR_NEXT,
0199     MSG_FUNCNAME_CHAR_PHONETIC, MSG_FUNCNAME_CHAR_PREVIOUS,
0200     MSG_FUNCNAME_CURSOR_PARK, MSG_FUNCNAME_CUT,
0201     MSG_FUNCNAME_EDIT_DELIM, MSG_FUNCNAME_EDIT_EXNUM,
0202     MSG_FUNCNAME_EDIT_MOST, MSG_FUNCNAME_EDIT_REPEATS,
0203     MSG_FUNCNAME_EDIT_SOME,
0204     MSG_FUNCNAME_GOTO, MSG_FUNCNAME_GOTO_BOTTOM, MSG_FUNCNAME_GOTO_LEFT,
0205     MSG_FUNCNAME_GOTO_RIGHT, MSG_FUNCNAME_GOTO_TOP, MSG_FUNCNAME_HELP,
0206     MSG_FUNCNAME_LINE_SAY_CURRENT, MSG_FUNCNAME_LINE_SAY_NEXT,
0207     MSG_FUNCNAME_LINE_SAY_PREVIOUS, MSG_FUNCNAME_LINE_SAY_WITH_INDENT,
0208     MSG_FUNCNAME_PASTE, MSG_FUNCNAME_PITCH_DEC, MSG_FUNCNAME_PITCH_INC,
0209     MSG_FUNCNAME_PUNC_DEC, MSG_FUNCNAME_PUNC_INC,
0210     MSG_FUNCNAME_PUNC_LEVEL_DEC, MSG_FUNCNAME_PUNC_LEVEL_INC,
0211     MSG_FUNCNAME_QUIET,
0212     MSG_FUNCNAME_RATE_DEC, MSG_FUNCNAME_RATE_INC,
0213     MSG_FUNCNAME_READING_PUNC_DEC, MSG_FUNCNAME_READING_PUNC_INC,
0214     MSG_FUNCNAME_SAY_ATTRIBUTES,
0215     MSG_FUNCNAME_SAY_FROM_LEFT, MSG_FUNCNAME_SAY_FROM_TOP,
0216     MSG_FUNCNAME_SAY_POSITION, MSG_FUNCNAME_SAY_SCREEN,
0217     MSG_FUNCNAME_SAY_TO_BOTTOM, MSG_FUNCNAME_SAY_TO_RIGHT,
0218     MSG_FUNCNAME_SPEAKUP, MSG_FUNCNAME_SPEAKUP_LOCK,
0219     MSG_FUNCNAME_SPEAKUP_OFF, MSG_FUNCNAME_SPEECH_KILL,
0220     MSG_FUNCNAME_SPELL_DELAY_DEC, MSG_FUNCNAME_SPELL_DELAY_INC,
0221     MSG_FUNCNAME_SPELL_WORD, MSG_FUNCNAME_SPELL_WORD_PHONETICALLY,
0222     MSG_FUNCNAME_TONE_DEC, MSG_FUNCNAME_TONE_INC,
0223     MSG_FUNCNAME_VOICE_DEC, MSG_FUNCNAME_VOICE_INC,
0224     MSG_FUNCNAME_VOLUME_DEC, MSG_FUNCNAME_VOLUME_INC,
0225     MSG_FUNCNAME_WINDOW_CLEAR, MSG_FUNCNAME_WINDOW_SAY,
0226     MSG_FUNCNAME_WINDOW_SET, MSG_FUNCNAME_WINDOW_SILENCE,
0227     MSG_FUNCNAME_WORD_SAY_CURRENT, MSG_FUNCNAME_WORD_SAY_NEXT,
0228     MSG_FUNCNAME_WORD_SAY_PREVIOUS,
0229     MSG_FUNCNAMES_END = MSG_FUNCNAME_WORD_SAY_PREVIOUS,
0230 
0231     /* all valid indices must be above this */
0232     MSG_LAST_INDEX
0233 };
0234 
0235 struct msg_group_t {
0236     char *name;
0237     enum msg_index_t start;
0238     enum msg_index_t end;
0239 };
0240 
0241 char *spk_msg_get(enum msg_index_t index);
0242 ssize_t spk_msg_set(enum msg_index_t index, char *text, size_t length);
0243 struct msg_group_t *spk_find_msg_group(const char *group_name);
0244 void spk_reset_msg_group(struct msg_group_t *group);
0245 void spk_initialize_msgs(void);
0246 void spk_free_user_msgs(void);
0247 
0248 #endif