fpspreadsheet: Workbook.AddWorksheet creates a "duplicate workwheet" error message if new worksheet already exists. Update German translation.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6553 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-07-09 17:49:54 +00:00
parent 4cdb95d86c
commit 25b83a1948
7 changed files with 52 additions and 28 deletions

View File

@ -8,7 +8,7 @@ msgstr ""
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.4\n"
"X-Generator: Poedit 2.0.6\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: de\n"
@ -26,7 +26,7 @@ msgstr "Verwendung eines Dezimaltrennzeichens in \"%s\" wird angenommen."
#: fpsstrings.rsbadquotes
msgid "Unterminated string"
msgstr "Begrenzungszeichen des Strings fehlt."
msgstr "Begrenzungszeichen des Strings fehlt.."
#: fpsstrings.rsblack
msgid "black"
@ -58,7 +58,7 @@ msgstr "Spalten-Stil nicht gefunden."
#: fpsstrings.rscommaexpected
msgid "Expected comma (,) at position %d, but got %s"
msgstr "Komma erwartet an Position %d, aber %s gefunden."
msgstr "Komma erwartet an Position %d, aber %s gefunden"
#: fpsstrings.rscyan
msgid "cyan"
@ -92,6 +92,10 @@ msgstr "Der Druckbereich \"%s\" benötigt ein anderes Arbeitsblatt."
msgid "An identifier with name \"%s\" already exists."
msgstr "Ein Bezeichner mit dem Namen \"%s\" existiert bereits."
#: fpsstrings.rsduplicateworksheetname
msgid "Duplicate worksheet \"%s\"."
msgstr "Doppelter Arbeitsblattname \"%s\"."
#: fpsstrings.rsemptyhyperlink
msgid "The hyperlink is not specified."
msgstr "Der Hyperlink ist nicht angegeben."
@ -154,7 +158,7 @@ msgstr "Kopfzeile"
#: fpsstrings.rsillegalodscellrange
msgid "Illegal structure of an OpenDocument cell range."
msgstr ""
msgstr "Ungültiger Aufbau einen OpenDocument-Zellbereichs."
#: fpsstrings.rsimageformatnotsupported
msgid "Image format not supported."
@ -182,7 +186,7 @@ msgstr "Ungültige(s) Zeichen im Zellkommentar \"%s\"."
#: fpsstrings.rsinvaliddatetimeformat
msgid "Trying to use an incompatible date/time format."
msgstr "Versuch ein inkompabibles Datum/Zeit-Format zu verwenden"
msgstr "Versuch ein inkompabibles Datum/Zeit-Format zu verwenden."
#: fpsstrings.rsinvalidextension
msgid "Attempting to save a spreadsheet by extension, but the extension %s is not valid."
@ -190,7 +194,7 @@ msgstr "Versuch, das Format ein Arbeitsbuches anhand der Dateiendung zu erkennen
#: fpsstrings.rsinvalidfloat
msgid "%s is not a valid floating-point value"
msgstr "%s ist kein gültiger Gleitkomma-Wert."
msgstr "%s ist kein gültiger Gleitkomma-Wert"
#: fpsstrings.rsinvalidfontindex
msgid "Invalid font index"
@ -206,11 +210,11 @@ msgstr "Unerwartetes Zeichen in Zahl: %s"
#: fpsstrings.rsinvalidnumberformat
msgid "Trying to use an incompatible number format."
msgstr "Versuch ein inkompatibles Zahlenformat zu verwenden"
msgstr "Versuch ein inkompatibles Zahlenformat zu verwenden."
#: fpsstrings.rsinvalidresultcharacter
msgid "\"%s\" is not a valid return type indicator"
msgstr "\"%s\" ist kein gültiger Indikator für einen Ergebnistyp."
msgstr "\"%s\" ist kein gültiger Indikator für einen Ergebnistyp"
#: fpsstrings.rsinvalidresulttype
msgid "Invalid result type: %s"
@ -218,7 +222,7 @@ msgstr "Ungültiger Ergebnistyp: %s"
#: fpsstrings.rsinvalidspreadsheetfile
msgid "\"%s\" is not a valid spreadsheet file"
msgstr "\"%s\" ist keine gültige Spreadsheet-Datei."
msgstr "\"%s\" ist keine gültige Spreadsheet-Datei"
#: fpsstrings.rsinvalidworksheetname
msgid "\"%s\" is not a valid worksheet name."
@ -226,7 +230,7 @@ msgstr "\"%s\" ist kein gültiger Name für ein Arbeitsblatt."
#: fpsstrings.rsleftbracketexpected
msgid "Expected left bracket at position %d, but got %s"
msgstr "Linke Klammer erwartet an Position %d, aber %s gefunden."
msgstr "Linke Klammer erwartet an Position %d, aber %s gefunden"
#: fpsstrings.rslocalfilehyperlinkabs
msgid "The hyperlink \"%s\" points to a local file. In case of an absolute path the protocol \"file:\" must be specified."
@ -282,11 +286,11 @@ msgstr "Der Hyperlink \"%s\" ist keine gültiger URI."
#: fpsstrings.rsnovalidnumberformatstring
msgid "No valid number format string."
msgstr "Kein gültiges Zahlenformat"
msgstr "Kein gültiges Zahlenformat."
#: fpsstrings.rsnovariable
msgid "Identifier %s is not a variable"
msgstr "Der Bezeichnis %s ist keine Variable."
msgstr "Der Bezeichner %s ist keine Variable"
#: fpsstrings.rsodshyperlinksoftextcellsonly
msgid "Cell %s: OpenDocument supports hyperlinks for text cells only."
@ -330,20 +334,19 @@ msgstr "purpur"
#: fpsstrings.rsreadernotfound
msgid "Reader not found for file \"%s\""
msgstr "Lese-Prozedur nicht gefunden für Datei \"%s\"."
msgstr "Lese-Prozedur nicht gefunden für Datei \"%s\""
#: fpsstrings.rsred
msgid "red"
msgstr "rot"
#: fpsstrings.rsrightbracketexpected
#, fuzzy,badformat
msgid "Expected right bracket at position %d, but got %s"
msgstr "Rechte Klammer erwartet an Position, aber %s gefunden."
msgstr "Rechte Klammer erwartet an Position %d, aber %s gefunden"
#: fpsstrings.rsrightsquarebracketexpected
msgid "Expected right square bracket at positon %d, but got %s"
msgstr ""
msgstr "Rechte eckige Klammer erwartet an Position %d, aber %s wurde gefunden"
#: fpsstrings.rsrowstylenotfound
msgid "Row style not found."
@ -391,7 +394,7 @@ msgstr "Interner Fehler: Unbekannter Vergleich"
#: fpsstrings.rsunknowndatatype
msgid "Unknown data type."
msgstr "Unbekannter Datentyp"
msgstr "Unbekannter Datentyp."
#: fpsstrings.rsunknowndelimiter
msgid "Unknown delimiter character: \"%s\""
@ -399,7 +402,7 @@ msgstr "Unbekanntes Trennzeichen: \"%s\""
#: fpsstrings.rsunknownerrortype
msgid "Unknown error type."
msgstr "Unbekannter Fehler-Typ"
msgstr "Unbekannter Fehler-Typ."
#: fpsstrings.rsunknownidentifier
msgid "Unknown identifier: %s"
@ -423,7 +426,7 @@ msgstr "Schlecht terminierter Ausdruck. Symbol gefunden an Position %d : %s"
#: fpsstrings.rsutf8textexpectedbutansifoundincell
msgid "Expected UTF8 text, but probably ANSI text found in cell %s."
msgstr "In Zelle %s UTF8-Text erwartet, aber wahrscheinlich ANSI-Text gefunden"
msgstr "In Zelle %s UTF8-Text erwartet, aber wahrscheinlich ANSI-Text gefunden."
#: fpsstrings.rswhite
msgid "white"
@ -431,7 +434,7 @@ msgstr "weiß"
#: fpsstrings.rsworksheetnotfound
msgid "Worksheet \"%s\" not found."
msgstr "Arbeitsblatt \"%s\" nicht gefunden"
msgstr "Arbeitsblatt \"%s\" nicht gefunden."
#: fpsstrings.rsworksheetnotfound1
msgid "Worksheet not found."
@ -444,4 +447,3 @@ msgstr "Die Datei kann nicht geschrieben werden, weil der Name des Arbeitsblatte
#: fpsstrings.rsyellow
msgid "yellow"
msgstr "gelb"

