diff --git a/CMakeLists.txt b/CMakeLists.txt index 5cee9e118..778253cf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -142,20 +142,21 @@ endif () # NOTE: Currently only available in the Debug configuration build in # Windows, but could be maybe extended to Unix, others... #------------------------------------------------------------------------ -if (WIN32) - option( ENABLE_MEMORY_DEBUG "Set ON to output some memory diagnostics." OFF ) - option( ENABLE_ALLOC_DEBUG "Set ON to output node allocation diagnostics." OFF ) - option( ENABLE_CRTDBG_MEMORY "Set ON to enable the Windows CRT debug library." OFF ) +option( ENABLE_ALLOC_DEBUG "Set ON to output node allocation diagnostics." OFF ) +option( ENABLE_MEMORY_DEBUG "Set ON to output some memory diagnostics." OFF ) + +if (ENABLE_ALLOC_DEBUG) + add_definitions ( -DDEBUG_ALLOCATION ) # see lexer.c for details + message(STATUS "*** Note, lexer.c node allocation diagnostics are ON") +endif () - if (ENABLE_MEMORY_DEBUG) - add_definitions ( -DDEBUG_MEMORY ) # see alloc.c for details - message(STATUS "*** Note, alloc.c memory diagnostics are ON") - endif () + if (ENABLE_MEMORY_DEBUG) + add_definitions ( -DDEBUG_MEMORY ) # see alloc.c for details + message(STATUS "*** Note, alloc.c memory diagnostics are ON") + endif () - if (ENABLE_ALLOC_DEBUG) - add_definitions ( -DDEBUG_ALLOCATION ) # see lexer.c for details - message(STATUS "*** Note, lexer.c node allocation diagnostics are ON") - endif () +if (WIN32) + option( ENABLE_CRTDBG_MEMORY "Set ON to enable the Windows CRT debug library." OFF ) if (ENABLE_CRTDBG_MEMORY) add_definitions ( -D_CRTDBG_MAP_ALLOC ) # see tidy.c for details @@ -226,11 +227,10 @@ endif () #------------------------------------------------------------------------ # Macro Values -# These additional macros are set in Tidy's source code. +# These additional macros are set in Tidy's source code. It is *very* +# seldom that you would ever have to change any of these in order to +# achieve a functioning build. #------------------------------------------------------------------------ -add_definitions ( -DSUPPORT_UTF16_ENCODINGS=1 ) -add_definitions ( -DSUPPORT_ASIAN_ENCODINGS=1 ) -add_definitions ( -DSUPPORT_ACCESSIBILITY_CHECKS=1 ) add_definitions ( -DLIBTIDY_VERSION="${LIBTIDY_VERSION}" ) add_definitions ( -DRELEASE_DATE="${tidy_YEAR}/${tidy_MONTH}/${tidy_DAY}" ) @@ -239,6 +239,16 @@ if (TIDY_RC_NUMBER) add_definitions ( -DRC_NUMBER="${TIDY_RC_NUMBER}" ) endif () +# If your OS doesn't have native ISO2022 support, then build with this flag. +if (NO_NATIVE_ISO2022_SUPPORT) + add_definitions ( -DNO_NATIVE_ISO2022_SUPPORT=1 ) +endif () + +# If your OS doesn't have library function access(), build with this flag. +if (NO_ACCESS_SUPPORT) + add_definitions ( -DNO_ACCESS_SUPPORT=1 ) +endif () + # Delete me? Not used in Tidy source! add_definitions ( -DHAVE_CONFIG_H ) @@ -325,7 +335,7 @@ set ( CFILES ${SRCDIR}/buffio.c ${SRCDIR}/fileio.c ${SRCDIR}/streamio.c ${SRCDIR}/tagask.c ${SRCDIR}/tmbstr.c ${SRCDIR}/utf8.c ${SRCDIR}/tidylib.c ${SRCDIR}/mappedio.c ${SRCDIR}/gdoc.c - ${SRCDIR}/language.c ${SRCDIR}/messageobj.c ) + ${SRCDIR}/language.c ${SRCDIR}/messageobj.c ${SRCDIR}/sprtf.c ) set ( HFILES ${INCDIR}/tidyplatform.h ${INCDIR}/tidy.h ${INCDIR}/tidyenum.h @@ -343,13 +353,8 @@ set ( LIBHFILES ${SRCDIR}/pprint.h ${SRCDIR}/streamio.h ${SRCDIR}/tags.h ${SRCDIR}/tmbstr.h ${SRCDIR}/utf8.h ${SRCDIR}/tidy-int.h ${SRCDIR}/version.h ${SRCDIR}/gdoc.h ${SRCDIR}/language.h - ${SRCDIR}/language_en.h ${SRCDIR}/win32tc.h ) - -if (MSVC) - list(APPEND CFILES ${SRCDIR}/sprtf.c) - list(APPEND LIBHFILES ${SRCDIR}/sprtf.h) -endif () - + ${SRCDIR}/language_en.h ${SRCDIR}/sprtf.h ) + #------------------------------------------------------------------------ # Target Locations diff --git a/console/tidy.c b/console/tidy.c index 4e2fdc396..000dee12f 100644 --- a/console/tidy.c +++ b/console/tidy.c @@ -23,29 +23,23 @@ #include "tidybuffio.h" #include "locale.h" /* for determing and setting locale */ #if defined(_WIN32) -#include /* Force console to UTF8. */ -#endif -#if !defined(NDEBUG) && defined(_MSC_VER) -#include "sprtf.h" -#ifdef _CRTDBG_MAP_ALLOC -#include -#include +# include /* Force console to UTF8. */ #endif +#if !defined(NDEBUG) && defined(_MSC_VER) && defined(_CRTDBG_MAP_ALLOC) +# include +# include #endif -#ifndef SPRTF -#define SPRTF printf -#endif +#include "sprtf.h" /** Tidy will send errors to this file, which will be stderr later. */ static FILE* errout = NULL; #if defined(_WIN32) -/** On Windows, we will store the original code page here. */ -static uint win_cp; /* original Windows code page */ -#if (defined(_MSC_VER) && (_MSC_VER < 1900)) -#define snprintf _snprintf -#endif + static uint win_cp; /* original Windows code page */ +# if (defined(_MSC_VER) && (_MSC_VER < 1900)) +# define snprintf _snprintf +# endif #endif @@ -362,9 +356,7 @@ static const CmdOptDesc cmdopt_defs[] = { { CmdOptProcDir, "-xml", TC_OPT_XML, 0, "input-xml: yes" }, { CmdOptProcDir, "-asxml", TC_OPT_ASXML, 0, "output-xhtml: yes", "-asxhtml" }, { CmdOptProcDir, "-ashtml", TC_OPT_ASHTML, 0, "output-html: yes" }, -#if SUPPORT_ACCESSIBILITY_CHECKS { CmdOptProcDir, "-access <%s>", TC_OPT_ACCESS, TC_LABEL_LEVL, "accessibility-check: <%s>" }, -#endif { CmdOptCharEnc, "-raw", TC_OPT_RAW, 0, NULL }, { CmdOptCharEnc, "-ascii", TC_OPT_ASCII, 0, NULL }, { CmdOptCharEnc, "-latin0", TC_OPT_LATIN0, 0, NULL }, @@ -376,15 +368,11 @@ static const CmdOptDesc cmdopt_defs[] = { { CmdOptCharEnc, "-mac", TC_OPT_MAC, 0, NULL }, { CmdOptCharEnc, "-win1252", TC_OPT_WIN1252, 0, NULL }, { CmdOptCharEnc, "-ibm858", TC_OPT_IBM858, 0, NULL }, -#if SUPPORT_UTF16_ENCODINGS { CmdOptCharEnc, "-utf16le", TC_OPT_UTF16LE, 0, NULL }, { CmdOptCharEnc, "-utf16be", TC_OPT_UTF16BE, 0, NULL }, { CmdOptCharEnc, "-utf16", TC_OPT_UTF16, 0, NULL }, -#endif -#if SUPPORT_ASIAN_ENCODINGS /* #431953 - RJ */ { CmdOptCharEnc, "-big5", TC_OPT_BIG5, 0, NULL }, { CmdOptCharEnc, "-shiftjis", TC_OPT_SHIFTJIS, 0, NULL }, -#endif { CmdOptMisc, "-version", TC_OPT_VERSION, 0, NULL, "-v" }, { CmdOptMisc, "-help", TC_OPT_HELP, 0, NULL, "-h", "-?" }, { CmdOptMisc, "-help-config", TC_OPT_HELPCFG, 0, NULL }, @@ -2021,11 +2009,10 @@ int main( int argc, char** argv ) uint accessWarnings = 0; #if !defined(NDEBUG) && defined(_MSC_VER) -#if defined(_CRTDBG_MAP_ALLOC) +# if defined(_CRTDBG_MAP_ALLOC) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); -#endif +# endif set_log_file((char *)"temptidy.txt", 0); - /* add_append_log(1); */ #endif tdoc = tidyCreate(); @@ -2144,15 +2131,11 @@ int main( int argc, char** argv ) #ifndef NO_NATIVE_ISO2022_SUPPORT strcasecmp(arg, "iso2022") == 0 || #endif -#if SUPPORT_UTF16_ENCODINGS strcasecmp(arg, "utf16le") == 0 || strcasecmp(arg, "utf16be") == 0 || strcasecmp(arg, "utf16") == 0 || -#endif -#if SUPPORT_ASIAN_ENCODINGS strcasecmp(arg, "shiftjis") == 0 || strcasecmp(arg, "big5") == 0 || -#endif strcasecmp(arg, "mac") == 0 || strcasecmp(arg, "win1252") == 0 || strcasecmp(arg, "ibm858") == 0 ) @@ -2365,8 +2348,6 @@ int main( int argc, char** argv ) --argc; } } - -#if SUPPORT_ACCESSIBILITY_CHECKS else if ( strcasecmp(arg, "access") == 0 ) { if ( argc >= 3 ) @@ -2381,7 +2362,6 @@ int main( int argc, char** argv ) } } } -#endif else { @@ -2446,7 +2426,7 @@ int main( int argc, char** argv ) if ( argc > 1 ) { htmlfil = argv[1]; -#if (!defined(NDEBUG) && defined(_MSC_VER)) +#if (!defined(NDEBUG)) SPRTF("Tidying '%s'\n", htmlfil); #endif /* DEBUG outout */ if ( tidyOptGetBool(tdoc, TidyEmacs) ) @@ -2464,24 +2444,6 @@ int main( int argc, char** argv ) if ( status >= 0 ) { status = tidyRunDiagnostics( tdoc ); - /*\ Issue #119 - but not really related to 'custom_tags' support. - * Issue ?: To remove some 2014 extra debug output - I wanted to - * remove the Info: messages, but chose to except one, namely - * tidyReportDoctype(), but never intended keeping it here - * for so long! - * That doctype Info:, and all others, are still reported by - * default. geoff - \*/ -#if 0 /* 000000000 this code can be removed some time in future 00000000000 */ - if ( !tidyOptGetBool(tdoc, TidyQuiet) ) { - /* NOT quiet, show DOCTYPE, if not already shown */ - if (!tidyOptGetBool(tdoc, TidyShowInfo)) { - tidyOptSetBool( tdoc, TidyShowInfo, yes ); - tidyReportDoctype( tdoc ); /* FIX20140913: like warnings, errors, ALWAYS report DOCTYPE */ - tidyOptSetBool( tdoc, TidyShowInfo, no ); - } - } -#endif /* 000000000 this code can be removed some time in future 00000000000 */ } if ( status > 1 ) /* If errors, do we want to force output? */ status = ( tidyOptGetBool(tdoc, TidyForceOutput) ? status : -1 ); @@ -2496,7 +2458,7 @@ int main( int argc, char** argv ) if ( outfil ) { status = tidySaveFile( tdoc, outfil ); } else { -#if !defined(NDEBUG) && defined(_MSC_VER) +#if !defined(NDEBUG) static char tmp_buf[264]; sprintf(tmp_buf,"%s.html",get_log_file()); status = tidySaveFile( tdoc, tmp_buf ); diff --git a/include/tidy.h b/include/tidy.h index 3b5762a5a..365c70d41 100644 --- a/include/tidy.h +++ b/include/tidy.h @@ -1418,10 +1418,8 @@ TIDY_EXPORT double TIDY_CALL tidyGetArgValueDouble(TidyMessage tmessage, /**< ** Your callback function will be provided with the following parameters. ** @param tdoc Indicates the source tidy document. ** @param line Indicates the line in the source document at this point in the process. - ** @param column Indicates the column in the source document at this point in the process. + ** @param col Indicates the column in the source document at this point in the process. ** @param destLine Indicates the line number in the output document at this point in the process. - ** @return Your callback function will return `yes` if Tidy should include the - ** report in its own output sink, or `no` if Tidy should suppress it. */ typedef void (TIDY_CALL *TidyPPProgress)( TidyDoc tdoc, uint line, uint col, uint destLine ); @@ -1898,7 +1896,7 @@ TIDY_EXPORT uint TIDY_CALL tidyErrorCodeFromKey(ctmbstr code); ** @result Returns a TidyIterator, which is a token used to represent the ** current position in a list within LibTidy. */ -TIDY_EXPORT TidyIterator TIDY_CALL getErrorCodeList(); +TIDY_EXPORT TidyIterator TIDY_CALL getErrorCodeList(void); /** Given a valid TidyIterator initiated with getErrorCodeList(), returns ** an instance of the opaque type TidyMessageArgument, which serves as a token @@ -1946,7 +1944,7 @@ TIDY_EXPORT Bool TIDY_CALL tidySetLanguage( ctmbstr languageCode ); /** Gets the current language used by Tidy. ** @result Returns a string indicating the currently set language. */ -TIDY_EXPORT ctmbstr TIDY_CALL tidyGetLanguage(); +TIDY_EXPORT ctmbstr TIDY_CALL tidyGetLanguage(void); /** @} ** @name Locale Mappings @@ -1978,7 +1976,7 @@ opaque_type(tidyLocaleMapItem); ** @result Returns a TidyIterator, which is a token used to represent the ** current position in a list within LibTidy. */ -TIDY_EXPORT TidyIterator TIDY_CALL getWindowsLanguageList(); +TIDY_EXPORT TidyIterator TIDY_CALL getWindowsLanguageList(void); /** Given a valid TidyIterator initiated with getWindowsLanguageList(), returns ** a pointer to a tidyLocaleMapItem, which can be further interrogated with @@ -2046,7 +2044,7 @@ TIDY_EXPORT ctmbstr TIDY_CALL tidyDefaultString( uint messageType ); ** @result Returns a TidyIterator, which is a token used to represent the ** current position in a list within LibTidy. */ -TIDY_EXPORT TidyIterator TIDY_CALL getStringKeyList(); +TIDY_EXPORT TidyIterator TIDY_CALL getStringKeyList(void); /** Given a valid TidyIterator initiated with getStringKeyList(), returns ** an unsigned integer representing the next key value. @@ -2076,7 +2074,7 @@ TIDY_EXPORT uint TIDY_CALL getNextStringKey( TidyIterator* iter ); ** @result Returns a TidyIterator, which is a token used to represent the ** current position in a list within LibTidy. */ -TIDY_EXPORT TidyIterator TIDY_CALL getInstalledLanguageList(); +TIDY_EXPORT TidyIterator TIDY_CALL getInstalledLanguageList(void); /** Given a valid TidyIterator initiated with getInstalledLanguageList(), ** returns a string representing a language name that is installed in Tidy. diff --git a/include/tidyenum.h b/include/tidyenum.h index d47983f3d..4ddace1ee 100644 --- a/include/tidyenum.h +++ b/include/tidyenum.h @@ -603,30 +603,18 @@ typedef enum TidyMergeEmphasis, /**< Merge nested B and I elements */ TidyMergeSpans, /**< Merge multiple SPANs */ TidyMetaCharset, /**< Adds/checks/fixes meta charset in the head, based on document type */ -#if SUPPORT_ASIAN_ENCODINGS TidyNCR, /**< Allow numeric character references */ -#else - TidyNCRNotUsed, /**< This option is not compiled in */ -#endif TidyNewline, /**< Output line ending (default to platform) */ TidyNumEntities, /**< Use numeric entities */ TidyOmitOptionalTags, /**< Suppress optional start tags and end tags */ TidyOutCharEncoding, /**< Output character encoding (if different) */ TidyOutFile, /**< File name to write markup to */ -#if SUPPORT_UTF16_ENCODINGS TidyOutputBOM, /**< Output a Byte Order Mark (BOM) for UTF-16 encodings */ -#else - TidyOutputBOMNotUsed, /**< This option is not compiled in */ -#endif TidyPPrintTabs, /**< Indent using tabs istead of spaces */ TidyPreserveEntities, /**< Preserve entities */ TidyPreTags, /**< Declared pre tags */ TidyPriorityAttributes, /**< Attributes to place first in an element */ -#if SUPPORT_ASIAN_ENCODINGS TidyPunctWrap, /**< consider punctuation and breaking spaces for wrapping */ -#else - TidyPunctWrapNotUsed, /**< This option is not compiled in */ -#endif TidyQuiet, /**< No 'Parsing X', guessed DTD or summary */ TidyQuoteAmpersand, /**< Output naked ampersand as & */ TidyQuoteMarks, /**< Output " marks as " */ @@ -756,17 +744,11 @@ typedef enum TidyEncMac, TidyEncWin1252, TidyEncIbm858, - -#if SUPPORT_UTF16_ENCODINGS TidyEncUtf16le, TidyEncUtf16be, TidyEncUtf16, -#endif - -#if SUPPORT_ASIAN_ENCODINGS TidyEncBig5, TidyEncShiftjis -#endif } TidyEncodingOptions; @@ -1424,11 +1406,7 @@ typedef enum FOREACH_FOOTNOTE_MSG(MAKE_ENUM) FOREACH_DIALOG_MSG(MAKE_ENUM) FOREACH_REPORT_MSG(MAKE_ENUM) - -#if SUPPORT_ACCESSIBILITY_CHECKS - /* Defined in `access.h` */ FOREACH_ACCESS_MSG(MAKE_ENUM) -#endif #if SUPPORT_CONSOLE_APP FOREACH_MSG_CONSOLE(MAKE_ENUM) diff --git a/include/tidyplatform.h b/include/tidyplatform.h index 3006de416..f4842ef5b 100644 --- a/include/tidyplatform.h +++ b/include/tidyplatform.h @@ -77,21 +77,6 @@ extern "C" { * Optional Tidy features support *===========================================================================*/ -/* Enable/disable support for Big5 and Shift_JIS character encodings */ -#ifndef SUPPORT_ASIAN_ENCODINGS -# define SUPPORT_ASIAN_ENCODINGS 1 -#endif - -/* Enable/disable support for UTF-16 character encodings */ -#ifndef SUPPORT_UTF16_ENCODINGS -# define SUPPORT_UTF16_ENCODINGS 1 -#endif - -/* Enable/disable support for additional accessibility checks */ -#ifndef SUPPORT_ACCESSIBILITY_CHECKS -# define SUPPORT_ACCESSIBILITY_CHECKS 1 -#endif - /* Enable/disable support for additional languages */ #ifndef SUPPORT_LOCALIZATIONS # define SUPPORT_LOCALIZATIONS 1 @@ -496,6 +481,10 @@ extern "C" { # define setmode _setmode # endif +# if defined(_MSC_VER) +# define fileno _fileno +#endif + # define access _access # define strcasecmp _stricmp @@ -662,6 +651,27 @@ opaque_type( TidyIterator ); } /* extern "C" */ #endif + +/*============================================================================= + * Debugging + * When building and not defining the NDEBUG macro, Tidy will output + * extensive debug information. In addition to this macro, you can supply + * build flags for additional diagnostic information: + * - _CRTDBG_MAP_ALLOC (_MSC_VER only) + * - DEBUG_ALLOCATION + * - DEBUG_MEMORY + *===========================================================================*/ + +#if !defined(NDEBUG) +# include "sprtf.h" +#endif + +#ifndef SPRTF +# define SPRTF printf +#endif + + + #endif /* __TIDY_PLATFORM_H__ */ diff --git a/localize/translations/language_en_gb.po b/localize/translations/language_en_gb.po index f05651705..196d86b1d 100644 --- a/localize/translations/language_en_gb.po +++ b/localize/translations/language_en_gb.po @@ -5,7 +5,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: HTML Tidy poconvert.rb\n" "Project-Id-Version: \n" -"PO-Revision-Date: 2017-09-19 14:00:03\n" +"PO-Revision-Date: 2017-10-03 12:44:37\n" "Last-Translator: jderry\n" "Language-Team: \n" @@ -257,7 +257,8 @@ msgid "" "<!DOCTYPE html>." "
" "If set to auto (the default) Tidy will use an educated guess " -"based upon the contents of the document." +"based upon the contents of the document. Note that selecting this option " +"will not change the current document's DOCTYPE on output. " "
" "If set to strict, Tidy will set the DOCTYPE to the HTML4 or " "XHTML1 strict DTD." @@ -472,10 +473,14 @@ msgid "" "This option specifies if Tidy should replace unexpected hyphens with " "= characters when it comes across adjacent hyphens. " "
" -"The default is yes. " +"The default is auto will which will act as no " +"for HTML5 document types, and yes for all other document " +"types. " "
" -"This option is provided for users of Cold Fusion which uses the " -"comment syntax: <!--- --->. " +"HTML has abandonded SGML comment syntax, and allows adjacent hypens " +"for all versions of HTML, although XML and XHTML do not. If you plan " +"to support older browsers that require SGML comment syntax, then " +"consider setting this value to yes." msgstr "" #. Important notes for translators: @@ -1094,6 +1099,24 @@ msgid "" "This option is ignored in XML mode. " msgstr "" +#. Important notes for translators: +#. - Use only , , , , and +#.
. +#. - Entities, tags, attributes, etc., should be enclosed in . +#. - Option values should be enclosed in . +#. - It's very important that
be self-closing! +#. - The strings "Tidy" and "HTML Tidy" are the program name and must not +#. be translated. +msgctxt "TidyPriorityAttributes" +msgid "" +"This option allows prioritizing the writing of attributes in tidied " +"documents, allowing them to written before the other attributes of an " +"element. For example, you might specify that id and " +"name are written before every other attribute. " +"
" +"This option takes a space or comma separated list of attribute names. " +msgstr "" + #. Important notes for translators: #. - Use only , , , , and #.
. @@ -1268,6 +1291,10 @@ msgid "" "This option specifies that Tidy should sort attributes within an element " "using the specified sort algorithm. If set to alpha, the " "algorithm is an ascending alphabetic sort. " +"
" +"When used while sorting with priority-attributes, any " +"attribute sorting will take place after the priority attributes have " +"been output. " msgstr "" #. Important notes for translators: @@ -2010,6 +2037,15 @@ msgid "" "include an alternative layout inside a NOFRAMES element.\n" msgstr "" +#. This console output should be limited to 78 characters per line. +msgctxt "FOOTNOTE_TRIM_EMPTY_ELEMENT" +msgid "" +"One or more empty elements were present in the source document but\n" +"dropped on output. If these elements are necessary or you don't want\n" +"this behavior, then consider setting the option \"drop-empty-elements\"\n" +"to no.\n" +msgstr "" + #. This console output should be limited to 78 characters per line. #. - The URL should not be translated unless you find a matching URL in your language. msgctxt "TEXT_ACCESS_ADVICE1" @@ -2343,7 +2379,19 @@ msgid "%s joining values of repeated attribute \"%s\"" msgstr "" msgctxt "MALFORMED_COMMENT" -msgid "adjacent hyphens within comment" +msgid "tidy replaced adjacent \"-\" with \"=\"" +msgstr "" + +msgctxt "MALFORMED_COMMENT_DROPPING" +msgid "dropping a possible comment due to a missing hyphen" +msgstr "" + +msgctxt "MALFORMED_COMMENT_EOS" +msgid "the end of the document was reached before the end of the comment" +msgstr "" + +msgctxt "MALFORMED_COMMENT_WARN" +msgid "detected adjacent hyphens within the comment; consider fix-bad-comments" msgstr "" msgctxt "MALFORMED_DOCTYPE" @@ -2384,6 +2432,11 @@ msgctxt "MISSING_ENDTAG_FOR" msgid "missing " msgstr "" +#, c-format +msgctxt "MISSING_ENDTAG_OPTIONAL" +msgid "missing optional end tag " +msgstr "" + #, c-format msgctxt "MISSING_IMAGEMAP" msgid "%s should use client-side image map" @@ -2394,6 +2447,11 @@ msgctxt "MISSING_QUOTEMARK" msgid "%s attribute with missing trailing quote mark" msgstr "" +#, c-format +msgctxt "MISSING_QUOTEMARK_OPEN" +msgid "value for attribute \"%s\" missing quote marks" +msgstr "" + #, c-format msgctxt "MISSING_SEMICOLON_NCR" msgid "numeric character reference \"%s\" doesn't end in ';'" @@ -2501,7 +2559,7 @@ msgid "unknown option: %s" msgstr "" msgctxt "SUSPECTED_MISSING_QUOTE" -msgid "missing quote mark for attribute value" +msgid "suspected missing quote mark for attribute value" msgstr "" #, c-format @@ -3162,6 +3220,10 @@ msgctxt "TC_OPT_HELPCFG" msgid "list all configuration options" msgstr "" +msgctxt "TC_OPT_HELPENV" +msgid "show information about the environment and runtime configuration" +msgstr "" + msgctxt "TC_OPT_HELPOPT" msgid "show a description of the