diff --git a/localization/po/de.po b/localization/po/de.po index a01f10c50..8a885c4e7 100644 --- a/localization/po/de.po +++ b/localization/po/de.po @@ -24,12 +24,8 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" -msgstr "" -"\n" -" PID Befehl\n" +msgid " PID Command" +msgstr " PID Befehl" #, c-format msgid " (%s)\n" @@ -84,8 +80,8 @@ msgid "%s" msgstr "" #, c-format -msgid "%s %s: %s: invalid subcommand\n" -msgstr "%s %s: %s: ungültiger Unterbefehl\n" +msgid "%s %s: %s: invalid subcommand" +msgstr "%s %s: %s: ungültiger Unterbefehl" #, c-format msgid "%s %s: Abbreviation %s already exists for commands %s, cannot rename %s\n" @@ -168,11 +164,11 @@ msgid "%s, version %s\n" msgstr "%s, version %s\n" #, c-format -msgid "%s: %s\n" +msgid "%s: %s" msgstr "" #, c-format -msgid "%s: %s %s: options cannot be used together\n" +msgid "%s: %s %s: options cannot be used together" msgstr "" #, c-format @@ -188,7 +184,7 @@ msgid "%s: %s: contains a syntax error\n" msgstr "%s: %s: enthält einen Syntaxfehler\n" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" +msgid "%s: %s: expected %d arguments; got %d" msgstr "" #, c-format @@ -200,7 +196,7 @@ msgid "%s: %s: invalid function name" msgstr "" #, c-format -msgid "%s: %s: invalid integer\n" +msgid "%s: %s: invalid integer" msgstr "" #, c-format @@ -208,7 +204,7 @@ msgid "%s: %s: invalid mode\n" msgstr "" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" +msgid "%s: %s: invalid mode name. See `help %s`" msgstr "" #, c-format @@ -216,32 +212,32 @@ msgid "%s: %s: invalid scale\n" msgstr "" #, c-format -msgid "%s: %s: invalid subcommand\n" -msgstr "%s: %s: ungültiger Unterbefehl\n" +msgid "%s: %s: invalid subcommand" +msgstr "%s: %s: ungültiger Unterbefehl" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" +msgid "%s: %s: invalid variable name. See `help %s`" msgstr "" #, c-format -msgid "%s: %s: option does not take an argument\n" +msgid "%s: %s: option does not take an argument" msgstr "" #, c-format -msgid "%s: %s: option requires an argument\n" +msgid "%s: %s: option requires an argument" msgstr "" #, c-format -msgid "%s: %s: subcommand takes no options\n" -msgstr "%s: %s: Unterbefehl nimmt keine Optionen an\n" +msgid "%s: %s: subcommand takes no options" +msgstr "%s: %s: Unterbefehl nimmt keine Optionen an" #, c-format msgid "%s: %s: unexpected positional argument" msgstr "%s: %s: unerwartetes Positionsargument" #, c-format -msgid "%s: %s: unknown option\n" -msgstr "%s: %s: unbekannte Option\n" +msgid "%s: %s: unknown option" +msgstr "%s: %s: unbekannte Option" #, c-format msgid "%s: '%s' is a broken symbolic link to '%s'\n" @@ -256,7 +252,7 @@ msgid "%s: '%s' is not a job\n" msgstr "%s: '%s' ist kein Job\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" +msgid "%s: '%s' is not a valid job ID" msgstr "" #, c-format @@ -320,8 +316,8 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "%s: Kann job %d, '%s' nicht in den Vordergrund schicken weil er nicht der Jobsteuerung unterliegt\n" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" -msgstr "%s: Kann job %s, '%s' nicht in den Hintergrund schicken weil er nicht der Jobsteuerung unterliegt\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" +msgstr "%s: Kann job %s, '%s' nicht in den Hintergrund schicken weil er nicht der Jobsteuerung unterliegt" #, c-format msgid "%s: Cannot combine options %s\n" @@ -364,8 +360,8 @@ msgid "%s: Could not find home directory\n" msgstr "%s: Konnte Heimordner nicht finden\n" #, c-format -msgid "%s: Could not find job '%d'\n" -msgstr "%s: Job '%d' nicht gefunden\n" +msgid "%s: Could not find job '%d'" +msgstr "%s: Job '%d' nicht gefunden" #, c-format msgid "%s: Did you mean `set %s %s`?" @@ -431,6 +427,10 @@ msgstr "" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "%s: Ungültiger 'count'-Wert '%s'" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "%s: Ungültiger 'count'-Wert '%s'\n" @@ -456,20 +456,20 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "%s: Ungültiger Index ab '%s'\n" #, c-format -msgid "%s: Invalid job control mode '%s'\n" -msgstr "%s: Ungültiger Jobkontrollmodus '%s'\n" +msgid "%s: Invalid job control mode '%s'" +msgstr "%s: Ungültiger Jobkontrollmodus '%s'" #, c-format msgid "%s: Invalid length value '%s'\n" msgstr "%s: Ungültiger Längenwert '%s'\n" #, c-format -msgid "%s: Invalid level value '%s'\n" +msgid "%s: Invalid level value '%s'" msgstr "" #, c-format -msgid "%s: Invalid limit '%s'\n" -msgstr "%s: Ungültiges Limit '%s'\n" +msgid "%s: Invalid limit '%s'" +msgstr "%s: Ungültiges Limit '%s'" #, c-format msgid "%s: Invalid max matches value '%s'\n" @@ -488,8 +488,8 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid permission '%s'\n" -msgstr "%s: Ungültiger Rechtewert '%s'\n" +msgid "%s: Invalid permission '%s'" +msgstr "%s: Ungültiger Rechtewert '%s'" #, c-format msgid "%s: Invalid position '%s'\n" @@ -500,8 +500,8 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid sort key '%s'\n" -msgstr "%s: Ungültiger Sortierschlüssel '%s'\n" +msgid "%s: Invalid sort key '%s'" +msgstr "%s: Ungültiger Sortierschlüssel '%s'" #, c-format msgid "%s: Invalid start value '%s'\n" @@ -520,7 +520,7 @@ msgid "%s: Invalid token '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid type '%s'\n" +msgid "%s: Invalid type '%s'" msgstr "" #, c-format @@ -544,8 +544,8 @@ msgid "%s: Missing -- separator\n" msgstr "%s: Fehlendes '--'-Trennzeichen\n" #, c-format -msgid "%s: New limit cannot be an empty string\n" -msgstr "%s: Neues Limit darf keine leere Zeichenkette sein\n" +msgid "%s: New limit cannot be an empty string" +msgstr "%s: Neues Limit darf keine leere Zeichenkette sein" #, c-format msgid "%s: No binding found for key '%s'\n" @@ -564,7 +564,7 @@ msgid "%s: No suitable job: %d\n" msgstr "%s: Kein passender Job: %d\n" #, c-format -msgid "%s: No suitable job: %s\n" +msgid "%s: No suitable job: %s" msgstr "" #, c-format @@ -592,16 +592,16 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s: Berechtigung verweigert: '%s'\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" -msgstr "%s: Fehler beim Kompilieren von regulärem Ausdruck: %s\n" +msgid "%s: Regular expression compile error: %s" +msgstr "%s: Fehler beim Kompilieren von regulärem Ausdruck: %s" #, c-format -msgid "%s: Regular expression substitute error: %s\n" -msgstr "%s: Fehler beim Ersetzen von regulärem Ausdruck: %s\n" +msgid "%s: Regular expression substitute error: %s" +msgstr "%s: Fehler beim Ersetzen von regulärem Ausdruck: %s" #, c-format -msgid "%s: Resource limit not available on this operating system\n" -msgstr "%s: Ressourcenlimit ist auf diesem Betriebssystem nicht verfügbar\n" +msgid "%s: Resource limit not available on this operating system" +msgstr "%s: Ressourcenlimit ist auf diesem Betriebssystem nicht verfügbar" #, c-format msgid "%s: STEP must be a positive integer\n" @@ -624,11 +624,11 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s: Es gibt keine Jobs\n" +msgid "%s: There are no jobs" +msgstr "%s: Es gibt keine Jobs" #, c-format -msgid "%s: There are no suitable jobs\n" +msgid "%s: There are no suitable jobs" msgstr "" #, c-format @@ -692,15 +692,15 @@ msgid "%s: calling job for event handler not found" msgstr "%s: Aufrufender Job für Eventhandler nicht gefunden" #, c-format -msgid "%s: can't merge history in private mode\n" -msgstr "%s: Kann Verlauf im privaten Modus nicht zusammenfügen\n" +msgid "%s: can't merge history in private mode" +msgstr "%s: Kann Verlauf im privaten Modus nicht zusammenfügen" #, c-format -msgid "%s: cannot both export and unexport\n" +msgid "%s: cannot both export and unexport" msgstr "" #, c-format -msgid "%s: cannot both path and unpath\n" +msgid "%s: cannot both path and unpath" msgstr "" #, c-format @@ -716,15 +716,15 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "%s: Exklusive Option '%s' ist ungültig\n" #, c-format -msgid "%s: expected %d arguments; got %d\n" +msgid "%s: expected %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" +msgid "%s: expected <= %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" +msgid "%s: expected >= %d arguments; got %d" msgstr "" #, c-format @@ -744,11 +744,11 @@ msgid "%s: invalid conversion specification" msgstr "%s: Ungültige Umwandlungsspezifikation" #, c-format -msgid "%s: invalid option combination\n" -msgstr "%s: ungültige Optionskombination\n" +msgid "%s: invalid option combination" +msgstr "%s: ungültige Optionskombination" #, c-format -msgid "%s: invalid option combination, %s\n" +msgid "%s: invalid option combination, %s" msgstr "" #, c-format @@ -756,7 +756,7 @@ msgid "%s: invalid underline style: %s\n" msgstr "" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." msgstr "" #, c-format @@ -764,7 +764,7 @@ msgid "%s: line/column index starts at 1" msgstr "" #, c-format -msgid "%s: missing argument\n" +msgid "%s: missing argument" msgstr "" #, c-format @@ -772,8 +772,8 @@ msgid "%s: missing filename argument or input redirection\n" msgstr "" #, c-format -msgid "%s: missing subcommand\n" -msgstr "%s: fehlender Unterbefehl\n" +msgid "%s: missing subcommand" +msgstr "%s: fehlender Unterbefehl" #, c-format msgid "%s: nothing to choose from\n" @@ -784,7 +784,7 @@ msgid "%s: realpath failed: %s\n" msgstr "%s: realpath fehlgeschlagen: %s\n" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" +msgid "%s: scope can be only one of: universal function global local" msgstr "" #, c-format @@ -808,8 +808,8 @@ msgid "%s: there is no line %s\n" msgstr "" #, c-format -msgid "%s: too many arguments\n" -msgstr "%s: zu viele Argumente\n" +msgid "%s: too many arguments" +msgstr "%s: zu viele Argumente" #, c-format msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead.\n" @@ -827,10 +827,6 @@ msgstr "" msgid "%sand %u more rows" msgstr "%sund %u weitere Zeilen" -#, c-format -msgid "%u\n" -msgstr "" - msgid "'break' while not inside of loop" msgstr "" @@ -893,8 +889,8 @@ msgstr "" msgid "--tokens options are mutually exclusive" msgstr "" -msgid "A second attempt to exit will terminate them.\n" -msgstr "Ein zweites 'exit' wird sie beenden.\n" +msgid "A second attempt to exit will terminate them." +msgstr "Ein zweites 'exit' wird sie beenden." msgid "Abbreviation expansion" msgstr "" @@ -981,8 +977,8 @@ msgstr "" msgid "Child process status changed" msgstr "Kindprozessstatus geändert" -msgid "Command\n" -msgstr "Befehl\n" +msgid "Command" +msgstr "Befehl" msgid "Command history events" msgstr "" @@ -1157,8 +1153,8 @@ msgstr "Zufallszahl generieren" msgid "Get/set resource usage limits" msgstr "Ressourcen-Limits abfragen/setzen" -msgid "Group\n" -msgstr "Gruppe\n" +msgid "Group" +msgstr "Gruppe" msgid "Halt execution and start debug prompt" msgstr "Ausführung anhalten und einen Debug-Prompt starten" @@ -1249,8 +1245,8 @@ msgid "Job\tGroup\t" msgstr "Job\tGruppe\t" #, c-format -msgid "Job control: %s\n" -msgstr "Jobsteuerung: %s\n" +msgid "Job control: %s" +msgstr "Jobsteuerung: %s" msgid "Jobs being executed" msgstr "" @@ -1392,8 +1388,8 @@ msgstr "Das Arbeitsverzeichnis ausgeben" msgid "Prints formatted text" msgstr "Formatierten Text ausgeben" -msgid "Process\n" -msgstr "Prozess\n" +msgid "Process" +msgstr "Prozess" msgid "Process groups" msgstr "" @@ -1470,11 +1466,11 @@ msgid "Searching/using paths" msgstr "" #, c-format -msgid "Send job %d (%s) to foreground\n" +msgid "Send job %d (%s) to foreground" msgstr "" #, c-format -msgid "Send job %s '%s' to background\n" +msgid "Send job %s '%s' to background" msgstr "" msgid "Send job to background" @@ -1512,8 +1508,8 @@ msgstr "" msgid "Startup (line %d): " msgstr "Start (Zeile %d): " -msgid "State\tCommand\n" -msgstr "Status\tBefehl\n" +msgid "State\tCommand" +msgstr "Status\tBefehl" msgid "Stdin must be attached to a tty." msgstr "" @@ -1585,13 +1581,13 @@ msgstr "Die Funktion '%s' ruft sich sofort selbst auf. Dies wäre eine Endlossch msgid "The interactive reader/input system" msgstr "" -msgid "There are still jobs active:\n" +msgid "There are still jobs active:" msgstr "" -msgid "This is a login shell\n" +msgid "This is a login shell" msgstr "" -msgid "This is not a login shell\n" +msgid "This is not a login shell" msgstr "" msgid "Timer expired" @@ -1722,7 +1718,7 @@ msgstr "" msgid "Urgent socket condition" msgstr "Dringender Socket-Zustand" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." msgstr "" msgid "User defined signal 1" @@ -1771,22 +1767,22 @@ msgid "autoloading" msgstr "" #, c-format -msgid "builtin %s: %s: %s\n" -msgstr "builtin %s: %s: %s\n" +msgid "builtin %s: %s: %s" +msgstr "builtin %s: %s: %s" #, c-format -msgid "builtin %s: Invalid arg: %s\n" -msgstr "builtin %s: Ungültiges argument: %s\n" +msgid "builtin %s: Invalid arg: %s" +msgstr "builtin %s: Ungültiges argument: %s" #, c-format -msgid "builtin %s: realpath failed: %s\n" +msgid "builtin %s: realpath failed: %s" msgstr "" -msgid "builtin history delete --exact requires --case-sensitive\n" -msgstr "builtin history delete --exact benötigt --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" +msgstr "builtin history delete --exact benötigt --case-sensitive" -msgid "builtin history delete only supports --exact\n" -msgstr "'builtin history delete' unterstützt nur --exact\n" +msgid "builtin history delete only supports --exact" +msgstr "'builtin history delete' unterstützt nur --exact" msgid "can not save history" msgstr "Kann Verlauf nicht speichern" @@ -1819,8 +1815,8 @@ msgstr "Verweis auf ein Verzeichnis" msgid "directory" msgstr "Verzeichnis" -msgid "error\n" -msgstr "Fehler\n" +msgid "error" +msgstr "Fehler" msgid "explore what characters keyboard keys send" msgstr "" @@ -1835,19 +1831,19 @@ msgstr "Datei" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" #, c-format -msgid "from sourcing file %s\n" -msgstr "aus der Quelldatei %s\n" +msgid "from sourcing file %s" +msgstr "aus der Quelldatei %s" -msgid "in command substitution\n" -msgstr "in der Befehlsersetzung\n" +msgid "in command substitution" +msgstr "in der Befehlsersetzung" #, c-format -msgid "in event handler: %s\n" -msgstr "im Ereignis-Handler: %s\n" +msgid "in event handler: %s" +msgstr "im Ereignis-Handler: %s" #, c-format msgid "in function '%s'" @@ -1893,7 +1889,7 @@ msgid "symlink" msgstr "" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" msgstr "" msgid "unexported" @@ -1903,8 +1899,8 @@ msgstr "nicht exportiert" msgid "unknown modifier '%s' in '%s'" msgstr "" -msgid "unlimited\n" -msgstr "unbegrenzt\n" +msgid "unlimited" +msgstr "unbegrenzt" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." msgstr "|& ist ungültig. In fish, nutze &| um stdout und stderr gleichzeitig zu pipen" diff --git a/localization/po/en.po b/localization/po/en.po index a7f1d2218..cc76539b7 100644 --- a/localization/po/en.po +++ b/localization/po/en.po @@ -24,9 +24,7 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" +msgid " PID Command" msgstr "" #, c-format @@ -82,7 +80,7 @@ msgid "%s" msgstr "" #, c-format -msgid "%s %s: %s: invalid subcommand\n" +msgid "%s %s: %s: invalid subcommand" msgstr "" #, c-format @@ -166,11 +164,11 @@ msgid "%s, version %s\n" msgstr "%s, version %s\n" #, c-format -msgid "%s: %s\n" +msgid "%s: %s" msgstr "" #, c-format -msgid "%s: %s %s: options cannot be used together\n" +msgid "%s: %s %s: options cannot be used together" msgstr "" #, c-format @@ -186,7 +184,7 @@ msgid "%s: %s: contains a syntax error\n" msgstr "" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" +msgid "%s: %s: expected %d arguments; got %d" msgstr "" #, c-format @@ -198,7 +196,7 @@ msgid "%s: %s: invalid function name" msgstr "" #, c-format -msgid "%s: %s: invalid integer\n" +msgid "%s: %s: invalid integer" msgstr "" #, c-format @@ -206,7 +204,7 @@ msgid "%s: %s: invalid mode\n" msgstr "" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" +msgid "%s: %s: invalid mode name. See `help %s`" msgstr "" #, c-format @@ -214,23 +212,23 @@ msgid "%s: %s: invalid scale\n" msgstr "" #, c-format -msgid "%s: %s: invalid subcommand\n" +msgid "%s: %s: invalid subcommand" msgstr "" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" +msgid "%s: %s: invalid variable name. See `help %s`" msgstr "" #, c-format -msgid "%s: %s: option does not take an argument\n" +msgid "%s: %s: option does not take an argument" msgstr "" #, c-format -msgid "%s: %s: option requires an argument\n" +msgid "%s: %s: option requires an argument" msgstr "" #, c-format -msgid "%s: %s: subcommand takes no options\n" +msgid "%s: %s: subcommand takes no options" msgstr "" #, c-format @@ -238,7 +236,7 @@ msgid "%s: %s: unexpected positional argument" msgstr "" #, c-format -msgid "%s: %s: unknown option\n" +msgid "%s: %s: unknown option" msgstr "" #, c-format @@ -254,7 +252,7 @@ msgid "%s: '%s' is not a job\n" msgstr "%s: “%s” is not a job\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" +msgid "%s: '%s' is not a valid job ID" msgstr "" #, c-format @@ -318,7 +316,7 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "%s: Can't put job %d, “%s” to foreground because it is not under job control\n" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" msgstr "" #, c-format @@ -362,7 +360,7 @@ msgid "%s: Could not find home directory\n" msgstr "%s: Could not find home directory\n" #, c-format -msgid "%s: Could not find job '%d'\n" +msgid "%s: Could not find job '%d'" msgstr "" #, c-format @@ -429,6 +427,10 @@ msgstr "" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "" @@ -454,7 +456,7 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "%s: Invalid index starting at “%s”\n" #, c-format -msgid "%s: Invalid job control mode '%s'\n" +msgid "%s: Invalid job control mode '%s'" msgstr "" #, c-format @@ -462,11 +464,11 @@ msgid "%s: Invalid length value '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid level value '%s'\n" +msgid "%s: Invalid level value '%s'" msgstr "" #, c-format -msgid "%s: Invalid limit '%s'\n" +msgid "%s: Invalid limit '%s'" msgstr "" #, c-format @@ -486,7 +488,7 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid permission '%s'\n" +msgid "%s: Invalid permission '%s'" msgstr "" #, c-format @@ -498,7 +500,7 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid sort key '%s'\n" +msgid "%s: Invalid sort key '%s'" msgstr "" #, c-format @@ -518,7 +520,7 @@ msgid "%s: Invalid token '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid type '%s'\n" +msgid "%s: Invalid type '%s'" msgstr "" #, c-format @@ -542,7 +544,7 @@ msgid "%s: Missing -- separator\n" msgstr "" #, c-format -msgid "%s: New limit cannot be an empty string\n" +msgid "%s: New limit cannot be an empty string" msgstr "" #, c-format @@ -562,7 +564,7 @@ msgid "%s: No suitable job: %d\n" msgstr "%s: No suitable job: %d\n" #, c-format -msgid "%s: No suitable job: %s\n" +msgid "%s: No suitable job: %s" msgstr "" #, c-format @@ -590,15 +592,15 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s: Permission denied: “%s”\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" +msgid "%s: Regular expression compile error: %s" msgstr "" #, c-format -msgid "%s: Regular expression substitute error: %s\n" +msgid "%s: Regular expression substitute error: %s" msgstr "" #, c-format -msgid "%s: Resource limit not available on this operating system\n" +msgid "%s: Resource limit not available on this operating system" msgstr "" #, c-format @@ -622,12 +624,12 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s: There are no jobs\n" +msgid "%s: There are no jobs" +msgstr "%s: There are no jobs" #, c-format -msgid "%s: There are no suitable jobs\n" -msgstr "%s: There are no suitable jobs\n" +msgid "%s: There are no suitable jobs" +msgstr "%s: There are no suitable jobs" #, c-format msgid "%s: Too many levels of symbolic links: '%s'\n" @@ -690,15 +692,15 @@ msgid "%s: calling job for event handler not found" msgstr "" #, c-format -msgid "%s: can't merge history in private mode\n" +msgid "%s: can't merge history in private mode" msgstr "" #, c-format -msgid "%s: cannot both export and unexport\n" +msgid "%s: cannot both export and unexport" msgstr "" #, c-format -msgid "%s: cannot both path and unpath\n" +msgid "%s: cannot both path and unpath" msgstr "" #, c-format @@ -714,15 +716,15 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "" #, c-format -msgid "%s: expected %d arguments; got %d\n" +msgid "%s: expected %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" +msgid "%s: expected <= %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" +msgid "%s: expected >= %d arguments; got %d" msgstr "" #, c-format @@ -742,11 +744,11 @@ msgid "%s: invalid conversion specification" msgstr "%s: invalid conversion specification" #, c-format -msgid "%s: invalid option combination\n" +msgid "%s: invalid option combination" msgstr "" #, c-format -msgid "%s: invalid option combination, %s\n" +msgid "%s: invalid option combination, %s" msgstr "" #, c-format @@ -754,7 +756,7 @@ msgid "%s: invalid underline style: %s\n" msgstr "" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." msgstr "" #, c-format @@ -762,7 +764,7 @@ msgid "%s: line/column index starts at 1" msgstr "" #, c-format -msgid "%s: missing argument\n" +msgid "%s: missing argument" msgstr "" #, c-format @@ -770,7 +772,7 @@ msgid "%s: missing filename argument or input redirection\n" msgstr "" #, c-format -msgid "%s: missing subcommand\n" +msgid "%s: missing subcommand" msgstr "" #, c-format @@ -782,7 +784,7 @@ msgid "%s: realpath failed: %s\n" msgstr "" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" +msgid "%s: scope can be only one of: universal function global local" msgstr "" #, c-format @@ -806,7 +808,7 @@ msgid "%s: there is no line %s\n" msgstr "" #, c-format -msgid "%s: too many arguments\n" +msgid "%s: too many arguments" msgstr "" #, c-format @@ -825,10 +827,6 @@ msgstr "" msgid "%sand %u more rows" msgstr "%sand %u more rows" -#, c-format -msgid "%u\n" -msgstr "" - msgid "'break' while not inside of loop" msgstr "" @@ -891,7 +889,7 @@ msgstr "" msgid "--tokens options are mutually exclusive" msgstr "" -msgid "A second attempt to exit will terminate them.\n" +msgid "A second attempt to exit will terminate them." msgstr "" msgid "Abbreviation expansion" @@ -979,8 +977,8 @@ msgstr "" msgid "Child process status changed" msgstr "Child process status changed" -msgid "Command\n" -msgstr "Command\n" +msgid "Command" +msgstr "Command" msgid "Command history events" msgstr "" @@ -1155,8 +1153,8 @@ msgstr "Generate random number" msgid "Get/set resource usage limits" msgstr "" -msgid "Group\n" -msgstr "Group\n" +msgid "Group" +msgstr "Group" msgid "Halt execution and start debug prompt" msgstr "" @@ -1247,8 +1245,8 @@ msgid "Job\tGroup\t" msgstr "Job\tGroup\t" #, c-format -msgid "Job control: %s\n" -msgstr "Job control: %s\n" +msgid "Job control: %s" +msgstr "Job control: %s" msgid "Jobs being executed" msgstr "" @@ -1390,8 +1388,8 @@ msgstr "Print the working directory" msgid "Prints formatted text" msgstr "Prints formatted text" -msgid "Process\n" -msgstr "Process\n" +msgid "Process" +msgstr "Process" msgid "Process groups" msgstr "" @@ -1468,11 +1466,11 @@ msgid "Searching/using paths" msgstr "" #, c-format -msgid "Send job %d (%s) to foreground\n" +msgid "Send job %d (%s) to foreground" msgstr "" #, c-format -msgid "Send job %s '%s' to background\n" +msgid "Send job %s '%s' to background" msgstr "" msgid "Send job to background" @@ -1510,8 +1508,8 @@ msgstr "" msgid "Startup (line %d): " msgstr "" -msgid "State\tCommand\n" -msgstr "State\tCommand\n" +msgid "State\tCommand" +msgstr "State\tCommand" msgid "Stdin must be attached to a tty." msgstr "" @@ -1583,14 +1581,14 @@ msgstr "The function “%s” calls itself immediately, which would result in an msgid "The interactive reader/input system" msgstr "" -msgid "There are still jobs active:\n" +msgid "There are still jobs active:" msgstr "" -msgid "This is a login shell\n" -msgstr "This is a login shell\n" +msgid "This is a login shell" +msgstr "This is a login shell" -msgid "This is not a login shell\n" -msgstr "This is not a login shell\n" +msgid "This is not a login shell" +msgstr "This is not a login shell" msgid "Timer expired" msgstr "Timer expired" @@ -1720,7 +1718,7 @@ msgstr "Unused signal" msgid "Urgent socket condition" msgstr "Urgent socket condition" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." msgstr "" msgid "User defined signal 1" @@ -1769,21 +1767,21 @@ msgid "autoloading" msgstr "" #, c-format -msgid "builtin %s: %s: %s\n" +msgid "builtin %s: %s: %s" msgstr "" #, c-format -msgid "builtin %s: Invalid arg: %s\n" +msgid "builtin %s: Invalid arg: %s" msgstr "" #, c-format -msgid "builtin %s: realpath failed: %s\n" +msgid "builtin %s: realpath failed: %s" msgstr "" -msgid "builtin history delete --exact requires --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" msgstr "" -msgid "builtin history delete only supports --exact\n" +msgid "builtin history delete only supports --exact" msgstr "" msgid "can not save history" @@ -1817,7 +1815,7 @@ msgstr "" msgid "directory" msgstr "" -msgid "error\n" +msgid "error" msgstr "" msgid "explore what characters keyboard keys send" @@ -1833,19 +1831,19 @@ msgstr "file" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" #, c-format -msgid "from sourcing file %s\n" -msgstr "from sourcing file %s\n" +msgid "from sourcing file %s" +msgstr "from sourcing file %s" -msgid "in command substitution\n" -msgstr "in command substitution\n" +msgid "in command substitution" +msgstr "in command substitution" #, c-format -msgid "in event handler: %s\n" -msgstr "in event handler: %s\n" +msgid "in event handler: %s" +msgstr "in event handler: %s" #, c-format msgid "in function '%s'" @@ -1891,7 +1889,7 @@ msgid "symlink" msgstr "" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" msgstr "" msgid "unexported" @@ -1901,7 +1899,7 @@ msgstr "" msgid "unknown modifier '%s' in '%s'" msgstr "" -msgid "unlimited\n" +msgid "unlimited" msgstr "" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." diff --git a/localization/po/fr.po b/localization/po/fr.po index 269b6235a..9a5ab3744 100644 --- a/localization/po/fr.po +++ b/localization/po/fr.po @@ -153,12 +153,8 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" -msgstr "" -"\n" -" PID Commande\n" +msgid " PID Command" +msgstr " PID Commande" #, c-format msgid " (%s)\n" @@ -213,8 +209,8 @@ msgid "%s" msgstr "%s" #, c-format -msgid "%s %s: %s: invalid subcommand\n" -msgstr "%s %s : %s : sous-commande invalide\n" +msgid "%s %s: %s: invalid subcommand" +msgstr "%s %s : %s : sous-commande invalide" #, c-format msgid "%s %s: Abbreviation %s already exists for commands %s, cannot rename %s\n" @@ -297,12 +293,12 @@ msgid "%s, version %s\n" msgstr "%s, version %s\n" #, c-format -msgid "%s: %s\n" -msgstr "%s : %s\n" +msgid "%s: %s" +msgstr "%s : %s" #, c-format -msgid "%s: %s %s: options cannot be used together\n" -msgstr "%s : %s %s : ces options ne peuvent pas être utilisées ensembles\n" +msgid "%s: %s %s: options cannot be used together" +msgstr "%s : %s %s : ces options ne peuvent pas être utilisées ensembles" #, c-format msgid "%s: %s: cannot overwrite read-only variable" @@ -317,8 +313,8 @@ msgid "%s: %s: contains a syntax error\n" msgstr "%s : %s : contient une erreur de syntaxe\n" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" -msgstr "%s : %s : %d arguments attendus ; %d reçus\n" +msgid "%s: %s: expected %d arguments; got %d" +msgstr "%s : %s : %d arguments attendus ; %d reçus" #, c-format msgid "%s: %s: invalid base value\n" @@ -329,48 +325,48 @@ msgid "%s: %s: invalid function name" msgstr "%s : %s : nom de fonction invalide" #, c-format -msgid "%s: %s: invalid integer\n" -msgstr "%s : %s : entier invalide\n" +msgid "%s: %s: invalid integer" +msgstr "%s : %s : entier invalide" #, c-format msgid "%s: %s: invalid mode\n" msgstr "%s : %s : mode invalide\n" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" -msgstr "%s : %s : nom de mode invalide. Voir « help %s »\n" +msgid "%s: %s: invalid mode name. See `help %s`" +msgstr "%s : %s : nom de mode invalide. Voir « help %s »" #, c-format msgid "%s: %s: invalid scale\n" msgstr "%s : %s : échelle invalide\n" #, c-format -msgid "%s: %s: invalid subcommand\n" -msgstr "%s : %s : sous-commande invalide\n" +msgid "%s: %s: invalid subcommand" +msgstr "%s : %s : sous-commande invalide" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" -msgstr "%s : %s : nom de variable invalide. Voir « help %s »\n" +msgid "%s: %s: invalid variable name. See `help %s`" +msgstr "%s : %s : nom de variable invalide. Voir « help %s »" #, c-format -msgid "%s: %s: option does not take an argument\n" -msgstr "%s : %s : cette option ne prend pas d’argument\n" +msgid "%s: %s: option does not take an argument" +msgstr "%s : %s : cette option ne prend pas d’argument" #, c-format -msgid "%s: %s: option requires an argument\n" -msgstr "%s : %s : cette option doit être utilisée avec un argument\n" +msgid "%s: %s: option requires an argument" +msgstr "%s : %s : cette option doit être utilisée avec un argument" #, c-format -msgid "%s: %s: subcommand takes no options\n" -msgstr "%s : %s : cette sous-command n’a pas d’option\n" +msgid "%s: %s: subcommand takes no options" +msgstr "%s : %s : cette sous-command n’a pas d’option" #, c-format msgid "%s: %s: unexpected positional argument" msgstr "%s : %s : argument positionnel inattendu" #, c-format -msgid "%s: %s: unknown option\n" -msgstr "%s : %s : option inconnue\n" +msgid "%s: %s: unknown option" +msgstr "%s : %s : option inconnue" #, c-format msgid "%s: '%s' is a broken symbolic link to '%s'\n" @@ -385,8 +381,8 @@ msgid "%s: '%s' is not a job\n" msgstr "%s : « %s » n’est pas une tâche\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" -msgstr "%s : « %s » n’est pas un ID de tâche valide\n" +msgid "%s: '%s' is not a valid job ID" +msgstr "%s : « %s » n’est pas un ID de tâche valide" #, c-format msgid "%s: '%s' is not a valid process ID\n" @@ -449,8 +445,8 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "%s : Impossible de mettre la tâche %d, « %s » au premier plan, car elle n’est pas gérée par le contrôleur de tâches\n" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" -msgstr "%s : Impossible de mettre la tâche %s, « %s » en arrière plan, car elle n’est pas gérée par le contrôleur de tâches\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" +msgstr "%s : Impossible de mettre la tâche %s, « %s » en arrière plan, car elle n’est pas gérée par le contrôleur de tâches" #, c-format msgid "%s: Cannot combine options %s\n" @@ -493,8 +489,8 @@ msgid "%s: Could not find home directory\n" msgstr "%s : Dossier personnel introuvable\n" #, c-format -msgid "%s: Could not find job '%d'\n" -msgstr "%s : Impossible de trouver la tâche « %d »\n" +msgid "%s: Could not find job '%d'" +msgstr "%s : Impossible de trouver la tâche « %d »" #, c-format msgid "%s: Did you mean `set %s %s`?" @@ -560,6 +556,10 @@ msgstr "%s : La valeur « %s » de --min-args est invalide\n" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "%s : La valeur « %s » de --unknown-arguments est invalide\n" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "%s : La valeur « %s » de « count » est invalide" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "%s : La valeur « %s » de « count » est invalide\n" @@ -585,20 +585,20 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "%s : Indice invalide à partir de « %s »\n" #, c-format -msgid "%s: Invalid job control mode '%s'\n" -msgstr "%s : Mode de contrôle de tâche « %s » invalide\n" +msgid "%s: Invalid job control mode '%s'" +msgstr "%s : Mode de contrôle de tâche « %s » invalide" #, c-format msgid "%s: Invalid length value '%s'\n" msgstr "%s : La valeur de taille « %s » est invalide\n" #, c-format -msgid "%s: Invalid level value '%s'\n" -msgstr "%s : La valeur de niveau « %s » est invalide\n" +msgid "%s: Invalid level value '%s'" +msgstr "%s : La valeur de niveau « %s » est invalide" #, c-format -msgid "%s: Invalid limit '%s'\n" -msgstr "%s : La limite « %s » est invalide\n" +msgid "%s: Invalid limit '%s'" +msgstr "%s : La limite « %s » est invalide" #, c-format msgid "%s: Invalid max matches value '%s'\n" @@ -617,7 +617,7 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid permission '%s'\n" +msgid "%s: Invalid permission '%s'" msgstr "" #, c-format @@ -629,7 +629,7 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid sort key '%s'\n" +msgid "%s: Invalid sort key '%s'" msgstr "" #, c-format @@ -649,7 +649,7 @@ msgid "%s: Invalid token '%s'\n" msgstr "%s : Lexème invalide « %s »\n" #, c-format -msgid "%s: Invalid type '%s'\n" +msgid "%s: Invalid type '%s'" msgstr "" #, c-format @@ -673,8 +673,8 @@ msgid "%s: Missing -- separator\n" msgstr "%s : Séparateur -- manquant\n" #, c-format -msgid "%s: New limit cannot be an empty string\n" -msgstr "%s : La nouvelle limite ne peut être une chaîne vide\n" +msgid "%s: New limit cannot be an empty string" +msgstr "%s : La nouvelle limite ne peut être une chaîne vide" #, c-format msgid "%s: No binding found for key '%s'\n" @@ -693,7 +693,7 @@ msgid "%s: No suitable job: %d\n" msgstr "%s : Aucune tâche appropriée : %d\n" #, c-format -msgid "%s: No suitable job: %s\n" +msgid "%s: No suitable job: %s" msgstr "" #, c-format @@ -721,15 +721,15 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s : Permission refusée « %s »\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" -msgstr "%s : Erreur de compilation de l’expression régulière: %s\n" +msgid "%s: Regular expression compile error: %s" +msgstr "%s : Erreur de compilation de l’expression régulière: %s" #, c-format -msgid "%s: Regular expression substitute error: %s\n" -msgstr "%s : Erreur de substitution de l’expression régulière : %s\n" +msgid "%s: Regular expression substitute error: %s" +msgstr "%s : Erreur de substitution de l’expression régulière : %s" #, c-format -msgid "%s: Resource limit not available on this operating system\n" +msgid "%s: Resource limit not available on this operating system" msgstr "" #, c-format @@ -753,12 +753,12 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s : Aucune tâche\n" +msgid "%s: There are no jobs" +msgstr "%s : Aucune tâche" #, c-format -msgid "%s: There are no suitable jobs\n" -msgstr "%s : Aucune tâche appropriée\n" +msgid "%s: There are no suitable jobs" +msgstr "%s : Aucune tâche appropriée" #, c-format msgid "%s: Too many levels of symbolic links: '%s'\n" @@ -821,15 +821,15 @@ msgid "%s: calling job for event handler not found" msgstr "" #, c-format -msgid "%s: can't merge history in private mode\n" +msgid "%s: can't merge history in private mode" msgstr "" #, c-format -msgid "%s: cannot both export and unexport\n" +msgid "%s: cannot both export and unexport" msgstr "" #, c-format -msgid "%s: cannot both path and unpath\n" +msgid "%s: cannot both path and unpath" msgstr "" #, c-format @@ -845,15 +845,15 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "%s : le sémaphore texte exclusif « %s » est invalide\n" #, c-format -msgid "%s: expected %d arguments; got %d\n" +msgid "%s: expected %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" +msgid "%s: expected <= %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" +msgid "%s: expected >= %d arguments; got %d" msgstr "" #, c-format @@ -873,11 +873,11 @@ msgid "%s: invalid conversion specification" msgstr "%s : spécification de conversion invalide" #, c-format -msgid "%s: invalid option combination\n" +msgid "%s: invalid option combination" msgstr "" #, c-format -msgid "%s: invalid option combination, %s\n" +msgid "%s: invalid option combination, %s" msgstr "" #, c-format @@ -885,15 +885,15 @@ msgid "%s: invalid underline style: %s\n" msgstr "" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" -msgstr "%s : la tâche %d (« %s ») a été arrêtée et a reçu un signal pour continuer.\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." +msgstr "%s : la tâche %d (« %s ») a été arrêtée et a reçu un signal pour continuer." #, c-format msgid "%s: line/column index starts at 1" msgstr "" #, c-format -msgid "%s: missing argument\n" +msgid "%s: missing argument" msgstr "" #, c-format @@ -901,7 +901,7 @@ msgid "%s: missing filename argument or input redirection\n" msgstr "" #, c-format -msgid "%s: missing subcommand\n" +msgid "%s: missing subcommand" msgstr "" #, c-format @@ -913,7 +913,7 @@ msgid "%s: realpath failed: %s\n" msgstr "" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" +msgid "%s: scope can be only one of: universal function global local" msgstr "" #, c-format @@ -937,7 +937,7 @@ msgid "%s: there is no line %s\n" msgstr "" #, c-format -msgid "%s: too many arguments\n" +msgid "%s: too many arguments" msgstr "" #, c-format @@ -956,10 +956,6 @@ msgstr "" msgid "%sand %u more rows" msgstr "%set %u lignes de plus" -#, c-format -msgid "%u\n" -msgstr "" - msgid "'break' while not inside of loop" msgstr "« break » hors d’une boucle" @@ -1022,8 +1018,8 @@ msgstr "" msgid "--tokens options are mutually exclusive" msgstr "" -msgid "A second attempt to exit will terminate them.\n" -msgstr "Une seconde tentative d’arrêt les terminera.\n" +msgid "A second attempt to exit will terminate them." +msgstr "Une seconde tentative d’arrêt les terminera." msgid "Abbreviation expansion" msgstr "" @@ -1110,8 +1106,8 @@ msgstr "" msgid "Child process status changed" msgstr "L’état du processus fils a été modifié" -msgid "Command\n" -msgstr "Commande\n" +msgid "Command" +msgstr "Commande" msgid "Command history events" msgstr "" @@ -1286,8 +1282,8 @@ msgstr "Génère un nombre aléatoire" msgid "Get/set resource usage limits" msgstr "" -msgid "Group\n" -msgstr "Groupe\n" +msgid "Group" +msgstr "Groupe" msgid "Halt execution and start debug prompt" msgstr "" @@ -1378,8 +1374,8 @@ msgid "Job\tGroup\t" msgstr "Tâche\tGroupe\t" #, c-format -msgid "Job control: %s\n" -msgstr "Contrôle des tâches : %s\n" +msgid "Job control: %s" +msgstr "Contrôle des tâches : %s" msgid "Jobs being executed" msgstr "" @@ -1521,8 +1517,8 @@ msgstr "Afficher le dossier de travail" msgid "Prints formatted text" msgstr "Affiche le texte formaté" -msgid "Process\n" -msgstr "Processus\n" +msgid "Process" +msgstr "Processus" msgid "Process groups" msgstr "" @@ -1599,11 +1595,11 @@ msgid "Searching/using paths" msgstr "" #, c-format -msgid "Send job %d (%s) to foreground\n" +msgid "Send job %d (%s) to foreground" msgstr "" #, c-format -msgid "Send job %s '%s' to background\n" +msgid "Send job %s '%s' to background" msgstr "" msgid "Send job to background" @@ -1641,8 +1637,8 @@ msgstr "" msgid "Startup (line %d): " msgstr "" -msgid "State\tCommand\n" -msgstr "État\tCommande\n" +msgid "State\tCommand" +msgstr "État\tCommande" msgid "Stdin must be attached to a tty." msgstr "" @@ -1714,14 +1710,14 @@ msgstr "La fonction « %s » s’appelle immédiatement, ce qui provoquerait u msgid "The interactive reader/input system" msgstr "" -msgid "There are still jobs active:\n" -msgstr "Des tâches sont toujours actives :\n" +msgid "There are still jobs active:" +msgstr "Des tâches sont toujours actives :" -msgid "This is a login shell\n" -msgstr "Ceci est un shell de connexion\n" +msgid "This is a login shell" +msgstr "Ceci est un shell de connexion" -msgid "This is not a login shell\n" -msgstr "Ceci n’est pas un shell de connexion\n" +msgid "This is not a login shell" +msgstr "Ceci n’est pas un shell de connexion" msgid "Timer expired" msgstr "Expiration du délai" @@ -1851,8 +1847,8 @@ msgstr "Signal inutilisé" msgid "Urgent socket condition" msgstr "Condition urgente de socket" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" -msgstr "Utilisez « disown PID » pour retirer des tâches de la liste sans les abréger\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." +msgstr "Utilisez « disown PID » pour retirer des tâches de la liste sans les abréger" msgid "User defined signal 1" msgstr "Signal défini par l’utilisateur 1" @@ -1900,22 +1896,22 @@ msgid "autoloading" msgstr "" #, c-format -msgid "builtin %s: %s: %s\n" +msgid "builtin %s: %s: %s" msgstr "" #, c-format -msgid "builtin %s: Invalid arg: %s\n" +msgid "builtin %s: Invalid arg: %s" msgstr "" #, c-format -msgid "builtin %s: realpath failed: %s\n" +msgid "builtin %s: realpath failed: %s" msgstr "" -msgid "builtin history delete --exact requires --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" msgstr "" -msgid "builtin history delete only supports --exact\n" -msgstr "la commande interne history delete ne supporte que --exact\n" +msgid "builtin history delete only supports --exact" +msgstr "la commande interne history delete ne supporte que --exact" msgid "can not save history" msgstr "" @@ -1948,7 +1944,7 @@ msgstr "" msgid "directory" msgstr "" -msgid "error\n" +msgid "error" msgstr "" msgid "explore what characters keyboard keys send" @@ -1964,19 +1960,19 @@ msgstr "fichier" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" #, c-format -msgid "from sourcing file %s\n" -msgstr "du fichier source %s\n" +msgid "from sourcing file %s" +msgstr "du fichier source %s" -msgid "in command substitution\n" -msgstr "dans la substitution de commande\n" +msgid "in command substitution" +msgstr "dans la substitution de commande" #, c-format -msgid "in event handler: %s\n" -msgstr "dans le gestionnaire d’événement: %s\n" +msgid "in event handler: %s" +msgstr "dans le gestionnaire d’événement: %s" #, c-format msgid "in function '%s'" @@ -2022,7 +2018,7 @@ msgid "symlink" msgstr "" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" msgstr "" msgid "unexported" @@ -2032,7 +2028,7 @@ msgstr "non exportée" msgid "unknown modifier '%s' in '%s'" msgstr "" -msgid "unlimited\n" +msgid "unlimited" msgstr "" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." diff --git a/localization/po/pl.po b/localization/po/pl.po index 039819ca3..1ec63d5c9 100644 --- a/localization/po/pl.po +++ b/localization/po/pl.po @@ -20,9 +20,7 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" +msgid " PID Command" msgstr "" #, c-format @@ -78,7 +76,7 @@ msgid "%s" msgstr "" #, c-format -msgid "%s %s: %s: invalid subcommand\n" +msgid "%s %s: %s: invalid subcommand" msgstr "" #, c-format @@ -162,11 +160,11 @@ msgid "%s, version %s\n" msgstr "%s, wersja %s\n" #, c-format -msgid "%s: %s\n" +msgid "%s: %s" msgstr "" #, c-format -msgid "%s: %s %s: options cannot be used together\n" +msgid "%s: %s %s: options cannot be used together" msgstr "" #, c-format @@ -182,7 +180,7 @@ msgid "%s: %s: contains a syntax error\n" msgstr "" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" +msgid "%s: %s: expected %d arguments; got %d" msgstr "" #, c-format @@ -194,7 +192,7 @@ msgid "%s: %s: invalid function name" msgstr "" #, c-format -msgid "%s: %s: invalid integer\n" +msgid "%s: %s: invalid integer" msgstr "" #, c-format @@ -202,7 +200,7 @@ msgid "%s: %s: invalid mode\n" msgstr "" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" +msgid "%s: %s: invalid mode name. See `help %s`" msgstr "" #, c-format @@ -210,23 +208,23 @@ msgid "%s: %s: invalid scale\n" msgstr "" #, c-format -msgid "%s: %s: invalid subcommand\n" +msgid "%s: %s: invalid subcommand" msgstr "" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" +msgid "%s: %s: invalid variable name. See `help %s`" msgstr "" #, c-format -msgid "%s: %s: option does not take an argument\n" +msgid "%s: %s: option does not take an argument" msgstr "" #, c-format -msgid "%s: %s: option requires an argument\n" +msgid "%s: %s: option requires an argument" msgstr "" #, c-format -msgid "%s: %s: subcommand takes no options\n" +msgid "%s: %s: subcommand takes no options" msgstr "" #, c-format @@ -234,7 +232,7 @@ msgid "%s: %s: unexpected positional argument" msgstr "" #, c-format -msgid "%s: %s: unknown option\n" +msgid "%s: %s: unknown option" msgstr "" #, c-format @@ -250,7 +248,7 @@ msgid "%s: '%s' is not a job\n" msgstr "%s: '%s' nie jest zadaniem\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" +msgid "%s: '%s' is not a valid job ID" msgstr "" #, c-format @@ -314,7 +312,7 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" msgstr "" #, c-format @@ -358,7 +356,7 @@ msgid "%s: Could not find home directory\n" msgstr "%s: Nie można odnaleźć katalogu domowego\n" #, c-format -msgid "%s: Could not find job '%d'\n" +msgid "%s: Could not find job '%d'" msgstr "" #, c-format @@ -425,6 +423,10 @@ msgstr "" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "" @@ -450,7 +452,7 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid job control mode '%s'\n" +msgid "%s: Invalid job control mode '%s'" msgstr "" #, c-format @@ -458,11 +460,11 @@ msgid "%s: Invalid length value '%s'\n" msgstr "%s: Nieprawidłowa wartość długości '%s'\n" #, c-format -msgid "%s: Invalid level value '%s'\n" +msgid "%s: Invalid level value '%s'" msgstr "" #, c-format -msgid "%s: Invalid limit '%s'\n" +msgid "%s: Invalid limit '%s'" msgstr "" #, c-format @@ -482,7 +484,7 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid permission '%s'\n" +msgid "%s: Invalid permission '%s'" msgstr "" #, c-format @@ -494,7 +496,7 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid sort key '%s'\n" +msgid "%s: Invalid sort key '%s'" msgstr "" #, c-format @@ -514,7 +516,7 @@ msgid "%s: Invalid token '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid type '%s'\n" +msgid "%s: Invalid type '%s'" msgstr "" #, c-format @@ -538,7 +540,7 @@ msgid "%s: Missing -- separator\n" msgstr "" #, c-format -msgid "%s: New limit cannot be an empty string\n" +msgid "%s: New limit cannot be an empty string" msgstr "" #, c-format @@ -558,7 +560,7 @@ msgid "%s: No suitable job: %d\n" msgstr "%s: Brak pasujących zadań: %d\n" #, c-format -msgid "%s: No suitable job: %s\n" +msgid "%s: No suitable job: %s" msgstr "" #, c-format @@ -586,15 +588,15 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s: Brak uprawnień: '%s'\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" +msgid "%s: Regular expression compile error: %s" msgstr "" #, c-format -msgid "%s: Regular expression substitute error: %s\n" +msgid "%s: Regular expression substitute error: %s" msgstr "" #, c-format -msgid "%s: Resource limit not available on this operating system\n" +msgid "%s: Resource limit not available on this operating system" msgstr "" #, c-format @@ -618,12 +620,12 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s: Nie ma żadnych zadań\n" +msgid "%s: There are no jobs" +msgstr "%s: Nie ma żadnych zadań" #, c-format -msgid "%s: There are no suitable jobs\n" -msgstr "%s: Brak pasujących zadań\n" +msgid "%s: There are no suitable jobs" +msgstr "%s: Brak pasujących zadań" #, c-format msgid "%s: Too many levels of symbolic links: '%s'\n" @@ -686,15 +688,15 @@ msgid "%s: calling job for event handler not found" msgstr "" #, c-format -msgid "%s: can't merge history in private mode\n" +msgid "%s: can't merge history in private mode" msgstr "" #, c-format -msgid "%s: cannot both export and unexport\n" +msgid "%s: cannot both export and unexport" msgstr "" #, c-format -msgid "%s: cannot both path and unpath\n" +msgid "%s: cannot both path and unpath" msgstr "" #, c-format @@ -710,15 +712,15 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "" #, c-format -msgid "%s: expected %d arguments; got %d\n" +msgid "%s: expected %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" +msgid "%s: expected <= %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" +msgid "%s: expected >= %d arguments; got %d" msgstr "" #, c-format @@ -738,11 +740,11 @@ msgid "%s: invalid conversion specification" msgstr "" #, c-format -msgid "%s: invalid option combination\n" +msgid "%s: invalid option combination" msgstr "" #, c-format -msgid "%s: invalid option combination, %s\n" +msgid "%s: invalid option combination, %s" msgstr "" #, c-format @@ -750,7 +752,7 @@ msgid "%s: invalid underline style: %s\n" msgstr "" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." msgstr "" #, c-format @@ -758,7 +760,7 @@ msgid "%s: line/column index starts at 1" msgstr "" #, c-format -msgid "%s: missing argument\n" +msgid "%s: missing argument" msgstr "" #, c-format @@ -766,7 +768,7 @@ msgid "%s: missing filename argument or input redirection\n" msgstr "" #, c-format -msgid "%s: missing subcommand\n" +msgid "%s: missing subcommand" msgstr "" #, c-format @@ -778,7 +780,7 @@ msgid "%s: realpath failed: %s\n" msgstr "" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" +msgid "%s: scope can be only one of: universal function global local" msgstr "" #, c-format @@ -802,7 +804,7 @@ msgid "%s: there is no line %s\n" msgstr "" #, c-format -msgid "%s: too many arguments\n" +msgid "%s: too many arguments" msgstr "" #, c-format @@ -821,10 +823,6 @@ msgstr "" msgid "%sand %u more rows" msgstr "%sand %u więcej rzędów" -#, c-format -msgid "%u\n" -msgstr "" - msgid "'break' while not inside of loop" msgstr "'break' użyte poza pętlą" @@ -887,7 +885,7 @@ msgstr "" msgid "--tokens options are mutually exclusive" msgstr "" -msgid "A second attempt to exit will terminate them.\n" +msgid "A second attempt to exit will terminate them." msgstr "" msgid "Abbreviation expansion" @@ -975,8 +973,8 @@ msgstr "" msgid "Child process status changed" msgstr "Zmieniono status procesu potomnego" -msgid "Command\n" -msgstr "Komenda\n" +msgid "Command" +msgstr "Komenda" msgid "Command history events" msgstr "" @@ -1151,8 +1149,8 @@ msgstr "Zwróć losową liczbę" msgid "Get/set resource usage limits" msgstr "" -msgid "Group\n" -msgstr "Grupa\n" +msgid "Group" +msgstr "Grupa" msgid "Halt execution and start debug prompt" msgstr "" @@ -1243,8 +1241,8 @@ msgid "Job\tGroup\t" msgstr "Zadanie\tGrupa\t" #, c-format -msgid "Job control: %s\n" -msgstr "Kontrola zadania: %s\n" +msgid "Job control: %s" +msgstr "Kontrola zadania: %s" msgid "Jobs being executed" msgstr "" @@ -1386,8 +1384,8 @@ msgstr "Zwróć katalog roboczy" msgid "Prints formatted text" msgstr "Zwraca sformatowany tekst" -msgid "Process\n" -msgstr "Proces\n" +msgid "Process" +msgstr "Proces" msgid "Process groups" msgstr "" @@ -1464,11 +1462,11 @@ msgid "Searching/using paths" msgstr "" #, c-format -msgid "Send job %d (%s) to foreground\n" +msgid "Send job %d (%s) to foreground" msgstr "" #, c-format -msgid "Send job %s '%s' to background\n" +msgid "Send job %s '%s' to background" msgstr "" msgid "Send job to background" @@ -1506,8 +1504,8 @@ msgstr "" msgid "Startup (line %d): " msgstr "" -msgid "State\tCommand\n" -msgstr "Stan\tKomenda\n" +msgid "State\tCommand" +msgstr "Stan\tKomenda" msgid "Stdin must be attached to a tty." msgstr "" @@ -1579,14 +1577,14 @@ msgstr "Funkcja '%s' wywołuje natychmiastowo siebie. Może to skutkować niesko msgid "The interactive reader/input system" msgstr "" -msgid "There are still jobs active:\n" +msgid "There are still jobs active:" msgstr "" -msgid "This is a login shell\n" -msgstr "To jest powłoka logowania\n" +msgid "This is a login shell" +msgstr "To jest powłoka logowania" -msgid "This is not a login shell\n" -msgstr "To nie jest powłoka logowania\n" +msgid "This is not a login shell" +msgstr "To nie jest powłoka logowania" msgid "Timer expired" msgstr "" @@ -1716,7 +1714,7 @@ msgstr "Niewykorzystywany sygnał" msgid "Urgent socket condition" msgstr "" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." msgstr "" msgid "User defined signal 1" @@ -1765,21 +1763,21 @@ msgid "autoloading" msgstr "" #, c-format -msgid "builtin %s: %s: %s\n" +msgid "builtin %s: %s: %s" msgstr "" #, c-format -msgid "builtin %s: Invalid arg: %s\n" +msgid "builtin %s: Invalid arg: %s" msgstr "" #, c-format -msgid "builtin %s: realpath failed: %s\n" +msgid "builtin %s: realpath failed: %s" msgstr "" -msgid "builtin history delete --exact requires --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" msgstr "" -msgid "builtin history delete only supports --exact\n" +msgid "builtin history delete only supports --exact" msgstr "" msgid "can not save history" @@ -1813,7 +1811,7 @@ msgstr "" msgid "directory" msgstr "" -msgid "error\n" +msgid "error" msgstr "" msgid "explore what characters keyboard keys send" @@ -1829,19 +1827,19 @@ msgstr "" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" #, c-format -msgid "from sourcing file %s\n" +msgid "from sourcing file %s" msgstr "" -msgid "in command substitution\n" -msgstr "w zastępstwie polecenia \n" +msgid "in command substitution" +msgstr "w zastępstwie polecenia" #, c-format -msgid "in event handler: %s\n" -msgstr "w procedurze obsługi zdarzeń: %s\n" +msgid "in event handler: %s" +msgstr "w procedurze obsługi zdarzeń: %s" #, c-format msgid "in function '%s'" @@ -1887,7 +1885,7 @@ msgid "symlink" msgstr "" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" msgstr "" msgid "unexported" @@ -1897,7 +1895,7 @@ msgstr "" msgid "unknown modifier '%s' in '%s'" msgstr "" -msgid "unlimited\n" +msgid "unlimited" msgstr "" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." diff --git a/localization/po/pt_BR.po b/localization/po/pt_BR.po index 1d7184f09..7384cc8d7 100644 --- a/localization/po/pt_BR.po +++ b/localization/po/pt_BR.po @@ -25,9 +25,7 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" +msgid " PID Command" msgstr "" #, c-format @@ -83,7 +81,7 @@ msgid "%s" msgstr "" #, c-format -msgid "%s %s: %s: invalid subcommand\n" +msgid "%s %s: %s: invalid subcommand" msgstr "" #, c-format @@ -167,11 +165,11 @@ msgid "%s, version %s\n" msgstr "%s, versão %s\n" #, c-format -msgid "%s: %s\n" +msgid "%s: %s" msgstr "" #, c-format -msgid "%s: %s %s: options cannot be used together\n" +msgid "%s: %s %s: options cannot be used together" msgstr "" #, c-format @@ -187,7 +185,7 @@ msgid "%s: %s: contains a syntax error\n" msgstr "" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" +msgid "%s: %s: expected %d arguments; got %d" msgstr "" #, c-format @@ -199,7 +197,7 @@ msgid "%s: %s: invalid function name" msgstr "" #, c-format -msgid "%s: %s: invalid integer\n" +msgid "%s: %s: invalid integer" msgstr "" #, c-format @@ -207,7 +205,7 @@ msgid "%s: %s: invalid mode\n" msgstr "" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" +msgid "%s: %s: invalid mode name. See `help %s`" msgstr "" #, c-format @@ -215,23 +213,23 @@ msgid "%s: %s: invalid scale\n" msgstr "" #, c-format -msgid "%s: %s: invalid subcommand\n" +msgid "%s: %s: invalid subcommand" msgstr "" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" +msgid "%s: %s: invalid variable name. See `help %s`" msgstr "" #, c-format -msgid "%s: %s: option does not take an argument\n" +msgid "%s: %s: option does not take an argument" msgstr "" #, c-format -msgid "%s: %s: option requires an argument\n" +msgid "%s: %s: option requires an argument" msgstr "" #, c-format -msgid "%s: %s: subcommand takes no options\n" +msgid "%s: %s: subcommand takes no options" msgstr "" #, c-format @@ -239,7 +237,7 @@ msgid "%s: %s: unexpected positional argument" msgstr "" #, c-format -msgid "%s: %s: unknown option\n" +msgid "%s: %s: unknown option" msgstr "" #, c-format @@ -255,7 +253,7 @@ msgid "%s: '%s' is not a job\n" msgstr "%s: “%s” não é uma tarefa\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" +msgid "%s: '%s' is not a valid job ID" msgstr "" #, c-format @@ -319,7 +317,7 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "%s: Não é possível colocar tarefa %d, “%s” em primeiro plano porque não está sob controle de tarefas\n" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" msgstr "" #, c-format @@ -363,8 +361,8 @@ msgid "%s: Could not find home directory\n" msgstr "%s: Não foi possível encontrar o diretório home\n" #, c-format -msgid "%s: Could not find job '%d'\n" -msgstr "%s: Não foi possível encontrar a tarefa '%d'\n" +msgid "%s: Could not find job '%d'" +msgstr "%s: Não foi possível encontrar a tarefa '%d'" #, c-format msgid "%s: Did you mean `set %s %s`?" @@ -430,6 +428,10 @@ msgstr "" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "" @@ -455,7 +457,7 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid job control mode '%s'\n" +msgid "%s: Invalid job control mode '%s'" msgstr "" #, c-format @@ -463,11 +465,11 @@ msgid "%s: Invalid length value '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid level value '%s'\n" +msgid "%s: Invalid level value '%s'" msgstr "" #, c-format -msgid "%s: Invalid limit '%s'\n" +msgid "%s: Invalid limit '%s'" msgstr "" #, c-format @@ -487,7 +489,7 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid permission '%s'\n" +msgid "%s: Invalid permission '%s'" msgstr "" #, c-format @@ -499,7 +501,7 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid sort key '%s'\n" +msgid "%s: Invalid sort key '%s'" msgstr "" #, c-format @@ -519,7 +521,7 @@ msgid "%s: Invalid token '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid type '%s'\n" +msgid "%s: Invalid type '%s'" msgstr "" #, c-format @@ -543,7 +545,7 @@ msgid "%s: Missing -- separator\n" msgstr "" #, c-format -msgid "%s: New limit cannot be an empty string\n" +msgid "%s: New limit cannot be an empty string" msgstr "" #, c-format @@ -563,7 +565,7 @@ msgid "%s: No suitable job: %d\n" msgstr "%s: Não é trabalho adequado: %d\n" #, c-format -msgid "%s: No suitable job: %s\n" +msgid "%s: No suitable job: %s" msgstr "" #, c-format @@ -591,15 +593,15 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s: Permissão negada: “%s”\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" +msgid "%s: Regular expression compile error: %s" msgstr "" #, c-format -msgid "%s: Regular expression substitute error: %s\n" +msgid "%s: Regular expression substitute error: %s" msgstr "" #, c-format -msgid "%s: Resource limit not available on this operating system\n" +msgid "%s: Resource limit not available on this operating system" msgstr "" #, c-format @@ -623,12 +625,12 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s: Não há tarefas\n" +msgid "%s: There are no jobs" +msgstr "%s: Não há tarefas" #, c-format -msgid "%s: There are no suitable jobs\n" -msgstr "%s: Não há tarefas adequadas\n" +msgid "%s: There are no suitable jobs" +msgstr "%s: Não há tarefas adequadas" #, c-format msgid "%s: Too many levels of symbolic links: '%s'\n" @@ -691,15 +693,15 @@ msgid "%s: calling job for event handler not found" msgstr "" #, c-format -msgid "%s: can't merge history in private mode\n" +msgid "%s: can't merge history in private mode" msgstr "" #, c-format -msgid "%s: cannot both export and unexport\n" +msgid "%s: cannot both export and unexport" msgstr "" #, c-format -msgid "%s: cannot both path and unpath\n" +msgid "%s: cannot both path and unpath" msgstr "" #, c-format @@ -715,15 +717,15 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "" #, c-format -msgid "%s: expected %d arguments; got %d\n" +msgid "%s: expected %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" +msgid "%s: expected <= %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" +msgid "%s: expected >= %d arguments; got %d" msgstr "" #, c-format @@ -743,11 +745,11 @@ msgid "%s: invalid conversion specification" msgstr "%s: especificação de conversão inválida" #, c-format -msgid "%s: invalid option combination\n" +msgid "%s: invalid option combination" msgstr "" #, c-format -msgid "%s: invalid option combination, %s\n" +msgid "%s: invalid option combination, %s" msgstr "" #, c-format @@ -755,7 +757,7 @@ msgid "%s: invalid underline style: %s\n" msgstr "" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." msgstr "" #, c-format @@ -763,7 +765,7 @@ msgid "%s: line/column index starts at 1" msgstr "" #, c-format -msgid "%s: missing argument\n" +msgid "%s: missing argument" msgstr "" #, c-format @@ -771,7 +773,7 @@ msgid "%s: missing filename argument or input redirection\n" msgstr "" #, c-format -msgid "%s: missing subcommand\n" +msgid "%s: missing subcommand" msgstr "" #, c-format @@ -783,7 +785,7 @@ msgid "%s: realpath failed: %s\n" msgstr "" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" +msgid "%s: scope can be only one of: universal function global local" msgstr "" #, c-format @@ -807,7 +809,7 @@ msgid "%s: there is no line %s\n" msgstr "" #, c-format -msgid "%s: too many arguments\n" +msgid "%s: too many arguments" msgstr "" #, c-format @@ -826,10 +828,6 @@ msgstr "" msgid "%sand %u more rows" msgstr "%se mais %u linhas" -#, c-format -msgid "%u\n" -msgstr "" - msgid "'break' while not inside of loop" msgstr "'break' enquanto fora de um laço" @@ -892,7 +890,7 @@ msgstr "" msgid "--tokens options are mutually exclusive" msgstr "" -msgid "A second attempt to exit will terminate them.\n" +msgid "A second attempt to exit will terminate them." msgstr "" msgid "Abbreviation expansion" @@ -980,8 +978,8 @@ msgstr "Verifica se uma coisa é uma coisa" msgid "Child process status changed" msgstr "Mudança de estado de processo filho" -msgid "Command\n" -msgstr "Comando\n" +msgid "Command" +msgstr "Comando" msgid "Command history events" msgstr "" @@ -1156,8 +1154,8 @@ msgstr "Gera um número aleatório" msgid "Get/set resource usage limits" msgstr "" -msgid "Group\n" -msgstr "Grupo\n" +msgid "Group" +msgstr "Grupo" msgid "Halt execution and start debug prompt" msgstr "" @@ -1248,8 +1246,8 @@ msgid "Job\tGroup\t" msgstr "Tarefa\tGrupo\t" #, c-format -msgid "Job control: %s\n" -msgstr "Controle de tarefa: %s\n" +msgid "Job control: %s" +msgstr "Controle de tarefa: %s" msgid "Jobs being executed" msgstr "" @@ -1391,8 +1389,8 @@ msgstr "Imprime o diretório de trabalho" msgid "Prints formatted text" msgstr "Imprime texto formatado" -msgid "Process\n" -msgstr "Processo\n" +msgid "Process" +msgstr "Processo" msgid "Process groups" msgstr "" @@ -1469,11 +1467,11 @@ msgid "Searching/using paths" msgstr "" #, c-format -msgid "Send job %d (%s) to foreground\n" +msgid "Send job %d (%s) to foreground" msgstr "" #, c-format -msgid "Send job %s '%s' to background\n" +msgid "Send job %s '%s' to background" msgstr "" msgid "Send job to background" @@ -1511,8 +1509,8 @@ msgstr "" msgid "Startup (line %d): " msgstr "" -msgid "State\tCommand\n" -msgstr "Estado\tComando\n" +msgid "State\tCommand" +msgstr "Estado\tComando" msgid "Stdin must be attached to a tty." msgstr "" @@ -1584,14 +1582,14 @@ msgstr "A função “%s” se chama imediatamente, o que causaria um loop infin msgid "The interactive reader/input system" msgstr "" -msgid "There are still jobs active:\n" +msgid "There are still jobs active:" msgstr "" -msgid "This is a login shell\n" -msgstr "Este é um shell de login\n" +msgid "This is a login shell" +msgstr "Este é um shell de login" -msgid "This is not a login shell\n" -msgstr "Este não é um shell de login\n" +msgid "This is not a login shell" +msgstr "Este não é um shell de login" msgid "Timer expired" msgstr "Temporizador expirado" @@ -1721,7 +1719,7 @@ msgstr "Sinal não utilizado" msgid "Urgent socket condition" msgstr "Condição urgente de socket" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." msgstr "" msgid "User defined signal 1" @@ -1770,21 +1768,21 @@ msgid "autoloading" msgstr "" #, c-format -msgid "builtin %s: %s: %s\n" +msgid "builtin %s: %s: %s" msgstr "" #, c-format -msgid "builtin %s: Invalid arg: %s\n" +msgid "builtin %s: Invalid arg: %s" msgstr "" #, c-format -msgid "builtin %s: realpath failed: %s\n" +msgid "builtin %s: realpath failed: %s" msgstr "" -msgid "builtin history delete --exact requires --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" msgstr "" -msgid "builtin history delete only supports --exact\n" +msgid "builtin history delete only supports --exact" msgstr "" msgid "can not save history" @@ -1818,7 +1816,7 @@ msgstr "" msgid "directory" msgstr "" -msgid "error\n" +msgid "error" msgstr "" msgid "explore what characters keyboard keys send" @@ -1834,18 +1832,18 @@ msgstr "arquivo" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" #, c-format -msgid "from sourcing file %s\n" -msgstr "do arquivo %s\n" +msgid "from sourcing file %s" +msgstr "do arquivo %s" -msgid "in command substitution\n" -msgstr "na substituição de comando\n" +msgid "in command substitution" +msgstr "na substituição de comando" #, c-format -msgid "in event handler: %s\n" +msgid "in event handler: %s" msgstr "" #, c-format @@ -1892,7 +1890,7 @@ msgid "symlink" msgstr "" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" msgstr "" msgid "unexported" @@ -1902,7 +1900,7 @@ msgstr "" msgid "unknown modifier '%s' in '%s'" msgstr "" -msgid "unlimited\n" +msgid "unlimited" msgstr "" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." diff --git a/localization/po/sv.po b/localization/po/sv.po index b30a87335..80c6335b2 100644 --- a/localization/po/sv.po +++ b/localization/po/sv.po @@ -21,9 +21,7 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" +msgid " PID Command" msgstr "" #, c-format @@ -79,7 +77,7 @@ msgid "%s" msgstr "" #, c-format -msgid "%s %s: %s: invalid subcommand\n" +msgid "%s %s: %s: invalid subcommand" msgstr "" #, c-format @@ -163,11 +161,11 @@ msgid "%s, version %s\n" msgstr "%s, version %s\n" #, c-format -msgid "%s: %s\n" +msgid "%s: %s" msgstr "" #, c-format -msgid "%s: %s %s: options cannot be used together\n" +msgid "%s: %s %s: options cannot be used together" msgstr "" #, c-format @@ -183,7 +181,7 @@ msgid "%s: %s: contains a syntax error\n" msgstr "" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" +msgid "%s: %s: expected %d arguments; got %d" msgstr "" #, c-format @@ -195,7 +193,7 @@ msgid "%s: %s: invalid function name" msgstr "" #, c-format -msgid "%s: %s: invalid integer\n" +msgid "%s: %s: invalid integer" msgstr "" #, c-format @@ -203,7 +201,7 @@ msgid "%s: %s: invalid mode\n" msgstr "" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" +msgid "%s: %s: invalid mode name. See `help %s`" msgstr "" #, c-format @@ -211,23 +209,23 @@ msgid "%s: %s: invalid scale\n" msgstr "" #, c-format -msgid "%s: %s: invalid subcommand\n" +msgid "%s: %s: invalid subcommand" msgstr "" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" +msgid "%s: %s: invalid variable name. See `help %s`" msgstr "" #, c-format -msgid "%s: %s: option does not take an argument\n" +msgid "%s: %s: option does not take an argument" msgstr "" #, c-format -msgid "%s: %s: option requires an argument\n" +msgid "%s: %s: option requires an argument" msgstr "" #, c-format -msgid "%s: %s: subcommand takes no options\n" +msgid "%s: %s: subcommand takes no options" msgstr "" #, c-format @@ -235,7 +233,7 @@ msgid "%s: %s: unexpected positional argument" msgstr "" #, c-format -msgid "%s: %s: unknown option\n" +msgid "%s: %s: unknown option" msgstr "" #, c-format @@ -251,7 +249,7 @@ msgid "%s: '%s' is not a job\n" msgstr "%s: '%s' är inte ett jobb\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" +msgid "%s: '%s' is not a valid job ID" msgstr "" #, c-format @@ -315,7 +313,7 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "%s: Kan inte skicka jobb %d, '%s' till förgrunden eftersom det inte använder jobbkontroll\n" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" msgstr "" #, c-format @@ -359,7 +357,7 @@ msgid "%s: Could not find home directory\n" msgstr "%s: Kunde inte hitta hemkatalogen\n" #, c-format -msgid "%s: Could not find job '%d'\n" +msgid "%s: Could not find job '%d'" msgstr "" #, c-format @@ -426,6 +424,10 @@ msgstr "" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "" @@ -451,7 +453,7 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "%s: Ogiltigt index vid '%s'\n" #, c-format -msgid "%s: Invalid job control mode '%s'\n" +msgid "%s: Invalid job control mode '%s'" msgstr "" #, c-format @@ -459,11 +461,11 @@ msgid "%s: Invalid length value '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid level value '%s'\n" +msgid "%s: Invalid level value '%s'" msgstr "" #, c-format -msgid "%s: Invalid limit '%s'\n" +msgid "%s: Invalid limit '%s'" msgstr "" #, c-format @@ -483,7 +485,7 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid permission '%s'\n" +msgid "%s: Invalid permission '%s'" msgstr "" #, c-format @@ -495,7 +497,7 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid sort key '%s'\n" +msgid "%s: Invalid sort key '%s'" msgstr "" #, c-format @@ -515,7 +517,7 @@ msgid "%s: Invalid token '%s'\n" msgstr "" #, c-format -msgid "%s: Invalid type '%s'\n" +msgid "%s: Invalid type '%s'" msgstr "" #, c-format @@ -539,7 +541,7 @@ msgid "%s: Missing -- separator\n" msgstr "" #, c-format -msgid "%s: New limit cannot be an empty string\n" +msgid "%s: New limit cannot be an empty string" msgstr "" #, c-format @@ -559,7 +561,7 @@ msgid "%s: No suitable job: %d\n" msgstr "%s: Inget passande jobb: %d\n" #, c-format -msgid "%s: No suitable job: %s\n" +msgid "%s: No suitable job: %s" msgstr "" #, c-format @@ -587,15 +589,15 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s: Åtkomst nekad till katalogen '%s'\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" +msgid "%s: Regular expression compile error: %s" msgstr "" #, c-format -msgid "%s: Regular expression substitute error: %s\n" +msgid "%s: Regular expression substitute error: %s" msgstr "" #, c-format -msgid "%s: Resource limit not available on this operating system\n" +msgid "%s: Resource limit not available on this operating system" msgstr "" #, c-format @@ -619,12 +621,12 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s: Det finns inga jobb\n" +msgid "%s: There are no jobs" +msgstr "%s: Det finns inga jobb" #, c-format -msgid "%s: There are no suitable jobs\n" -msgstr "%s: Det finns inga lämpliga jobb\n" +msgid "%s: There are no suitable jobs" +msgstr "%s: Det finns inga lämpliga jobb" #, c-format msgid "%s: Too many levels of symbolic links: '%s'\n" @@ -687,15 +689,15 @@ msgid "%s: calling job for event handler not found" msgstr "" #, c-format -msgid "%s: can't merge history in private mode\n" +msgid "%s: can't merge history in private mode" msgstr "" #, c-format -msgid "%s: cannot both export and unexport\n" +msgid "%s: cannot both export and unexport" msgstr "" #, c-format -msgid "%s: cannot both path and unpath\n" +msgid "%s: cannot both path and unpath" msgstr "" #, c-format @@ -711,15 +713,15 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "" #, c-format -msgid "%s: expected %d arguments; got %d\n" +msgid "%s: expected %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" +msgid "%s: expected <= %d arguments; got %d" msgstr "" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" +msgid "%s: expected >= %d arguments; got %d" msgstr "" #, c-format @@ -739,11 +741,11 @@ msgid "%s: invalid conversion specification" msgstr "" #, c-format -msgid "%s: invalid option combination\n" +msgid "%s: invalid option combination" msgstr "" #, c-format -msgid "%s: invalid option combination, %s\n" +msgid "%s: invalid option combination, %s" msgstr "" #, c-format @@ -751,7 +753,7 @@ msgid "%s: invalid underline style: %s\n" msgstr "" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." msgstr "" #, c-format @@ -759,7 +761,7 @@ msgid "%s: line/column index starts at 1" msgstr "" #, c-format -msgid "%s: missing argument\n" +msgid "%s: missing argument" msgstr "" #, c-format @@ -767,7 +769,7 @@ msgid "%s: missing filename argument or input redirection\n" msgstr "" #, c-format -msgid "%s: missing subcommand\n" +msgid "%s: missing subcommand" msgstr "" #, c-format @@ -779,7 +781,7 @@ msgid "%s: realpath failed: %s\n" msgstr "" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" +msgid "%s: scope can be only one of: universal function global local" msgstr "" #, c-format @@ -803,7 +805,7 @@ msgid "%s: there is no line %s\n" msgstr "" #, c-format -msgid "%s: too many arguments\n" +msgid "%s: too many arguments" msgstr "" #, c-format @@ -822,10 +824,6 @@ msgstr "" msgid "%sand %u more rows" msgstr "%soch %u rader till" -#, c-format -msgid "%u\n" -msgstr "" - msgid "'break' while not inside of loop" msgstr "" @@ -888,7 +886,7 @@ msgstr "" msgid "--tokens options are mutually exclusive" msgstr "" -msgid "A second attempt to exit will terminate them.\n" +msgid "A second attempt to exit will terminate them." msgstr "" msgid "Abbreviation expansion" @@ -976,8 +974,8 @@ msgstr "" msgid "Child process status changed" msgstr "Barnprocess fick ändrad status" -msgid "Command\n" -msgstr "Kommando\n" +msgid "Command" +msgstr "Kommando" msgid "Command history events" msgstr "" @@ -1152,8 +1150,8 @@ msgstr "Generera ett slumptal" msgid "Get/set resource usage limits" msgstr "" -msgid "Group\n" -msgstr "Grupp\n" +msgid "Group" +msgstr "Grupp" msgid "Halt execution and start debug prompt" msgstr "" @@ -1244,8 +1242,8 @@ msgid "Job\tGroup\t" msgstr "Jobb\tGrupp\t" #, c-format -msgid "Job control: %s\n" -msgstr "Jobkontroll: %s\n" +msgid "Job control: %s" +msgstr "Jobkontroll: %s" msgid "Jobs being executed" msgstr "" @@ -1387,7 +1385,7 @@ msgstr "" msgid "Prints formatted text" msgstr "" -msgid "Process\n" +msgid "Process" msgstr "" msgid "Process groups" @@ -1465,11 +1463,11 @@ msgid "Searching/using paths" msgstr "" #, c-format -msgid "Send job %d (%s) to foreground\n" +msgid "Send job %d (%s) to foreground" msgstr "" #, c-format -msgid "Send job %s '%s' to background\n" +msgid "Send job %s '%s' to background" msgstr "" msgid "Send job to background" @@ -1507,8 +1505,8 @@ msgstr "" msgid "Startup (line %d): " msgstr "" -msgid "State\tCommand\n" -msgstr "Status\tKommando\n" +msgid "State\tCommand" +msgstr "Status\tKommando" msgid "Stdin must be attached to a tty." msgstr "" @@ -1580,14 +1578,14 @@ msgstr "" msgid "The interactive reader/input system" msgstr "" -msgid "There are still jobs active:\n" +msgid "There are still jobs active:" msgstr "" -msgid "This is a login shell\n" -msgstr "Detta är ett login-skal\n" +msgid "This is a login shell" +msgstr "Detta är ett login-skal" -msgid "This is not a login shell\n" -msgstr "Detta är inte ett login-skal\n" +msgid "This is not a login shell" +msgstr "Detta är inte ett login-skal" msgid "Timer expired" msgstr "Timer utlöstes" @@ -1717,7 +1715,7 @@ msgstr "Oanvänd signal" msgid "Urgent socket condition" msgstr "Viktig socket-situation" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." msgstr "" msgid "User defined signal 1" @@ -1766,21 +1764,21 @@ msgid "autoloading" msgstr "" #, c-format -msgid "builtin %s: %s: %s\n" +msgid "builtin %s: %s: %s" msgstr "" #, c-format -msgid "builtin %s: Invalid arg: %s\n" +msgid "builtin %s: Invalid arg: %s" msgstr "" #, c-format -msgid "builtin %s: realpath failed: %s\n" +msgid "builtin %s: realpath failed: %s" msgstr "" -msgid "builtin history delete --exact requires --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" msgstr "" -msgid "builtin history delete only supports --exact\n" +msgid "builtin history delete only supports --exact" msgstr "" msgid "can not save history" @@ -1814,7 +1812,7 @@ msgstr "" msgid "directory" msgstr "" -msgid "error\n" +msgid "error" msgstr "" msgid "explore what characters keyboard keys send" @@ -1830,19 +1828,19 @@ msgstr "" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" #, c-format -msgid "from sourcing file %s\n" +msgid "from sourcing file %s" msgstr "" -msgid "in command substitution\n" -msgstr "i kommandosubstitution\n" +msgid "in command substitution" +msgstr "i kommandosubstitution" #, c-format -msgid "in event handler: %s\n" -msgstr "i händelsehanterare: %s\n" +msgid "in event handler: %s" +msgstr "i händelsehanterare: %s" #, c-format msgid "in function '%s'" @@ -1888,7 +1886,7 @@ msgid "symlink" msgstr "" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" msgstr "" msgid "unexported" @@ -1898,7 +1896,7 @@ msgstr "" msgid "unknown modifier '%s' in '%s'" msgstr "" -msgid "unlimited\n" +msgid "unlimited" msgstr "" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." diff --git a/localization/po/zh_CN.po b/localization/po/zh_CN.po index ebc5f398b..765e7cd16 100644 --- a/localization/po/zh_CN.po +++ b/localization/po/zh_CN.po @@ -45,12 +45,8 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" -msgstr "" -"\n" -" PID 命令\n" +msgid " PID Command" +msgstr " PID 命令" #, c-format msgid " (%s)\n" @@ -105,8 +101,8 @@ msgid "%s" msgstr "%s" #, c-format -msgid "%s %s: %s: invalid subcommand\n" -msgstr "%s %s: %s: 无效的子命令\n" +msgid "%s %s: %s: invalid subcommand" +msgstr "%s %s: %s: 无效的子命令" #, c-format msgid "%s %s: Abbreviation %s already exists for commands %s, cannot rename %s\n" @@ -189,12 +185,12 @@ msgid "%s, version %s\n" msgstr "%s,版本 %s\n" #, c-format -msgid "%s: %s\n" -msgstr "%s: %s\n" +msgid "%s: %s" +msgstr "%s: %s" #, c-format -msgid "%s: %s %s: options cannot be used together\n" -msgstr "%s: %s %s: 选项无法一起使用\n" +msgid "%s: %s %s: options cannot be used together" +msgstr "%s: %s %s: 选项无法一起使用" #, c-format msgid "%s: %s: cannot overwrite read-only variable" @@ -209,8 +205,8 @@ msgid "%s: %s: contains a syntax error\n" msgstr "%s: %s: 包含语法错误\n" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" -msgstr "%s: %s: 预期收到 %d 个参数;实际收到 %d 个\n" +msgid "%s: %s: expected %d arguments; got %d" +msgstr "%s: %s: 预期收到 %d 个参数;实际收到 %d 个" #, c-format msgid "%s: %s: invalid base value\n" @@ -221,48 +217,48 @@ msgid "%s: %s: invalid function name" msgstr "%s: %s: 无效的函数名" #, c-format -msgid "%s: %s: invalid integer\n" -msgstr "%s: %s: 无效整数\n" +msgid "%s: %s: invalid integer" +msgstr "%s: %s: 无效整数" #, c-format msgid "%s: %s: invalid mode\n" msgstr "%s: %s: 无效舍入模式\n" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" -msgstr "%s: %s: 无效模式名。参见 `help %s`\n" +msgid "%s: %s: invalid mode name. See `help %s`" +msgstr "%s: %s: 无效模式名。参见 `help %s`" #, c-format msgid "%s: %s: invalid scale\n" msgstr "%s: %s: 无效位数\n" #, c-format -msgid "%s: %s: invalid subcommand\n" -msgstr "%s: %s: 无效的子命令\n" +msgid "%s: %s: invalid subcommand" +msgstr "%s: %s: 无效的子命令" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" -msgstr "%s: %s: 无效的变量名。参见 `help %s`\n" +msgid "%s: %s: invalid variable name. See `help %s`" +msgstr "%s: %s: 无效的变量名。参见 `help %s`" #, c-format -msgid "%s: %s: option does not take an argument\n" -msgstr "%s: %s: 选项不接受参数\n" +msgid "%s: %s: option does not take an argument" +msgstr "%s: %s: 选项不接受参数" #, c-format -msgid "%s: %s: option requires an argument\n" -msgstr "%s: %s: 选项需要参数\n" +msgid "%s: %s: option requires an argument" +msgstr "%s: %s: 选项需要参数" #, c-format -msgid "%s: %s: subcommand takes no options\n" -msgstr "%s: %s: 子命令不接受选项\n" +msgid "%s: %s: subcommand takes no options" +msgstr "%s: %s: 子命令不接受选项" #, c-format msgid "%s: %s: unexpected positional argument" msgstr "%s: %s: 意外的位置参数" #, c-format -msgid "%s: %s: unknown option\n" -msgstr "%s: %s: 未知选项\n" +msgid "%s: %s: unknown option" +msgstr "%s: %s: 未知选项" #, c-format msgid "%s: '%s' is a broken symbolic link to '%s'\n" @@ -277,8 +273,8 @@ msgid "%s: '%s' is not a job\n" msgstr "%s: '%s' 不是一个作业\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" -msgstr "%s: '%s' 不是一个有效的作业 ID\n" +msgid "%s: '%s' is not a valid job ID" +msgstr "%s: '%s' 不是一个有效的作业 ID" #, c-format msgid "%s: '%s' is not a valid process ID\n" @@ -341,8 +337,8 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "%s: 不能将作业 %d,'%s' 带到前台,因为它不受作业控制管理\n" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" -msgstr "%s: 无法将作业 %s,'%s' 放到后台,因为它不受作业控制管理\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" +msgstr "%s: 无法将作业 %s,'%s' 放到后台,因为它不受作业控制管理" #, c-format msgid "%s: Cannot combine options %s\n" @@ -385,8 +381,8 @@ msgid "%s: Could not find home directory\n" msgstr "%s: 找不到主目录\n" #, c-format -msgid "%s: Could not find job '%d'\n" -msgstr "%s: 找不到作业 '%d'\n" +msgid "%s: Could not find job '%d'" +msgstr "%s: 找不到作业 '%d'" #, c-format msgid "%s: Did you mean `set %s %s`?" @@ -452,6 +448,10 @@ msgstr "%s: 无效的 --min-args 值 '%s'\n" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "%s: 无效的 --unknown-arguments 值 '%s'\n" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "%s: 无效的计数值 '%s'" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "%s: 无效的计数值 '%s'\n" @@ -477,20 +477,20 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "%s: 无效的起始索引值 '%s'\n" #, c-format -msgid "%s: Invalid job control mode '%s'\n" -msgstr "%s: 无效的作业控制模式 '%s'\n" +msgid "%s: Invalid job control mode '%s'" +msgstr "%s: 无效的作业控制模式 '%s'" #, c-format msgid "%s: Invalid length value '%s'\n" msgstr "%s: 无效的长度值 '%s'\n" #, c-format -msgid "%s: Invalid level value '%s'\n" -msgstr "%s: 无效的级别值 '%s'\n" +msgid "%s: Invalid level value '%s'" +msgstr "%s: 无效的级别值 '%s'" #, c-format -msgid "%s: Invalid limit '%s'\n" -msgstr "%s: 无效的限制 '%s'\n" +msgid "%s: Invalid limit '%s'" +msgstr "%s: 无效的限制 '%s'" #, c-format msgid "%s: Invalid max matches value '%s'\n" @@ -509,8 +509,8 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "%s: 宽度为零的无效的填充字符 '%s'\n" #, c-format -msgid "%s: Invalid permission '%s'\n" -msgstr "%s: 无效的权限 '%s'\n" +msgid "%s: Invalid permission '%s'" +msgstr "%s: 无效的权限 '%s'" #, c-format msgid "%s: Invalid position '%s'\n" @@ -521,8 +521,8 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "%s: 字段 '%s' 的范围值无效\n" #, c-format -msgid "%s: Invalid sort key '%s'\n" -msgstr "%s: 无效的排序键 '%s'\n" +msgid "%s: Invalid sort key '%s'" +msgstr "%s: 无效的排序键 '%s'" #, c-format msgid "%s: Invalid start value '%s'\n" @@ -541,8 +541,8 @@ msgid "%s: Invalid token '%s'\n" msgstr "%s: 无效记号 '%s'\n" #, c-format -msgid "%s: Invalid type '%s'\n" -msgstr "%s: 无效类型 '%s'\n" +msgid "%s: Invalid type '%s'" +msgstr "%s: 无效类型 '%s'" #, c-format msgid "%s: Invalid value for '--color' option: '%s'. Expected 'always', 'never', or 'auto'\n" @@ -565,8 +565,8 @@ msgid "%s: Missing -- separator\n" msgstr "%s: 缺少 -- 分隔符\n" #, c-format -msgid "%s: New limit cannot be an empty string\n" -msgstr "%s: 新限制不能为空字符串\n" +msgid "%s: New limit cannot be an empty string" +msgstr "%s: 新限制不能为空字符串" #, c-format msgid "%s: No binding found for key '%s'\n" @@ -585,8 +585,8 @@ msgid "%s: No suitable job: %d\n" msgstr "%s: 没有合适的作业:%d\n" #, c-format -msgid "%s: No suitable job: %s\n" -msgstr "%s: 没有合适的作业:%s\n" +msgid "%s: No suitable job: %s" +msgstr "%s: 没有合适的作业:%s" #, c-format msgid "%s: Not inside of loop\n" @@ -613,16 +613,16 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s: 拒绝访问: '%s'\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" -msgstr "%s: 正则表达式编译错误:%s\n" +msgid "%s: Regular expression compile error: %s" +msgstr "%s: 正则表达式编译错误:%s" #, c-format -msgid "%s: Regular expression substitute error: %s\n" -msgstr "%s: 正则表达式替换错误:%s\n" +msgid "%s: Regular expression substitute error: %s" +msgstr "%s: 正则表达式替换错误:%s" #, c-format -msgid "%s: Resource limit not available on this operating system\n" -msgstr "%s: 该操作系统不支持资源限制\n" +msgid "%s: Resource limit not available on this operating system" +msgstr "%s: 该操作系统不支持资源限制" #, c-format msgid "%s: STEP must be a positive integer\n" @@ -645,12 +645,12 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "%s: 变量 '%s' 不存在\n" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s: 没有作业\n" +msgid "%s: There are no jobs" +msgstr "%s: 没有作业" #, c-format -msgid "%s: There are no suitable jobs\n" -msgstr "%s: 没有匹配的作业\n" +msgid "%s: There are no suitable jobs" +msgstr "%s: 没有匹配的作业" #, c-format msgid "%s: Too many levels of symbolic links: '%s'\n" @@ -713,16 +713,16 @@ msgid "%s: calling job for event handler not found" msgstr "%s: 未找到事件处理程序的调用作业" #, c-format -msgid "%s: can't merge history in private mode\n" -msgstr "%s: 无法在私密模式中合并历史\n" +msgid "%s: can't merge history in private mode" +msgstr "%s: 无法在私密模式中合并历史" #, c-format -msgid "%s: cannot both export and unexport\n" -msgstr "%s: 无法同时导出和取消导出\n" +msgid "%s: cannot both export and unexport" +msgstr "%s: 无法同时导出和取消导出" #, c-format -msgid "%s: cannot both path and unpath\n" -msgstr "%s: 无法同时是路径变量和非路径变量\n" +msgid "%s: cannot both path and unpath" +msgstr "%s: 无法同时是路径变量和非路径变量" #, c-format msgid "%s: column %s exceeds line length\n" @@ -737,16 +737,16 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "%s: 排他标识字符串 '%s' 无效\n" #, c-format -msgid "%s: expected %d arguments; got %d\n" -msgstr "%s: 预期收到 %d 个参数;实际收到 %d 个\n" +msgid "%s: expected %d arguments; got %d" +msgstr "%s: 预期收到 %d 个参数;实际收到 %d 个" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" -msgstr "%s: 预期收到 <= %d 个参数;实际收到 %d 个\n" +msgid "%s: expected <= %d arguments; got %d" +msgstr "%s: 预期收到 <= %d 个参数;实际收到 %d 个" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" -msgstr "%s: 预期收到 >= %d 个参数;实际收到 %d 个\n" +msgid "%s: expected >= %d arguments; got %d" +msgstr "%s: 预期收到 >= %d 个参数;实际收到 %d 个" #, c-format msgid "%s: expected a numeric value" @@ -765,36 +765,36 @@ msgid "%s: invalid conversion specification" msgstr "%s: 无效的转换规范" #, c-format -msgid "%s: invalid option combination\n" -msgstr "%s: 无效的选项组合\n" +msgid "%s: invalid option combination" +msgstr "%s: 无效的选项组合" #, c-format -msgid "%s: invalid option combination, %s\n" -msgstr "%s: 无效的选项组合,%s\n" +msgid "%s: invalid option combination, %s" +msgstr "%s: 无效的选项组合,%s" #, c-format msgid "%s: invalid underline style: %s\n" msgstr "%s: 无效的下划线样式:%s\n" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" -msgstr "%s: 作业 %d ('%s') 已停止并收到继续信号。\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." +msgstr "%s: 作业 %d ('%s') 已停止并收到继续信号。" #, c-format msgid "%s: line/column index starts at 1" msgstr "%s: 行/列索引从1开始" #, c-format -msgid "%s: missing argument\n" -msgstr "%s: 缺少参数\n" +msgid "%s: missing argument" +msgstr "%s: 缺少参数" #, c-format msgid "%s: missing filename argument or input redirection\n" msgstr "%s: 缺少文件名参数或输入重定向\n" #, c-format -msgid "%s: missing subcommand\n" -msgstr "%s: 缺少子命令\n" +msgid "%s: missing subcommand" +msgstr "%s: 缺少子命令" #, c-format msgid "%s: nothing to choose from\n" @@ -805,8 +805,8 @@ msgid "%s: realpath failed: %s\n" msgstr "%s: realpath 失败:%s\n" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" -msgstr "%s: 范围只能是:universal(通用)function(函数)global(全局)local(局域)\n" +msgid "%s: scope can be only one of: universal function global local" +msgstr "%s: 范围只能是:universal(通用)function(函数)global(全局)local(局域)" #, c-format msgid "%s: setting cursor while evaluating 'complete --arguments' is not yet supported" @@ -829,8 +829,8 @@ msgid "%s: there is no line %s\n" msgstr "%s: 不存在行 %s\n" #, c-format -msgid "%s: too many arguments\n" -msgstr "%s: 参数太多\n" +msgid "%s: too many arguments" +msgstr "%s: 参数太多" #, c-format msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead.\n" @@ -848,10 +848,6 @@ msgstr "%s: 变量 '%s' 只读\n" msgid "%sand %u more rows" msgstr "%s还有 %u 行" -#, c-format -msgid "%u\n" -msgstr "%u\n" - msgid "'break' while not inside of loop" msgstr "'break' 不在循环内" @@ -914,8 +910,8 @@ msgstr "--query 和 --names 互斥" msgid "--tokens options are mutually exclusive" msgstr "--tokens 各选项互斥" -msgid "A second attempt to exit will terminate them.\n" -msgstr "第二次尝试退出将终止它们。\n" +msgid "A second attempt to exit will terminate them." +msgstr "第二次尝试退出将终止它们。" msgid "Abbreviation expansion" msgstr "缩写展开" @@ -1002,8 +998,8 @@ msgstr "检查某物是否是其自身" msgid "Child process status changed" msgstr "子进程状况已改变" -msgid "Command\n" -msgstr "命令\n" +msgid "Command" +msgstr "命令" msgid "Command history events" msgstr "命令历史事件" @@ -1181,8 +1177,8 @@ msgstr "生成随机数" msgid "Get/set resource usage limits" msgstr "获取/设定资源使用限制" -msgid "Group\n" -msgstr "组\n" +msgid "Group" +msgstr "组" msgid "Halt execution and start debug prompt" msgstr "停止执行并启动调试提示符" @@ -1273,8 +1269,8 @@ msgid "Job\tGroup\t" msgstr "作业\t组\t" #, c-format -msgid "Job control: %s\n" -msgstr "作业控制:%s\n" +msgid "Job control: %s" +msgstr "作业控制:%s" msgid "Jobs being executed" msgstr "正在执行的作业" @@ -1416,8 +1412,8 @@ msgstr "打印工作目录" msgid "Prints formatted text" msgstr "打印格式化文本" -msgid "Process\n" -msgstr "进程\n" +msgid "Process" +msgstr "进程" msgid "Process groups" msgstr "进程组" @@ -1494,12 +1490,12 @@ msgid "Searching/using paths" msgstr "搜索/使用路径" #, c-format -msgid "Send job %d (%s) to foreground\n" -msgstr "将作业 %d (%s) 发送到前台\n" +msgid "Send job %d (%s) to foreground" +msgstr "将作业 %d (%s) 发送到前台" #, c-format -msgid "Send job %s '%s' to background\n" -msgstr "将作业 %s '%s' 发送到后台\n" +msgid "Send job %s '%s' to background" +msgstr "将作业 %s '%s' 发送到后台" msgid "Send job to background" msgstr "将作业发送到后台" @@ -1536,8 +1532,8 @@ msgstr "标准输入 (行 %d):" msgid "Startup (line %d): " msgstr "启动 (行 %d):" -msgid "State\tCommand\n" -msgstr "状态\t命令\n" +msgid "State\tCommand" +msgstr "状态\t命令" msgid "Stdin must be attached to a tty." msgstr "Stdin 必须连接到 TTY。" @@ -1609,14 +1605,14 @@ msgstr "函数 '%s' 立即调用自身,会导致无限循环。" msgid "The interactive reader/input system" msgstr "交互式阅读器/输入系统" -msgid "There are still jobs active:\n" -msgstr "仍然活动的作业:\n" +msgid "There are still jobs active:" +msgstr "仍然活动的作业:" -msgid "This is a login shell\n" -msgstr "这是登录 shell\n" +msgid "This is a login shell" +msgstr "这是登录 shell" -msgid "This is not a login shell\n" -msgstr "这不是登录 shell\n" +msgid "This is not a login shell" +msgstr "这不是登录 shell" msgid "Timer expired" msgstr "计时器到期" @@ -1746,8 +1742,8 @@ msgstr "未使用的信号" msgid "Urgent socket condition" msgstr "紧急套接字情况" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" -msgstr "使用 'disown PID' 从列表中删除作业而不终止它们。\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." +msgstr "使用 'disown PID' 从列表中删除作业而不终止它们。" msgid "User defined signal 1" msgstr "用户定义的信号1" @@ -1795,22 +1791,22 @@ msgid "autoloading" msgstr "自动加载" #, c-format -msgid "builtin %s: %s: %s\n" -msgstr "内建 %s: %s: %s\n" +msgid "builtin %s: %s: %s" +msgstr "内建 %s: %s: %s" #, c-format -msgid "builtin %s: Invalid arg: %s\n" -msgstr "内建 %s: 无效的参数:%s\n" +msgid "builtin %s: Invalid arg: %s" +msgstr "内建 %s: 无效的参数:%s" #, c-format -msgid "builtin %s: realpath failed: %s\n" -msgstr "内建 %s: realpath 失败:%s\n" +msgid "builtin %s: realpath failed: %s" +msgstr "内建 %s: realpath 失败:%s" -msgid "builtin history delete --exact requires --case-sensitive\n" -msgstr "内建历史删除 --exact 需要 --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" +msgstr "内建历史删除 --exact 需要 --case-sensitive" -msgid "builtin history delete only supports --exact\n" -msgstr "内建历史删除只支持 --exact\n" +msgid "builtin history delete only supports --exact" +msgstr "内建历史删除只支持 --exact" msgid "can not save history" msgstr "无法保存历史" @@ -1843,8 +1839,8 @@ msgstr "目录符号链接" msgid "directory" msgstr "目录" -msgid "error\n" -msgstr "错误\n" +msgid "error" +msgstr "错误" msgid "explore what characters keyboard keys send" msgstr "探索键盘按键发送的字符" @@ -1859,22 +1855,22 @@ msgstr "文件" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" "fish: %s: 缺少 man page\n" "文档可能未安装。\n" -"`help %s` 将显示在线版本\n" +"`help %s` 将显示在线版本" #, c-format -msgid "from sourcing file %s\n" -msgstr "从源文件 %s\n" +msgid "from sourcing file %s" +msgstr "从源文件 %s" -msgid "in command substitution\n" -msgstr "在命令替换中\n" +msgid "in command substitution" +msgstr "在命令替换中" #, c-format -msgid "in event handler: %s\n" -msgstr "在事件处理程序:%s\n" +msgid "in event handler: %s" +msgstr "在事件处理程序:%s" #, c-format msgid "in function '%s'" @@ -1920,8 +1916,8 @@ msgid "symlink" msgstr "符号链接" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" -msgstr "ulimit: 更改类型 '%s' 的资源时权限被拒绝\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" +msgstr "ulimit: 更改类型 '%s' 的资源时权限被拒绝" msgid "unexported" msgstr "未导出" @@ -1930,8 +1926,8 @@ msgstr "未导出" msgid "unknown modifier '%s' in '%s'" msgstr "未知修饰符 '%s' 于 '%s'" -msgid "unlimited\n" -msgstr "无限制\n" +msgid "unlimited" +msgstr "无限制" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." msgstr "|& 无效。在 fish 中,用 &| 来同时管道链接 stdout 和 stderr。" diff --git a/localization/po/zh_TW.po b/localization/po/zh_TW.po index 503025fd8..b0c46b5fd 100644 --- a/localization/po/zh_TW.po +++ b/localization/po/zh_TW.po @@ -18,12 +18,8 @@ msgstr "" msgid "fish-section-tier1-from-rust" msgstr "" -msgid "" -"\n" -" PID Command\n" -msgstr "" -"\n" -" PID 命令\n" +msgid " PID Command" +msgstr " PID 命令" #, c-format msgid " (%s)\n" @@ -78,8 +74,8 @@ msgid "%s" msgstr "%s" #, c-format -msgid "%s %s: %s: invalid subcommand\n" -msgstr "%s %s:%s:無效的子命令\n" +msgid "%s %s: %s: invalid subcommand" +msgstr "%s %s:%s:無效的子命令" #, c-format msgid "%s %s: Abbreviation %s already exists for commands %s, cannot rename %s\n" @@ -162,12 +158,12 @@ msgid "%s, version %s\n" msgstr "%s,%s 版\n" #, c-format -msgid "%s: %s\n" -msgstr "%s:%s\n" +msgid "%s: %s" +msgstr "%s:%s" #, c-format -msgid "%s: %s %s: options cannot be used together\n" -msgstr "%s:%s %s:選項不能同時使用\n" +msgid "%s: %s %s: options cannot be used together" +msgstr "%s:%s %s:選項不能同時使用" #, c-format msgid "%s: %s: cannot overwrite read-only variable" @@ -182,8 +178,8 @@ msgid "%s: %s: contains a syntax error\n" msgstr "%s:%s:含有語法錯誤\n" #, c-format -msgid "%s: %s: expected %d arguments; got %d\n" -msgstr "%s:%s:預期有 %d 個引數,卻收到了 %d 個\n" +msgid "%s: %s: expected %d arguments; got %d" +msgstr "%s:%s:預期有 %d 個引數,卻收到了 %d 個" #, c-format msgid "%s: %s: invalid base value\n" @@ -194,48 +190,48 @@ msgid "%s: %s: invalid function name" msgstr "%s:%s:無效的函式名稱" #, c-format -msgid "%s: %s: invalid integer\n" -msgstr "%s:%s:無效的整數\n" +msgid "%s: %s: invalid integer" +msgstr "%s:%s:無效的整數" #, c-format msgid "%s: %s: invalid mode\n" msgstr "%s:%s:無效的模式\n" #, c-format -msgid "%s: %s: invalid mode name. See `help %s`\n" -msgstr "%s:%s:無效的模式名稱。參見「help %s」\n" +msgid "%s: %s: invalid mode name. See `help %s`" +msgstr "%s:%s:無效的模式名稱。參見「help %s」" #, c-format msgid "%s: %s: invalid scale\n" msgstr "%s:%s:無效的小數位數\n" #, c-format -msgid "%s: %s: invalid subcommand\n" -msgstr "%s:%s:無效的子命令\n" +msgid "%s: %s: invalid subcommand" +msgstr "%s:%s:無效的子命令" #, c-format -msgid "%s: %s: invalid variable name. See `help %s`\n" -msgstr "%s:%s:無效的變數名稱。參見「help %s」\n" +msgid "%s: %s: invalid variable name. See `help %s`" +msgstr "%s:%s:無效的變數名稱。參見「help %s」" #, c-format -msgid "%s: %s: option does not take an argument\n" -msgstr "%s:%s:選項不需要引數\n" +msgid "%s: %s: option does not take an argument" +msgstr "%s:%s:選項不需要引數" #, c-format -msgid "%s: %s: option requires an argument\n" -msgstr "%s:%s:選項需要一個引數\n" +msgid "%s: %s: option requires an argument" +msgstr "%s:%s:選項需要一個引數" #, c-format -msgid "%s: %s: subcommand takes no options\n" -msgstr "%s:%s:子命令沒有選項\n" +msgid "%s: %s: subcommand takes no options" +msgstr "%s:%s:子命令沒有選項" #, c-format msgid "%s: %s: unexpected positional argument" msgstr "%s:%s:非預期的位置引數" #, c-format -msgid "%s: %s: unknown option\n" -msgstr "%s:%s:未知的選項\n" +msgid "%s: %s: unknown option" +msgstr "%s:%s:未知的選項" #, c-format msgid "%s: '%s' is a broken symbolic link to '%s'\n" @@ -250,8 +246,8 @@ msgid "%s: '%s' is not a job\n" msgstr "%s:「%s」不是作業\n" #, c-format -msgid "%s: '%s' is not a valid job ID\n" -msgstr "%s:「%s」不是有效的作業 ID\n" +msgid "%s: '%s' is not a valid job ID" +msgstr "%s:「%s」不是有效的作業 ID" #, c-format msgid "%s: '%s' is not a valid process ID\n" @@ -314,8 +310,8 @@ msgid "%s: Can't put job %d, '%s' to foreground because it is not under job cont msgstr "%s:不能將作業 %d「%s」置於前景,其並不受作業控制管理\n" #, c-format -msgid "%s: Can't put job %s, '%s' to background because it is not under job control\n" -msgstr "%s:不能將作業 %s「%s」置於背景,其並不受作業控制管理\n" +msgid "%s: Can't put job %s, '%s' to background because it is not under job control" +msgstr "%s:不能將作業 %s「%s」置於背景,其並不受作業控制管理" #, c-format msgid "%s: Cannot combine options %s\n" @@ -358,8 +354,8 @@ msgid "%s: Could not find home directory\n" msgstr "%s:找不到家目錄\n" #, c-format -msgid "%s: Could not find job '%d'\n" -msgstr "%s:找不到作業 %d\n" +msgid "%s: Could not find job '%d'" +msgstr "%s:找不到作業 %d" #, c-format msgid "%s: Did you mean `set %s %s`?" @@ -425,6 +421,10 @@ msgstr "%s:無效的 --min-args 值「%s」\n" msgid "%s: Invalid --unknown-arguments value '%s'\n" msgstr "%s:無效的 --unknown-arguments 值「%s」\n" +#, c-format +msgid "%s: Invalid count value '%s'" +msgstr "%s:無效的次數「%s」" + #, c-format msgid "%s: Invalid count value '%s'\n" msgstr "%s:無效的次數「%s」\n" @@ -450,20 +450,20 @@ msgid "%s: Invalid index starting at '%s'\n" msgstr "%s:無效的索引值,在「%s」處\n" #, c-format -msgid "%s: Invalid job control mode '%s'\n" -msgstr "%s:無效的作業控制模式「%s」\n" +msgid "%s: Invalid job control mode '%s'" +msgstr "%s:無效的作業控制模式「%s」" #, c-format msgid "%s: Invalid length value '%s'\n" msgstr "%s:無效的長度「%s」\n" #, c-format -msgid "%s: Invalid level value '%s'\n" -msgstr "%s:無效的層級「%s」\n" +msgid "%s: Invalid level value '%s'" +msgstr "%s:無效的層級「%s」" #, c-format -msgid "%s: Invalid limit '%s'\n" -msgstr "%s:無效的限制值「%s」\n" +msgid "%s: Invalid limit '%s'" +msgstr "%s:無效的限制值「%s」" #, c-format msgid "%s: Invalid max matches value '%s'\n" @@ -482,8 +482,8 @@ msgid "%s: Invalid padding character of width zero '%s'\n" msgstr "%s:沒有寬度的填充字元「%s」無效\n" #, c-format -msgid "%s: Invalid permission '%s'\n" -msgstr "%s:無效的權限「%s」\n" +msgid "%s: Invalid permission '%s'" +msgstr "%s:無效的權限「%s」" #, c-format msgid "%s: Invalid position '%s'\n" @@ -494,8 +494,8 @@ msgid "%s: Invalid range value for field '%s'\n" msgstr "%s:欄位有無效的範圍值「%s」\n" #, c-format -msgid "%s: Invalid sort key '%s'\n" -msgstr "%s:無效的排序鍵「%s」\n" +msgid "%s: Invalid sort key '%s'" +msgstr "%s:無效的排序鍵「%s」" #, c-format msgid "%s: Invalid start value '%s'\n" @@ -514,8 +514,8 @@ msgid "%s: Invalid token '%s'\n" msgstr "%s:無效的詞元「%s」\n" #, c-format -msgid "%s: Invalid type '%s'\n" -msgstr "%s:無效的類型「%s」\n" +msgid "%s: Invalid type '%s'" +msgstr "%s:無效的類型「%s」" #, c-format msgid "%s: Invalid value for '--color' option: '%s'. Expected 'always', 'never', or 'auto'\n" @@ -538,8 +538,8 @@ msgid "%s: Missing -- separator\n" msgstr "%s:缺少 -- 分隔\n" #, c-format -msgid "%s: New limit cannot be an empty string\n" -msgstr "%s:新的限制不能是空字串\n" +msgid "%s: New limit cannot be an empty string" +msgstr "%s:新的限制不能是空字串" #, c-format msgid "%s: No binding found for key '%s'\n" @@ -558,8 +558,8 @@ msgid "%s: No suitable job: %d\n" msgstr "%s:沒有合式的作業:%d\n" #, c-format -msgid "%s: No suitable job: %s\n" -msgstr "%s:沒有合式的作業:%s\n" +msgid "%s: No suitable job: %s" +msgstr "%s:沒有合式的作業:%s" #, c-format msgid "%s: Not inside of loop\n" @@ -586,16 +586,16 @@ msgid "%s: Permission denied: '%s'\n" msgstr "%s:權限不足:「%s」\n" #, c-format -msgid "%s: Regular expression compile error: %s\n" -msgstr "%s:正則表示式編譯錯誤:%s\n" +msgid "%s: Regular expression compile error: %s" +msgstr "%s:正則表示式編譯錯誤:%s" #, c-format -msgid "%s: Regular expression substitute error: %s\n" -msgstr "%s:正則表示式替換錯誤:%s\n" +msgid "%s: Regular expression substitute error: %s" +msgstr "%s:正則表示式替換錯誤:%s" #, c-format -msgid "%s: Resource limit not available on this operating system\n" -msgstr "%s:資源用量限制無法在此作業系統上使用\n" +msgid "%s: Resource limit not available on this operating system" +msgstr "%s:資源用量限制無法在此作業系統上使用" #, c-format msgid "%s: STEP must be a positive integer\n" @@ -618,12 +618,12 @@ msgid "%s: The variable '%s' does not exist\n" msgstr "%s:變數「%s」不存在\n" #, c-format -msgid "%s: There are no jobs\n" -msgstr "%s:沒有作業\n" +msgid "%s: There are no jobs" +msgstr "%s:沒有作業" #, c-format -msgid "%s: There are no suitable jobs\n" -msgstr "%s:沒有合式的作業\n" +msgid "%s: There are no suitable jobs" +msgstr "%s:沒有合式的作業" #, c-format msgid "%s: Too many levels of symbolic links: '%s'\n" @@ -686,16 +686,16 @@ msgid "%s: calling job for event handler not found" msgstr "%s:找不到事件處理器要呼叫的作業" #, c-format -msgid "%s: can't merge history in private mode\n" -msgstr "%s:私密模式中不能合併歷史紀錄\n" +msgid "%s: can't merge history in private mode" +msgstr "%s:私密模式中不能合併歷史紀錄" #, c-format -msgid "%s: cannot both export and unexport\n" -msgstr "%s:不能同時匯出和取消匯出\n" +msgid "%s: cannot both export and unexport" +msgstr "%s:不能同時匯出和取消匯出" #, c-format -msgid "%s: cannot both path and unpath\n" -msgstr "%s:不能同時標為路徑和取消標為路徑\n" +msgid "%s: cannot both path and unpath" +msgstr "%s:不能同時標為路徑和取消標為路徑" #, c-format msgid "%s: column %s exceeds line length\n" @@ -710,16 +710,16 @@ msgid "%s: exclusive flag string '%s' is not valid\n" msgstr "%s:互斥旗標字串「%s」無效\n" #, c-format -msgid "%s: expected %d arguments; got %d\n" -msgstr "%s:預期有 %d 個引數,卻收到了 %d 個\n" +msgid "%s: expected %d arguments; got %d" +msgstr "%s:預期有 %d 個引數,卻收到了 %d 個" #, c-format -msgid "%s: expected <= %d arguments; got %d\n" -msgstr "%s:預期有 <= %d 個引數,卻收到了 %d 個\n" +msgid "%s: expected <= %d arguments; got %d" +msgstr "%s:預期有 <= %d 個引數,卻收到了 %d 個" #, c-format -msgid "%s: expected >= %d arguments; got %d\n" -msgstr "%s:預期有 >= %d 個引數,卻收到了 %d 個\n" +msgid "%s: expected >= %d arguments; got %d" +msgstr "%s:預期有 >= %d 個引數,卻收到了 %d 個" #, c-format msgid "%s: expected a numeric value" @@ -738,36 +738,36 @@ msgid "%s: invalid conversion specification" msgstr "%s:轉換規格無效" #, c-format -msgid "%s: invalid option combination\n" -msgstr "%s:無效的選項組合\n" +msgid "%s: invalid option combination" +msgstr "%s:無效的選項組合" #, c-format -msgid "%s: invalid option combination, %s\n" -msgstr "%s:無效的選項組合,%s\n" +msgid "%s: invalid option combination, %s" +msgstr "%s:無效的選項組合,%s" #, c-format msgid "%s: invalid underline style: %s\n" msgstr "%s:無效的底線樣式:%s\n" #, c-format -msgid "%s: job %d ('%s') was stopped and has been signalled to continue.\n" -msgstr "%s:作業 %d(%s)停止過並收到了訊號要求繼續。\n" +msgid "%s: job %d ('%s') was stopped and has been signalled to continue." +msgstr "%s:作業 %d(%s)停止過並收到了訊號要求繼續。" #, c-format msgid "%s: line/column index starts at 1" msgstr "%s:行/欄索引從 1 開始" #, c-format -msgid "%s: missing argument\n" -msgstr "%s:缺少引數\n" +msgid "%s: missing argument" +msgstr "%s:缺少引數" #, c-format msgid "%s: missing filename argument or input redirection\n" msgstr "%s:缺少檔案名稱引數或輸入重新導向\n" #, c-format -msgid "%s: missing subcommand\n" -msgstr "%s:缺少子命令\n" +msgid "%s: missing subcommand" +msgstr "%s:缺少子命令" #, c-format msgid "%s: nothing to choose from\n" @@ -778,8 +778,8 @@ msgid "%s: realpath failed: %s\n" msgstr "%s:realpath 失敗:%s\n" #, c-format -msgid "%s: scope can be only one of: universal function global local\n" -msgstr "%s:作用域只能是以下之一:universal、function、global、local\n" +msgid "%s: scope can be only one of: universal function global local" +msgstr "%s:作用域只能是以下之一:universal、function、global、local" #, c-format msgid "%s: setting cursor while evaluating 'complete --arguments' is not yet supported" @@ -802,8 +802,8 @@ msgid "%s: there is no line %s\n" msgstr "%s:沒有第 %s 行\n" #, c-format -msgid "%s: too many arguments\n" -msgstr "%s:太多引數\n" +msgid "%s: too many arguments" +msgstr "%s:太多引數" #, c-format msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead.\n" @@ -822,10 +822,6 @@ msgstr "%s:變數「%s」是唯讀的\n" msgid "%sand %u more rows" msgstr "%s還有 %u 列" -#, c-format -msgid "%u\n" -msgstr "%u\n" - msgid "'break' while not inside of loop" msgstr "「break」不在迴圈裡面" @@ -888,8 +884,8 @@ msgstr "--query 和 --names 不能同時使用" msgid "--tokens options are mutually exclusive" msgstr "--tokens 選項不能同時使用" -msgid "A second attempt to exit will terminate them.\n" -msgstr "第二次嘗試退出將終止它們。\n" +msgid "A second attempt to exit will terminate them." +msgstr "第二次嘗試退出將終止它們。" msgid "Abbreviation expansion" msgstr "縮寫展開" @@ -976,8 +972,8 @@ msgstr "確認下什麼是什麼" msgid "Child process status changed" msgstr "子行程的狀態變更了" -msgid "Command\n" -msgstr "命令\n" +msgid "Command" +msgstr "命令" msgid "Command history events" msgstr "命令歷史紀錄的事件" @@ -1155,8 +1151,8 @@ msgstr "產生隨機數" msgid "Get/set resource usage limits" msgstr "取得/設定資源用量限制" -msgid "Group\n" -msgstr "群組\n" +msgid "Group" +msgstr "群組" msgid "Halt execution and start debug prompt" msgstr "停止執行並顯示除錯提示" @@ -1247,8 +1243,8 @@ msgid "Job\tGroup\t" msgstr "作業\t群組\t" #, c-format -msgid "Job control: %s\n" -msgstr "作業控制:%s\n" +msgid "Job control: %s" +msgstr "作業控制:%s" msgid "Jobs being executed" msgstr "作業執行" @@ -1391,8 +1387,8 @@ msgstr "印出工作目錄" msgid "Prints formatted text" msgstr "印出格式化的文字" -msgid "Process\n" -msgstr "行程\n" +msgid "Process" +msgstr "行程" msgid "Process groups" msgstr "行程群組" @@ -1469,12 +1465,12 @@ msgid "Searching/using paths" msgstr "搜尋/使用路徑" #, c-format -msgid "Send job %d (%s) to foreground\n" -msgstr "將作業 %d(%s)置於前景\n" +msgid "Send job %d (%s) to foreground" +msgstr "將作業 %d(%s)置於前景" #, c-format -msgid "Send job %s '%s' to background\n" -msgstr "將作業 %s(%s)置於背景\n" +msgid "Send job %s '%s' to background" +msgstr "將作業 %s(%s)置於背景" msgid "Send job to background" msgstr "將作業置於背景" @@ -1511,8 +1507,8 @@ msgstr "標準輸入流(第 %d 行):" msgid "Startup (line %d): " msgstr "啟動命令稿(第 %d 行):" -msgid "State\tCommand\n" -msgstr "狀態\t命令\n" +msgid "State\tCommand" +msgstr "狀態\t命令" msgid "Stdin must be attached to a tty." msgstr "stdin 必須貼附於 TTY。" @@ -1584,14 +1580,14 @@ msgstr "函式「%s」立刻呼叫了它自己,這會造成無限迴圈。" msgid "The interactive reader/input system" msgstr "互動式讀取器/輸入系統" -msgid "There are still jobs active:\n" -msgstr "仍有活動中的作業:\n" +msgid "There are still jobs active:" +msgstr "仍有活動中的作業:" -msgid "This is a login shell\n" -msgstr "這是登入 shell\n" +msgid "This is a login shell" +msgstr "這是登入 shell" -msgid "This is not a login shell\n" -msgstr "這不是登入 shell\n" +msgid "This is not a login shell" +msgstr "這不是登入 shell" msgid "Timer expired" msgstr "計時器到時間了" @@ -1721,8 +1717,8 @@ msgstr "未使用的訊號" msgid "Urgent socket condition" msgstr "緊急插口狀況" -msgid "Use 'disown PID' to remove jobs from the list without terminating them.\n" -msgstr "使用「disown PID」從列表中移除作業而不將其終止。\n" +msgid "Use 'disown PID' to remove jobs from the list without terminating them." +msgstr "使用「disown PID」從列表中移除作業而不將其終止。" msgid "User defined signal 1" msgstr "使用者定義訊號 1" @@ -1770,22 +1766,22 @@ msgid "autoloading" msgstr "自動載入" #, c-format -msgid "builtin %s: %s: %s\n" -msgstr "內建命令 %s:%s:%s\n" +msgid "builtin %s: %s: %s" +msgstr "內建命令 %s:%s:%s" #, c-format -msgid "builtin %s: Invalid arg: %s\n" -msgstr "內建命令 %s:無效的引數:%s\n" +msgid "builtin %s: Invalid arg: %s" +msgstr "內建命令 %s:無效的引數:%s" #, c-format -msgid "builtin %s: realpath failed: %s\n" -msgstr "內建命令 %s:realpath 失敗:%s\n" +msgid "builtin %s: realpath failed: %s" +msgstr "內建命令 %s:realpath 失敗:%s" -msgid "builtin history delete --exact requires --case-sensitive\n" -msgstr "內建命令 history delete --exact 需要 --case-sensitive\n" +msgid "builtin history delete --exact requires --case-sensitive" +msgstr "內建命令 history delete --exact 需要 --case-sensitive" -msgid "builtin history delete only supports --exact\n" -msgstr "內建命令 history delete 只支援 --exact\n" +msgid "builtin history delete only supports --exact" +msgstr "內建命令 history delete 只支援 --exact" msgid "can not save history" msgstr "無法儲存歷史紀錄" @@ -1818,8 +1814,8 @@ msgstr "目錄象徵式連結" msgid "directory" msgstr "目錄" -msgid "error\n" -msgstr "錯誤\n" +msgid "error" +msgstr "錯誤" msgid "explore what characters keyboard keys send" msgstr "探索鍵盤按鍵發送的是什麼字元" @@ -1834,22 +1830,22 @@ msgstr "檔案" msgid "" "fish: %s: missing man page\n" "Documentation may not be installed.\n" -"`help %s` will show an online version\n" +"`help %s` will show an online version" msgstr "" "fish:%s:缺少手冊頁\n" "可能未安裝文件。\n" -"「help %s」將顯示線上版本\n" +"「help %s」將顯示線上版本" #, c-format -msgid "from sourcing file %s\n" -msgstr "在載入的檔案 %s\n" +msgid "from sourcing file %s" +msgstr "在載入的檔案 %s" -msgid "in command substitution\n" -msgstr "在命令替換\n" +msgid "in command substitution" +msgstr "在命令替換" #, c-format -msgid "in event handler: %s\n" -msgstr "在事件處理器:%s\n" +msgid "in event handler: %s" +msgstr "在事件處理器:%s" #, c-format msgid "in function '%s'" @@ -1895,8 +1891,8 @@ msgid "symlink" msgstr "象徵式連結" #, c-format -msgid "ulimit: Permission denied when changing resource of type '%s'\n" -msgstr "ulimit:變更「%s」此類資源時存取遭拒\n" +msgid "ulimit: Permission denied when changing resource of type '%s'" +msgstr "ulimit:變更「%s」此類資源時存取遭拒" msgid "unexported" msgstr "未匯出" @@ -1905,8 +1901,8 @@ msgstr "未匯出" msgid "unknown modifier '%s' in '%s'" msgstr "未知的修飾鍵「%s」,於「%s」" -msgid "unlimited\n" -msgstr "無限制\n" +msgid "unlimited" +msgstr "無限制" msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr." msgstr "|& 無效。在 fish 中請使用 &| 來同時管道傳輸 stdout 和 stderr。" diff --git a/src/bin/fish.rs b/src/bin/fish.rs index 2d048946f..e16613bed 100644 --- a/src/bin/fish.rs +++ b/src/bin/fish.rs @@ -313,21 +313,21 @@ fn fish_parse_opt(args: &mut [WString], opts: &mut FishCmdOpts) -> ControlFlow { eprintf!( - "%s\n", + "%s\n\n", wgettext_fmt!(BUILTIN_ERR_UNKNOWN, "fish", args[w.wopt_index - 1]) ); return ControlFlow::Break(1); } ':' => { eprintf!( - "%s\n", + "%s\n\n", wgettext_fmt!(BUILTIN_ERR_MISSING, "fish", args[w.wopt_index - 1]) ); return ControlFlow::Break(1); } ';' => { eprintf!( - "%s\n", + "%s\n\n", wgettext_fmt!(BUILTIN_ERR_UNEXP_ARG, "fish", args[w.wopt_index - 1]) ); return ControlFlow::Break(1); diff --git a/src/builtins/abbr.rs b/src/builtins/abbr.rs index e39dd44ec..a6d73c4ea 100644 --- a/src/builtins/abbr.rs +++ b/src/builtins/abbr.rs @@ -358,8 +358,8 @@ fn abbr_add(opts: &Options, streams: &mut IoStreams) -> BuiltinResult { let result = builder.build(to_boxed_chars(regex_pattern)); if let Err(error) = result { - streams.err.append(&wgettext_fmt!( - "%s: Regular expression compile error: %s\n", + streams.err.appendln(&wgettext_fmt!( + BUILTIN_ERR_REGEX_COMPILE, CMD, error.error_message(), )); @@ -393,7 +393,7 @@ fn abbr_add(opts: &Options, streams: &mut IoStreams) -> BuiltinResult { if opts.function.is_some() && opts.args.len() > 1 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, L!("abbr"))); + .appendln(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, L!("abbr"))); return Err(STATUS_INVALID_ARGS); } let replacement = if let Some(ref function) = opts.function { diff --git a/src/builtins/argparse.rs b/src/builtins/argparse.rs index 7101d4728..7e97d7bfd 100644 --- a/src/builtins/argparse.rs +++ b/src/builtins/argparse.rs @@ -146,8 +146,8 @@ fn check_for_mutually_exclusive_flags( if flag1 > flag2 { std::mem::swap(&mut flag1, &mut flag2); } - streams.err.append(&wgettext_fmt!( - "%s: %s %s: options cannot be used together\n", + streams.err.appendln(&wgettext_fmt!( + BUILTIN_ERR_COMBO2_EXCLUSIVE, opts.name, flag1, flag2 @@ -533,7 +533,7 @@ fn parse_cmd_opts<'args>( 's' => opts.stop_nonopt = true, 'i' | 'u' => { if opts.unknown_handling != UnknownHandling::Error { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, cmd, "--ignore-unknown", @@ -954,7 +954,7 @@ fn argparse_parse_flags<'args>( streams, )?; } else if opts.unknown_handling == UnknownHandling::Error { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_UNKNOWN, opts.name, args_read[w.wopt_index - 1] @@ -1009,7 +1009,7 @@ fn argparse_parse_flags<'args>( Some(w.argv[w.wopt_index - 1]) } else { // the option is at the end of argv, so it has no argument - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_MISSING, opts.name, args_read[w.wopt_index - 1] @@ -1025,7 +1025,7 @@ fn argparse_parse_flags<'args>( && is_long_flag && arg_contents.contains('=') { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_UNEXP_ARG, opts.name, args_read[w.wopt_index - 1] @@ -1122,7 +1122,7 @@ fn check_min_max_args_constraints( let cmd = &opts.name; if opts.args.len() < opts.min_args { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_MIN_ARG_COUNT1, cmd, opts.min_args, @@ -1132,7 +1132,7 @@ fn check_min_max_args_constraints( } if opts.max_args != usize::MAX && opts.args.len() > opts.max_args { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_MAX_ARG_COUNT1, cmd, opts.max_args, diff --git a/src/builtins/bg.rs b/src/builtins/bg.rs index ce916d827..69679dca1 100644 --- a/src/builtins/bg.rs +++ b/src/builtins/bg.rs @@ -17,8 +17,8 @@ fn send_to_bg( let jobs = parser.jobs(); if !jobs[job_pos].wants_job_control() { let job = &jobs[job_pos]; - streams.err.append(&wgettext_fmt!( - "%s: Can't put job %s, '%s' to background because it is not under job control\n", + streams.err.appendln(&wgettext_fmt!( + "%s: Can't put job %s, '%s' to background because it is not under job control", cmd, job.job_id().to_wstring(), job.command() @@ -27,8 +27,8 @@ fn send_to_bg( } let job = &jobs[job_pos]; - streams.err.append(&wgettext_fmt!( - "Send job %s '%s' to background\n", + streams.err.appendln(&wgettext_fmt!( + "Send job %s '%s' to background", job.job_id().to_wstring(), job.command() )); @@ -68,7 +68,7 @@ pub fn bg(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Built let Some(job_pos) = job_pos else { streams .err - .append(&wgettext_fmt!("%s: There are no suitable jobs\n", cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_NO_SUITABLE_JOBS, cmd)); return Err(STATUS_CMD_ERROR); }; @@ -103,7 +103,7 @@ pub fn bg(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Built } else { streams .err - .append(&wgettext_fmt!("%s: Could not find job '%d'\n", cmd, pid)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_COULD_NOT_FIND_JOB, cmd, pid)); } } diff --git a/src/builtins/bind.rs b/src/builtins/bind.rs index 0db4af89e..735496646 100644 --- a/src/builtins/bind.rs +++ b/src/builtins/bind.rs @@ -312,7 +312,7 @@ fn insert( } else { // Inserting both on the other hand makes no sense. if self.opts.have_preset && self.opts.have_user { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, cmd, "--preset", @@ -433,7 +433,7 @@ fn parse_cmd_opts( let check_mode_name = |streams: &mut IoStreams, mode_name: &wstr| -> Result<(), ErrorCode> { if !valid_var_name(mode_name) { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_BIND_MODE, cmd, mode_name, diff --git a/src/builtins/breakpoint.rs b/src/builtins/breakpoint.rs index 4e280550d..c19738b31 100644 --- a/src/builtins/breakpoint.rs +++ b/src/builtins/breakpoint.rs @@ -7,7 +7,7 @@ pub fn breakpoint(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> BuiltinResult { let cmd = argv[0]; if argv.len() != 1 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT1, cmd, 0, diff --git a/src/builtins/builtin.rs b/src/builtins/builtin.rs index 02eba0663..a4e7bea10 100644 --- a/src/builtins/builtin.rs +++ b/src/builtins/builtin.rs @@ -53,7 +53,7 @@ pub fn r#builtin(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) - } if opts.query && opts.list_names { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, wgettext!("--query and --names are mutually exclusive") diff --git a/src/builtins/commandline.rs b/src/builtins/commandline.rs index f62757024..8d989a8c4 100644 --- a/src/builtins/commandline.rs +++ b/src/builtins/commandline.rs @@ -310,7 +310,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) 'f' => function_mode = true, 'x' | '\x02' | 'o' => { if token_mode.is_some() { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, wgettext!("--tokens options are mutually exclusive") @@ -377,7 +377,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) || selection_start_mode || selection_end_mode { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -422,7 +422,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) if (selection_start_mode || selection_end_mode) && positional_args != 0 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -432,7 +432,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -442,13 +442,13 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) // Special case - we allow to get/set cursor position relative to the process/job/token. && ((buffer_part.is_none() && !search_field_mode) || !cursor_mode) { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } if (token_mode.is_some() || cut_at_cursor) && positional_args != 0 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, "--cut-at-cursor and token options can not be used when setting the commandline" @@ -458,7 +458,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) } if search_field_mode && (buffer_part.is_some() || token_mode.is_some()) { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -475,7 +475,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) if append_mode == AppendMode::InsertSmart { if search_field_mode { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, cmd, "--insert-smart", @@ -488,7 +488,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) TextScope::String | TextScope::Job | TextScope::Process => (), TextScope::Token => { // To-do: we can support it in command position. - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, cmd, "--insert-smart", @@ -507,7 +507,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) Err(_) => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, arg)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, arg)); builtin_print_error_trailer(parser, streams.err, cmd); 0 } @@ -702,7 +702,7 @@ pub fn commandline(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) Err(_) => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, arg)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, arg)); builtin_print_error_trailer(parser, streams.err, cmd); 0 } diff --git a/src/builtins/complete.rs b/src/builtins/complete.rs index 98564f9f9..d3c12a604 100644 --- a/src/builtins/complete.rs +++ b/src/builtins/complete.rs @@ -413,7 +413,7 @@ pub fn complete(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> if result_mode.no_files && result_mode.force_files { if !have_x { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, "complete", "'--no-files' and '--force-files'" @@ -421,7 +421,7 @@ pub fn complete(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> } else { // The reason for us not wanting files is `-x`, // which is short for `-rf`. - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, "complete", "'--exclusive' and '--force-files'" @@ -441,7 +441,7 @@ pub fn complete(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> } else { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } diff --git a/src/builtins/disown.rs b/src/builtins/disown.rs index 681377136..c46ba7915 100644 --- a/src/builtins/disown.rs +++ b/src/builtins/disown.rs @@ -21,8 +21,8 @@ fn disown_job(cmd: &wstr, streams: &mut IoStreams, j: &Job) { if let Some(pgid) = pgid { let _ = killpg(pgid.as_nix_pid(), Some(Signal::SIGCONT)); } - streams.err.append(&wgettext_fmt!( - "%s: job %d ('%s') was stopped and has been signalled to continue.\n", + streams.err.appendln(&wgettext_fmt!( + "%s: job %d ('%s') was stopped and has been signalled to continue.", cmd, j.job_id(), j.command() @@ -66,7 +66,7 @@ pub fn disown(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B } else { streams .err - .append(&wgettext_fmt!("%s: There are no suitable jobs\n", cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_NO_SUITABLE_JOBS, cmd)); retval = Err(STATUS_CMD_ERROR); } } else { @@ -89,7 +89,7 @@ pub fn disown(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B // Valid identifier but no such job streams .err - .append(&wgettext_fmt!("%s: Could not find job '%d'\n", cmd, pid)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_COULD_NOT_FIND_JOB, cmd, pid)); None }) }) diff --git a/src/builtins/fg.rs b/src/builtins/fg.rs index 7e11a4bcc..e135a088f 100644 --- a/src/builtins/fg.rs +++ b/src/builtins/fg.rs @@ -38,7 +38,7 @@ pub fn fg(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Built None => { streams .err - .append(&wgettext_fmt!("%s: There are no suitable jobs\n", cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_NO_SUITABLE_JOBS, cmd)); return Err(STATUS_INVALID_ARGS); } Some((pos, j)) => { @@ -112,11 +112,11 @@ pub fn fg(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Built if streams.err_is_redirected { streams .err - .append(&wgettext_fmt!(FG_MSG, job.job_id(), job.command())); + .appendln(&wgettext_fmt!(FG_MSG, job.job_id(), job.command())); } else { // If we aren't redirecting, send output to real stderr, since stuff in sb_err won't get // printed until the command finishes. - eprintf!("%s", wgettext_fmt!(FG_MSG, job.job_id(), job.command())); + eprintf!("%s\n", wgettext_fmt!(FG_MSG, job.job_id(), job.command())); } let ft = tok_command(job.command()); diff --git a/src/builtins/fish_indent.rs b/src/builtins/fish_indent.rs index b25fa4ebc..4c3917e77 100644 --- a/src/builtins/fish_indent.rs +++ b/src/builtins/fish_indent.rs @@ -1023,7 +1023,7 @@ enum OutputType { '\x03' => output_type = OutputType::PygmentsCsv, 'c' => output_type = OutputType::Check, ';' => { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_UNEXP_ARG, "fish_indent", w.argv[w.wopt_index - 1] @@ -1031,7 +1031,7 @@ enum OutputType { return Err(STATUS_CMD_ERROR); } '?' => { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_UNKNOWN, "fish_indent", w.argv[w.wopt_index - 1] diff --git a/src/builtins/fish_key_reader.rs b/src/builtins/fish_key_reader.rs index 41d8c5558..ca1c94757 100644 --- a/src/builtins/fish_key_reader.rs +++ b/src/builtins/fish_key_reader.rs @@ -212,7 +212,7 @@ fn parse_flags( *verbose = true; } ';' => { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_UNEXP_ARG, "fish_key_reader", w.argv[w.wopt_index - 1] diff --git a/src/builtins/functions.rs b/src/builtins/functions.rs index 84dad33af..ca5f9e943 100644 --- a/src/builtins/functions.rs +++ b/src/builtins/functions.rs @@ -136,13 +136,13 @@ pub fn functions(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) - .count() > 1 { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } if opts.report_metadata && opts.no_metadata { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -182,7 +182,7 @@ pub fn functions(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) - if opts.report_metadata { if args.len() != 1 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, // This error is diff --git a/src/builtins/history.rs b/src/builtins/history.rs index 50a0f4bb0..9bd984ac3 100644 --- a/src/builtins/history.rs +++ b/src/builtins/history.rs @@ -94,7 +94,7 @@ fn set_hist_cmd( streams: &mut IoStreams, ) -> bool { if *hist_cmd != HistCmd::None { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, cmd, hist_cmd.to_wstr(), @@ -114,8 +114,8 @@ fn check_for_unexpected_hist_args( ) -> bool { if opts.search_type.is_some() || opts.show_time_format.is_some() || opts.null_terminate { let subcmd_str = opts.hist_cmd.to_wstr(); - streams.err.append(&wgettext_fmt!( - "%s: %s: subcommand takes no options\n", + streams.err.appendln(&wgettext_fmt!( + "%s: %s: subcommand takes no options", cmd, subcmd_str )); @@ -123,7 +123,7 @@ fn check_for_unexpected_hist_args( } if !args.is_empty() { let subcmd_str = opts.hist_cmd.to_wstr(); - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, subcmd_str, @@ -195,7 +195,7 @@ fn parse_cmd_opts( 'n' => match fish_wcstol(w.woptarg.unwrap()) { Ok(x) => opts.max_items = Some(x as _), // todo!("historical behavior is to cast") Err(_) => { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_NOT_NUMBER, cmd, w.woptarg.unwrap() @@ -307,12 +307,12 @@ pub fn history(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> { streams .err - .append(wgettext!("builtin history delete only supports --exact\n")); + .appendln(wgettext!("builtin history delete only supports --exact")); return Err(STATUS_INVALID_ARGS); } if !opts.case_sensitive { - streams.err.append(wgettext!( - "builtin history delete --exact requires --case-sensitive\n" + streams.err.appendln(wgettext!( + "builtin history delete --exact requires --case-sensitive" )); return Err(STATUS_INVALID_ARGS); } @@ -341,8 +341,8 @@ pub fn history(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> } if in_private_mode(parser.vars()) { - streams.err.append(&wgettext_fmt!( - "%s: can't merge history in private mode\n", + streams.err.appendln(&wgettext_fmt!( + "%s: can't merge history in private mode", cmd )); return Err(STATUS_INVALID_ARGS); diff --git a/src/builtins/jobs.rs b/src/builtins/jobs.rs index 264a90962..9b9a895cc 100644 --- a/src/builtins/jobs.rs +++ b/src/builtins/jobs.rs @@ -56,7 +56,8 @@ fn builtin_jobs_print(j: &Job, mode: JobsPrintMode, header: bool, streams: &mut if *HAVE_PROC_STAT { out += wgettext!("CPU\t"); } - out += wgettext!("State\tCommand\n"); + out += wgettext!("State\tCommand"); + out.push('\n'); } sprintf!(=> &mut out, "%d\t%s\t", j.job_id(), pgid); @@ -84,7 +85,8 @@ fn builtin_jobs_print(j: &Job, mode: JobsPrintMode, header: bool, streams: &mut JobsPrintMode::PrintGroup => { if header { // Print table header before first job. - out += wgettext!("Group\n"); + out += wgettext!("Group"); + out.push('\n'); } out += &sprintf!("%s\n", pgid)[..]; streams.out.append(&out); @@ -92,7 +94,8 @@ fn builtin_jobs_print(j: &Job, mode: JobsPrintMode, header: bool, streams: &mut JobsPrintMode::PrintPid => { if header { // Print table header before first job. - out += wgettext!("Process\n"); + out += wgettext!("Process"); + out.push('\n'); } for p in j.external_procs() { @@ -103,7 +106,8 @@ fn builtin_jobs_print(j: &Job, mode: JobsPrintMode, header: bool, streams: &mut JobsPrintMode::PrintCommand => { if header { // Print table header before first job. - out += wgettext!("Command\n"); + out += wgettext!("Command"); + out.push('\n'); } for p in j.processes() { @@ -192,8 +196,8 @@ pub fn jobs(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Bui if arg.char_at(0) == '%' { match fish_wcstoi(&arg[1..]).ok().filter(|&job_id| job_id >= 0) { None => { - streams.err.append(&wgettext_fmt!( - "%s: '%s' is not a valid job ID\n", + streams.err.appendln(&wgettext_fmt!( + "%s: '%s' is not a valid job ID", cmd, arg )); @@ -222,7 +226,7 @@ pub fn jobs(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Bui if mode != JobsPrintMode::PrintNothing { streams .err - .append(&wgettext_fmt!("%s: No suitable job: %s\n", cmd, arg)); + .appendln(&wgettext_fmt!("%s: No suitable job: %s", cmd, arg)); } return Err(STATUS_CMD_ERROR); } @@ -242,7 +246,7 @@ pub fn jobs(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Bui if !streams.out_is_redirected && mode != JobsPrintMode::PrintNothing { streams .out - .append(&wgettext_fmt!("%s: There are no jobs\n", argv[0])); + .appendln(&wgettext_fmt!("%s: There are no jobs", argv[0])); } return Err(STATUS_CMD_ERROR); } diff --git a/src/builtins/math.rs b/src/builtins/math.rs index 15609c459..9cf5059c2 100644 --- a/src/builtins/math.rs +++ b/src/builtins/math.rs @@ -142,7 +142,7 @@ fn parse_cmd_opts( } if have_scale && opts.scale != 0 && opts.base != 10 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, "non-zero scale value only valid @@ -295,7 +295,7 @@ pub fn math(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Bui if expression.is_empty() { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1, 0)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1, 0)); return Err(STATUS_CMD_ERROR); } diff --git a/src/builtins/path.rs b/src/builtins/path.rs index cf3a9c824..adb966bfa 100644 --- a/src/builtins/path.rs +++ b/src/builtins/path.rs @@ -23,7 +23,7 @@ macro_rules! path_error { $(,)? ) => { $streams.err.append(L!("path ")); - $streams.err.append(&wgettext_fmt!($string, $($args),*)); + $streams.err.appendln(&wgettext_fmt!($string, $($args),*)); }; } @@ -283,7 +283,7 @@ fn parse_opts<'args>( let types_args = split_string_tok(w.woptarg.unwrap(), L!(","), None); for t in types_args { let Ok(r#type) = t.try_into() else { - path_error!(streams, "%s: Invalid type '%s'\n", "path", t); + path_error!(streams, "%s: Invalid type '%s'", "path", t); return Err(STATUS_INVALID_ARGS); }; *types |= r#type; @@ -295,7 +295,7 @@ fn parse_opts<'args>( let perms_args = split_string_tok(w.woptarg.unwrap(), L!(","), None); for p in perms_args { let Ok(perm) = p.try_into() else { - path_error!(streams, "%s: Invalid permission '%s'\n", "path", p); + path_error!(streams, "%s: Invalid permission '%s'", "path", p); return Err(STATUS_INVALID_ARGS); }; *perms |= perm; @@ -698,7 +698,7 @@ fn path_sort(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Bu } None => wbasename, Some(k) => { - path_error!(streams, "%s: Invalid sort key '%s'\n", args[0], k); + path_error!(streams, "%s: Invalid sort key '%s'", args[0], k); return Err(STATUS_INVALID_ARGS); } }; @@ -951,7 +951,7 @@ pub fn path(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Bui if argc <= 1 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MISSING_SUBCMD, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING_SUBCMD, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -977,7 +977,7 @@ pub fn path(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Bui _ => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, subcmd_name)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, subcmd_name)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } diff --git a/src/builtins/pwd.rs b/src/builtins/pwd.rs index 7c2ed002a..6e1d570fd 100644 --- a/src/builtins/pwd.rs +++ b/src/builtins/pwd.rs @@ -40,7 +40,7 @@ pub fn pwd(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Buil if w.wopt_index != argc { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_ARG_COUNT1, cmd, 0, argc - 1)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_ARG_COUNT1, cmd, 0, argc - 1)); return Err(STATUS_INVALID_ARGS); } diff --git a/src/builtins/random.rs b/src/builtins/random.rs index f7fea9ed0..e0c4b562e 100644 --- a/src/builtins/random.rs +++ b/src/builtins/random.rs @@ -71,7 +71,7 @@ fn parse_ll(streams: &mut IoStreams, cmd: &wstr, num: &wstr) -> Result Result Result { streams .err - .append(&wgettext_fmt!("%s: too many arguments\n", cmd,)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); return Err(STATUS_CMD_ERROR); } } diff --git a/src/builtins/read.rs b/src/builtins/read.rs index 45bda2afc..329799116 100644 --- a/src/builtins/read.rs +++ b/src/builtins/read.rs @@ -156,7 +156,7 @@ fn parse_cmd_opts( return Err(STATUS_INVALID_ARGS); } _ => { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_NOT_NUMBER, cmd, w.woptarg.unwrap() @@ -189,7 +189,7 @@ fn parse_cmd_opts( }; if let Some(old_mode) = opts.token_mode { if old_mode != new_mode { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, wgettext_fmt!( @@ -488,7 +488,7 @@ fn validate_read_args( if opts.place.mode.contains(EnvMode::UNEXPORT) && opts.place.mode.contains(EnvMode::EXPORT) { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_EXPUNEXP, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_EXPUNEXP, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -501,7 +501,9 @@ fn validate_read_args( .count() > 1 { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_GLOCAL, cmd)); + streams + .err + .appendln(&wgettext_fmt!(BUILTIN_ERR_GLOCAL, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -510,21 +512,21 @@ fn validate_read_args( if !opts.array && argc < 1 && !opts.to_stdout { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1, argc)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1, argc)); return Err(STATUS_INVALID_ARGS); } if opts.array && argc != 1 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_ARG_COUNT1, cmd, 1, argc)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_ARG_COUNT1, cmd, 1, argc)); return Err(STATUS_INVALID_ARGS); } if opts.to_stdout && argc > 0 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MAX_ARG_COUNT1, cmd, 0, argc)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MAX_ARG_COUNT1, cmd, 0, argc)); return Err(STATUS_INVALID_ARGS); } @@ -538,7 +540,7 @@ fn tokenize_flag(token_mode: TokenOutputMode) -> &'static wstr { if let Some(token_mode) = opts.token_mode { if opts.delimiter.is_some() { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, cmd, "--delimiter", @@ -548,7 +550,7 @@ fn tokenize_flag(token_mode: TokenOutputMode) -> &'static wstr { } if opts.one_line { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, cmd, "--line", diff --git a/src/builtins/realpath.rs b/src/builtins/realpath.rs index 671b495d6..ab8dbf9d1 100644 --- a/src/builtins/realpath.rs +++ b/src/builtins/realpath.rs @@ -82,8 +82,8 @@ pub fn realpath(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> } else { let errno = errno(); if errno.0 != 0 { - streams.err.append(&wgettext_fmt!( - "builtin %s: %s: %s\n", + streams.err.appendln(&wgettext_fmt!( + "builtin %s: %s: %s", cmd, arg, errno.to_string() @@ -91,7 +91,7 @@ pub fn realpath(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> } else { streams .err - .append(&wgettext_fmt!("builtin %s: Invalid arg: %s\n", cmd, arg)); + .appendln(&wgettext_fmt!("builtin %s: Invalid arg: %s", cmd, arg)); } had_error = true; } @@ -107,8 +107,8 @@ pub fn realpath(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> streams.out.append(&normalize_path(&absolute_arg, false)); streams.out.append(L!("\n")); } else { - streams.err.append(&wgettext_fmt!( - "builtin %s: realpath failed: %s\n", + streams.err.appendln(&wgettext_fmt!( + "builtin %s: realpath failed: %s", cmd, errno().to_string() )); diff --git a/src/builtins/return.rs b/src/builtins/return.rs index 0565486dd..d9d9dee0b 100644 --- a/src/builtins/return.rs +++ b/src/builtins/return.rs @@ -99,7 +99,7 @@ pub fn parse_return_value( if optind + 1 < args.len() { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return ControlFlow::Break(Err(STATUS_INVALID_ARGS)); } @@ -111,7 +111,7 @@ pub fn parse_return_value( Err(_e) => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, args[1])); + .appendln(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, args[1])); builtin_print_error_trailer(parser, streams.err, cmd); ControlFlow::Break(Err(STATUS_INVALID_ARGS)) } diff --git a/src/builtins/set.rs b/src/builtins/set.rs index 6e4b4a8ec..5b0e22c91 100644 --- a/src/builtins/set.rs +++ b/src/builtins/set.rs @@ -234,14 +234,14 @@ fn validate( ) -> Result<(), ErrorCode> { // Can't query and erase or list. if opts.query && (opts.erase || opts.list) { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } // We can't both list and erase variables. if opts.erase && opts.list { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -255,7 +255,9 @@ fn validate( // ..unless we are erasing a variable, in which case we can erase from several in one go. && !opts.erase { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_GLOCAL, cmd)); + streams + .err + .appendln(&wgettext_fmt!(BUILTIN_ERR_GLOCAL, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -264,7 +266,7 @@ fn validate( if opts.exportv && opts.unexport { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_EXPUNEXP, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_EXPUNEXP, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -273,14 +275,14 @@ fn validate( if opts.pathvar && opts.unpathvar { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_PATHUNPATH, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_PATHUNPATH, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } // Trying to erase and (un)export at the same time doesn't make sense. if opts.erase && (opts.exportv || opts.unexport) { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -295,7 +297,7 @@ fn validate( || opts.exportv || opts.universal) { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -303,7 +305,7 @@ fn validate( if args.len() == optind && opts.erase { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MISSING, cmd, L!("--erase"))); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING, cmd, L!("--erase"))); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -951,7 +953,7 @@ fn set_internal( if argv.is_empty() { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } diff --git a/src/builtins/shared.rs b/src/builtins/shared.rs index 42f7ef059..bbaf304df 100644 --- a/src/builtins/shared.rs +++ b/src/builtins/shared.rs @@ -21,87 +21,97 @@ localizable_consts!( /// Error message on missing argument. pub BUILTIN_ERR_MISSING - "%s: %s: option requires an argument\n" + "%s: %s: option requires an argument" /// Error message on unexpected argument. pub BUILTIN_ERR_UNEXP_ARG - "%s: %s: option does not take an argument\n" + "%s: %s: option does not take an argument" /// Error message on missing man page. pub BUILTIN_ERR_MISSING_HELP - "fish: %s: missing man page\nDocumentation may not be installed.\n`help %s` will show an online version\n" + "fish: %s: missing man page\nDocumentation may not be installed.\n`help %s` will show an online version" /// Error message on multiple scope levels for variables. pub BUILTIN_ERR_GLOCAL - "%s: scope can be only one of: universal function global local\n" + "%s: scope can be only one of: universal function global local" /// Error message for specifying both export and unexport to set/read. pub BUILTIN_ERR_EXPUNEXP - "%s: cannot both export and unexport\n" + "%s: cannot both export and unexport" /// Error message for specifying both path and unpath to set/read. pub BUILTIN_ERR_PATHUNPATH - "%s: cannot both path and unpath\n" + "%s: cannot both path and unpath" /// Error message for unknown switch. pub BUILTIN_ERR_UNKNOWN - "%s: %s: unknown option\n" + "%s: %s: unknown option" /// Error message for invalid bind mode name. pub BUILTIN_ERR_BIND_MODE - "%s: %s: invalid mode name. See `help %s`\n" + "%s: %s: invalid mode name. See `help %s`" /// Error message when too many arguments are supplied to a builtin. pub BUILTIN_ERR_TOO_MANY_ARGUMENTS - "%s: too many arguments\n" + "%s: too many arguments" /// Error message when integer expected pub BUILTIN_ERR_NOT_NUMBER - "%s: %s: invalid integer\n" + "%s: %s: invalid integer" /// Command that requires a subcommand was invoked without a recognized subcommand. pub BUILTIN_ERR_MISSING_SUBCMD - "%s: missing subcommand\n" + "%s: missing subcommand" pub BUILTIN_ERR_INVALID_SUBCMD - "%s: %s: invalid subcommand\n" + "%s: %s: invalid subcommand" pub BUILTIN_ERR_INVALID_SUBSUBCMD - "%s %s: %s: invalid subcommand\n" + "%s %s: %s: invalid subcommand" /// Error messages for unexpected args. pub BUILTIN_ERR_ARG_COUNT0 - "%s: missing argument\n" + "%s: missing argument" pub BUILTIN_ERR_ARG_COUNT1 - "%s: expected %d arguments; got %d\n" + "%s: expected %d arguments; got %d" pub BUILTIN_ERR_ARG_COUNT2 - "%s: %s: expected %d arguments; got %d\n" + "%s: %s: expected %d arguments; got %d" pub BUILTIN_ERR_MIN_ARG_COUNT1 - "%s: expected >= %d arguments; got %d\n" + "%s: expected >= %d arguments; got %d" pub BUILTIN_ERR_MAX_ARG_COUNT1 - "%s: expected <= %d arguments; got %d\n" + "%s: expected <= %d arguments; got %d" /// Error message for invalid variable name. pub BUILTIN_ERR_VARNAME - "%s: %s: invalid variable name. See `help %s`\n" + "%s: %s: invalid variable name. See `help %s`" /// Error message on invalid combination of options. pub BUILTIN_ERR_COMBO - "%s: invalid option combination\n" + "%s: invalid option combination" pub BUILTIN_ERR_COMBO2 - "%s: invalid option combination, %s\n" + "%s: invalid option combination, %s" pub BUILTIN_ERR_COMBO2_EXCLUSIVE - "%s: %s %s: options cannot be used together\n" + "%s: %s %s: options cannot be used together" + + pub BUILTIN_ERR_REGEX_COMPILE + "%s: Regular expression compile error: %s" + + pub BUILTIN_ERR_NO_SUITABLE_JOBS + "%s: There are no suitable jobs" + + pub BUILTIN_ERR_COULD_NOT_FIND_JOB + "%s: Could not find job '%d'" /// The send stuff to foreground message. pub FG_MSG - "Send job %d (%s) to foreground\n" + "Send job %d (%s) to foreground" + ); // Return values (`$status` values for fish scripts) for various situations. @@ -632,7 +642,7 @@ pub fn builtin_print_help(parser: &Parser, streams: &mut IoStreams, cmd: &wstr) if res.status.normal_exited() && res.status.exit_code() == 2 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MISSING_HELP, name_esc, name_esc)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING_HELP, name_esc, name_esc)); } } @@ -646,7 +656,7 @@ pub fn builtin_unknown_option( ) { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN, cmd, opt)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN, cmd, opt)); if print_hints { builtin_print_error_trailer(parser, streams.err, cmd); } @@ -663,7 +673,7 @@ pub fn builtin_missing_argument( if opt.char_at(0) == '-' && opt.char_at(1) != '-' { // if c in -qc '-qc' is missing the argument, now opt is just 'c' opt = &opt[opt.len() - 1..]; - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_MISSING, cmd, L!("-").to_owned() + opt @@ -671,7 +681,7 @@ pub fn builtin_missing_argument( } else { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MISSING, cmd, opt)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING, cmd, opt)); } if print_hints { builtin_print_error_trailer(parser, streams.err, cmd); @@ -688,7 +698,7 @@ pub fn builtin_unexpected_argument( ) { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_UNEXP_ARG, cmd, opt)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_UNEXP_ARG, cmd, opt)); if print_hints { builtin_print_error_trailer(parser, streams.err, cmd); } @@ -1021,7 +1031,7 @@ pub fn builtin_break_continue( if argc != 1 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN, argv[0], argv[1])); + .appendln(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN, argv[0], argv[1])); return Err(STATUS_INVALID_ARGS); } diff --git a/src/builtins/status.rs b/src/builtins/status.rs index 9aac40258..696d744df 100644 --- a/src/builtins/status.rs +++ b/src/builtins/status.rs @@ -103,7 +103,7 @@ impl StatusCmdOpts { fn try_set_status_cmd(&mut self, subcmd: StatusCmd, streams: &mut IoStreams) -> bool { match self.status_cmd.replace(subcmd) { Some(existing) => { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2_EXCLUSIVE, "status", existing.to_wstr(), @@ -168,6 +168,10 @@ fn default() -> Self { wopt(L!("print-stack-trace"), NoArgument, 't'), ]; +localizable_consts! { + BUILTIN_INVALID_JOB_CONTROL_MODE "%s: Invalid job control mode '%s'" +} + /// Print the features and their values. fn print_features(streams: &mut IoStreams) { // TODO: move this to features.rs @@ -209,8 +213,8 @@ fn parse_cmd_opts( match fish_wcstoi(arg) { Ok(level) if level >= 0 => level, Err(Error::Overflow) | Ok(_) => { - streams.err.append(&wgettext_fmt!( - "%s: Invalid level value '%s'\n", + streams.err.appendln(&wgettext_fmt!( + "%s: Invalid level value '%s'", cmd, arg )); @@ -219,7 +223,7 @@ fn parse_cmd_opts( _ => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, arg)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_NOT_NUMBER, cmd, arg)); return Err(STATUS_INVALID_ARGS); } } @@ -245,8 +249,8 @@ fn parse_cmd_opts( return Err(STATUS_CMD_ERROR); } let Ok(job_mode) = w.woptarg.unwrap().try_into() else { - streams.err.append(&wgettext_fmt!( - "%s: Invalid job control mode '%s'\n", + streams.err.appendln(&wgettext_fmt!( + BUILTIN_INVALID_JOB_CONTROL_MODE, cmd, w.woptarg.unwrap() )); @@ -359,7 +363,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B None => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, args[1])); + .appendln(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, args[1])); return Err(STATUS_INVALID_ARGS); } } @@ -371,9 +375,9 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B debug_assert!(args.is_empty(), "passed arguments to nothing"); if get_login() { - streams.out.append(wgettext!("This is a login shell\n")); + streams.out.appendln(wgettext!("This is a login shell")); } else { - streams.out.append(wgettext!("This is not a login shell\n")); + streams.out.appendln(wgettext!("This is not a login shell")); } let job_control_mode = match get_job_control_mode() { JobControl::Interactive => wgettext!("Only on interactive jobs"), @@ -382,7 +386,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B }; streams .out - .append(&wgettext_fmt!("Job control: %s\n", job_control_mode)); + .appendln(&wgettext_fmt!("Job control: %s", job_control_mode)); streams.out.append(&parser.stack_trace()); return Ok(SUCCESS); @@ -394,7 +398,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B Some(j) => { // Flag form used if !args.is_empty() { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, c.to_wstr(), @@ -407,7 +411,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B } None => { if args.len() != 1 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, c.to_wstr(), @@ -417,8 +421,8 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B return Err(STATUS_INVALID_ARGS); } let Ok(new_mode) = args[0].try_into() else { - streams.err.append(&wgettext_fmt!( - "%s: Invalid job control mode '%s'\n", + streams.err.appendln(&wgettext_fmt!( + BUILTIN_INVALID_JOB_CONTROL_MODE, cmd, args[0] )); @@ -432,7 +436,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B STATUS_FEATURES => print_features(streams), c @ STATUS_TEST_FEATURE => { if args.len() != 1 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, c.to_wstr(), @@ -454,7 +458,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B } c @ STATUS_GET_FILE => { if args.len() != 1 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, c.to_wstr(), @@ -509,7 +513,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B invalid => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBSUBCMD, cmd, subcmd.to_wstr(), invalid)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBSUBCMD, cmd, subcmd.to_wstr(), invalid)); return Err(STATUS_INVALID_ARGS); } } @@ -552,7 +556,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B } c @ STATUS_TEST_TERMINAL_FEATURE => { if args.len() != 1 { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, c.to_wstr(), @@ -579,7 +583,7 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B ref s => { if !args.is_empty() { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_ARG_COUNT2, cmd, s.to_wstr(), diff --git a/src/builtins/string.rs b/src/builtins/string.rs index c8948cfea..d1ab84b14 100644 --- a/src/builtins/string.rs +++ b/src/builtins/string.rs @@ -29,7 +29,7 @@ macro_rules! string_error { $(,)? ) => { $streams.err.append(L!("string ")); - $streams.err.append(&wgettext_fmt!($string, $($args),*)); + $streams.err.appendln(&wgettext_fmt!($string, $($args),*)); }; } use string_error; @@ -183,16 +183,16 @@ fn print_error(&self, args: &[&wstr], streams: &mut IoStreams) { Compile(pattern, e) => { string_error!( streams, - "%s: Regular expression compile error: %s\n", + BUILTIN_ERR_REGEX_COMPILE, cmd, &WString::from(e.error_message()) ); - string_error!(streams, "%s: %s\n", cmd, pattern); + string_error!(streams, "%s: %s", cmd, pattern); // TODO: This is misaligned if `pattern` contains characters which are not exactly 1 // terminal cell wide. let mut marker = " ".repeat(e.offset().unwrap_or(0).saturating_sub(1)); marker.push('^'); - string_error!(streams, "%s: %s\n", cmd, marker); + string_error!(streams, "%s: %s", cmd, marker); } InvalidCaptureGroupName(name) => { streams.err.append(&wgettext_fmt!( @@ -205,7 +205,7 @@ fn print_error(&self, args: &[&wstr], streams: &mut IoStreams) { streams, "%s", sprintf!( - "%s: Invalid escape sequence in pattern \"%s\"\n", + "%s: Invalid escape sequence in pattern \"%s\"", cmd, pattern ) @@ -320,7 +320,7 @@ pub fn string(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B if argc <= 1 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_MISSING_SUBCMD, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING_SUBCMD, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); } @@ -369,7 +369,7 @@ pub fn string(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B _ => { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, args[0])); + .appendln(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, args[0])); builtin_print_error_trailer(parser, streams.err, cmd); Err(STATUS_INVALID_ARGS) } diff --git a/src/builtins/string/match.rs b/src/builtins/string/match.rs index bd2645752..7d582b378 100644 --- a/src/builtins/string/match.rs +++ b/src/builtins/string/match.rs @@ -95,7 +95,7 @@ fn handle( let cmd = args[0]; if self.entire && self.index { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, wgettext!("--entire and --index are mutually exclusive") @@ -104,7 +104,7 @@ fn handle( } if self.invert_match && self.groups_only { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, wgettext!("--invert and --groups-only are mutually exclusive") @@ -113,7 +113,7 @@ fn handle( } if self.entire && self.groups_only { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, wgettext!("--entire and --groups-only are mutually exclusive") diff --git a/src/builtins/string/repeat.rs b/src/builtins/string/repeat.rs index 3db3f0cd4..be92766b7 100644 --- a/src/builtins/string/repeat.rs +++ b/src/builtins/string/repeat.rs @@ -59,7 +59,7 @@ fn take_args( *optind += 1; let Ok(Ok(count)) = fish_wcstol(arg).map(|count| count.try_into()) else { - string_error!(streams, "%s: Invalid count value '%s'\n", name, arg); + string_error!(streams, "%s: Invalid count value '%s'", name, arg); return Err(STATUS_INVALID_ARGS); }; diff --git a/src/builtins/string/replace.rs b/src/builtins/string/replace.rs index 866f01c01..5bf4bef72 100644 --- a/src/builtins/string/replace.rs +++ b/src/builtins/string/replace.rs @@ -104,7 +104,7 @@ fn handle( Err(e) => { string_error!( streams, - "%s: Regular expression substitute error: %s\n", + "%s: Regular expression substitute error: %s", cmd, e.error_message() ); diff --git a/src/builtins/string/split.rs b/src/builtins/string/split.rs index 093d940a1..4d140093f 100644 --- a/src/builtins/string/split.rs +++ b/src/builtins/string/split.rs @@ -165,7 +165,7 @@ fn handle( args: &[&'args wstr], ) -> Result<(), ErrorCode> { if self.fields.is_empty() && self.allow_empty { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, args[0], wgettext!("--allow-empty is only valid with --fields") diff --git a/src/builtins/string/sub.rs b/src/builtins/string/sub.rs index 4f9c29901..e81002a5a 100644 --- a/src/builtins/string/sub.rs +++ b/src/builtins/string/sub.rs @@ -56,7 +56,7 @@ fn handle( ) -> Result<(), ErrorCode> { let cmd = args[0]; if self.length.is_some() && self.end.is_some() { - streams.err.append(&wgettext_fmt!( + streams.err.appendln(&wgettext_fmt!( BUILTIN_ERR_COMBO2, cmd, wgettext!("--end and --length are mutually exclusive") diff --git a/src/builtins/type.rs b/src/builtins/type.rs index 0e9b43c09..ebc1cf9b3 100644 --- a/src/builtins/type.rs +++ b/src/builtins/type.rs @@ -79,7 +79,7 @@ pub fn r#type(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> B } if opts.query as i64 + opts.path as i64 + opts.get_type as i64 + opts.force_path as i64 > 1 { - streams.err.append(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); + streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd)); return Err(STATUS_INVALID_ARGS); } diff --git a/src/builtins/ulimit.rs b/src/builtins/ulimit.rs index 2639b5430..a1640ef71 100644 --- a/src/builtins/ulimit.rs +++ b/src/builtins/ulimit.rs @@ -9,6 +9,10 @@ use super::prelude::*; +localizable_consts! { + BUILTIN_ULIMIT_UNLIMITED "unlimited" +} + pub mod limits { /// Constants that exist everywhere (except perhaps Cygwin). /// Note these are uints on Linux but ints everywhere else - we use -1 as a sentinel @@ -106,16 +110,16 @@ fn setrlimit(resource: c_uint, rlim_cur: rlim_t, rlim_max: rlim_t) -> Result<(), /// Print the value of the specified resource limit. fn print(resource: c_uint, hard: bool, streams: &mut IoStreams) { let Some(l) = get(resource, hard) else { - streams.out.append(wgettext!("error\n")); + streams.out.appendln(wgettext!("error")); return; }; if l == RLIM_INFINITY { - streams.out.append(wgettext!("unlimited\n")); + streams.out.appendln(wgettext!(BUILTIN_ULIMIT_UNLIMITED)); } else { streams .out - .append(&wgettext_fmt!("%u\n", l / get_multiplier(resource))); + .appendln(&sprintf!("%u", l / get_multiplier(resource))); } } @@ -148,12 +152,11 @@ fn print_all(hard: bool, streams: &mut IoStreams) { )); if l == RLIM_INFINITY { - streams.out.append(wgettext!("unlimited\n")); + streams.out.appendln(wgettext!(BUILTIN_ULIMIT_UNLIMITED)); } else { - streams.out.append(&wgettext_fmt!( - "%u\n", - l / get_multiplier(resource.resource) - )); + streams + .out + .appendln(&sprintf!("%u", l / get_multiplier(resource.resource))); } } } @@ -194,8 +197,8 @@ fn set_limit( if let Err(errno) = setrlimit(resource, rlim_cur, rlim_max) { if errno == Errno::EPERM { - streams.err.append(&wgettext_fmt!( - "ulimit: Permission denied when changing resource of type '%s'\n", + streams.err.appendln(&wgettext_fmt!( + "ulimit: Permission denied when changing resource of type '%s'", get_desc(resource) )); } else { @@ -331,8 +334,8 @@ pub fn ulimit(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B } if opts.what == -1 { - streams.err.append(&wgettext_fmt!( - "%s: Resource limit not available on this operating system\n", + streams.err.appendln(&wgettext_fmt!( + "%s: Resource limit not available on this operating system", cmd )); @@ -350,7 +353,7 @@ pub fn ulimit(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B } else if arg_count != 1 { streams .err - .append(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); + .appendln(&wgettext_fmt!(BUILTIN_ERR_TOO_MANY_ARGUMENTS, cmd)); builtin_print_error_trailer(parser, streams.err, cmd); return Err(STATUS_INVALID_ARGS); @@ -363,10 +366,13 @@ pub fn ulimit(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B hard = true; soft = true; } + localizable_consts! { + BUILTIN_ULIMIT_INVALID "%s: Invalid limit '%s'" + } let new_limit: rlim_t = if w.wopt_index == argc { - streams.err.append(&wgettext_fmt!( - "%s: New limit cannot be an empty string\n", + streams.err.appendln(&wgettext_fmt!( + "%s: New limit cannot be an empty string", cmd )); builtin_print_error_trailer(parser, streams.err, cmd); @@ -385,8 +391,8 @@ pub fn ulimit(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B } } else if let Ok(limit) = fish_wcstol(w.argv[w.wopt_index]) { let Some(x) = get_multiplier(what).checked_mul(limit as rlim_t) else { - streams.err.append(&wgettext_fmt!( - "%s: Invalid limit '%s'\n", + streams.err.appendln(&wgettext_fmt!( + BUILTIN_ULIMIT_INVALID, cmd, w.argv[w.wopt_index] )); @@ -395,8 +401,8 @@ pub fn ulimit(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B }; x } else { - streams.err.append(&wgettext_fmt!( - "%s: Invalid limit '%s'\n", + streams.err.appendln(&wgettext_fmt!( + BUILTIN_ULIMIT_INVALID, cmd, w.argv[w.wopt_index] )); diff --git a/src/parse_execution.rs b/src/parse_execution.rs index 56b4e3807..1ed9090b3 100644 --- a/src/parse_execution.rs +++ b/src/parse_execution.rs @@ -117,12 +117,14 @@ macro_rules! report_error_formatted { } pub fn varname_error(command: &wstr, bad_name: &wstr) -> WString { - wgettext_fmt!( + let mut e = wgettext_fmt!( BUILTIN_ERR_VARNAME, command, bad_name, help_section!("language#shell-variable-and-function-names") - ) + ); + e.push('\n'); + e } impl<'a> ExecutionContext<'a> { diff --git a/src/parser.rs b/src/parser.rs index fbd7ca05d..21ee8a141 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -1406,7 +1406,8 @@ fn append_block_description_to_stack_trace( print_source_location = true; } BlockType::subst => { - trace.push_utfstr(&wgettext!("in command substitution\n")); + trace.push_utfstr(&wgettext!("in command substitution")); + trace.push('\n'); print_source_location = true; } BlockType::source => { @@ -1415,9 +1416,10 @@ fn append_block_description_to_stack_trace( }; let source_dest = file; trace.push_utfstr(&wgettext_fmt!( - "from sourcing file %s\n", + "from sourcing file %s", &user_presentable_path(source_dest, parser.vars()) )); + trace.push('\n'); print_source_location = true; } BlockType::event => { @@ -1425,7 +1427,8 @@ fn append_block_description_to_stack_trace( unreachable!() }; let description = event::get_desc(parser, event); - trace.push_utfstr(&wgettext_fmt!("in event handler: %s\n", &description)); + trace.push_utfstr(&wgettext_fmt!("in event handler: %s", &description)); + trace.push('\n'); print_source_location = true; } BlockType::top diff --git a/src/proc.rs b/src/proc.rs index 2a734c13e..e9af367c9 100644 --- a/src/proc.rs +++ b/src/proc.rs @@ -988,8 +988,8 @@ pub fn jobs_requiring_warning_on_exit(parser: &Parser) -> JobList { /// Print the exit warning for the given jobs, which should have been obtained via /// jobs_requiring_warning_on_exit(). pub fn print_exit_warning_for_jobs(jobs: &JobList) { - printf!("%s", wgettext!("There are still jobs active:\n")); - printf!("%s", wgettext!("\n PID Command\n")); + printf!("%s\n", wgettext!("There are still jobs active:")); + printf!("\n%s\n", wgettext!(" PID Command")); for j in jobs { // Unwrap safety: we can't have a background job that doesn't have an external process and // external processes always have a pid set. @@ -999,14 +999,13 @@ pub fn print_exit_warning_for_jobs(jobs: &JobList) { j.command() ); } - printf!("\n"); printf!( - "%s", - wgettext!("A second attempt to exit will terminate them.\n"), + "\n%s\n", + wgettext!("A second attempt to exit will terminate them."), ); printf!( - "%s", - wgettext!("Use 'disown PID' to remove jobs from the list without terminating them.\n"), + "%s\n", + wgettext!("Use 'disown PID' to remove jobs from the list without terminating them."), ); reader_schedule_prompt_repaint(); }