diff --git a/CMakeLists.txt b/CMakeLists.txt index 38741ee..81bdb4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,7 @@ find_package(GD REQUIRED) find_package(Git REQUIRED) find_package(PkgConfig REQUIRED) find_package(Intl REQUIRED) +find_package(argp REQUIRED) pkg_check_modules(LIBUSB REQUIRED libusb-1.0) @@ -26,6 +27,7 @@ target_include_directories(${PROJECT_NAME} PUBLIC ${GD_INCLUDE_DIR} ${LIBUSB_INCLUDE_DIRS} ${Intl_INCLUDE_DIRS} + ${ARGP_INCLUDE_DIR} ) target_link_libraries(${PROJECT_NAME} PRIVATE @@ -33,11 +35,11 @@ target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBUSB_LIBRARIES} ${LIBUSB_LINK_LIBRARIES} ${Intl_LIBRARIES} + ${ARGP_LIBRARIES} ) target_sources(${PROJECT_NAME} PRIVATE include/ptouch.h - include/gettext.h src/libptouch.c src/ptouch-print.c ) @@ -66,11 +68,13 @@ add_custom_target(git-version ALL ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/gitversion.cmake ) +include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/gettext.cmake) + install(TARGETS ${PROJECT_NAME} DESTINATION bin) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ptouch-print.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) if(EXISTS /etc/udev/rules.d) - install(FILES udev/90-usb-ptouch-permissions.rules DESTINATION /etc/udev/rules.d) + install(FILES udev/20-usb-ptouch-permissions.rules DESTINATION /etc/udev/rules.d) install(CODE "execute_process(COMMAND udevadm control --reload-rules)") endif() diff --git a/README b/README index b3e6a6b..7e2e0f3 100644 --- a/README +++ b/README @@ -16,7 +16,7 @@ https://dominic.familie-radermacher.ch/projekte/ptouch-print/ Compile instructions: -./build.sh +./compile.sh Note: diff --git a/cmake/Findargp.cmake b/cmake/Findargp.cmake new file mode 100644 index 0000000..2992977 --- /dev/null +++ b/cmake/Findargp.cmake @@ -0,0 +1,86 @@ +# This file is part of CMake-argp. +# +# CMake-argp is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License along +# with this program. If not, see +# +# http://www.gnu.org/licenses/ +# +# +# Copyright (c) +# 2016-2017 Alexander Haase +# + +include(CheckFunctionExists) +include(FindPackageHandleStandardArgs) +include(FindPackageMessage) + + +# Do the following checks for header, library and argp functions quietly. Only +# print the result at the end of this file. +set(CMAKE_REQUIRED_QUIET TRUE) + + +# First check if argp is shipped together with libc without linking to any other +# library or including any paths. In that case, no files for argp need to be +# searched and argp may be used out-of-the-box. +check_function_exists("argp_parse" ARGP_IN_LIBC) +if (ARGP_IN_LIBC) + # Set the argp library- and include-paths to empty values, otherwise CMake + # might print warnings about unknown variables and fills them with + # 'xy-NOTFOUND'. + set(ARGP_FOUND TRUE) + set(ARGP_LIBRARIES "") + set(ARGP_INCLUDE_PATH "") + + # Print a message, that argp has been successfully found and return from + # this module, as argp doesn't need to be searched as a separate library. + find_package_message(argp "Found argp: built-in" "built-in") + return() +endif() + + +# Argp is not part of the libc, so it needs to be searched as a separate library +# with its own include directory. +# +# First search the argp header file. If it is not found, any further steps will +# fail. +find_path(ARGP_INCLUDE_PATH "argp.h") +if (ARGP_INCLUDE_PATH) + # Try to find the argp library and check if it has the required argp_parse + # function. + set(CMAKE_REQUIRED_INCLUDES "${ARGP_INCLUDE_PATH}") + find_library(ARGP_LIBRARIES "argp") + + # Check if argp_parse is available. Some implementations don't have this + # symbol defined, thus they're not compatible. + if (ARGP_LIBRARIES) + set(CMAKE_REQUIRED_LIBRARIES "${ARGP_LIBRARIES}") + check_function_exists("argp_parse" ARGP_EXTERNAL) + if (NOT ARGP_EXTERNAL) + message(FATAL_ERROR "Your system ships an argp library in " + "${ARGP_LIBRARIES}, but it does not have a symbol " + "named argp_parse.") + endif () + endif () +endif () + + +# Restore the quiet settings. By default the last check should be printed if not +# disabled in the find_package call. +set(CMAKE_REQUIRED_QUIET ${argp_FIND_QUIETLY}) + + +# Check for all required variables. +find_package_handle_standard_args(argp + DEFAULT_MSG + ARGP_LIBRARIES ARGP_INCLUDE_PATH) +mark_as_advanced(ARGP_LIBRARIES ARGP_INCLUDE_PATH) diff --git a/cmake/gettext.cmake b/cmake/gettext.cmake new file mode 100644 index 0000000..c48fe66 --- /dev/null +++ b/cmake/gettext.cmake @@ -0,0 +1,72 @@ +# Utilize gettext multilingual internationalization services +if(Gettext_FOUND) + # generate pot files using xgettext + find_program(GETTEXT_XGETTEXT_EXECUTABLE xgettext) + if(GETTEXT_XGETTEXT_EXECUTABLE) + add_custom_target( + pot-update + ALL + DEPENDS ${CMAKE_SOURCE_DIR}/po/ptouch.pot + ) + + file(GLOB_RECURSE C_FILES RELATIVE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src/*.c) + add_custom_command( + TARGET pot-update + PRE_BUILD + COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE} + --keyword=_ + --keyword=N_ + --force-po + --package-name=${PROJECT_NAME} + --copyright-holder="Dominic Radermacher " + --msgid-bugs-address="dominic@familie-radermacher.ch" + --output ${CMAKE_SOURCE_DIR}/po/ptouch.pot + ${C_FILES} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ) + + # read available languages from LINGUAS file while ignoring comments + file(STRINGS po/LINGUAS LINGUAS REGEX "^[^#]") + + # merge po files + find_program(GETTEXT_MSGMERGE_EXECUTABLE msgmerge) + if(GETTEXT_MSGMERGE_EXECUTABLE) + add_custom_target( + po-merge + ALL + DEPENDS ${CMAKE_SOURCE_DIR}/po/ptouch.pot + ) + add_dependencies(po-merge pot-update) + + foreach(LINGUA IN LISTS LINGUAS) + add_custom_command( + TARGET po-merge + PRE_BUILD + COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} + --update + --quiet + ${CMAKE_SOURCE_DIR}/po/${LINGUA}.po + ${CMAKE_SOURCE_DIR}/po/ptouch.pot + ) + endforeach() + endif() + endif() + + # compile po files + foreach(LINGUA IN LISTS LINGUAS) + gettext_process_po_files( + ${LINGUA} + ALL + PO_FILES ${CMAKE_SOURCE_DIR}/po/${LINGUA}.po + ) + endforeach() + + # install mo files + foreach(LINGUA IN LISTS LINGUAS) + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/${LINGUA}.gmo" + DESTINATION "${CMAKE_INSTALL_LOCALEDIR}/${LINGUA}/LC_MESSAGES" + RENAME "${PROJECT_NAME}.mo" + ) + endforeach() +endif() diff --git a/build.sh b/compile.sh similarity index 100% rename from build.sh rename to compile.sh diff --git a/include/gettext.h b/include/gettext.h deleted file mode 100644 index f37d586..0000000 --- a/include/gettext.h +++ /dev/null @@ -1,288 +0,0 @@ -/* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011, 2015 Free - Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#ifndef _LIBGETTEXT_H -#define _LIBGETTEXT_H 1 - -/* NLS can be disabled through the configure --disable-nls option. */ -#if ENABLE_NLS - -/* Get declarations of GNU message catalog functions. */ -# include - -/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by - the gettext() and ngettext() macros. This is an alternative to calling - textdomain(), and is useful for libraries. */ -# ifdef DEFAULT_TEXT_DOMAIN -# undef gettext -# define gettext(Msgid) \ - dgettext (DEFAULT_TEXT_DOMAIN, Msgid) -# undef ngettext -# define ngettext(Msgid1, Msgid2, N) \ - dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) -# endif - -#else - -/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which - chokes if dcgettext is defined as a macro. So include it now, to make - later inclusions of a NOP. We don't include - as well because people using "gettext.h" will not include , - and also including would fail on SunOS 4, whereas - is OK. */ -#if defined(__sun) -# include -#endif - -/* Many header files from the libstdc++ coming with g++ 3.3 or newer include - , which chokes if dcgettext is defined as a macro. So include - it now, to make later inclusions of a NOP. */ -#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) -# include -# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H -# include -# endif -#endif - -/* Disabled NLS. - The casts to 'const char *' serve the purpose of producing warnings - for invalid uses of the value returned from these functions. - On pre-ANSI systems without 'const', the config.h file is supposed to - contain "#define const". */ -# undef gettext -# define gettext(Msgid) ((const char *) (Msgid)) -# undef dgettext -# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) -# undef dcgettext -# define dcgettext(Domainname, Msgid, Category) \ - ((void) (Category), dgettext (Domainname, Msgid)) -# undef ngettext -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 \ - ? ((void) (Msgid2), (const char *) (Msgid1)) \ - : ((void) (Msgid1), (const char *) (Msgid2))) -# undef dngettext -# define dngettext(Domainname, Msgid1, Msgid2, N) \ - ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) -# undef dcngettext -# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ - ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N)) -# undef textdomain -# define textdomain(Domainname) ((const char *) (Domainname)) -# undef bindtextdomain -# define bindtextdomain(Domainname, Dirname) \ - ((void) (Domainname), (const char *) (Dirname)) -# undef bind_textdomain_codeset -# define bind_textdomain_codeset(Domainname, Codeset) \ - ((void) (Domainname), (const char *) (Codeset)) - -#endif - -/* Prefer gnulib's setlocale override over libintl's setlocale override. */ -#ifdef GNULIB_defined_setlocale -# undef setlocale -# define setlocale rpl_setlocale -#endif - -/* A pseudo function call that serves as a marker for the automated - extraction of messages, but does not call gettext(). The run-time - translation is done at a different place in the code. - The argument, String, should be a literal string. Concatenated strings - and other string expressions won't work. - The macro's expansion is not parenthesized, so that it is suitable as - initializer for static 'char[]' or 'const char[]' variables. */ -#define gettext_noop(String) String - -/* The separator between msgctxt and msgid in a .mo file. */ -#define GETTEXT_CONTEXT_GLUE "\004" - -/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a - MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be - short and rarely need to change. - The letter 'p' stands for 'particular' or 'special'. */ -#ifdef DEFAULT_TEXT_DOMAIN -# define pgettext(Msgctxt, Msgid) \ - pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#else -# define pgettext(Msgctxt, Msgid) \ - pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#endif -#define dpgettext(Domainname, Msgctxt, Msgid) \ - pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) -#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ - pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) -#ifdef DEFAULT_TEXT_DOMAIN -# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#else -# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#endif -#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ - npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) -#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ - npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -pgettext_aux (const char *domain, - const char *msg_ctxt_id, const char *msgid, - int category) -{ - const char *translation = dcgettext (domain, msg_ctxt_id, category); - if (translation == msg_ctxt_id) - return msgid; - else - return translation; -} - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -npgettext_aux (const char *domain, - const char *msg_ctxt_id, const char *msgid, - const char *msgid_plural, unsigned long int n, - int category) -{ - const char *translation = - dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); - if (translation == msg_ctxt_id || translation == msgid_plural) - return (n == 1 ? msgid : msgid_plural); - else - return translation; -} - -/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID - can be arbitrary expressions. But for string literals these macros are - less efficient than those above. */ - -#include - -#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \ - /* || __STDC_VERSION__ >= 199901L */ ) -# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1 -#else -# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0 -#endif - -#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS -#include -#endif - -#define pgettext_expr(Msgctxt, Msgid) \ - dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) -#define dpgettext_expr(Domainname, Msgctxt, Msgid) \ - dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -dcpgettext_expr (const char *domain, - const char *msgctxt, const char *msgid, - int category) -{ - size_t msgctxt_len = strlen (msgctxt) + 1; - size_t msgid_len = strlen (msgid) + 1; - const char *translation; -#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS - char msg_ctxt_id[msgctxt_len + msgid_len]; -#else - char buf[1024]; - char *msg_ctxt_id = - (msgctxt_len + msgid_len <= sizeof (buf) - ? buf - : (char *) malloc (msgctxt_len + msgid_len)); - if (msg_ctxt_id != NULL) -#endif - { - memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); - msg_ctxt_id[msgctxt_len - 1] = '\004'; - memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); - translation = dcgettext (domain, msg_ctxt_id, category); -#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS - if (msg_ctxt_id != buf) - free (msg_ctxt_id); -#endif - if (translation != msg_ctxt_id) - return translation; - } - return msgid; -} - -#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ - dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) -#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ - dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static const char * -dcnpgettext_expr (const char *domain, - const char *msgctxt, const char *msgid, - const char *msgid_plural, unsigned long int n, - int category) -{ - size_t msgctxt_len = strlen (msgctxt) + 1; - size_t msgid_len = strlen (msgid) + 1; - const char *translation; -#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS - char msg_ctxt_id[msgctxt_len + msgid_len]; -#else - char buf[1024]; - char *msg_ctxt_id = - (msgctxt_len + msgid_len <= sizeof (buf) - ? buf - : (char *) malloc (msgctxt_len + msgid_len)); - if (msg_ctxt_id != NULL) -#endif - { - memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); - msg_ctxt_id[msgctxt_len - 1] = '\004'; - memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); - translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); -#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS - if (msg_ctxt_id != buf) - free (msg_ctxt_id); -#endif - if (!(translation == msg_ctxt_id || translation == msgid_plural)) - return translation; - } - return (n == 1 ? msgid : msgid_plural); -} - -#endif /* _LIBGETTEXT_H */ diff --git a/include/ptouch.h b/include/ptouch.h index 76d64e5..1fc1d0c 100644 --- a/include/ptouch.h +++ b/include/ptouch.h @@ -106,7 +106,7 @@ size_t ptouch_get_max_width(ptouch_dev ptdev); size_t ptouch_get_tape_width(ptouch_dev ptdev); int ptouch_page_flags(ptouch_dev ptdev, uint8_t page_flags); int ptouch_finalize(ptouch_dev ptdev, int chain); -int ptouch_getstatus(ptouch_dev ptdev); +int ptouch_getstatus(ptouch_dev ptdev, int timeout); int ptouch_getmaxwidth(ptouch_dev ptdev); int ptouch_send_d460bt_magic(ptouch_dev ptdev); int ptouch_send_d460bt_chain(ptouch_dev ptdev); diff --git a/po/de.po b/po/de.po index d67eab7..1219aa5 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ptouch-print 1.3.1\n" "Report-Msgid-Bugs-To: dominic@familie-radermacher.ch\n" -"POT-Creation-Date: 2024-05-23 22:20-0400\n" +"POT-Creation-Date: 2025-12-08 15:27+0100\n" "PO-Revision-Date: 2024-05-23 22:27-0400\n" "Last-Translator: dominic@familie-radermacher.ch\n" "Language-Team: German \n" @@ -19,218 +19,293 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.4.2\n" -#: src/libptouch.c:95 src/libptouch.c:99 src/libptouch.c:103 +#: src/libptouch.c:107 src/libptouch.c:111 src/libptouch.c:115 #, c-format msgid "out of memory\n" msgstr "Nicht genug Speicher\n" -#: src/libptouch.c:107 +#: src/libptouch.c:119 #, c-format msgid "libusb_init() failed\n" msgstr "ptouch_init() fehlgeschlagen\n" -#: src/libptouch.c:116 +#: src/libptouch.c:128 #, c-format msgid "failed to get device descriptor" msgstr "" -#: src/libptouch.c:122 +#: src/libptouch.c:134 #, c-format msgid "%s found on USB bus %d, device %d\n" msgstr "Drucker %s am USB Bus %d, Gerät %d gefunden\n" -#: src/libptouch.c:137 +#: src/libptouch.c:149 #, c-format msgid "libusb_open error :%s\n" msgstr "" -#: src/libptouch.c:143 +#: src/libptouch.c:155 #, c-format msgid "error while detaching kernel driver: %s\n" msgstr "" -#: src/libptouch.c:147 +#: src/libptouch.c:159 #, c-format msgid "interface claim error: %s\n" msgstr "" -#: src/libptouch.c:158 +#: src/libptouch.c:170 #, c-format -msgid "No P-Touch printer found on USB (remember to put switch to position E)\n" +msgid "" +"No P-Touch printer found on USB (remember to put switch to position E)\n" msgstr "Kein P-Ptouch Drucker am USB gefunden (Schalter muss auf E stehen)\n" -#: src/libptouch.c:178 +#: src/libptouch.c:190 +#, c-format +msgid "debug: called ptouch_send() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:197 #, c-format msgid "write error: %s\n" msgstr "" -#: src/libptouch.c:182 +#: src/libptouch.c:201 #, fuzzy, c-format -#| msgid "read error: got %i instead of 32 bytes\n" msgid "write error: could send only %i of %ld bytes\n" msgstr "Lesefehler: %i anstatt 32 bytes empfangen\n" -#: src/libptouch.c:302 +#: src/libptouch.c:251 +#, c-format +msgid "debug: called ptouch_info_cmd() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:293 +#, fuzzy, c-format +msgid "debug: called ptouch_rasterstart() with NULL ptdev\n" +msgstr "ptouch_rasterstart() fehlgeschlagen\n" + +#: src/libptouch.c:324 +#, c-format +msgid "debug: called ptouch_finalize() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:339 #, c-format msgid "debug: dumping raw status bytes\n" msgstr "" -#: src/libptouch.c:326 src/libptouch.c:362 +#: src/libptouch.c:358 +#, c-format +msgid "debug: called ptouch_getstatus() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:368 src/libptouch.c:404 #, c-format msgid "read error: %s\n" msgstr "" -#: src/libptouch.c:331 +#: src/libptouch.c:373 #, c-format -msgid "timeout while waiting for status response\n" +msgid "timeout (%i sec) while waiting for status response\n" msgstr "" -#: src/libptouch.c:345 +#: src/libptouch.c:387 #, c-format msgid "unknown tape width of %imm, please report this.\n" msgstr "Unbekannte Schriftband breite (%i mm), bitte melden\n" -#: src/libptouch.c:351 +#: src/libptouch.c:393 #, c-format msgid "got only 16 bytes... wondering what they are:\n" msgstr "nur 16 bytes empfangen... mal gucken was die sind:\n" -#: src/libptouch.c:355 +#: src/libptouch.c:397 #, c-format msgid "read error: got %i instead of 32 bytes\n" msgstr "Lesefehler: %i anstatt 32 bytes empfangen\n" -#: src/libptouch.c:358 +#: src/libptouch.c:400 #, c-format msgid "strange status:\n" msgstr "Seltsamer Status:\n" -#: src/libptouch.c:360 +#: src/libptouch.c:402 #, c-format msgid "trying to flush junk\n" msgstr "" -#: src/libptouch.c:365 +#: src/libptouch.c:407 #, c-format msgid "got another %i bytes. now try again\n" msgstr "weitere %i bytes empfangen. probiere es nochmal.\n" -#: src/ptouch-print.c:82 +#: src/libptouch.c:414 +#, c-format +msgid "debug: called ptouch_get_tape_width() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:423 +#, c-format +msgid "debug: called ptouch_get_max_width() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:435 +#, c-format +msgid "debug: called ptouch_sendraster() with NULL ptdev\n" +msgstr "" + +#: src/ptouch-print.c:152 #, c-format msgid "nothing to print\n" msgstr "" -#: src/ptouch-print.c:89 +#: src/ptouch-print.c:160 #, c-format msgid "image is too large (%ipx x %ipx)\n" msgstr "Bild ist zu gross (%ipx x %ipx)\n" -#: src/ptouch-print.c:90 src/ptouch-print.c:556 +#: src/ptouch-print.c:161 #, c-format msgid "maximum printing width for this tape is %ipx\n" msgstr "Maximal druckbare Breite für dieses Schriftband sind %ipx\n" -#: src/ptouch-print.c:104 +#: src/ptouch-print.c:164 +#, fuzzy, c-format +msgid "image size (%ipx x %ipx)\n" +msgstr "Bild ist zu gross (%ipx x %ipx)\n" + +#: src/ptouch-print.c:174 #, c-format msgid "ptouch_rasterstart() failed\n" msgstr "ptouch_rasterstart() fehlgeschlagen\n" -#: src/ptouch-print.c:110 +#: src/ptouch-print.c:180 #, c-format msgid "send print information command\n" msgstr "" -#: src/ptouch-print.c:116 +#: src/ptouch-print.c:186 #, c-format msgid "send PT-D460BT magic commands\n" msgstr "" -#: src/ptouch-print.c:122 +#: src/ptouch-print.c:193 #, c-format msgid "send precut command\n" msgstr "" -#: src/ptouch-print.c:133 +#: src/ptouch-print.c:202 +#, c-format +msgid "send PT-D460BT chain commands\n" +msgstr "" + +#: src/ptouch-print.c:214 #, fuzzy, c-format -#| msgid "ptouch_send() failed\n" msgid "ptouch_sendraster() failed\n" msgstr "ptouch_send() fehlgeschlagen\n" -#: src/ptouch-print.c:182 +#: src/ptouch-print.c:263 #, c-format msgid "writing image '%s' failed\n" msgstr "Schreiben der Bilddatei '%s' fehlgeschlagen\n" -#: src/ptouch-print.c:206 +#: src/ptouch-print.c:285 #, c-format msgid "debug: o baseline offset - %d\n" msgstr "" -#: src/ptouch-print.c:207 +#: src/ptouch-print.c:286 #, c-format msgid "debug: text baseline offset - %d\n" msgstr "" -#: src/ptouch-print.c:266 +#: src/ptouch-print.c:345 #, c-format -msgid "render_text(): %i lines, font = '%s'\n" +msgid "render_text(): %i lines, font = '%s', align = '%c'\n" msgstr "" -#: src/ptouch-print.c:269 +#: src/ptouch-print.c:348 #, c-format msgid "warning: font config not available\n" msgstr "Warnung: fontconfig ist nicht verfügbar\n" -#: src/ptouch-print.c:273 +#: src/ptouch-print.c:352 #, c-format msgid "setting font size=%i\n" msgstr "setze Zeichensatzgrösse=%i\n" -#: src/ptouch-print.c:277 +#: src/ptouch-print.c:356 #, c-format msgid "could not estimate needed font size\n" msgstr "Konnte die notwendige Zeichensatzgrösse nicht bestimmen\n" -#: src/ptouch-print.c:284 +#: src/ptouch-print.c:363 #, c-format msgid "choosing font size=%i\n" msgstr "Wähle Zeichensatzgrösse %i\n" -#: src/ptouch-print.c:300 src/ptouch-print.c:328 +#: src/ptouch-print.c:379 src/ptouch-print.c:413 #, c-format msgid "error in gdImageStringFT: %s\n" msgstr "Fehler in Funktion gdImageStringFT(): %s\n" -#: src/ptouch-print.c:495 +#: src/ptouch-print.c:593 #, c-format -msgid "ptouch-print version %s by Dominic Radermacher\n" -msgstr "ptouch-print Version %s von Dominic Radermacher\n" +msgid "Only up to %d lines are supported" +msgstr "" -#: src/ptouch-print.c:526 +#: src/ptouch-print.c:606 +msgid "No arguments supported" +msgstr "" + +#: src/ptouch-print.c:611 +msgid "Option --writepng missing" +msgstr "" + +#: src/ptouch-print.c:614 +msgid "Options --force_tape_width and --info can't be used together" +msgstr "" + +#: src/ptouch-print.c:645 #, c-format msgid "ptouch_init() failed\n" msgstr "ptouch_init() fehlgeschlagen\n" -#: src/ptouch-print.c:529 +#: src/ptouch-print.c:648 #, c-format msgid "ptouch_getstatus() failed\n" msgstr "ptouch_getstatus() fehlgeschlagen\n" -#: src/ptouch-print.c:568 +#: src/ptouch-print.c:662 +#, fuzzy, c-format +msgid "maximum printing width for this printer is %ldpx\n" +msgstr "Maximal druckbare Breite für dieses Schriftband sind %ipx\n" + +#: src/ptouch-print.c:663 +#, fuzzy, c-format +msgid "maximum printing width for this tape is %ldpx\n" +msgstr "Maximal druckbare Breite für dieses Schriftband sind %ipx\n" + +#: src/ptouch-print.c:688 #, c-format msgid "failed to load image file\n" msgstr "" -#: src/ptouch-print.c:584 +#: src/ptouch-print.c:697 #, c-format msgid "could not render text\n" msgstr "Konnte Text nicht rendern\n" -#: src/ptouch-print.c:616 +#: src/ptouch-print.c:736 #, c-format msgid "ptouch_finalize(%d) failed\n" msgstr "ptouch_finalize(%d) fehlgeschlagen\n" +#, c-format +#~ msgid "ptouch-print version %s by Dominic Radermacher\n" +#~ msgstr "ptouch-print Version %s von Dominic Radermacher\n" + #, c-format #~ msgid "Error 1 = %02x\n" #~ msgstr "Fehlerbyte1 = %02x\n" diff --git a/po/en.po b/po/en.po index e50f765..227ef71 100644 --- a/po/en.po +++ b/po/en.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ptouch-print 1.3.1\n" "Report-Msgid-Bugs-To: dominic@familie-radermacher.ch\n" -"POT-Creation-Date: 2024-05-23 22:20-0400\n" +"POT-Creation-Date: 2025-12-08 15:27+0100\n" "PO-Revision-Date: 2024-05-23 22:26-0400\n" "Last-Translator: dominic@familie-radermacher.ch\n" "Language-Team: English \n" @@ -18,217 +18,294 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.4.2\n" -#: src/libptouch.c:95 src/libptouch.c:99 src/libptouch.c:103 +#: src/libptouch.c:107 src/libptouch.c:111 src/libptouch.c:115 #, c-format msgid "out of memory\n" msgstr "out of memory\n" -#: src/libptouch.c:107 +#: src/libptouch.c:119 #, c-format msgid "libusb_init() failed\n" msgstr "libusb_init() failed\n" -#: src/libptouch.c:116 +#: src/libptouch.c:128 #, c-format msgid "failed to get device descriptor" msgstr "failed to get device descriptor" -#: src/libptouch.c:122 +#: src/libptouch.c:134 #, c-format msgid "%s found on USB bus %d, device %d\n" msgstr "%s found on USB bus %d, device %d\n" -#: src/libptouch.c:137 +#: src/libptouch.c:149 #, c-format msgid "libusb_open error :%s\n" msgstr "libusb_open error :%s\n" -#: src/libptouch.c:143 +#: src/libptouch.c:155 #, c-format msgid "error while detaching kernel driver: %s\n" msgstr "error while detaching kernel driver: %s\n" -#: src/libptouch.c:147 +#: src/libptouch.c:159 #, c-format msgid "interface claim error: %s\n" msgstr "interface claim error: %s\n" -#: src/libptouch.c:158 +#: src/libptouch.c:170 #, c-format -msgid "No P-Touch printer found on USB (remember to put switch to position E)\n" -msgstr "No P-Touch printer found on USB (remember to put switch to position E)\n" +msgid "" +"No P-Touch printer found on USB (remember to put switch to position E)\n" +msgstr "" +"No P-Touch printer found on USB (remember to put switch to position E)\n" -#: src/libptouch.c:178 +#: src/libptouch.c:190 +#, c-format +msgid "debug: called ptouch_send() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:197 #, c-format msgid "write error: %s\n" msgstr "write error: %s\n" -#: src/libptouch.c:182 +#: src/libptouch.c:201 #, fuzzy, c-format -#| msgid "write error: could send only %i of %i bytes\n" msgid "write error: could send only %i of %ld bytes\n" msgstr "write error: could send only %i of %i bytes\n" -#: src/libptouch.c:302 +#: src/libptouch.c:251 +#, c-format +msgid "debug: called ptouch_info_cmd() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:293 +#, fuzzy, c-format +msgid "debug: called ptouch_rasterstart() with NULL ptdev\n" +msgstr "ptouch_rasterstart() failed\n" + +#: src/libptouch.c:324 +#, c-format +msgid "debug: called ptouch_finalize() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:339 #, c-format msgid "debug: dumping raw status bytes\n" msgstr "debug: dumping raw status bytes\n" -#: src/libptouch.c:326 src/libptouch.c:362 +#: src/libptouch.c:358 +#, c-format +msgid "debug: called ptouch_getstatus() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:368 src/libptouch.c:404 #, c-format msgid "read error: %s\n" msgstr "read error: %s\n" -#: src/libptouch.c:331 -#, c-format -msgid "timeout while waiting for status response\n" +#: src/libptouch.c:373 +#, fuzzy, c-format +msgid "timeout (%i sec) while waiting for status response\n" msgstr "timeout while waiting for status response\n" -#: src/libptouch.c:345 +#: src/libptouch.c:387 #, c-format msgid "unknown tape width of %imm, please report this.\n" msgstr "unknown tape width of %imm, please report this.\n" -#: src/libptouch.c:351 +#: src/libptouch.c:393 #, c-format msgid "got only 16 bytes... wondering what they are:\n" msgstr "got only 16 bytes... wondering what they are:\n" -#: src/libptouch.c:355 +#: src/libptouch.c:397 #, c-format msgid "read error: got %i instead of 32 bytes\n" msgstr "read error: got %i instead of 32 bytes\n" -#: src/libptouch.c:358 +#: src/libptouch.c:400 #, c-format msgid "strange status:\n" msgstr "strange status:\n" -#: src/libptouch.c:360 +#: src/libptouch.c:402 #, c-format msgid "trying to flush junk\n" msgstr "trying to flush junk\n" -#: src/libptouch.c:365 +#: src/libptouch.c:407 #, c-format msgid "got another %i bytes. now try again\n" msgstr "got another %i bytes. now try again\n" -#: src/ptouch-print.c:82 +#: src/libptouch.c:414 +#, c-format +msgid "debug: called ptouch_get_tape_width() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:423 +#, c-format +msgid "debug: called ptouch_get_max_width() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:435 +#, c-format +msgid "debug: called ptouch_sendraster() with NULL ptdev\n" +msgstr "" + +#: src/ptouch-print.c:152 #, c-format msgid "nothing to print\n" msgstr "" -#: src/ptouch-print.c:89 +#: src/ptouch-print.c:160 #, c-format msgid "image is too large (%ipx x %ipx)\n" msgstr "image is too large (%ipx x %ipx)\n" -#: src/ptouch-print.c:90 src/ptouch-print.c:556 +#: src/ptouch-print.c:161 #, c-format msgid "maximum printing width for this tape is %ipx\n" msgstr "maximum printing width for this tape is %ipx\n" -#: src/ptouch-print.c:104 +#: src/ptouch-print.c:164 +#, fuzzy, c-format +msgid "image size (%ipx x %ipx)\n" +msgstr "image is too large (%ipx x %ipx)\n" + +#: src/ptouch-print.c:174 #, c-format msgid "ptouch_rasterstart() failed\n" msgstr "ptouch_rasterstart() failed\n" -#: src/ptouch-print.c:110 +#: src/ptouch-print.c:180 #, c-format msgid "send print information command\n" msgstr "" -#: src/ptouch-print.c:116 +#: src/ptouch-print.c:186 #, c-format msgid "send PT-D460BT magic commands\n" msgstr "" -#: src/ptouch-print.c:122 +#: src/ptouch-print.c:193 #, c-format msgid "send precut command\n" msgstr "" -#: src/ptouch-print.c:133 +#: src/ptouch-print.c:202 +#, c-format +msgid "send PT-D460BT chain commands\n" +msgstr "" + +#: src/ptouch-print.c:214 #, c-format msgid "ptouch_sendraster() failed\n" msgstr "ptouch_sendraster() failed\n" -#: src/ptouch-print.c:182 +#: src/ptouch-print.c:263 #, c-format msgid "writing image '%s' failed\n" msgstr "writing image '%s' failed\n" -#: src/ptouch-print.c:206 +#: src/ptouch-print.c:285 #, c-format msgid "debug: o baseline offset - %d\n" msgstr "" -#: src/ptouch-print.c:207 +#: src/ptouch-print.c:286 #, c-format msgid "debug: text baseline offset - %d\n" msgstr "" -#: src/ptouch-print.c:266 +#: src/ptouch-print.c:345 #, c-format -msgid "render_text(): %i lines, font = '%s'\n" +msgid "render_text(): %i lines, font = '%s', align = '%c'\n" msgstr "" -#: src/ptouch-print.c:269 +#: src/ptouch-print.c:348 #, c-format msgid "warning: font config not available\n" msgstr "warning: font config not available\n" -#: src/ptouch-print.c:273 +#: src/ptouch-print.c:352 #, c-format msgid "setting font size=%i\n" msgstr "setting font size=%i\n" -#: src/ptouch-print.c:277 +#: src/ptouch-print.c:356 #, c-format msgid "could not estimate needed font size\n" msgstr "could not estimate needed font size\n" -#: src/ptouch-print.c:284 +#: src/ptouch-print.c:363 #, c-format msgid "choosing font size=%i\n" msgstr "choosing font size=%i\n" -#: src/ptouch-print.c:300 src/ptouch-print.c:328 +#: src/ptouch-print.c:379 src/ptouch-print.c:413 #, c-format msgid "error in gdImageStringFT: %s\n" msgstr "error in gdImageStringFT: %s\n" -#: src/ptouch-print.c:495 +#: src/ptouch-print.c:593 #, c-format -msgid "ptouch-print version %s by Dominic Radermacher\n" -msgstr "ptouch-print version %s by Dominic Radermacher\n" +msgid "Only up to %d lines are supported" +msgstr "" -#: src/ptouch-print.c:526 +#: src/ptouch-print.c:606 +msgid "No arguments supported" +msgstr "" + +#: src/ptouch-print.c:611 +msgid "Option --writepng missing" +msgstr "" + +#: src/ptouch-print.c:614 +msgid "Options --force_tape_width and --info can't be used together" +msgstr "" + +#: src/ptouch-print.c:645 #, c-format msgid "ptouch_init() failed\n" msgstr "ptouch_init() failed\n" -#: src/ptouch-print.c:529 +#: src/ptouch-print.c:648 #, c-format msgid "ptouch_getstatus() failed\n" msgstr "ptouch_getstatus() failed\n" -#: src/ptouch-print.c:568 +#: src/ptouch-print.c:662 +#, fuzzy, c-format +msgid "maximum printing width for this printer is %ldpx\n" +msgstr "maximum printing width for this tape is %ipx\n" + +#: src/ptouch-print.c:663 +#, fuzzy, c-format +msgid "maximum printing width for this tape is %ldpx\n" +msgstr "maximum printing width for this tape is %ipx\n" + +#: src/ptouch-print.c:688 #, c-format msgid "failed to load image file\n" msgstr "" -#: src/ptouch-print.c:584 +#: src/ptouch-print.c:697 #, c-format msgid "could not render text\n" msgstr "could not render text\n" -#: src/ptouch-print.c:616 +#: src/ptouch-print.c:736 #, c-format msgid "ptouch_finalize(%d) failed\n" msgstr "ptouch_finalize(%d) failed\n" +#, c-format +#~ msgid "ptouch-print version %s by Dominic Radermacher\n" +#~ msgstr "ptouch-print version %s by Dominic Radermacher\n" + #, c-format #~ msgid "Error 1 = %02x\n" #~ msgstr "Error 1 = %02x\n" diff --git a/po/ptouch.pot b/po/ptouch.pot index cb22f35..8cf5889 100644 --- a/po/ptouch.pot +++ b/po/ptouch.pot @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# This file is distributed under the same license as the ptouch package. +# Copyright (C) YEAR Dominic\ Radermacher\ +# This file is distributed under the same license as the ptouch-print package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ptouch 1.3.3\n" +"Project-Id-Version: ptouch-print\n" "Report-Msgid-Bugs-To: dominic@familie-radermacher.ch\n" -"POT-Creation-Date: 2024-05-23 22:20-0400\n" +"POT-Creation-Date: 2025-12-08 15:31+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,213 +17,285 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/libptouch.c:95 src/libptouch.c:99 src/libptouch.c:103 +#: src/libptouch.c:107 src/libptouch.c:111 src/libptouch.c:115 #, c-format msgid "out of memory\n" msgstr "" -#: src/libptouch.c:107 +#: src/libptouch.c:119 #, c-format msgid "libusb_init() failed\n" msgstr "" -#: src/libptouch.c:116 +#: src/libptouch.c:128 #, c-format msgid "failed to get device descriptor" msgstr "" -#: src/libptouch.c:122 +#: src/libptouch.c:134 #, c-format msgid "%s found on USB bus %d, device %d\n" msgstr "" -#: src/libptouch.c:137 +#: src/libptouch.c:149 #, c-format msgid "libusb_open error :%s\n" msgstr "" -#: src/libptouch.c:143 +#: src/libptouch.c:155 #, c-format msgid "error while detaching kernel driver: %s\n" msgstr "" -#: src/libptouch.c:147 +#: src/libptouch.c:159 #, c-format msgid "interface claim error: %s\n" msgstr "" -#: src/libptouch.c:158 +#: src/libptouch.c:170 #, c-format msgid "" "No P-Touch printer found on USB (remember to put switch to position E)\n" msgstr "" -#: src/libptouch.c:178 +#: src/libptouch.c:190 +#, c-format +msgid "debug: called ptouch_send() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:197 #, c-format msgid "write error: %s\n" msgstr "" -#: src/libptouch.c:182 +#: src/libptouch.c:201 #, c-format msgid "write error: could send only %i of %ld bytes\n" msgstr "" -#: src/libptouch.c:302 +#: src/libptouch.c:251 +#, c-format +msgid "debug: called ptouch_info_cmd() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:293 +#, c-format +msgid "debug: called ptouch_rasterstart() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:324 +#, c-format +msgid "debug: called ptouch_finalize() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:339 #, c-format msgid "debug: dumping raw status bytes\n" msgstr "" -#: src/libptouch.c:326 src/libptouch.c:362 +#: src/libptouch.c:358 +#, c-format +msgid "debug: called ptouch_getstatus() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:368 src/libptouch.c:404 #, c-format msgid "read error: %s\n" msgstr "" -#: src/libptouch.c:331 +#: src/libptouch.c:373 #, c-format -msgid "timeout while waiting for status response\n" +msgid "timeout (%i sec) while waiting for status response\n" msgstr "" -#: src/libptouch.c:345 +#: src/libptouch.c:387 #, c-format msgid "unknown tape width of %imm, please report this.\n" msgstr "" -#: src/libptouch.c:351 +#: src/libptouch.c:393 #, c-format msgid "got only 16 bytes... wondering what they are:\n" msgstr "" -#: src/libptouch.c:355 +#: src/libptouch.c:397 #, c-format msgid "read error: got %i instead of 32 bytes\n" msgstr "" -#: src/libptouch.c:358 +#: src/libptouch.c:400 #, c-format msgid "strange status:\n" msgstr "" -#: src/libptouch.c:360 +#: src/libptouch.c:402 #, c-format msgid "trying to flush junk\n" msgstr "" -#: src/libptouch.c:365 +#: src/libptouch.c:407 #, c-format msgid "got another %i bytes. now try again\n" msgstr "" -#: src/ptouch-print.c:82 +#: src/libptouch.c:414 +#, c-format +msgid "debug: called ptouch_get_tape_width() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:423 +#, c-format +msgid "debug: called ptouch_get_max_width() with NULL ptdev\n" +msgstr "" + +#: src/libptouch.c:435 +#, c-format +msgid "debug: called ptouch_sendraster() with NULL ptdev\n" +msgstr "" + +#: src/ptouch-print.c:152 #, c-format msgid "nothing to print\n" msgstr "" -#: src/ptouch-print.c:89 +#: src/ptouch-print.c:160 #, c-format msgid "image is too large (%ipx x %ipx)\n" msgstr "" -#: src/ptouch-print.c:90 src/ptouch-print.c:556 +#: src/ptouch-print.c:161 #, c-format msgid "maximum printing width for this tape is %ipx\n" msgstr "" -#: src/ptouch-print.c:104 +#: src/ptouch-print.c:164 +#, c-format +msgid "image size (%ipx x %ipx)\n" +msgstr "" + +#: src/ptouch-print.c:174 #, c-format msgid "ptouch_rasterstart() failed\n" msgstr "" -#: src/ptouch-print.c:110 +#: src/ptouch-print.c:180 #, c-format msgid "send print information command\n" msgstr "" -#: src/ptouch-print.c:116 +#: src/ptouch-print.c:186 #, c-format msgid "send PT-D460BT magic commands\n" msgstr "" -#: src/ptouch-print.c:122 +#: src/ptouch-print.c:193 #, c-format msgid "send precut command\n" msgstr "" -#: src/ptouch-print.c:133 +#: src/ptouch-print.c:202 +#, c-format +msgid "send PT-D460BT chain commands\n" +msgstr "" + +#: src/ptouch-print.c:214 #, c-format msgid "ptouch_sendraster() failed\n" msgstr "" -#: src/ptouch-print.c:182 +#: src/ptouch-print.c:263 #, c-format msgid "writing image '%s' failed\n" msgstr "" -#: src/ptouch-print.c:206 +#: src/ptouch-print.c:285 #, c-format msgid "debug: o baseline offset - %d\n" msgstr "" -#: src/ptouch-print.c:207 +#: src/ptouch-print.c:286 #, c-format msgid "debug: text baseline offset - %d\n" msgstr "" -#: src/ptouch-print.c:266 +#: src/ptouch-print.c:345 #, c-format -msgid "render_text(): %i lines, font = '%s'\n" +msgid "render_text(): %i lines, font = '%s', align = '%c'\n" msgstr "" -#: src/ptouch-print.c:269 +#: src/ptouch-print.c:348 #, c-format msgid "warning: font config not available\n" msgstr "" -#: src/ptouch-print.c:273 +#: src/ptouch-print.c:352 #, c-format msgid "setting font size=%i\n" msgstr "" -#: src/ptouch-print.c:277 +#: src/ptouch-print.c:356 #, c-format msgid "could not estimate needed font size\n" msgstr "" -#: src/ptouch-print.c:284 +#: src/ptouch-print.c:363 #, c-format msgid "choosing font size=%i\n" msgstr "" -#: src/ptouch-print.c:300 src/ptouch-print.c:328 +#: src/ptouch-print.c:379 src/ptouch-print.c:413 #, c-format msgid "error in gdImageStringFT: %s\n" msgstr "" -#: src/ptouch-print.c:495 +#: src/ptouch-print.c:593 #, c-format -msgid "ptouch-print version %s by Dominic Radermacher\n" +msgid "Only up to %d lines are supported" msgstr "" -#: src/ptouch-print.c:526 +#: src/ptouch-print.c:606 +msgid "No arguments supported" +msgstr "" + +#: src/ptouch-print.c:611 +msgid "Option --writepng missing" +msgstr "" + +#: src/ptouch-print.c:614 +msgid "Options --force_tape_width and --info can't be used together" +msgstr "" + +#: src/ptouch-print.c:645 #, c-format msgid "ptouch_init() failed\n" msgstr "" -#: src/ptouch-print.c:529 +#: src/ptouch-print.c:648 #, c-format msgid "ptouch_getstatus() failed\n" msgstr "" -#: src/ptouch-print.c:568 +#: src/ptouch-print.c:662 +#, c-format +msgid "maximum printing width for this printer is %ldpx\n" +msgstr "" + +#: src/ptouch-print.c:663 +#, c-format +msgid "maximum printing width for this tape is %ldpx\n" +msgstr "" + +#: src/ptouch-print.c:688 #, c-format msgid "failed to load image file\n" msgstr "" -#: src/ptouch-print.c:584 +#: src/ptouch-print.c:697 #, c-format msgid "could not render text\n" msgstr "" -#: src/ptouch-print.c:616 +#: src/ptouch-print.c:736 #, c-format msgid "ptouch_finalize(%d) failed\n" msgstr "" diff --git a/ptouch-print.1 b/ptouch-print.1 index 05ddc49..6af269c 100644 --- a/ptouch-print.1 +++ b/ptouch-print.1 @@ -28,6 +28,12 @@ once in any order, and will be executed in the given order. .TP .BR \-\-debug Enables printing of debugging information. +.TP +.BR \-\-timeout\ \fI