]> granicus.if.org Git - procps-ng/blob - src/top/top_nls.h
a317ba24b618ef70361864b8f0b02be36b73a448
[procps-ng] / src / top / top_nls.h
1 /* top_nls.h - provide the basis for future nls translations */
2 /*
3  * Copyright (c) 2011-2022, by: Jim Warner <james.warner@comcast.net
4  *
5  * This file may be used subject to the terms and conditions of the
6  * GNU Library General Public License Version 2, or any later version
7  * at your option, as published by the Free Software Foundation.
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU Library General Public License for more details.
12  */
13 /* For contributions to this program, the author wishes to thank:
14  *    Craig Small, <csmall@dropbear.xyz>
15  *    Sami Kerola, <kerolasa@iki.fi>
16  */
17 #ifndef _Itop_nls
18 #define _Itop_nls
19
20         /*
21          * These are our string tables with the following contents:
22          *    Head : column headings with varying size limits
23          *    Desc : field descriptions not to exceed 20 screen positions
24          *    Norm : regular text possibly also containing c-format specifiers
25          *    Uniq : show_special specially formatted strings
26          *
27          * The latter table presents the greatest translation challenge !
28          *
29          * We go to the trouble of creating the nls string tables to achieve
30          * these objectives:
31          *    +  the overhead of repeated runtime calls to gettext()
32          *       will be avoided
33          *    +  the order of the strings in the template (.pot) file
34          *       can be completely controlled
35          *    +  none of the important translator only comments will
36          *       clutter and obscure the main program
37          */
38 extern const char *Head_nlstab[];
39 extern const char *Desc_nlstab[];
40 extern const char *Norm_nlstab[];
41 extern const char *Uniq_nlstab[];
42
43         /*
44          * Simple optional macros to ease table access.
45          * The N_txt and N_fmt macros are interchangeable but
46          * highlight the two types of strings found in Norm_nlstable.
47          */
48 #define N_col(e) Head_nlstab[e]
49 #define N_fld(e) Desc_nlstab[e]
50 #define N_txt(e) Norm_nlstab[e]
51 #define N_fmt(e) Norm_nlstab[e]
52 #define N_unq(e) Uniq_nlstab[e]
53
54         /*
55          * These enums are the means to access two of our four tables.
56          * The Head_nlstab and Desc_nlstab are accessed with standard
57          * top pflag enums.
58          *
59          * The norm_nls enums carry a suffix distinguishing plain text
60          * from any text also containiing c-format specifiers.
61          */
62 enum norm_nls {
63    AGNI_invalid_txt, AGNI_notopen_fmt, AGNI_nowrite_fmt, AGNI_valueof_fmt,
64    AMT_exxabyte_txt, AMT_gigabyte_txt, AMT_kilobyte_txt, AMT_megabyte_txt,
65    AMT_petabyte_txt, AMT_terabyte_txt, BAD_delayint_fmt, BAD_integers_txt,
66    BAD_max_task_txt, BAD_memscale_fmt, BAD_mon_pids_fmt, BAD_niterate_fmt,
67    BAD_numfloat_txt, BAD_signalid_txt, BAD_username_txt, BAD_widtharg_fmt,
68    CHOOSE_group_txt, COLORS_nomap_txt, DELAY_badarg_txt, DELAY_change_fmt,
69    DELAY_secure_txt, DISABLED_cmd_txt, DISABLED_win_fmt, EXIT_signals_fmt,
70    FAIL_alloc_c_txt, FAIL_alloc_r_txt, FAIL_rc_open_fmt, FAIL_re_nice_fmt,
71    FAIL_signals_fmt, FAIL_tty_get_txt, FAIL_tty_set_fmt, FAIL_widecpu_txt,
72    FAIL_widepid_txt, FIND_no_find_fmt, FIND_no_next_txt, FOREST_modes_fmt,
73    FOREST_views_txt, GET_find_str_txt, GET_max_task_fmt, GET_nice_num_fmt,
74    GET_pid2kill_fmt, GET_pid2nice_fmt, GET_sigs_num_fmt, GET_user_ids_txt,
75    HELP_cmdline_fmt, IRIX_curmode_fmt, LIB_errorcpu_fmt, LIB_errormem_fmt,
76    LIB_errorpid_fmt, LIMIT_exceed_fmt, MISSING_args_fmt, NAME_windows_fmt,
77    NOT_onsecure_txt, NOT_smp_cpus_txt, NUMA_nodebad_txt, NUMA_nodeget_fmt,
78    NUMA_nodenam_fmt, NUMA_nodenot_txt, OFF_one_word_txt, ON_word_only_txt,
79    OSEL_casenot_txt, OSEL_caseyes_txt, OSEL_errdelm_fmt, OSEL_errdups_txt,
80    OSEL_errvalu_fmt, OSEL_prompts_fmt, OSEL_statlin_fmt, RC_bad_entry_fmt,
81    RC_bad_files_fmt, SCROLL_coord_fmt, SELECT_clash_txt, THREADS_show_fmt,
82    TIME_accumed_fmt, UNKNOWN_cmds_txt, UNKNOWN_opts_fmt, VERSION_opts_fmt,
83    WORD_abv_mem_txt, WORD_abv_swp_txt, WORD_allcpus_txt, WORD_another_txt,
84    WORD_eachcpu_fmt, WORD_exclude_txt, WORD_include_txt, WORD_noneone_txt,
85    WORD_process_txt, WORD_threads_txt, WRITE_rcfile_fmt, WRONG_switch_fmt,
86    XTRA_badflds_fmt, XTRA_fixwide_fmt, XTRA_modebad_txt, XTRA_vforest_fmt,
87    XTRA_warncfg_txt, XTRA_warnold_txt, XTRA_winsize_txt,
88    X_BOT_cmdlin_fmt, X_BOT_ctlgrp_fmt, X_BOT_envirn_fmt, X_BOT_msglog_txt,
89    X_BOT_namesp_fmt, X_BOT_nodata_txt, X_BOT_supgrp_fmt, X_RESTRICTED_txt,
90    X_SEMAPHORES_fmt, X_THREADINGS_fmt,
91    YINSP_demo01_txt, YINSP_demo02_txt, YINSP_demo03_txt, YINSP_deqfmt_txt,
92    YINSP_deqtyp_txt, YINSP_dstory_txt,
93    YINSP_failed_fmt, YINSP_noent1_txt, YINSP_noent2_txt, YINSP_pidbad_fmt,
94    YINSP_pidsee_fmt, YINSP_status_fmt, YINSP_waitin_txt, YINSP_workin_txt,
95       norm_MAX
96 };
97
98 enum uniq_nls {
99    COLOR_custom_fmt, FIELD_header_fmt, KEYS_helpbas_fmt, KEYS_helpext_fmt,
100    MEMORY_line1_fmt, MEMORY_line2_fmt, STATE_lin2x6_fmt, STATE_lin2x7_fmt,
101    STATE_line_1_fmt, WINDOWS_help_fmt, YINSP_hdsels_fmt, YINSP_hdview_fmt,
102       uniq_MAX
103 };
104
105 void initialize_nls (void);
106
107 #endif /* _Itop_nls */
108 \f