View File

@ -81,6 +81,10 @@ msgstr ""
msgid "An identifier with name \"%s\" already exists."
msgstr ""
#: fpsstrings.rsduplicateworksheetname
msgid "Duplicate worksheet \"%s\"."
msgstr ""
#: fpsstrings.rsemptyhyperlink
msgid "The hyperlink is not specified."
msgstr ""

View File

@ -91,6 +91,10 @@ msgstr "A(z) \"%s\" nyomtatási tartományhoz szükség van egy másik munkalapr
msgid "An identifier with name \"%s\" already exists."
msgstr "Már létezik egy azonosító \"%s\" névvel."
#: fpsstrings.rsduplicateworksheetname
msgid "Duplicate worksheet \"%s\"."
msgstr ""
#: fpsstrings.rsemptyhyperlink
msgid "The hyperlink is not specified."
msgstr "A hiperhivatkozás nincs megadva."

View File

@ -81,6 +81,10 @@ msgstr ""
msgid "An identifier with name \"%s\" already exists."
msgstr ""
#: fpsstrings.rsduplicateworksheetname
msgid "Duplicate worksheet \"%s\"."
msgstr ""
#: fpsstrings.rsemptyhyperlink
msgid "The hyperlink is not specified."
msgstr ""

View File

@ -81,6 +81,10 @@ msgstr "Диапазон печати \"%s\" требует раличных т
msgid "An identifier with name \"%s\" already exists."
msgstr "Переменная с именем \"%s\" уже существует."
#: fpsstrings.rsduplicateworksheetname
msgid "Duplicate worksheet \"%s\"."
msgstr ""
#: fpsstrings.rsemptyhyperlink
msgid "The hyperlink is not specified."
msgstr "Гиперссылка не указана."

