diff --git a/lib/libx52/x52_strerror.c b/lib/libx52/x52_strerror.c index 6cdbaa3..a193140 100644 --- a/lib/libx52/x52_strerror.c +++ b/lib/libx52/x52_strerror.c @@ -1,7 +1,7 @@ /* * Saitek X52 Pro MFD & LED driver * - * Copyright (C) 2012-2017 Nirenjan Krishnan (nirenjan@nirenjan.org) + * Copyright (C) 2012-2021 Nirenjan Krishnan (nirenjan@nirenjan.org) * * SPDX-License-Identifier: GPL-2.0-only WITH Classpath-exception-2.0 */ @@ -12,65 +12,54 @@ #include "libx52.h" #include "gettext.h" -/** For future use in i18n */ +#define N_(str) gettext_noop(str) #define _(str) dgettext(PACKAGE, str) /* Error buffer used for building custom error strings */ static char error_buffer[256]; +/* List of error strings */ +static const char *error_string[] = { + N_("Success"), + N_("Initialization failure"), + N_("Insufficient memory"), + N_("Invalid parameter"), + N_("Operation not supported"), + N_("Try again"), + N_("Input parameter out of range"), + N_("USB transaction failure"), + N_("USB input/output error"), + N_("Access denied"), + N_("No such device"), + N_("Entity not found"), + N_("Resource busy"), + N_("Operation timeout"), + N_("Overflow"), + N_("Pipe error"), + N_("System call interrupted"), +}; + const char * libx52_strerror(libx52_error_code error) { switch (error) { case LIBX52_SUCCESS: - return _("Success"); - case LIBX52_ERROR_INIT_FAILURE: - return _("Initialization failure"); - case LIBX52_ERROR_OUT_OF_MEMORY: - return _("Insufficient memory"); - case LIBX52_ERROR_INVALID_PARAM: - return _("Invalid parameter"); - case LIBX52_ERROR_NOT_SUPPORTED: - return _("Operation not supported"); - case LIBX52_ERROR_TRY_AGAIN: - return _("Try again"); - case LIBX52_ERROR_OUT_OF_RANGE: - return _("Input parameter out of range"); - case LIBX52_ERROR_USB_FAILURE: - return _("USB transaction failure"); - case LIBX52_ERROR_IO: - return _("USB input/output error"); - case LIBX52_ERROR_PERM: - return _("Access denied"); - case LIBX52_ERROR_NO_DEVICE: - return _("No such device"); - case LIBX52_ERROR_NOT_FOUND: - return _("Entity not found"); - case LIBX52_ERROR_BUSY: - return _("Resource busy"); - case LIBX52_ERROR_TIMEOUT: - return _("Operation timeout"); - case LIBX52_ERROR_OVERFLOW: - return _("Overflow"); - case LIBX52_ERROR_PIPE: - return _("Pipe error"); - case LIBX52_ERROR_INTERRUPTED: - return _("System call interrupted"); + return _(error_string[error]); default: snprintf(error_buffer, sizeof(error_buffer), diff --git a/lib/libx52io/io_strings.c b/lib/libx52io/io_strings.c index 4f3eaaa..794a704 100644 --- a/lib/libx52io/io_strings.c +++ b/lib/libx52io/io_strings.c @@ -95,31 +95,31 @@ const char * libx52io_button_to_str(libx52io_button button) /* Error buffer used for building custom error strings */ static char error_buffer[256]; +#define N_(str) gettext_noop(str) + +static const char *error_string[] = { + N_("Success"), + N_("Initialization failure"), + N_("No device"), + N_("Invalid arguments"), + N_("Connection failure"), + N_("I/O error"), + N_("Read timeout"), +}; + #define _(str) dgettext(PACKAGE, str) const char * libx52io_strerror(libx52io_error_code code) { switch (code) { case LIBX52IO_SUCCESS: - return _("Success"); - case LIBX52IO_ERROR_INIT_FAILURE: - return _("Initialization failure"); - case LIBX52IO_ERROR_NO_DEVICE: - return _("No device"); - case LIBX52IO_ERROR_INVALID: - return _("Invalid arguments"); - case LIBX52IO_ERROR_CONN: - return _("Connection failure"); - case LIBX52IO_ERROR_IO: - return _("I/O error"); - case LIBX52IO_ERROR_TIMEOUT: - return _("Read timeout"); + return _(error_string[code]); default: snprintf(error_buffer, sizeof(error_buffer), _("Unknown error %d"), code); diff --git a/po/x52pro-linux.pot b/po/x52pro-linux.pot index b230869..fd37347 100644 --- a/po/x52pro-linux.pot +++ b/po/x52pro-linux.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: x52pro-linux 0.2.1\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/x52pro-linux/issues\n" -"POT-Creation-Date: 2021-07-26 11:01-0700\n" +"POT-Creation-Date: 2021-07-27 01:34-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,96 +17,96 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: lib/libx52/x52_strerror.c:25 lib/libx52io/io_strings.c:104 +#: lib/libx52/x52_strerror.c:23 lib/libx52io/io_strings.c:101 msgid "Success" msgstr "" -#: lib/libx52/x52_strerror.c:28 lib/libx52io/io_strings.c:107 +#: lib/libx52/x52_strerror.c:24 lib/libx52io/io_strings.c:102 msgid "Initialization failure" msgstr "" -#: lib/libx52/x52_strerror.c:31 +#: lib/libx52/x52_strerror.c:25 msgid "Insufficient memory" msgstr "" -#: lib/libx52/x52_strerror.c:34 +#: lib/libx52/x52_strerror.c:26 msgid "Invalid parameter" msgstr "" -#: lib/libx52/x52_strerror.c:37 +#: lib/libx52/x52_strerror.c:27 msgid "Operation not supported" msgstr "" -#: lib/libx52/x52_strerror.c:40 +#: lib/libx52/x52_strerror.c:28 msgid "Try again" msgstr "" -#: lib/libx52/x52_strerror.c:43 +#: lib/libx52/x52_strerror.c:29 msgid "Input parameter out of range" msgstr "" -#: lib/libx52/x52_strerror.c:46 +#: lib/libx52/x52_strerror.c:30 msgid "USB transaction failure" msgstr "" -#: lib/libx52/x52_strerror.c:49 +#: lib/libx52/x52_strerror.c:31 msgid "USB input/output error" msgstr "" -#: lib/libx52/x52_strerror.c:52 +#: lib/libx52/x52_strerror.c:32 msgid "Access denied" msgstr "" -#: lib/libx52/x52_strerror.c:55 +#: lib/libx52/x52_strerror.c:33 msgid "No such device" msgstr "" -#: lib/libx52/x52_strerror.c:58 +#: lib/libx52/x52_strerror.c:34 msgid "Entity not found" msgstr "" -#: lib/libx52/x52_strerror.c:61 +#: lib/libx52/x52_strerror.c:35 msgid "Resource busy" msgstr "" -#: lib/libx52/x52_strerror.c:64 +#: lib/libx52/x52_strerror.c:36 msgid "Operation timeout" msgstr "" -#: lib/libx52/x52_strerror.c:67 +#: lib/libx52/x52_strerror.c:37 msgid "Overflow" msgstr "" -#: lib/libx52/x52_strerror.c:70 +#: lib/libx52/x52_strerror.c:38 msgid "Pipe error" msgstr "" -#: lib/libx52/x52_strerror.c:73 +#: lib/libx52/x52_strerror.c:39 msgid "System call interrupted" msgstr "" -#: lib/libx52/x52_strerror.c:77 lib/libx52io/io_strings.c:125 +#: lib/libx52/x52_strerror.c:66 lib/libx52io/io_strings.c:125 #, c-format msgid "Unknown error %d" msgstr "" -#: lib/libx52io/io_strings.c:110 +#: lib/libx52io/io_strings.c:103 msgid "No device" msgstr "" -#: lib/libx52io/io_strings.c:113 +#: lib/libx52io/io_strings.c:104 msgid "Invalid arguments" msgstr "" -#: lib/libx52io/io_strings.c:116 +#: lib/libx52io/io_strings.c:105 msgid "Connection failure" msgstr "" -#: lib/libx52io/io_strings.c:119 +#: lib/libx52io/io_strings.c:106 msgid "I/O error" msgstr "" -#: lib/libx52io/io_strings.c:122 +#: lib/libx52io/io_strings.c:107 msgid "Read timeout" msgstr "" diff --git a/po/xx_PL.po b/po/xx_PL.po index 5045bea..e685523 100644 --- a/po/xx_PL.po +++ b/po/xx_PL.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: x52pro-linux 0.2.1\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/x52pro-linux/issues\n" -"POT-Creation-Date: 2021-07-26 11:01-0700\n" +"POT-Creation-Date: 2021-07-27 01:34-0700\n" "PO-Revision-Date: 2021-07-26 11:00-0700\n" "Last-Translator: Nirenjan Krishnan \n" "Language-Team: Dummy Language for testing i18n\n" @@ -17,96 +17,96 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.0\n" -#: lib/libx52/x52_strerror.c:25 lib/libx52io/io_strings.c:104 +#: lib/libx52/x52_strerror.c:23 lib/libx52io/io_strings.c:101 msgid "Success" msgstr "Uccesssay" -#: lib/libx52/x52_strerror.c:28 lib/libx52io/io_strings.c:107 +#: lib/libx52/x52_strerror.c:24 lib/libx52io/io_strings.c:102 msgid "Initialization failure" msgstr "Initializationay ailurefay" -#: lib/libx52/x52_strerror.c:31 +#: lib/libx52/x52_strerror.c:25 msgid "Insufficient memory" msgstr "Insufficientay emorymay" -#: lib/libx52/x52_strerror.c:34 +#: lib/libx52/x52_strerror.c:26 msgid "Invalid parameter" msgstr "Invaliday arameterpay" -#: lib/libx52/x52_strerror.c:37 +#: lib/libx52/x52_strerror.c:27 msgid "Operation not supported" msgstr "Operationay otnay upportedsay" -#: lib/libx52/x52_strerror.c:40 +#: lib/libx52/x52_strerror.c:28 msgid "Try again" msgstr "Ytray againay" -#: lib/libx52/x52_strerror.c:43 +#: lib/libx52/x52_strerror.c:29 msgid "Input parameter out of range" msgstr "Inputay arameterpay outay ofay angeray" -#: lib/libx52/x52_strerror.c:46 +#: lib/libx52/x52_strerror.c:30 msgid "USB transaction failure" msgstr "USBay ansactiontray ailurefay" -#: lib/libx52/x52_strerror.c:49 +#: lib/libx52/x52_strerror.c:31 msgid "USB input/output error" msgstr "USBay inputay/outputay erroray" -#: lib/libx52/x52_strerror.c:52 +#: lib/libx52/x52_strerror.c:32 msgid "Access denied" msgstr "Accessay eniedday" -#: lib/libx52/x52_strerror.c:55 +#: lib/libx52/x52_strerror.c:33 msgid "No such device" msgstr "Onay uchsay eviceday" -#: lib/libx52/x52_strerror.c:58 +#: lib/libx52/x52_strerror.c:34 msgid "Entity not found" msgstr "Entityay otnay oundfay" -#: lib/libx52/x52_strerror.c:61 +#: lib/libx52/x52_strerror.c:35 msgid "Resource busy" msgstr "Esourceray usybay" -#: lib/libx52/x52_strerror.c:64 +#: lib/libx52/x52_strerror.c:36 msgid "Operation timeout" msgstr "Operationay imeouttay" -#: lib/libx52/x52_strerror.c:67 +#: lib/libx52/x52_strerror.c:37 msgid "Overflow" msgstr "Overfloway" -#: lib/libx52/x52_strerror.c:70 +#: lib/libx52/x52_strerror.c:38 msgid "Pipe error" msgstr "Ipepay erroray" -#: lib/libx52/x52_strerror.c:73 +#: lib/libx52/x52_strerror.c:39 msgid "System call interrupted" msgstr "Ystemsay allcay interrupteday" -#: lib/libx52/x52_strerror.c:77 lib/libx52io/io_strings.c:125 +#: lib/libx52/x52_strerror.c:66 lib/libx52io/io_strings.c:125 #, c-format msgid "Unknown error %d" msgstr "Unknownay erroray %d" -#: lib/libx52io/io_strings.c:110 +#: lib/libx52io/io_strings.c:103 msgid "No device" msgstr "Onay eviceday" -#: lib/libx52io/io_strings.c:113 +#: lib/libx52io/io_strings.c:104 msgid "Invalid arguments" msgstr "Invaliday argumentsay" -#: lib/libx52io/io_strings.c:116 +#: lib/libx52io/io_strings.c:105 msgid "Connection failure" msgstr "Onnectioncay ailurefay" -#: lib/libx52io/io_strings.c:119 +#: lib/libx52io/io_strings.c:106 msgid "I/O error" msgstr "I/O erroray" -#: lib/libx52io/io_strings.c:122 +#: lib/libx52io/io_strings.c:107 msgid "Read timeout" msgstr "Eadray imeouttay"