View File

@ -8743,8 +8743,12 @@ end;
-------------------------------------------------------------------------------}
function TsWorkbook.AddWorksheet(AName: string;
ReplaceDuplicateName: Boolean = false): TsWorksheet;
var
msg: String;
begin
// Check worksheet name
if not ReplaceDuplicateName and (GetWorksheetByName(AName) <> nil) then
raise EFPSpreadsheet.CreateFmt(rsDuplicateWorksheetName, [AName]);
if not ValidWorksheetName(AName, ReplaceDuplicateName) then
raise EFPSpreadsheet.CreateFmt(rsInvalidWorksheetName, [AName]);
@ -9094,11 +9098,12 @@ end;
function TsWorkbook.ValidWorksheetName(var AName: String;
ReplaceDuplicateName: Boolean = false): Boolean;
// see: http://stackoverflow.com/questions/451452/valid-characters-for-excel-sheet-names
const
INVALID_CHARS: set of char = ['[', ']', ':', '*', '?', '/', '\'];
var
INVALID_CHARS: array [0..6] of char = ('[', ']', ':', '*', '?', '/', '\');
var
i: Integer;
unique: Boolean;
ch: char;
i: Integer;
begin
Result := false;
@ -9113,8 +9118,8 @@ begin
exit;
}
// Name must not contain any of the INVALID_CHARS
for i:=0 to High(INVALID_CHARS) do
if UTF8Pos(INVALID_CHARS[i], AName) > 0 then
for ch in AName do
if ch in INVALID_CHARS then
exit;
// Name must be unique

View File

@ -167,6 +167,7 @@ resourcestring
// Worksheets
rsDefaultSheetName = 'Sheet%d';
rsDuplicateWorksheetName = 'Duplicate worksheet "%s".';
rsInvalidWorksheetName = '"%s" is not a valid worksheet name.';
rsWorksheetNotFound = 'Worksheet "%s" not found.';
rsWorksheetNotFound1 = 'Worksheet not found.';