diff --git a/.gitattributes b/.gitattributes index 7cdb9195b4..a73d3d1f0b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3776,6 +3776,7 @@ tools/apiwizz/apiwizard.pp svneol=native#text/pascal tools/apiwizz/apiwizz.lpi svneol=native#text/plain tools/apiwizz/apiwizz.pp svneol=native#text/pascal tools/check_ide_libs.sh -text svneol=native#application/x-sh +tools/compile_all.sh svneol=native#text/plain tools/convert_po_file_to_utf-8.sh svneol=native#text/plain tools/copy_po_files_to_lazarus_sources.sh -text svneol=native#application/x-sh tools/delete_non_svn_files.pl svneol=native#text/plain diff --git a/components/codetools/codetoolmanager.pas b/components/codetools/codetoolmanager.pas index c2bc2ddbb0..fc0abc0525 100644 --- a/components/codetools/codetoolmanager.pas +++ b/components/codetools/codetoolmanager.pas @@ -910,9 +910,9 @@ begin Options.InitWithEnvironmentVariables; // apply defaults if Options.FPCSrcDir='' then - Options.FPCSrcDir:=ExpandFileName('~/freepascal/fpc'); + Options.FPCSrcDir:=ExpandFileNameUTF8('~/freepascal/fpc'); if Options.LazarusSrcDir='' then - Options.LazarusSrcDir:=ExpandFileName('~/pascal/lazarus'); + Options.LazarusSrcDir:=ExpandFileNameUTF8('~/pascal/lazarus'); DebugLn(['TCodeToolManager.SimpleInit PP=',Options.FPCPath,' FPCDIR=',Options.FPCSrcDir,' LAZARUSDIR=',Options.LazarusSrcDir]); // init the codetools if not Options.UnitLinkListValid then diff --git a/components/codetools/codetoolsconfig.pas b/components/codetools/codetoolsconfig.pas index 3d0b80885b..3d45deaf5a 100644 --- a/components/codetools/codetoolsconfig.pas +++ b/components/codetools/codetoolsconfig.pas @@ -138,7 +138,7 @@ procedure TCodeToolsOptions.SetFPCPath(const AValue: string); var NewValue: String; begin - NewValue:=ExpandFileName(AValue); + NewValue:=ExpandFileNameUTF8(AValue); if FFPCPath=NewValue then exit; FFPCPath:=NewValue; FUnitLinkListValid:=false; @@ -149,7 +149,7 @@ procedure TCodeToolsOptions.SetFPCSrcDir(const AValue: string); var NewValue: String; begin - NewValue:=ExpandFileName(AValue); + NewValue:=ExpandFileNameUTF8(AValue); if FFPCSrcDir=NewValue then exit; FFPCSrcDir:=NewValue; FUnitLinkListValid:=false; @@ -168,7 +168,7 @@ procedure TCodeToolsOptions.SetLazarusSrcDir(const AValue: string); var NewValue: String; begin - NewValue:=ExpandFileName(AValue); + NewValue:=ExpandFileNameUTF8(AValue); if FLazarusSrcDir=NewValue then exit; FLazarusSrcDir:=NewValue; Modified:=true; diff --git a/components/codetools/definetemplates.pas b/components/codetools/definetemplates.pas index 21d612c4ab..6f3ac82ac7 100644 --- a/components/codetools/definetemplates.pas +++ b/components/codetools/definetemplates.pas @@ -2935,7 +2935,7 @@ var Inc(CurPos, 17); NewPath:=copy(Line,CurPos,len); if not FilenameIsAbsolute(NewPath) then - NewPath:=ExpandFileName(NewPath); + NewPath:=ExpandFileNameUTF8(NewPath); {$IFDEF VerboseFPCSrcScan} DebugLn('Using unit path: "',NewPath,'"'); {$ENDIF} diff --git a/components/codetools/examples/fixfilenames.pas b/components/codetools/examples/fixfilenames.pas index c4035a4608..d6598d08c5 100644 --- a/components/codetools/examples/fixfilenames.pas +++ b/components/codetools/examples/fixfilenames.pas @@ -51,8 +51,8 @@ begin // setup your paths Options.FPCPath:='/usr/bin/ppc386'; - Options.FPCSrcDir:=ExpandFileName('~/freepascal/fpc'); - Options.LazarusSrcDir:=ExpandFileName('~/pascal/lazarus'); + Options.FPCSrcDir:=ExpandFileNameUTF8('~/freepascal/fpc'); + Options.LazarusSrcDir:=ExpandFileNameUTF8('~/pascal/lazarus'); // optional: ProjectDir and TestPascalFile exists only to easily test some // things. @@ -68,7 +68,7 @@ begin Options.SaveToFile(ConfigFilename); // load the example unit - Filename:=ExpandFileName('scanexamples/brokenfilenames.pas'); + Filename:=ExpandFileNameUTF8('scanexamples/brokenfilenames.pas'); Code:=CodeToolBoss.LoadFile(Filename,false,false); if Code=nil then raise Exception.Create('unable to read '+Filename); diff --git a/components/codetools/examples/listinterfaceclasses.pas b/components/codetools/examples/listinterfaceclasses.pas index 8b0d6aae7b..75f7a206ef 100644 --- a/components/codetools/examples/listinterfaceclasses.pas +++ b/components/codetools/examples/listinterfaceclasses.pas @@ -37,7 +37,7 @@ var CurClassName: String; Node: TCodeTreeNode; begin - ExpandedFilename:=ExpandFileName('scanexamples/simpleunit1.pas'); + ExpandedFilename:=ExpandFileNameUTF8('scanexamples/simpleunit1.pas'); CodeBuf:=CodeToolBoss.LoadFile(ExpandedFilename,true,false); if CodeBuf=nil then raise Exception.Create('failed loading '+ExpandedFilename); diff --git a/components/codetools/examples/methodjumping.pas b/components/codetools/examples/methodjumping.pas index 2fcc8c8935..aa658266bc 100644 --- a/components/codetools/examples/methodjumping.pas +++ b/components/codetools/examples/methodjumping.pas @@ -37,7 +37,7 @@ var NewX, NewY, NewTopLine: integer; RevertableJump: boolean; begin - ExpandedFilename:=ExpandFileName('scanexamples/tgeneric2.pas'); + ExpandedFilename:=ExpandFileNameUTF8('scanexamples/tgeneric2.pas'); CodeBuf:=CodeToolBoss.LoadFile(ExpandedFilename,true,false); if CodeBuf=nil then raise Exception.Create('failed loading '+ExpandedFilename); diff --git a/components/codetools/examples/setincludepath.pas b/components/codetools/examples/setincludepath.pas index e48bb4f56a..17f1cc8aab 100644 --- a/components/codetools/examples/setincludepath.pas +++ b/components/codetools/examples/setincludepath.pas @@ -37,7 +37,7 @@ var begin // create a template for the current directory // all child nodes of this templates are only valid for this directory. - Directory:=ExpandFileName(GetCurrentDirUTF8); + Directory:=ExpandFileNameUTF8(GetCurrentDirUTF8); DirectoryTemplate:=TDefineTemplate.Create('Current working directory', 'Example template for current working directory','',Directory,da_Directory); diff --git a/components/codetools/fileprocs.pas b/components/codetools/fileprocs.pas index 58daf0fb3a..967ff16d90 100644 --- a/components/codetools/fileprocs.pas +++ b/components/codetools/fileprocs.pas @@ -314,6 +314,7 @@ function SysToUTF8(const s: string): string;// as AnsiToUTF8 but more independen function FileExistsUTF8(const Filename: string): boolean; function FileAgeUTF8(const FileName: string): Longint; function DirectoryExistsUTF8(const Directory: string): Boolean; +function ExpandFileNameUTF8(const FileName: string): string; function FindFirstUTF8(const Path: string; Attr: Longint; out Rslt: TSearchRec): Longint; function FindNextUTF8(var Rslt: TSearchRec): Longint; procedure FindCloseUTF8(var F: TSearchrec); @@ -398,9 +399,17 @@ begin FNeedRTLAnsiValid:=true; end; +function IsASCII(const s: string): boolean; inline; +var + i: Integer; +begin + for i:=1 to length(s) do if ord(s[i])>127 then exit(false); + Result:=true; +end; + function UTF8ToSys(const s: string): string; begin - if NeedRTLAnsi then + if NeedRTLAnsi and (not IsASCII(s)) then Result:=UTF8ToAnsi(s) else Result:=s; @@ -408,7 +417,7 @@ end; function SysToUTF8(const s: string): string; begin - if NeedRTLAnsi then + if NeedRTLAnsi and (not IsASCII(s)) then Result:=AnsiToUTF8(s) else Result:=s; @@ -429,6 +438,11 @@ begin Result:=SysUtils.DirectoryExists(UTF8ToSys(Directory)); end; +function ExpandFileNameUTF8(const FileName: string): string; +begin + Result:=SysToUTF8(SysUtils.ExpandFileName(UTF8ToSys(Filename))); +end; + function FindFirstUTF8(const Path: string; Attr: Longint; out Rslt: TSearchRec ): Longint; begin @@ -573,7 +587,7 @@ var CurPath: String; CurName: String; begin - Result:=ExpandFilename(Path); + Result:=ExpandFileNameUTF8(Path); CurPath:=AppendPathDelim(ExtractFilePath(Result)); CurName:=Prefix+ExtractFileNameOnly(Result); i:=1; @@ -1086,7 +1100,7 @@ end; ------------------------------------------------------------------------------} function CleanAndExpandFilename(const Filename: string): string; begin - Result:=ExpandFilename(TrimFileName(Filename)); + Result:=ExpandFileNameUTF8(TrimFileName(Filename)); end; {------------------------------------------------------------------------------ @@ -1365,7 +1379,7 @@ var p, StartPos, l: integer; CurPath, Base: string; begin - Base:=ExpandFilename(AppendPathDelim(BasePath)); + Base:=ExpandFileNameUTF8(AppendPathDelim(BasePath)); // search in current directory Result:=SearchPascalUnitInDir(AnUnitName,Base,SearchCase); if Result<>'' then exit; @@ -1379,7 +1393,7 @@ begin if CurPath<>'' then begin if not FilenameIsAbsolute(CurPath) then CurPath:=Base+CurPath; - CurPath:=ExpandFilename(AppendPathDelim(CurPath)); + CurPath:=ExpandFileNameUTF8(AppendPathDelim(CurPath)); Result:=SearchPascalUnitInDir(AnUnitName,CurPath,SearchCase); if Result<>'' then exit; end; @@ -1455,7 +1469,7 @@ var p, StartPos, l: integer; CurPath, Base: string; begin - Base:=ExpandFilename(AppendPathDelim(BasePath)); + Base:=ExpandFileNameUTF8(AppendPathDelim(BasePath)); // search in current directory if not FilenameIsAbsolute(Base) then Base:=''; @@ -1473,7 +1487,7 @@ begin if CurPath<>'' then begin if not FilenameIsAbsolute(CurPath) then CurPath:=Base+CurPath; - CurPath:=ExpandFilename(AppendPathDelim(CurPath)); + CurPath:=ExpandFileNameUTF8(AppendPathDelim(CurPath)); if FilenameIsAbsolute(CurPath) then begin Result:=SearchPascalFileInDir(ShortFilename,CurPath,SearchCase); if Result<>'' then exit; @@ -1751,7 +1765,7 @@ begin if FilenameIsAbsolute(Filename) then begin if SearchCase=ctsfcDefault then begin if FileExistsCached(Filename) then begin - Result:=ExpandFilename(Filename); + Result:=ExpandFileNameUTF8(Filename); end else begin Result:=''; end; @@ -1760,7 +1774,7 @@ begin ExtractFilePath(BasePath),'',';',SearchCase); exit; end; - Base:=ExpandFilename(AppendPathDelim(BasePath)); + Base:=ExpandFileNameUTF8(AppendPathDelim(BasePath)); // search in current directory Result:=SearchFileInDir(Filename,Base,SearchCase); if Result<>'' then exit; @@ -1774,7 +1788,7 @@ begin if CurPath<>'' then begin if not FilenameIsAbsolute(CurPath) then CurPath:=Base+CurPath; - CurPath:=ExpandFilename(AppendPathDelim(CurPath)); + CurPath:=ExpandFileNameUTF8(AppendPathDelim(CurPath)); Result:=SearchFileInDir(Filename,CurPath,SearchCase); if Result<>'' then exit; end; diff --git a/components/codetools/languages/codetoolsstrconsts.lt.po b/components/codetools/languages/codetoolsstrconsts.lt.po index 6e45c83a95..990937e662 100644 --- a/components/codetools/languages/codetoolsstrconsts.lt.po +++ b/components/codetools/languages/codetoolsstrconsts.lt.po @@ -10,775 +10,775 @@ msgstr "" "MIME-Version: 1.0\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: codetoolsstrconsts:ctsothercompilerdefines -msgid "%s Compiler Defines" -msgstr "%s kompiliatoriaus apibrėžtys" - -#: codetoolsstrconsts:ctsnameddirectory -msgid "%s Directory" -msgstr "%s aplankas" - -#: codetoolsstrconsts:ctsnamedproject -msgid "%s Project" -msgstr "%s projektas" - -#: codetoolsstrconsts:ctsstrexpectedbutatomfound -msgid "%s expected, but %s found" -msgstr "%s tikėtasi, tačiau rasta %s" - -#: codetoolsstrconsts:ctsfilehascircularsymlink -msgid "%s has a circular symbolic link" -msgstr "%s turi uždarą simbolinį saitą" - -#: codetoolsstrconsts:ctsfileisnotexecutable -msgid "%s is not executable" -msgstr "%s nėra vykdomasis failas" - -#: codetoolsstrconsts:ctsawithoutb -msgid "%s without %s" -msgstr "%s be %s" - -#: codetoolsstrconsts:ctsunknownmainfilename -msgid "(unknown mainfilename)" -msgstr "(nežinomas pagrindinio failo pavadinimas)" - -#: codetoolsstrconsts:ctsunknownsubdescriptor -msgid "(unknown subdescriptor %s)" -msgstr "(nežinomas vidinis deskriptorius %s)" - -#: codetoolsstrconsts:ctspointhintprocstartat -msgid ". Hint: proc start at " -msgstr ". Užuomina: procedūros pradžia ties " - -#: codetoolsstrconsts:ctspointstartat -msgid ". start at " -msgstr ". pradžia ties " - -#: codetoolsstrconsts:ctssemicolonafterpropspecmissing -msgid "; expected after \"%s\" property specifier, but %s found" -msgstr "; tikėtasi po „%s“ savybės specifikatoriaus, tačiau rasta %s" - -#: codetoolsstrconsts:ctsanonymdefinitionsarenotallowed -msgid "Anonymous %s definitions are not allowed" -msgstr "Anoniminės %s apibrėžtys nėra leidžiamos" - -#: codetoolsstrconsts:ctscpudirectory -msgid "CPU directory" -msgstr "CPU aplankas" - -#: codetoolsstrconsts:ctsclasssnotfound -msgid "Class %s not found" -msgstr "Klasė %s nerasta" - -#: codetoolsstrconsts:ctscommandlineparameters -msgid "Command line parameters" -msgstr "Komandinės eilutės parametrai" - -#: codetoolsstrconsts:ctscommentendnotfound -msgid "Comment end not found" -msgstr "Nerastas komentaro galas" - -#: codetoolsstrconsts:ctscompiledsrcpath -msgid "Compiled SrcPath" -msgstr "Kompiliuotas „SrcPath“" - -#: codetoolsstrconsts:ctscompiler -msgid "Compiler" -msgstr "Kompiliatorius" - -#: codetoolsstrconsts:ctscomponentsdirectory -msgid "Components Directory" -msgstr "Komponenčių aplankas" - -#: codetoolsstrconsts:ctsconverterdirectory -msgid "Converter Directory" -msgstr "Konverterio aplankas" - -#: codetoolsstrconsts:ctscustomcomponentsdirectory -msgid "Custom Components Directory" -msgstr "Naudotojo komponenčių aplankas" - -#: codetoolsstrconsts:ctsdebuggerdirectory -msgid "Debugger Directory" -msgstr "Derintuvės aplankas" - -#: codetoolsstrconsts:ctsdefaultppc386sourceoperatingsystem -msgid "Default ppc386 source Operating System" -msgstr "Numatyta ppc386 pirminė operacinė sistema" - -#: codetoolsstrconsts:ctsdefaultppc386source2operatingsystem -msgid "Default ppc386 source Operating System 2" -msgstr "Numatyta ppc386 pirminė operacinė sistema 2" - -#: codetoolsstrconsts:ctsdefaultppc386symbol -msgid "Default ppc386 symbol" -msgstr "Numatytas ppc386 simbolis" - -#: codetoolsstrconsts:ctsdefaultppc386targetoperatingsystem -msgid "Default ppc386 target Operating System" -msgstr "Numatyta ppc386 paskirties operacinė sistema" - -#: codetoolsstrconsts:ctsdefaultppc386targetprocessor -msgid "Default ppc386 target processor" -msgstr "Numatytas ppc386 paskirties procesorius" - -#: codetoolsstrconsts:ctsdefine -msgid "Define " -msgstr "Apibrėžti " - -#: codetoolsstrconsts:ctsdefinelcl -msgid "Define LCL" -msgstr "Apibrėžti LCL" - -#: codetoolsstrconsts:ctsdefinelclwidgetset -msgid "Define LCLwidgetset, e.g. LCLgtk" -msgstr "Apibrėžti LCLwidgetset, pvz. „LCLgtk“" - -#: codetoolsstrconsts:ctsdefinemacroname -msgid "Define Macro %s" -msgstr "Apibrėžti makrokomandą %s" - -#: codetoolsstrconsts:ctsdefinemacrocarbon1 -msgid "Define macro carbon1" -msgstr "Apibrėžti makrokomandą „carbon1“" - -#: codetoolsstrconsts:ctsdefinemacrogtk1 -msgid "Define macro gtk1" -msgstr "Apibrėžti makrokomandą gtk1" - -#: codetoolsstrconsts:ctsdefinemacrogtk2 -msgid "Define macro gtk2" -msgstr "Apibrėžti makrokomandą gtk2" - -#: codetoolsstrconsts:ctsdefinemacroqt1 -msgid "Define macro qt1" -msgstr "Apibrėžti makrokomandą qt1" - -#: codetoolsstrconsts:ctsdefinemacrowince1 -msgid "Define macro wince1" -msgstr "Apibrėžti makrokomandą wince1" - -#: codetoolsstrconsts:ctsdefineprocessortype -msgid "Define processor type" -msgstr "Apibrėžti procesoriaus tipą" - -#: codetoolsstrconsts:ctsdefsforlazarussources -msgid "Definitions for the Lazarus Sources" -msgstr "Lazarus pirminio kodo apibrėžtys" - -#: codetoolsstrconsts:ctsdesignerdirectory -msgid "Designer Directory" -msgstr "Konstruktoriaus aplankas" - -#: codetoolsstrconsts:ctsdesignerunitsdirectory -msgid "Designer Units" -msgstr "Konstruktoriaus moduliai" - -#: codetoolsstrconsts:ctsdoceditordirectory -msgid "Doc Editor Directory" -msgstr "Dokumentacijos rengyklės aplankas" - -#: codetoolsstrconsts:ctsendofsourcenotfound -msgid "End of source not found" -msgstr "Nerasta pirminio kodo pabaiga" - -#: codetoolsstrconsts:ctsforward -msgid "Forward" -msgstr "Priešakis" - -#: codetoolsstrconsts:ctsforwardclassdefinitionnotresolved -msgid "Forward class definition not resolved: %s" -msgstr "Nenustatyta priešakinė klasės apibrėžtis: %s" - -#: codetoolsstrconsts:ctsfreepascalcompilerinitialmacros -msgid "Free Pascal Compiler initial macros" -msgstr "FreePascal kompiliatoriaus pradinės makrokomandos" - -#: codetoolsstrconsts:ctsfreepascalcomponentlibrary -msgid "Free Pascal Component Library" -msgstr "FreePascal komponentų biblioteka" - -#: codetoolsstrconsts:ctsfreepascalsourcedir -msgid "Free Pascal Source Directory" -msgstr "FreePascal pirminio kodo biblioteka" - -#: codetoolsstrconsts:ctsfreepascalsourcesplusdesc -msgid "Free Pascal Sources, %s" -msgstr "FreePascal pirminis kodas, %s" - -#: codetoolsstrconsts:ctsidedirectory -msgid "IDE Directory" -msgstr "IKA aplankas" - -#: codetoolsstrconsts:ctsideintfdirectory -msgid "IDEIntf Directory" -msgstr "IDEIntf aplankas" - -#: codetoolsstrconsts:ctsidentifieralreadydefined -msgid "Identifier %s already defined" -msgstr "Apibrėžtis %s jau yra įgyvendinta" - -#: codetoolsstrconsts:ctsiflclwidgettypeequalsgtk2 -msgid "If LCLWidgetType=gtk2 then" -msgstr "Jei LCLWidgetType=gtk2, tada" - -#: codetoolsstrconsts:ctsiftargetosisnotsrcos -msgid "If TargetOS<>SrcOS" -msgstr "Jei paskirties OS <> pirminė OS" - -#: codetoolsstrconsts:ctsiftargetosisnotsrcos2 -msgid "If TargetOS<>SrcOS2" -msgstr "Jei paskirties OS <> pirminė OS2" - -#: codetoolsstrconsts:ctsiftargetosisnotwin32 -msgid "If TargetOS<>win32 then" -msgstr "Jei paskirties OS <> win32, tada" - -#: codetoolsstrconsts:ctsifdeflinux -msgid "IfDef Linux" -msgstr "IfDef Linux" - -#: codetoolsstrconsts:ctsifdefwindows -msgid "IfDef Windows" -msgstr "IfDef Windows" - -#: codetoolsstrconsts:ctsincludecircledetected -msgid "Include circle detected" -msgstr "Aptiktas įdėjimų žiedas" - -#: codetoolsstrconsts:ctsinstalldirectory -msgid "Install Directory" -msgstr "Diegimo aplankas" - -#: codetoolsstrconsts:ctsinstallerdirectories -msgid "Installer directories" -msgstr "Diegimo programos aplankai" - -#: codetoolsstrconsts:ctsjitformdirectory -msgid "JITForm Directory" -msgstr "JITForm aplankas" - -#: codetoolsstrconsts:ctslazarussources -msgid "Lazarus Sources" -msgstr "Lazarus pirminis kodas" - -#: codetoolsstrconsts:ctsnesteddefinitionsarenotallowed -msgid "Nested %s definitions are not allowed" -msgstr "Įdėtinės %s apibrėžtys neleidžiamos" - -#: codetoolsstrconsts:ctsnestedcommentson -msgid "Nested Comments On" -msgstr "Įdėtiniai komentarai įgalinti" - -#: codetoolsstrconsts:ctsnoscanneravailable -msgid "No scanner available" -msgstr "Nėra žvalgytuvo" - -#: codetoolsstrconsts:ctsnoscannerfound -msgid "No scanner found for \"%s\". If this is an include file, please open the main source first." -msgstr "„%s“ skirtas žvalgytuvas nerastas. Jei tai įdedamasis failas, pirma atverkite pagrindinį pirminį kodą." - -#: codetoolsstrconsts:ctspackagedirectories -msgid "Package directories" -msgstr "Paketų aplankai" - -#: codetoolsstrconsts:ctspackagerdirectory -msgid "Packager Directory" -msgstr "Paketų kūrėjo aplankas" - -#: codetoolsstrconsts:ctspackagerregistrationdirectory -msgid "Packager Registration Directory" -msgstr "Paketų kūrėjo registravimo aplankas" - -#: codetoolsstrconsts:ctspackagerunitsdirectory -msgid "Packager Units Directory" -msgstr "Paketų kūrėjo modulių aplankas" - -#: codetoolsstrconsts:ctspositionnotinsource -msgid "Position not in source" -msgstr "Pozicija ne pirminiame kode" - -#: codetoolsstrconsts:ctsresetalldefines -msgid "Reset all defines" -msgstr "Atstatyti visas apibrėžtis" - -#: codetoolsstrconsts:ctsruntimelibrary -msgid "Runtime library" -msgstr "Veikos meto biblioteka" - -#: codetoolsstrconsts:ctssourcefilenamesforstandardfpcunits -msgid "Source filenames for the standard fpc units" -msgstr "Pirminiai failų pavadinimai standartiniams FPC moduliams" - -#: codetoolsstrconsts:ctssrcpathinitialization -msgid "SrcPath Initialization" -msgstr "Pirminio kodo kelio inicializacija" - -#: codetoolsstrconsts:ctssyntaxerrorinexpr -msgid "Syntax Error in expression \"%s\"" -msgstr "Išraiškoje „%s“ yra sintaksės klaida" - -#: codetoolsstrconsts:ctstcodetoolmanagerconsistencycheck -msgid "TCodeToolManager.ConsistencyCheck=%d" -msgstr "TCodeToolManager.ConsistencyCheck=%d" - -#: codetoolsstrconsts:ctstermnotsimple -msgid "Term has no simple type" -msgstr "Termas neturi paprasto tipo" - -#: codetoolsstrconsts:ctstoolsdirectory -msgid "Tools Directory" -msgstr "Įrankių aplankas" - -#: codetoolsstrconsts:ctsunitpathinitialization -msgid "UnitPath Initialization" -msgstr "Modulių kelio inicializacija" - -#: codetoolsstrconsts:ctsunknownfunction -msgid "Unknown function %s" -msgstr "Nežinoma funkcija %s" - -#: codetoolsstrconsts:ctsunparsed -msgid "Unparsed" -msgstr "Neanalizuotas" - -#: codetoolsstrconsts:ctsutilsdirectories -msgid "Utils directories" -msgstr "Paslaugų programų aplankai" - -#: codetoolsstrconsts:ctswidgetdirectory -msgid "Widget Directory" -msgstr "Valdiklių aplankas" - -#: codetoolsstrconsts:ctswordnotfound -msgid "\"%s\" not found" -msgstr "„%s“ nerastas" - -#: codetoolsstrconsts:ctsclassofdefinitionnotresolved -msgid "\"class of\" definition not resolved: %s" -msgstr "„class of“ apibrėžtis nenustatyta: %s" - -#: codetoolsstrconsts:ctsendforclassnotfound -msgid "\"end\" for class/object not found" -msgstr "Nerastas klasės/objekto „end“" - -#: codetoolsstrconsts:ctsdircomponentdoesnotexistsorisdanglingsymlink -msgid "a directory component in %s does not exist or is a dangling symlink" -msgstr "%s esantis aplanko komponentas neegzistuoja arba jis yra betikslis simbolinis saitas" - -#: codetoolsstrconsts:ctsdircomponentisnotdir -msgid "a directory component in %s is not a directory" -msgstr "%s esantis aplanko komponentas nėra aplankas" - -#: codetoolsstrconsts:ctsaddsdirtoincludepath +#: codetoolsstrconsts.ctsaddsdirtoincludepath msgid "adds %s to IncPath" msgstr "%s pridės prie įdedamųjų kelio" -#: codetoolsstrconsts:ctsaddsdirtosourcepath +#: codetoolsstrconsts.ctsaddsdirtosourcepath msgid "adds %s to SrcPath" msgstr "%s pridės prie pirminio kodo kelio" -#: codetoolsstrconsts:ctsanlclproject -msgid "an LCL project" -msgstr "LCL projektas" - -#: codetoolsstrconsts:ctsancestorisnotproperty +#: codetoolsstrconsts.ctsancestorisnotproperty msgid "ancestor of untyped property is not a property" msgstr "savybės be tipo protėvis nėra savybė" -#: codetoolsstrconsts:ctsbasetypeofnotfound +#: codetoolsstrconsts.ctsanlclproject +msgid "an LCL project" +msgstr "LCL projektas" + +#: codetoolsstrconsts.ctsanonymdefinitionsarenotallowed +msgid "Anonymous %s definitions are not allowed" +msgstr "Anoniminės %s apibrėžtys nėra leidžiamos" + +#: codetoolsstrconsts.ctsawithoutb +msgid "%s without %s" +msgstr "%s be %s" + +#: codetoolsstrconsts.ctsbasetypeofnotfound msgid "base type of \"%s\" not found" msgstr "nerastas „%s“ bazinis tipas" -#: codetoolsstrconsts:ctsbinaryoperator +#: codetoolsstrconsts.ctsbinaryoperator msgid "binary operator" msgstr "dvejetainis operatorius" -#: codetoolsstrconsts:ctsbracketnotfound -msgid "bracket %s not found" -msgstr "%s skliaustas nerastas" - -#: codetoolsstrconsts:ctsbracketcloseexpectedbutatomfound +#: codetoolsstrconsts.ctsbracketcloseexpectedbutatomfound msgid "bracket close expected, but %s found" msgstr "tikėtasi uždarančiojo skliausto, tačiau aptikta %s" -#: codetoolsstrconsts:ctsbracketopenexpectedbutatomfound +#: codetoolsstrconsts.ctsbracketnotfound +msgid "bracket %s not found" +msgstr "%s skliaustas nerastas" + +#: codetoolsstrconsts.ctsbracketopenexpectedbutatomfound msgid "bracket open expected, but %s found" msgstr "tikėtasi atidarančiojo skliausto, tačiau aptikta %s" -#: codetoolsstrconsts:ctscircleindefinitions +#: codetoolsstrconsts.ctscircleindefinitions msgid "circle in definitions" msgstr "žiedinė apibrėžtis" -#: codetoolsstrconsts:ctsclassnotfound -msgid "class %s%s%s not found" -msgstr "klasė %s%s%s nerasta" - -#: codetoolsstrconsts:ctsclassidentifierexpected +#: codetoolsstrconsts.ctsclassidentifierexpected msgid "class identifier expected" msgstr "tikėtasi klasės identifikatoriaus" -#: codetoolsstrconsts:ctsclassnodewithoutparentnode +#: codetoolsstrconsts.ctsclassnodewithoutparentnode msgid "class node without parent node" msgstr "klasės mazgas neturi tėvinio mazgo" -#: codetoolsstrconsts:ctsclasswithoutname +#: codetoolsstrconsts.ctsclassnotfound +msgid "class %s%s%s not found" +msgstr "klasė %s%s%s nerasta" + +#: codetoolsstrconsts.ctsclassofdefinitionnotresolved +msgid "\"class of\" definition not resolved: %s" +msgstr "„class of“ apibrėžtis nenustatyta: %s" + +#: codetoolsstrconsts.ctsclasssnotfound +msgid "Class %s not found" +msgstr "Klasė %s nerasta" + +#: codetoolsstrconsts.ctsclasswithoutname msgid "class without name" msgstr "klasė be pavadinimo" -#: codetoolsstrconsts:ctsconstant +#: codetoolsstrconsts.ctscommandlineparameters +msgid "Command line parameters" +msgstr "Komandinės eilutės parametrai" + +#: codetoolsstrconsts.ctscommentendnotfound +msgid "Comment end not found" +msgstr "Nerastas komentaro galas" + +#: codetoolsstrconsts.ctscompiledsrcpath +msgid "Compiled SrcPath" +msgstr "Kompiliuotas „SrcPath“" + +#: codetoolsstrconsts.ctscompiler +msgid "Compiler" +msgstr "Kompiliatorius" + +#: codetoolsstrconsts.ctscomponentsdirectory +msgid "Components Directory" +msgstr "Komponenčių aplankas" + +#: codetoolsstrconsts.ctsconstant msgid "constant" msgstr "konstanta" -#: codetoolsstrconsts:ctscursorposoutsideofcode +#: codetoolsstrconsts.ctsconverterdirectory +msgid "Converter Directory" +msgstr "Konverterio aplankas" + +#: codetoolsstrconsts.ctscpudirectory +msgid "CPU directory" +msgstr "CPU aplankas" + +#: codetoolsstrconsts.ctscursorposoutsideofcode msgid "cursor pos outside of code" msgstr "žymeklis už kodo ribų" -#: codetoolsstrconsts:ctsdefaultclassancestortobjectnotfound +#: codetoolsstrconsts.ctscustomcomponentsdirectory +msgid "Custom Components Directory" +msgstr "Naudotojo komponenčių aplankas" + +#: codetoolsstrconsts.ctsdebuggerdirectory +msgid "Debugger Directory" +msgstr "Derintuvės aplankas" + +#: codetoolsstrconsts.ctsdefaultclassancestortobjectnotfound msgid "default class ancestor TObject not found" msgstr "nerastas klasės protėvis TObject" -#: codetoolsstrconsts:ctsdefaultinterfaceancestoriinterfacenotfound +#: codetoolsstrconsts.ctsdefaultinterfaceancestoriinterfacenotfound msgid "default interface ancestor IInterface not found" msgstr "nerastas interfeiso protėvis IInterface" -#: codetoolsstrconsts:ctsdefaultparameterexpectedbutatomfound +#: codetoolsstrconsts.ctsdefaultparameterexpectedbutatomfound msgid "default parameter expected, but %s found" msgstr "tikėtasi numatyto parametro, tačiau aptikta %s" -#: codetoolsstrconsts:ctsdefaultpropertynotfound -msgid "default property not found" -msgstr "nerasta numatytoji savybė" +#: codetoolsstrconsts.ctsdefaultppc386source2operatingsystem +msgid "Default ppc386 source Operating System 2" +msgstr "Numatyta ppc386 pirminė operacinė sistema 2" -#: codetoolsstrconsts:ctsdefaultspecifierredefined +#: codetoolsstrconsts.ctsdefaultppc386sourceoperatingsystem +msgid "Default ppc386 source Operating System" +msgstr "Numatyta ppc386 pirminė operacinė sistema" + +#: codetoolsstrconsts.ctsdefaultppc386symbol +msgid "Default ppc386 symbol" +msgstr "Numatytas ppc386 simbolis" + +#: codetoolsstrconsts.ctsdefaultppc386targetoperatingsystem +msgid "Default ppc386 target Operating System" +msgstr "Numatyta ppc386 paskirties operacinė sistema" + +#: codetoolsstrconsts.ctsdefaultppc386targetprocessor +msgid "Default ppc386 target processor" +msgstr "Numatytas ppc386 paskirties procesorius" + +#: codetoolsstrconsts.ctsdefaultspecifierredefined msgid "default specifier redefined" msgstr "numatytas specifikatorius apibrėžtas pakartotinai" -#: codetoolsstrconsts:ctsduplicateidentifier +#: codetoolsstrconsts.ctsdefine +msgid "Define " +msgstr "Apibrėžti " + +#: codetoolsstrconsts.ctsdefinelcl +msgid "Define LCL" +msgstr "Apibrėžti LCL" + +#: codetoolsstrconsts.ctsdefinelclwidgetset +msgid "Define LCLwidgetset, e.g. LCLgtk" +msgstr "Apibrėžti LCLwidgetset, pvz. „LCLgtk“" + +#: codetoolsstrconsts.ctsdefinemacrocarbon1 +msgid "Define macro carbon1" +msgstr "Apibrėžti makrokomandą „carbon1“" + +#: codetoolsstrconsts.ctsdefinemacrogtk1 +msgid "Define macro gtk1" +msgstr "Apibrėžti makrokomandą gtk1" + +#: codetoolsstrconsts.ctsdefinemacrogtk2 +msgid "Define macro gtk2" +msgstr "Apibrėžti makrokomandą gtk2" + +#: codetoolsstrconsts.ctsdefinemacroname +msgid "Define Macro %s" +msgstr "Apibrėžti makrokomandą %s" + +#: codetoolsstrconsts.ctsdefinemacroqt1 +msgid "Define macro qt1" +msgstr "Apibrėžti makrokomandą qt1" + +#: codetoolsstrconsts.ctsdefinemacrowince1 +msgid "Define macro wince1" +msgstr "Apibrėžti makrokomandą wince1" + +#: codetoolsstrconsts.ctsdefineprocessortype +msgid "Define processor type" +msgstr "Apibrėžti procesoriaus tipą" + +#: codetoolsstrconsts.ctsdefsforlazarussources +msgid "Definitions for the Lazarus Sources" +msgstr "Lazarus pirminio kodo apibrėžtys" + +#: codetoolsstrconsts.ctsdesignerdirectory +msgid "Designer Directory" +msgstr "Konstruktoriaus aplankas" + +#: codetoolsstrconsts.ctsdesignerunitsdirectory +msgid "Designer Units" +msgstr "Konstruktoriaus moduliai" + +#: codetoolsstrconsts.ctsdircomponentdoesnotexistsorisdanglingsymlink +msgid "a directory component in %s does not exist or is a dangling symlink" +msgstr "%s esantis aplanko komponentas neegzistuoja arba jis yra betikslis simbolinis saitas" + +#: codetoolsstrconsts.ctsdircomponentisnotdir +msgid "a directory component in %s is not a directory" +msgstr "%s esantis aplanko komponentas nėra aplankas" + +#: codetoolsstrconsts.ctsdoceditordirectory +msgid "Doc Editor Directory" +msgstr "Dokumentacijos rengyklės aplankas" + +#: codetoolsstrconsts.ctsduplicateidentifier msgid "duplicate identifier: %s" msgstr "identifikatorius dubliuojasi: %s" -#: codetoolsstrconsts:ctselse +#: codetoolsstrconsts.ctselse msgid "else" msgstr "kitaip" -#: codetoolsstrconsts:ctsfpdocsystemon -msgid "enable FPDocSystem" -msgstr "įgalinti FPDocSystem" +#: codetoolsstrconsts.ctsendforclassnotfound +msgid "\"end\" for class/object not found" +msgstr "Nerastas klasės/objekto „end“" -#: codetoolsstrconsts:ctsendforrecordnotfound +#: codetoolsstrconsts.ctsendforrecordnotfound msgid "end for record not found" msgstr "nerasta įrašo pabaiga" -#: codetoolsstrconsts:ctserrorduringcreationofnewprocbodies -msgid "error during creation of new proc bodies" -msgstr "kuriant procedūrų pagrindines dalis įvyko klaida" - -#: codetoolsstrconsts:ctserrorduringinsertingnewclassparts -msgid "error during inserting new class parts" -msgstr "įterpiant naujas klasės dalis įvyko klaida" - -#: codetoolsstrconsts:ctserrorduringinsertingnewusessection -msgid "error during inserting new units to the main uses section" -msgstr "naujus modulius įterpiant į pagrindinio modulio naudojamų modulių sąrašą įvyko klaida" - -#: codetoolsstrconsts:ctserrorindirectiveexpression -msgid "error in directive expression" -msgstr "klaida direktyvos išraiškoje" - -#: codetoolsstrconsts:ctserrorinparamlist -msgid "error in paramlist" -msgstr "klaida parametrų sąraše" - -#: codetoolsstrconsts:ctsexecuteaccessdeniedforfile -msgid "execute access denied for %s" -msgstr "%s apibrėžtas leidimas startuoti" - -#: codetoolsstrconsts:ctsendofsourceexpectedbutatomfound +#: codetoolsstrconsts.ctsendofsourceexpectedbutatomfound msgid "expected end., but %s found" msgstr "tikėtasi „end.“, tačiau aptikta %s" -#: codetoolsstrconsts:ctsexportsclauseonlyallowedinlibraries +#: codetoolsstrconsts.ctsendofsourcenotfound +msgid "End of source not found" +msgstr "Nerasta pirminio kodo pabaiga" + +#: codetoolsstrconsts.ctserrorduringcreationofnewprocbodies +msgid "error during creation of new proc bodies" +msgstr "kuriant procedūrų pagrindines dalis įvyko klaida" + +#: codetoolsstrconsts.ctserrorduringinsertingnewclassparts +msgid "error during inserting new class parts" +msgstr "įterpiant naujas klasės dalis įvyko klaida" + +#: codetoolsstrconsts.ctserrorduringinsertingnewusessection +msgid "error during inserting new units to the main uses section" +msgstr "naujus modulius įterpiant į pagrindinio modulio naudojamų modulių sąrašą įvyko klaida" + +#: codetoolsstrconsts.ctserrorindirectiveexpression +msgid "error in directive expression" +msgstr "klaida direktyvos išraiškoje" + +#: codetoolsstrconsts.ctserrorinparamlist +msgid "error in paramlist" +msgstr "klaida parametrų sąraše" + +#: codetoolsstrconsts.ctsexecuteaccessdeniedforfile +msgid "execute access denied for %s" +msgstr "%s apibrėžtas leidimas startuoti" + +#: codetoolsstrconsts.ctsexportsclauseonlyallowedinlibraries msgid "exports clause only allowed in libraries" msgstr "eksporto sakinys galimas tik bibliotekose" -#: codetoolsstrconsts:ctsexprtypemustbeclassorrecord +#: codetoolsstrconsts.ctsexprtypemustbeclassorrecord msgid "expression type must be class or record type" msgstr "išraiškos tipas turi būti klasė arba įrašas" -#: codetoolsstrconsts:ctsfiledoesnotexists +#: codetoolsstrconsts.ctsfiledoesnotexists msgid "file \"%s\" does not exist" msgstr "failas „%s“ neegzistuoja" -#: codetoolsstrconsts:ctsfileisreadonly +#: codetoolsstrconsts.ctsfilehascircularsymlink +msgid "%s has a circular symbolic link" +msgstr "%s turi uždarą simbolinį saitą" + +#: codetoolsstrconsts.ctsfileisnotexecutable +msgid "%s is not executable" +msgstr "%s nėra vykdomasis failas" + +#: codetoolsstrconsts.ctsfileisreadonly msgid "file is read only" msgstr "failas tik skaitymui" -#: codetoolsstrconsts:ctsgenericidentifier +#: codetoolsstrconsts.ctsforward +msgid "Forward" +msgstr "Priešakis" + +#: codetoolsstrconsts.ctsforwardclassdefinitionnotresolved +msgid "Forward class definition not resolved: %s" +msgstr "Nenustatyta priešakinė klasės apibrėžtis: %s" + +#: codetoolsstrconsts.ctsfpdocsystemon +msgid "enable FPDocSystem" +msgstr "įgalinti FPDocSystem" + +#: codetoolsstrconsts.ctsfreepascalcompilerinitialmacros +msgid "Free Pascal Compiler initial macros" +msgstr "FreePascal kompiliatoriaus pradinės makrokomandos" + +#: codetoolsstrconsts.ctsfreepascalcomponentlibrary +msgid "Free Pascal Component Library" +msgstr "FreePascal komponentų biblioteka" + +#: codetoolsstrconsts.ctsfreepascalsourcedir +msgid "Free Pascal Source Directory" +msgstr "FreePascal pirminio kodo biblioteka" + +#: codetoolsstrconsts.ctsfreepascalsourcesplusdesc +msgid "Free Pascal Sources, %s" +msgstr "FreePascal pirminis kodas, %s" + +#: codetoolsstrconsts.ctsgenericidentifier msgid "generic identifier" msgstr "daugybinis identifikatorius" -#: codetoolsstrconsts:ctsgtk2intfdirectory +#: codetoolsstrconsts.ctsgtk2intfdirectory msgid "gtk2 interface directory" msgstr "gtk2 interfeiso aplankas" -#: codetoolsstrconsts:ctsidentifier -msgid "identifier" -msgstr "identifikatorius" +#: codetoolsstrconsts.ctsidedirectory +msgid "IDE Directory" +msgstr "IKA aplankas" -#: codetoolsstrconsts:ctsidentexpectedbutatomfound +#: codetoolsstrconsts.ctsideintfdirectory +msgid "IDEIntf Directory" +msgstr "IDEIntf aplankas" + +#: codetoolsstrconsts.ctsidentexpectedbutatomfound msgid "identifier expected, but %s found" msgstr "tikėtasi identifikatoriaus, tačiau aptikta %s" -#: codetoolsstrconsts:ctsidentexpectedbutkeywordfound -msgid "identifier expected, but keyword %s found" -msgstr "tikėtasi identifikatoriaus, tačiau aptiktas raktažodis %s" - -#: codetoolsstrconsts:ctsidentifiernotfound -msgid "identifier not found: %s" -msgstr "identifikatorius nerastas: %s" - -#: codetoolsstrconsts:ctsillegalcircleinusedunits -msgid "illegal circle using unit: %s" -msgstr "neleistinas naudojamų modulių žiedas" - -#: codetoolsstrconsts:ctsillegalqualifier -msgid "illegal qualifier %s found" -msgstr "rastas klaidinga patiksla %s" - -#: codetoolsstrconsts:ctsimplementationnodenotfound -msgid "implementation node not found" -msgstr "nerastas realizacijos mazgas" - -#: codetoolsstrconsts:ctsincludedirectoriesplusdirs -msgid "include directories: %s" -msgstr "įdedamieji aplankai: %s" - -#: codetoolsstrconsts:ctsincludefilenotfound -msgid "include file not found \"%s\"" -msgstr "įdedamasis failas „%s“ nerastas" - -#: codetoolsstrconsts:ctsincompatibletypesgotexpected -msgid "incompatibles types: expected \"%s\" but got \"%s\"" -msgstr "nesuderinami tipai: tikėtasi „%s“, tačiau gauta „%s“" - -#: codetoolsstrconsts:ctsindexparameterexpectedbutatomfound -msgid "index parameter expected, but %s found" -msgstr "tikėtasi indekso parametro, tačiau aptikta %s" - -#: codetoolsstrconsts:ctsindexspecifierredefined -msgid "index specifier redefined" -msgstr "indekso specifikatorius apibrėžtas pakartotinai" - -#: codetoolsstrconsts:ctsinheritedkeywordonlyallowedinmethods -msgid "inherited keyword only allowed in methods" -msgstr "paveldėti raktažodžiai galimi tik metoduose" - -#: codetoolsstrconsts:ctsinsufficientmemory -msgid "insufficient memory" -msgstr "trūksta atminties" - -#: codetoolsstrconsts:ctsintfdirectory -msgid "interface directory" -msgstr "interfeiso aplankas" - -#: codetoolsstrconsts:ctsinterfacesectionnotfound -msgid "interface section not found" -msgstr "nerasta interfeiso sekcija" - -#: codetoolsstrconsts:ctsinvalidclassname2 -msgid "invalid class name %s%s%s" -msgstr "klaidingas klasės pavadinimas %s%s%s" - -#: codetoolsstrconsts:ctsinvalidclassname -msgid "invalid class name=%s%s%s" -msgstr "klaidingas klasės pavadinimas=%s%s%s" - -#: codetoolsstrconsts:ctsinvalidflagvaluefordirective -msgid "invalid flag value \"%s\" for directive %s" -msgstr "klaidinga vėliavėlės reikšmė „%s“ direktyvai %s" - -#: codetoolsstrconsts:ctsinvalidmode -msgid "invalid mode \"%s\"" -msgstr "„%s“ veiksena yra klaidinga" - -#: codetoolsstrconsts:ctsinvalidsubrange -msgid "invalid subrange" -msgstr "klaidingas porėžis" - -#: codetoolsstrconsts:ctsinvalidtype -msgid "invalid type" -msgstr "klaidingas tipas" - -#: codetoolsstrconsts:ctsinvalidvariablename -msgid "invalid variable name %s%s%s" -msgstr "kintamojo pavadinimas %s%s%s yra klaidingas" - -#: codetoolsstrconsts:ctsinvalidvariabletype -msgid "invalid variable type %s%s%s" -msgstr "kintamojo tipas %s%s%s yra klaidingas" - -#: codetoolsstrconsts:ctskeyword -msgid "keyword" -msgstr "raktažodis" - -#: codetoolsstrconsts:ctskeywordexampleexpectedbutatomfound -msgid "keyword (e.g. %s) expected, but %s found" -msgstr "tikėtasi raktažodžio (pvz.: %s), tačiau aptikta %s" - -#: codetoolsstrconsts:ctskeywordin -msgid "keyword \"in\"" -msgstr "raktažodis „in“" - -#: codetoolsstrconsts:ctslazarusmaindirectory -msgid "lazarus main directory" -msgstr "Lazarus pagrindinis aplankas" - -#: codetoolsstrconsts:ctsmethodname -msgid "method name" -msgstr "metodo pavadinimas" - -#: codetoolsstrconsts:ctsmethodtypedefinitionnotfound -msgid "method type definition not found" -msgstr "nerasta metodo tipo apibrėžtis" - -#: codetoolsstrconsts:ctsmissingpointafterend -msgid "missing . after end" -msgstr "po „end“ trūksta „.“" - -#: codetoolsstrconsts:ctsmissingenumlist -msgid "missing enum list" -msgstr "trūksta enumeracijos sąrašo" - -#: codetoolsstrconsts:ctsmissingtypeidentifier -msgid "missing type identifier" -msgstr "trūksta tipo identifikatoriaus" - -#: codetoolsstrconsts:ctsnewprocbodynotfound -msgid "new proc body not found" -msgstr "nerasta naujos procedūros pagrindinė dalis" - -#: codetoolsstrconsts:ctsnocontextnodefoundatcursor -msgid "no context node found at cursor" -msgstr "ties žymekliu nerastas kontekstinis mazgas" - -#: codetoolsstrconsts:ctsnopascalcodefound -msgid "no pascal code found (first token is %s)" -msgstr "paskalio kodas nerastas (pirmoji leksema - %s)" - -#: codetoolsstrconsts:ctsnonodefoundatcursor -msgid "no pascal node found at cursor (i.e. in unparsed code)" -msgstr "ties žymekliu (t.y. neišanalizuotame kode) nerastas paskalio mazgas" - -#: codetoolsstrconsts:ctsnodefaultspecifierdefinedtwice -msgid "nodefault specifier defined twice" -msgstr "nenumatytas specifikatorius apibrėžtas dukart" - -#: codetoolsstrconsts:ctsoldmethodnotfound -msgid "old method not found: %s" -msgstr "nerastas senasis metodas: %s" - -#: codetoolsstrconsts:ctsprocedureorfunction -msgid "procedure or function" -msgstr "procedūra arba funkcija" - -#: codetoolsstrconsts:ctsprocessorspecific -msgid "processor specific" -msgstr "priklauso nuo procesorio" - -#: codetoolsstrconsts:ctspropertyspecifieralreadydefined -msgid "property specifier already defined: %s" -msgstr "savybės specifikatorius jau yra abibrėžtas: %s" - -#: codetoolsstrconsts:ctsproperttypeexpectedbutatomfound -msgid "property type expected, but %s found" -msgstr "tikėtasi savybės tipo, tačiau aptikta %s" - -#: codetoolsstrconsts:ctsqualifierexpectedbutatomfound -msgid "qualifier expected but %s found" -msgstr "tikėtasi patikslos, tačiau aptikta %s" - -#: codetoolsstrconsts:ctssemicolonnotfound -msgid "semicolon not found" -msgstr "neratas kablataškis" - -#: codetoolsstrconsts:ctssetsincpathto -msgid "sets IncPath to %s" -msgstr "įdedamųjų kelia nustato į %s" - -#: codetoolsstrconsts:ctssetssrcpathto -msgid "sets SrcPath to %s" -msgstr "pirminio kodo kelią nustato į %s" - -#: codetoolsstrconsts:ctssourceisnotunit -msgid "source is not unit" -msgstr "šaltinis nėra modulis" - -#: codetoolsstrconsts:ctssourcenotfoundunit -msgid "source not found: unit %s" -msgstr "pirminis kodas nerastas: modulis %s" - -#: codetoolsstrconsts:ctssrcpathforcompiledunits -msgid "src path for compiled units" -msgstr "pirminio kodo kelias kompiliuotiems moduliams" - -#: codetoolsstrconsts:ctsstringconstant -msgid "string constant" -msgstr "eilutės konstanta" - -#: codetoolsstrconsts:ctstypeidentifier -msgid "type identifier" -msgstr "tipo identifikatorius" - -#: codetoolsstrconsts:ctstypesectionofclassnotfound -msgid "type section of class not found" -msgstr "klasėje nerasta tipo sekcija" - -#: codetoolsstrconsts:ctsunabletoapplychanges -msgid "unable to apply changes" -msgstr "neina pritaikyti pakeitimus" - -#: codetoolsstrconsts:ctsunabletocompleteproperty -msgid "unable to complete property" -msgstr "neina užbaigti savybės" - -#: codetoolsstrconsts:ctsidentexpectedbuteoffound +#: codetoolsstrconsts.ctsidentexpectedbuteoffound msgid "unexpected end of file (identifier expected)" msgstr "netikėta failo pabaiga (tikėtasi identifikatoriaus)" -#: codetoolsstrconsts:ctsunexpectedendofsource +#: codetoolsstrconsts.ctsidentexpectedbutkeywordfound +msgid "identifier expected, but keyword %s found" +msgstr "tikėtasi identifikatoriaus, tačiau aptiktas raktažodis %s" + +#: codetoolsstrconsts.ctsidentifier +msgid "identifier" +msgstr "identifikatorius" + +#: codetoolsstrconsts.ctsidentifieralreadydefined +msgid "Identifier %s already defined" +msgstr "Apibrėžtis %s jau yra įgyvendinta" + +#: codetoolsstrconsts.ctsidentifiernotfound +msgid "identifier not found: %s" +msgstr "identifikatorius nerastas: %s" + +#: codetoolsstrconsts.ctsifdeflinux +msgid "IfDef Linux" +msgstr "IfDef Linux" + +#: codetoolsstrconsts.ctsifdefwindows +msgid "IfDef Windows" +msgstr "IfDef Windows" + +#: codetoolsstrconsts.ctsiflclwidgettypeequalsgtk2 +msgid "If LCLWidgetType=gtk2 then" +msgstr "Jei LCLWidgetType=gtk2, tada" + +#: codetoolsstrconsts.ctsiftargetosisnotsrcos +msgid "If TargetOS<>SrcOS" +msgstr "Jei paskirties OS <> pirminė OS" + +#: codetoolsstrconsts.ctsiftargetosisnotsrcos2 +msgid "If TargetOS<>SrcOS2" +msgstr "Jei paskirties OS <> pirminė OS2" + +#: codetoolsstrconsts.ctsiftargetosisnotwin32 +msgid "If TargetOS<>win32 then" +msgstr "Jei paskirties OS <> win32, tada" + +#: codetoolsstrconsts.ctsillegalcircleinusedunits +msgid "illegal circle using unit: %s" +msgstr "neleistinas naudojamų modulių žiedas" + +#: codetoolsstrconsts.ctsillegalqualifier +msgid "illegal qualifier %s found" +msgstr "rastas klaidinga patiksla %s" + +#: codetoolsstrconsts.ctsimplementationnodenotfound +msgid "implementation node not found" +msgstr "nerastas realizacijos mazgas" + +#: codetoolsstrconsts.ctsincludecircledetected +msgid "Include circle detected" +msgstr "Aptiktas įdėjimų žiedas" + +#: codetoolsstrconsts.ctsincludefilenotfound +msgid "include file not found \"%s\"" +msgstr "įdedamasis failas „%s“ nerastas" + +#: codetoolsstrconsts.ctsincompatibletypesgotexpected +msgid "incompatibles types: expected \"%s\" but got \"%s\"" +msgstr "nesuderinami tipai: tikėtasi „%s“, tačiau gauta „%s“" + +#: codetoolsstrconsts.ctsindexparameterexpectedbutatomfound +msgid "index parameter expected, but %s found" +msgstr "tikėtasi indekso parametro, tačiau aptikta %s" + +#: codetoolsstrconsts.ctsindexspecifierredefined +msgid "index specifier redefined" +msgstr "indekso specifikatorius apibrėžtas pakartotinai" + +#: codetoolsstrconsts.ctsinheritedkeywordonlyallowedinmethods +msgid "inherited keyword only allowed in methods" +msgstr "paveldėti raktažodžiai galimi tik metoduose" + +#: codetoolsstrconsts.ctsinstalldirectory +msgid "Install Directory" +msgstr "Diegimo aplankas" + +#: codetoolsstrconsts.ctsinstallerdirectories +msgid "Installer directories" +msgstr "Diegimo programos aplankai" + +#: codetoolsstrconsts.ctsinsufficientmemory +msgid "insufficient memory" +msgstr "trūksta atminties" + +#: codetoolsstrconsts.ctsinterfacesectionnotfound +msgid "interface section not found" +msgstr "nerasta interfeiso sekcija" + +#: codetoolsstrconsts.ctsintfdirectory +msgid "interface directory" +msgstr "interfeiso aplankas" + +#: codetoolsstrconsts.ctsinvalidclassname +msgid "invalid class name=%s%s%s" +msgstr "klaidingas klasės pavadinimas=%s%s%s" + +#: codetoolsstrconsts.ctsinvalidclassname2 +msgid "invalid class name %s%s%s" +msgstr "klaidingas klasės pavadinimas %s%s%s" + +#: codetoolsstrconsts.ctsinvalidflagvaluefordirective +msgid "invalid flag value \"%s\" for directive %s" +msgstr "klaidinga vėliavėlės reikšmė „%s“ direktyvai %s" + +#: codetoolsstrconsts.ctsinvalidmode +msgid "invalid mode \"%s\"" +msgstr "„%s“ veiksena yra klaidinga" + +#: codetoolsstrconsts.ctsinvalidsubrange +msgid "invalid subrange" +msgstr "klaidingas porėžis" + +#: codetoolsstrconsts.ctsinvalidtype +msgid "invalid type" +msgstr "klaidingas tipas" + +#: codetoolsstrconsts.ctsinvalidvariablename +msgid "invalid variable name %s%s%s" +msgstr "kintamojo pavadinimas %s%s%s yra klaidingas" + +#: codetoolsstrconsts.ctsinvalidvariabletype +msgid "invalid variable type %s%s%s" +msgstr "kintamojo tipas %s%s%s yra klaidingas" + +#: codetoolsstrconsts.ctsjitformdirectory +msgid "JITForm Directory" +msgstr "JITForm aplankas" + +#: codetoolsstrconsts.ctskeyword +msgid "keyword" +msgstr "raktažodis" + +#: codetoolsstrconsts.ctskeywordexampleexpectedbutatomfound +msgid "keyword (e.g. %s) expected, but %s found" +msgstr "tikėtasi raktažodžio (pvz.: %s), tačiau aptikta %s" + +#: codetoolsstrconsts.ctskeywordin +msgid "keyword \"in\"" +msgstr "raktažodis „in“" + +#: codetoolsstrconsts.ctslazarusmaindirectory +msgid "lazarus main directory" +msgstr "Lazarus pagrindinis aplankas" + +#: codetoolsstrconsts.ctslazarussources +msgid "Lazarus Sources" +msgstr "Lazarus pirminis kodas" + +#: codetoolsstrconsts.ctsmethodname +msgid "method name" +msgstr "metodo pavadinimas" + +#: codetoolsstrconsts.ctsmethodtypedefinitionnotfound +msgid "method type definition not found" +msgstr "nerasta metodo tipo apibrėžtis" + +#: codetoolsstrconsts.ctsmissingenumlist +msgid "missing enum list" +msgstr "trūksta enumeracijos sąrašo" + +#: codetoolsstrconsts.ctsmissingpointafterend +msgid "missing . after end" +msgstr "po „end“ trūksta „.“" + +#: codetoolsstrconsts.ctsmissingtypeidentifier +msgid "missing type identifier" +msgstr "trūksta tipo identifikatoriaus" + +#: codetoolsstrconsts.ctsnameddirectory +msgid "%s Directory" +msgstr "%s aplankas" + +#: codetoolsstrconsts.ctsnamedproject +msgid "%s Project" +msgstr "%s projektas" + +#: codetoolsstrconsts.ctsnestedcommentson +msgid "Nested Comments On" +msgstr "Įdėtiniai komentarai įgalinti" + +#: codetoolsstrconsts.ctsnesteddefinitionsarenotallowed +msgid "Nested %s definitions are not allowed" +msgstr "Įdėtinės %s apibrėžtys neleidžiamos" + +#: codetoolsstrconsts.ctsnewprocbodynotfound +msgid "new proc body not found" +msgstr "nerasta naujos procedūros pagrindinė dalis" + +#: codetoolsstrconsts.ctsnocontextnodefoundatcursor +msgid "no context node found at cursor" +msgstr "ties žymekliu nerastas kontekstinis mazgas" + +#: codetoolsstrconsts.ctsnodefaultspecifierdefinedtwice +msgid "nodefault specifier defined twice" +msgstr "nenumatytas specifikatorius apibrėžtas dukart" + +#: codetoolsstrconsts.ctsnonodefoundatcursor +msgid "no pascal node found at cursor (i.e. in unparsed code)" +msgstr "ties žymekliu (t.y. neišanalizuotame kode) nerastas paskalio mazgas" + +#: codetoolsstrconsts.ctsnopascalcodefound +msgid "no pascal code found (first token is %s)" +msgstr "paskalio kodas nerastas (pirmoji leksema - %s)" + +#: codetoolsstrconsts.ctsnoscanneravailable +msgid "No scanner available" +msgstr "Nėra žvalgytuvo" + +#: codetoolsstrconsts.ctsnoscannerfound +msgid "No scanner found for \"%s\". If this is an include file, please open the main source first." +msgstr "„%s“ skirtas žvalgytuvas nerastas. Jei tai įdedamasis failas, pirma atverkite pagrindinį pirminį kodą." + +#: codetoolsstrconsts.ctsoldmethodnotfound +msgid "old method not found: %s" +msgstr "nerastas senasis metodas: %s" + +#: codetoolsstrconsts.ctsothercompilerdefines +msgid "%s Compiler Defines" +msgstr "%s kompiliatoriaus apibrėžtys" + +#: codetoolsstrconsts.ctspackagedirectories +msgid "Package directories" +msgstr "Paketų aplankai" + +#: codetoolsstrconsts.ctspackagerdirectory +msgid "Packager Directory" +msgstr "Paketų kūrėjo aplankas" + +#: codetoolsstrconsts.ctspackagerregistrationdirectory +msgid "Packager Registration Directory" +msgstr "Paketų kūrėjo registravimo aplankas" + +#: codetoolsstrconsts.ctspackagerunitsdirectory +msgid "Packager Units Directory" +msgstr "Paketų kūrėjo modulių aplankas" + +#: codetoolsstrconsts.ctspointhintprocstartat +msgid ". Hint: proc start at " +msgstr ". Užuomina: procedūros pradžia ties " + +#: codetoolsstrconsts.ctspointstartat +msgid ". start at " +msgstr ". pradžia ties " + +#: codetoolsstrconsts.ctspositionnotinsource +msgid "Position not in source" +msgstr "Pozicija ne pirminiame kode" + +#: codetoolsstrconsts.ctsprocedureorfunction +msgid "procedure or function" +msgstr "procedūra arba funkcija" + +#: codetoolsstrconsts.ctsprocessorspecific +msgid "processor specific" +msgstr "priklauso nuo procesorio" + +#: codetoolsstrconsts.ctsproperttypeexpectedbutatomfound +msgid "property type expected, but %s found" +msgstr "tikėtasi savybės tipo, tačiau aptikta %s" + +#: codetoolsstrconsts.ctspropertyspecifieralreadydefined +msgid "property specifier already defined: %s" +msgstr "savybės specifikatorius jau yra abibrėžtas: %s" + +#: codetoolsstrconsts.ctsqualifierexpectedbutatomfound +msgid "qualifier expected but %s found" +msgstr "tikėtasi patikslos, tačiau aptikta %s" + +#: codetoolsstrconsts.ctsresetalldefines +msgid "Reset all defines" +msgstr "Atstatyti visas apibrėžtis" + +#: codetoolsstrconsts.ctsruntimelibrary +msgid "Runtime library" +msgstr "Veikos meto biblioteka" + +#: codetoolsstrconsts.ctssemicolonafterpropspecmissing +msgid "; expected after \"%s\" property specifier, but %s found" +msgstr "; tikėtasi po „%s“ savybės specifikatoriaus, tačiau rasta %s" + +#: codetoolsstrconsts.ctssemicolonnotfound +msgid "semicolon not found" +msgstr "neratas kablataškis" + +#: codetoolsstrconsts.ctssetsincpathto +msgid "sets IncPath to %s" +msgstr "įdedamųjų kelia nustato į %s" + +#: codetoolsstrconsts.ctssetssrcpathto +msgid "sets SrcPath to %s" +msgstr "pirminio kodo kelią nustato į %s" + +#: codetoolsstrconsts.ctssourcefilenamesforstandardfpcunits +msgid "Source filenames for the standard fpc units" +msgstr "Pirminiai failų pavadinimai standartiniams FPC moduliams" + +#: codetoolsstrconsts.ctssourceisnotunit +msgid "source is not unit" +msgstr "šaltinis nėra modulis" + +#: codetoolsstrconsts.ctssourcenotfoundunit +msgid "source not found: unit %s" +msgstr "pirminis kodas nerastas: modulis %s" + +#: codetoolsstrconsts.ctssourceofunitnotfound +msgid "source of unit not found: %s" +msgstr "" + +#: codetoolsstrconsts.ctssrcpathforcompiledunits +msgid "src path for compiled units" +msgstr "pirminio kodo kelias kompiliuotiems moduliams" + +#: codetoolsstrconsts.ctssrcpathinitialization +msgid "SrcPath Initialization" +msgstr "Pirminio kodo kelio inicializacija" + +#: codetoolsstrconsts.ctsstrexpectedbutatomfound +msgid "%s expected, but %s found" +msgstr "%s tikėtasi, tačiau rasta %s" + +#: codetoolsstrconsts.ctsstringconstant +msgid "string constant" +msgstr "eilutės konstanta" + +#: codetoolsstrconsts.ctssyntaxerrorinexpr +msgid "Syntax Error in expression \"%s\"" +msgstr "Išraiškoje „%s“ yra sintaksės klaida" + +#: codetoolsstrconsts.ctstcodetoolmanagerconsistencycheck +msgid "TCodeToolManager.ConsistencyCheck=%d" +msgstr "TCodeToolManager.ConsistencyCheck=%d" + +#: codetoolsstrconsts.ctstermnotsimple +msgid "Term has no simple type" +msgstr "Termas neturi paprasto tipo" + +#: codetoolsstrconsts.ctstoolsdirectory +msgid "Tools Directory" +msgstr "Įrankių aplankas" + +#: codetoolsstrconsts.ctstypeidentifier +msgid "type identifier" +msgstr "tipo identifikatorius" + +#: codetoolsstrconsts.ctstypesectionofclassnotfound +msgid "type section of class not found" +msgstr "klasėje nerasta tipo sekcija" + +#: codetoolsstrconsts.ctsunabletoapplychanges +msgid "unable to apply changes" +msgstr "neina pritaikyti pakeitimus" + +#: codetoolsstrconsts.ctsunabletocompleteproperty +msgid "unable to complete property" +msgstr "neina užbaigti savybės" + +#: codetoolsstrconsts.ctsundefine +msgid "Undefine " +msgstr "" + +#: codetoolsstrconsts.ctsunexpectedendofsource msgid "unexpected end of source" msgstr "netikėta pirminio kodo pabaiga" -#: codetoolsstrconsts:ctsunexpectedkeyword +#: codetoolsstrconsts.ctsunexpectedkeyword msgid "unexpected keyword \"%s\"" msgstr "netikėtas raktažodis „%s“" -#: codetoolsstrconsts:ctsunexpectedkeywordwhilereadingbackwards -msgid "unexpected keyword \"%s\" found while reading blocks backwards" -msgstr "skaitant blokus atygaline tvarka aptiktas netikėtas raktažodis „%s“" - -#: codetoolsstrconsts:ctsunexpectedkeywordinasmblock +#: codetoolsstrconsts.ctsunexpectedkeywordinasmblock msgid "unexpected keyword \"%s\" in asm block found" msgstr "asemblerio bloke aptiktas netikėtas raktažodis „%s“" -#: codetoolsstrconsts:ctsunexpectedkeywordinbeginendblock +#: codetoolsstrconsts.ctsunexpectedkeywordinbeginendblock msgid "unexpected keyword \"%s\" in begin..end found" msgstr "tarp „begin“ ir „end“ aptiktas netikėtas raktažodis „%s“" -#: codetoolsstrconsts:ctsunexpectedsubrangeoperatorfound +#: codetoolsstrconsts.ctsunexpectedkeywordwhilereadingbackwards +msgid "unexpected keyword \"%s\" found while reading blocks backwards" +msgstr "skaitant blokus atygaline tvarka aptiktas netikėtas raktažodis „%s“" + +#: codetoolsstrconsts.ctsunexpectedsubrangeoperatorfound msgid "unexpected subrange operator '..' found" msgstr "aptiktas netikėtas poaibio operatorius „..“" -#: codetoolsstrconsts:ctsunitnotfound +#: codetoolsstrconsts.ctsunitnotfound msgid "unit not found: %s" msgstr "modulis nerastas: %s" -#: codetoolsstrconsts:ctsunknownsectionkeyword +#: codetoolsstrconsts.ctsunitpathinitialization +msgid "UnitPath Initialization" +msgstr "Modulių kelio inicializacija" + +#: codetoolsstrconsts.ctsunknownfunction +msgid "Unknown function %s" +msgstr "Nežinoma funkcija %s" + +#: codetoolsstrconsts.ctsunknownmainfilename +msgid "(unknown mainfilename)" +msgstr "(nežinomas pagrindinio failo pavadinimas)" + +#: codetoolsstrconsts.ctsunknownsectionkeyword msgid "unknown section keyword %s found" msgstr "aptiktas nežinomas sekcijos raktažodis %s" -#: codetoolsstrconsts:ctsusedunitisnotapascalunit +#: codetoolsstrconsts.ctsunknownsubdescriptor +msgid "(unknown subdescriptor %s)" +msgstr "(nežinomas vidinis deskriptorius %s)" + +#: codetoolsstrconsts.ctsunparsed +msgid "Unparsed" +msgstr "Neanalizuotas" + +#: codetoolsstrconsts.ctsusedunitisnotapascalunit msgid "used unit is not a pascal unit" msgstr "naudojamas modulis n4ra paskalio modulis" +#: codetoolsstrconsts.ctsutilsdirectories +msgid "Utils directories" +msgstr "Paslaugų programų aplankai" + +#: codetoolsstrconsts.ctswidgetdirectory +msgid "Widget Directory" +msgstr "Valdiklių aplankas" + +#: codetoolsstrconsts.ctswordnotfound +msgid "\"%s\" not found" +msgstr "„%s“ nerastas" + diff --git a/components/codetools/linkscanner.pas b/components/codetools/linkscanner.pas index 536d1712d8..06e0a72445 100644 --- a/components/codetools/linkscanner.pas +++ b/components/codetools/linkscanner.pas @@ -2516,7 +2516,7 @@ var begin Path:=ExtractFilePath(AFilename); if (Path<>'') and (not FilenameIsAbsolute(Path)) then - Path:=ExpandFilename(Path); + Path:=ExpandFileNameUTF8(Path); FileNameOnly:=ExtractFilename(AFilename); Result:=nil; Result:=FOnLoadSource(Self,TrimFilename(Path+FileNameOnly),true); diff --git a/components/h2pas/h2pasdlg.pas b/components/h2pas/h2pasdlg.pas index 107b6b9a60..f06754df4c 100644 --- a/components/h2pas/h2pasdlg.pas +++ b/components/h2pas/h2pasdlg.pas @@ -1268,7 +1268,7 @@ var NewFilename: String; begin Result:=mrCancel; - NewFilename:=ExpandFileName(TrimFilename(Filename)); + NewFilename:=ExpandFileNameUTF8(TrimFilename(Filename)); if not FileExistsUTF8(NewFilename) then begin if ofOnlyIfExists in Flags then begin MessageDlg('File not found', diff --git a/components/h2pas/languages/h2passtrconsts.lt.po b/components/h2pas/languages/h2passtrconsts.lt.po index 0e619d41b9..3457a51d06 100644 --- a/components/h2pas/languages/h2passtrconsts.lt.po +++ b/components/h2pas/languages/h2passtrconsts.lt.po @@ -10,19 +10,19 @@ msgstr "" "MIME-Version: 1.0\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: h2passtrconsts:h2pcheaderfileconverter +#: h2passtrconsts.h2pcheaderfileconverter msgid "C header file converter" msgstr "C antraštės failo konverteris" -#: h2passtrconsts:h2pcreateunitsfromcheaderfiles +#: h2passtrconsts.h2pcreateunitsfromcheaderfiles msgid "Create units from C header files" msgstr "Kurti modulius pagal C antraštės failus" -#: h2passtrconsts:h2ph2pas +#: h2passtrconsts.h2ph2pas msgid "H2Pas" msgstr "H2Pas" -#: h2passtrconsts:h2ph2pastool +#: h2passtrconsts.h2ph2pastool msgid "H2PasTool" msgstr "H2PasTool" diff --git a/components/lazreport/source/sysutilsadds.pas b/components/lazreport/source/sysutilsadds.pas index 932c3c9728..e27a18099e 100644 --- a/components/lazreport/source/sysutilsadds.pas +++ b/components/lazreport/source/sysutilsadds.pas @@ -184,14 +184,14 @@ begin TFMTAP := LongTimeFormat; //nl_langinfo(T_FMT_AMPM) //KDE config - if DirectoryExistsUTF8(ExpandFileName('~/.kde/share/config')) then + if DirectoryExistsUTF8(ExpandFileNameUTF8('~/.kde/share/config')) then begin Lg:=Copy(GetEnvironmentVariableUTF8('LANG'),1,2); //Langue LstKde:=TStringList.Create; try ReadKdeFileConfig(Format('/usr/share/locale/l10n/%s/entry.desktop',[Lg]),'[KCM Locale]',LstKde); - ReadKdeFileConfig(ExpandFileName('~/.kde/share/config/kdeglobals'),'[Locale]',LstKde); + ReadKdeFileConfig(ExpandFileNameUTF8('~/.kde/share/config/kdeglobals'),'[Locale]',LstKde); St:=ReadKdeConfig('DecimalSymbol',DecimalSeparator); DecimalSeparator:=St[1]; diff --git a/components/printers/unix/cupsprinters.inc b/components/printers/unix/cupsprinters.inc index 936a10187c..ae33531e53 100644 --- a/components/printers/unix/cupsprinters.inc +++ b/components/printers/unix/cupsprinters.inc @@ -221,7 +221,7 @@ var PrinterName : string; begin Result:=-1; if not CUPSLibInstalled then Exit; - aFileName:=ExpandFileName(aFileName); + aFileName:=ExpandFileNameUTF8(aFileName); if (Printers.Count>0) then begin diff --git a/components/sqlite/sqlitecomponenteditor.pas b/components/sqlite/sqlitecomponenteditor.pas index a26b51d3b6..1379a29db0 100644 --- a/components/sqlite/sqlitecomponenteditor.pas +++ b/components/sqlite/sqlitecomponenteditor.pas @@ -229,7 +229,7 @@ begin editFieldName.Enabled:=False; comboFieldType.Enabled:=False; end; - lblFilePath.Caption:='File Path: '+ExpandFileName(DataSet.FileName); + lblFilePath.Caption:='File Path: '+ExpandFileNameUTF8(DataSet.FileName); label3.caption:='Table Name: '+ DataSet.TableName; end; diff --git a/components/tdbf/languages/registerdbf.lt.po b/components/tdbf/languages/registerdbf.lt.po index 3330f2c1f9..fff730f9ed 100644 --- a/components/tdbf/languages/registerdbf.lt.po +++ b/components/tdbf/languages/registerdbf.lt.po @@ -10,7 +10,7 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: registerdbf:dbfsalldbasefiles +#: registerdbf.dbfsalldbasefiles msgid "DBase Files" msgstr "DBase failai" diff --git a/components/turbopower_ipro/examples/htmfileexp1.pas b/components/turbopower_ipro/examples/htmfileexp1.pas index afc2d7ea58..1242dfcd63 100644 --- a/components/turbopower_ipro/examples/htmfileexp1.pas +++ b/components/turbopower_ipro/examples/htmfileexp1.pas @@ -256,7 +256,7 @@ begin end; end else begin - FN := ExpandFileName(FN); + FN := ExpandFileNameUTF8(FN); CurrFile := ExtractFileName (FN); Path := ExtractFilePath (FN); PathChanged := True; diff --git a/components/turbopower_ipro/examples/htmfileexp2.pas b/components/turbopower_ipro/examples/htmfileexp2.pas index d62b58b58b..faf592a6e8 100644 --- a/components/turbopower_ipro/examples/htmfileexp2.pas +++ b/components/turbopower_ipro/examples/htmfileexp2.pas @@ -266,7 +266,7 @@ begin end; end else begin - FN := ExpandFileName(FN); + FN := ExpandFileNameUTF8(FN); CurrFile := ExtractFileName (FN); Path := ExtractFilePath (FN); PathChanged := True; diff --git a/components/turbopower_ipro/ipfilebroker.pas b/components/turbopower_ipro/ipfilebroker.pas index 52beac4ab5..ba125fef7e 100644 --- a/components/turbopower_ipro/ipfilebroker.pas +++ b/components/turbopower_ipro/ipfilebroker.pas @@ -143,7 +143,7 @@ implementation function expandLocalHtmlFileName (URL : string) : string; begin if pos ('FILE://', ansiuppercase(URL)) = 0 then - result := 'file://'+DOSToNetPath(ExpandFileName(URL)) + result := 'file://'+DOSToNetPath(ExpandFileNameUTF8(URL)) else result := URL; end; diff --git a/doceditor/frmbuild.pp b/doceditor/frmbuild.pp index bc54055296..b4f6500998 100644 --- a/doceditor/frmbuild.pp +++ b/doceditor/frmbuild.pp @@ -546,7 +546,7 @@ begin begin S:=L[i]; If (LBDescrFiles.Items.IndexOf(S)=-1) and - (LBDescrFiles.Items.IndexOf(ExpandFileName(S))=-1) then + (LBDescrFiles.Items.IndexOf(ExpandFileNameUTF8(S))=-1) then LBDescrFiles.Items.Add(S); end; Finally diff --git a/doceditor/frmmain.pp b/doceditor/frmmain.pp index 9d492023b1..75820a4cc1 100644 --- a/doceditor/frmmain.pp +++ b/doceditor/frmmain.pp @@ -480,7 +480,7 @@ Var Index : Integer; begin - FN:=ExpandFileName(FN); + FN:=ExpandFileNameUTF8(FN); With FRecent do begin Index:=IndexOf(FN); diff --git a/examples/codepageconverter/mainunit.pas b/examples/codepageconverter/mainunit.pas index 5644f2a01d..b0ef751f0a 100644 --- a/examples/codepageconverter/mainunit.pas +++ b/examples/codepageconverter/mainunit.pas @@ -80,7 +80,7 @@ function origpath:string; var tmp:string; begin tmp:=StrPas(argv[0]); - tmp:=ExpandFileName(tmp); + tmp:=ExpandFileNameUTF8(tmp); tmp:=ExtractFileDir(tmp); tmp:=IncludeTrailingPathDelimiter(tmp); result:=tmp; diff --git a/examples/imgviewer/frmmain.pas b/examples/imgviewer/frmmain.pas index eb07181155..dd04b5cd80 100644 --- a/examples/imgviewer/frmmain.pas +++ b/examples/imgviewer/frmmain.pas @@ -423,9 +423,9 @@ begin begin S:=ParamStrUTF8(I); If DirectoryExistsUTF8(S) then - AddDir(ExpandFileName(S),FRecursive) + AddDir(ExpandFileNameUTF8(S),FRecursive) else if FileExistsUTF8(S) then - AddFile(ExpandFileName(S),LBFiles.Items.Count=0); + AddFile(ExpandFileNameUTF8(S),LBFiles.Items.Count=0); end; end; end; diff --git a/examples/openglcontrol/exampleform.pp b/examples/openglcontrol/exampleform.pp index 4d07bb023b..98ec32749e 100644 --- a/examples/openglcontrol/exampleform.pp +++ b/examples/openglcontrol/exampleform.pp @@ -574,9 +574,9 @@ procedure InitGL; begin if not LoadglTexImage2DFromBitmapFile(Filename,Image) then begin MessageDlg('File not found', - 'Image file not found: '+ExpandFilename(Filename), + 'Image file not found: '+ExpandFileNameUTF8(Filename), mtError,[mbOk],0); - raise Exception.Create('Image file not found: '+ExpandFilename(Filename)); + raise Exception.Create('Image file not found: '+ExpandFileNameUTF8(Filename)); end; end; diff --git a/examples/postscript/usamplepostscriptcanvas.pas b/examples/postscript/usamplepostscriptcanvas.pas index 53a31052a4..19e3037715 100644 --- a/examples/postscript/usamplepostscriptcanvas.pas +++ b/examples/postscript/usamplepostscriptcanvas.pas @@ -133,7 +133,7 @@ begin Bmp:=TBitMap.Create; try - Bmp.LoadFromFile(ExpandFileName('../../images/LazarusForm.bmp')); + Bmp.LoadFromFile(ExpandFileNameUTF8('../../images/LazarusForm.bmp')); DRaw(10,450,BMP); finally Bmp.Free; @@ -141,7 +141,7 @@ begin xpm:=TPixMap.Create; try - xpm.LoadFromFile(ExpandFileName('../../images/lazarus.xpm')); + xpm.LoadFromFile(ExpandFileNameUTF8('../../images/lazarus.xpm')); StretchDraw(Rect(10,500,110,600),xpm); finally xpm.Free; @@ -187,14 +187,14 @@ var FName: string; begin if Sender=nil then ; - if FileExistsUTF8(ExpandFileName('./test1.ps')) then + if FileExistsUTF8(ExpandFileNameUTF8('./test1.ps')) then begin {$IFDEF MSWINDOWS} - FName := '"C:\Program Files\Ghostgum\gsview\gsview32" ' + ExpandFileName('./test1.ps'); + FName := '"C:\Program Files\Ghostgum\gsview\gsview32" ' + ExpandFileNameUTF8('./test1.ps'); ShellExecute(Handle, 'open', PChar(FName), nil, nil, SW_SHOWNORMAL) {$ENDIF} {$IFDEF UNIX} - Shell(format('kghostview %s',[ExpandFileName('./test1.ps')])); + Shell(format('kghostview %s',[ExpandFileNameUTF8('./test1.ps')])); {$ENDIF} end; end; diff --git a/ide/checkcompileropts.pas b/ide/checkcompileropts.pas index a8bdbb2881..22fe8450c1 100644 --- a/ide/checkcompileropts.pas +++ b/ide/checkcompileropts.pas @@ -520,7 +520,7 @@ var if NewPath<>'' then begin if not FilenameIsAbsolute(NewPath) then begin AddWarning(Format(lisCCORelUnitPathFoundInCfg,[NewPath])); - NewPath:=ExpandFileName(NewPath); + NewPath:=ExpandFileNameUTF8(NewPath); end; NewPath:=AppendPathDelim(TrimFilename(NewPath)); if (CompareFilenames(NewPath,Options.BaseDirectory)<>0) diff --git a/ide/idecmdline.pas b/ide/idecmdline.pas index 9d06aba575..96de34cd48 100644 --- a/ide/idecmdline.pas +++ b/ide/idecmdline.pas @@ -91,7 +91,7 @@ begin else begin // Do not add file to the parameter list - if not (Copy(Param,1,1) = '-') and (FileExistsUTF8(ExpandFileName(Param))) then + if not (Copy(Param,1,1) = '-') and (FileExistsUTF8(ExpandFileNameUTF8(Param))) then begin DebugLn('%s is a file', [Param]); continue; diff --git a/ide/include/unix/lazbaseconf.inc b/ide/include/unix/lazbaseconf.inc index 49405e228d..47fb84f370 100644 --- a/ide/include/unix/lazbaseconf.inc +++ b/ide/include/unix/lazbaseconf.inc @@ -89,8 +89,8 @@ end; ---------------------------------------------------------------------------} procedure SetPrimaryConfigPath(const NewValue: String); begin - debugln('SetPrimaryConfigPath NewValue="',NewValue,'" -> "',ExpandFileName(NewValue),'"'); - PrimaryConfigPath:=ExpandFileName(NewValue); + debugln('SetPrimaryConfigPath NewValue="',NewValue,'" -> "',ExpandFileNameUTF8(NewValue),'"'); + PrimaryConfigPath:=ExpandFileNameUTF8(NewValue); end; {--------------------------------------------------------------------------- @@ -98,8 +98,8 @@ end; ---------------------------------------------------------------------------} procedure SetSecondaryConfigPath(const NewValue: String); begin - debugln('SetSecondaryConfigPath NewValue="',NewValue,'" -> "',ExpandFileName(NewValue),'"'); - SecondaryConfigPath:=ExpandFileName(NewValue); + debugln('SetSecondaryConfigPath NewValue="',NewValue,'" -> "',ExpandFileNameUTF8(NewValue),'"'); + SecondaryConfigPath:=ExpandFileNameUTF8(NewValue); end; {--------------------------------------------------------------------------- @@ -183,7 +183,7 @@ end; ---------------------------------------------------------------------------} procedure InternalInit; begin - PrimaryConfigPath:=ExpandFileName('~/.lazarus'); + PrimaryConfigPath:=ExpandFileNameUTF8('~/.lazarus'); SecondaryConfigPath:='/etc/lazarus'; end; diff --git a/ide/inputfiledialog.pas b/ide/inputfiledialog.pas index be62c1554c..7adb6f805f 100644 --- a/ide/inputfiledialog.pas +++ b/ide/inputfiledialog.pas @@ -276,7 +276,7 @@ begin and (Filename<>'') then begin if FTransferMacros<>nil then Macros.SubstituteStr(Filename); - Filename:=ExpandFileName(Filename); + Filename:=ExpandFileNameUTF8(Filename); if (not (iftDirectory in CurFileFlags)) and DirPathExistsCached(Filename) then exit; diff --git a/ide/lazarusmanager.pas b/ide/lazarusmanager.pas index c0ecaeecf3..e501f0c871 100644 --- a/ide/lazarusmanager.pas +++ b/ide/lazarusmanager.pas @@ -140,7 +140,7 @@ begin // if no lazarus executable exists in that directory, try the same directory // as the startlazarus executable if not FileExistsUTF8(Result) then - Result := AppendPathDelim(ExtractFilePath(ExpandFileName(ParamStrUTF8(0)))) + + Result := AppendPathDelim(ExtractFilePath(ExpandFileNameUTF8(ParamStrUTF8(0)))) + FileName + GetExeExt; end; @@ -244,7 +244,7 @@ var begin WaitForLazarus; try - DefaultDir:=ExtractFilePath(ExpandFileName(ParamStrUTF8(0))); + DefaultDir:=ExtractFilePath(ExpandFileNameUTF8(ParamStrUTF8(0))); if DirectoryExistsUTF8(DefaultDir) then DefaultDir:=ReadAllLinks(DefaultDir,true); except diff --git a/ide/main.pp b/ide/main.pp index 92a4315792..44a905d8fd 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -2381,7 +2381,7 @@ procedure TMainIDE.mnuOpenRecentClicked(Sender: TObject); var AFilename: string; begin - AFileName:=ExpandFilename((Sender as TIDEMenuItem).Caption); + AFileName:=ExpandFileNameUTF8((Sender as TIDEMenuItem).Caption); if DoOpenEditorFile(AFilename,-1,[ofAddToRecent])=mrOk then begin UpdateEnvironment; end else begin @@ -3245,7 +3245,7 @@ Begin OpenDialog.Title:=lisChooseProgramSourcePpPasLpr; OpenDialog.Options:=OpenDialog.Options+[ofPathMustExist,ofFileMustExist]; if OpenDialog.Execute then begin - AFilename:=ExpandFilename(OpenDialog.Filename); + AFilename:=ExpandFileNameUTF8(OpenDialog.Filename); if not FilenameIsPascalSource(AFilename) then begin MessageDlg(lisPkgMangInvalidFileExtension, lisProgramSourceMustHaveAPascalExtensionLikePasPpOrLp, @@ -3273,7 +3273,7 @@ var begin if (Sender is TIDEMenuItem) and (TIDEMenuItem(Sender).Section=itmProjectRecentOpen) then begin - AFileName:=ExpandFilename(TIDEMenuItem(Sender).Caption); + AFileName:=ExpandFileNameUTF8(TIDEMenuItem(Sender).Caption); if DoOpenProjectFile(AFilename,[ofAddToRecent])=mrOk then begin AddRecentProjectFileToEnvironment(AFilename); end else begin @@ -3292,7 +3292,7 @@ begin OpenDialog.Filter := lisLazarusProjectInfoFile+' (*.lpi)|*.lpi|' +lisAllFiles+'|'+GetAllFilesMask; if OpenDialog.Execute then begin - AFilename:=ExpandFilename(OpenDialog.Filename); + AFilename:=ExpandFileNameUTF8(OpenDialog.Filename); DoOpenProjectFile(AFilename,[ofAddToRecent]); end; InputHistories.StoreFileDialogSettings(OpenDialog); @@ -4466,7 +4466,7 @@ begin Result:=mrCancel; exit; end; - NewFilename:=ExpandFilename(SaveDialog.Filename); + NewFilename:=ExpandFileNameUTF8(SaveDialog.Filename); finally InputHistories.StoreFileDialogSettings(SaveDialog); SaveDialog.Free; @@ -6595,9 +6595,9 @@ begin Result:=mrCancel; exit; end; - NewFilename:=ExpandFilename(SaveDialog.Filename); + NewFilename:=ExpandFileNameUTF8(SaveDialog.Filename); if not FilenameIsAbsolute(NewFilename) then - RaiseException('TMainIDE.DoShowSaveProjectAsDialog: buggy ExpandFileName'); + RaiseException('TMainIDE.DoShowSaveProjectAsDialog: buggy ExpandFileNameUTF8'); NewProgramName:=ExtractFileNameOnly(NewFilename); // check programname @@ -7387,7 +7387,7 @@ begin // replace macros if ofConvertMacros in Flags then begin if not GlobalMacroList.SubstituteStr(AFilename) then exit; - AFilename:=ExpandFilename(AFilename); + AFilename:=ExpandFileNameUTF8(AFilename); end; // revert: use source editor filename @@ -8027,14 +8027,14 @@ var ActiveSrcEdit: TSourceEditor; if ExtractFileExt(TempFile)='' then begin for PasExt:=Low(TPascalExtType) to High(TPascalExtType) do begin Ext:=PascalExtension[PasExt]; - FinalFile:=ExpandFileName(CurPath+TempFile+Ext); + FinalFile:=ExpandFileNameUTF8(CurPath+TempFile+Ext); if FileExistsUTF8(FinalFile) then begin FName:=FinalFile; exit; end; end; end else begin - FinalFile:=ExpandFileName(CurPath+TempFile); + FinalFile:=ExpandFileNameUTF8(CurPath+TempFile); if FileExistsUTF8(FinalFile) then begin FName:=FinalFile; exit; @@ -8491,10 +8491,10 @@ begin Result:=mrCancel; if ExtractFileNameOnly(AFileName)='' then exit; //debugln('TMainIDE.DoOpenProjectFile A1 "'+AFileName+'"'); - AFilename:=ExpandFileName(TrimFilename(AFilename)); + AFilename:=ExpandFileNameUTF8(TrimFilename(AFilename)); //debugln('TMainIDE.DoOpenProjectFile A2 "'+AFileName+'"'); if not FilenameIsAbsolute(AFilename) then - RaiseException('TMainIDE.DoOpenProjectFile: buggy ExpandFileName'); + RaiseException('TMainIDE.DoOpenProjectFile: buggy ExpandFileNameUTF8'); Ext:=lowercase(ExtractFileExt(AFilename)); // check if file exists @@ -8764,7 +8764,7 @@ begin // switch codetools to new project directory CodeToolBoss.GlobalValues.Variables[ExternalMacroStart+'ProjPath']:= - ExpandFilename(ExtractFilePath(ProgramBuf.Filename)); + ExpandFileNameUTF8(ExtractFilePath(ProgramBuf.Filename)); // create a new project Project1:=CreateProjectObject(NewProjectDesc,ProjectDescriptorProgram); @@ -10108,7 +10108,7 @@ begin + '|' + dlgAllFiles + '|'+GetAllFilesMask; if OpenDialog.Execute and (OpenDialog.Files.Count>0) then begin For I := 0 to OpenDialog.Files.Count-1 do begin - AFilename:=ExpandFilename(OpenDialog.Files.Strings[i]); + AFilename:=ExpandFileNameUTF8(OpenDialog.Files.Strings[i]); if ConvertDFMFileToLFMFile(AFilename)=mrAbort then begin Result:=mrAbort; break; @@ -13456,7 +13456,7 @@ begin // user cancels exit; end; - Filename:=ExpandFilename(SaveDialog.Filename); + Filename:=ExpandFileNameUTF8(SaveDialog.Filename); finally InputHistories.StoreFileDialogSettings(SaveDialog); SaveDialog.Free; diff --git a/ide/project.pp b/ide/project.pp index 821be9a7d7..1900c2832c 100644 --- a/ide/project.pp +++ b/ide/project.pp @@ -1374,7 +1374,7 @@ begin if fSource<>nil then Result:=fSource.IsVirtual else - Result:=(fFileName<>ExpandFileName(fFileName)); + Result:=(fFileName<>ExpandFileNameUTF8(fFileName)); end; function TUnitInfo.GetDirectory: string; diff --git a/ide/publishprojectdlg.pas b/ide/publishprojectdlg.pas index d6a799d4ad..f59f9e3709 100644 --- a/ide/publishprojectdlg.pas +++ b/ide/publishprojectdlg.pas @@ -37,8 +37,8 @@ unit PublishProjectDlg; interface uses - Classes, SysUtils, Forms, Controls, Graphics, LResources, Buttons, StdCtrls, - Dialogs, + Classes, SysUtils, FileUtil, Forms, Controls, Graphics, LResources, Buttons, + StdCtrls, Dialogs, IDEWindowIntf, ProjectDefs, PackageDefs, PublishModule, IDEOptionDefs, InputHistory, LazarusIDEStrConsts, ExtCtrls; @@ -137,7 +137,7 @@ begin InputHistories.ApplyFileDialogSettings(SelectDirDialog); SelectDirDialog.Title:=lisChooseDirectory; if SelectDirDialog.Execute then begin - NewDir:=ExpandFilename(SelectDirDialog.Filename); + NewDir:=ExpandFileNameUTF8(SelectDirDialog.Filename); SeTComboBox(DestDirComboBox,NewDir,20); end; SelectDirDialog.Free; diff --git a/ide/unitdependencies.pas b/ide/unitdependencies.pas index 159a7156b4..22bc717a36 100644 --- a/ide/unitdependencies.pas +++ b/ide/unitdependencies.pas @@ -244,7 +244,7 @@ begin OpenDialog.Title:=lisOpenFile; OpenDialog.Options:=OpenDialog.Options+[ofFileMustExist]; if OpenDialog.Execute then begin - RootFilename:=ExpandFilename(OpenDialog.Filename); + RootFilename:=ExpandFileNameUTF8(OpenDialog.Filename); end; InputHistories.StoreFileDialogSettings(OpenDialog); finally @@ -403,7 +403,7 @@ begin end; FCommitUnitHistoryListSelectionNeeded:=false; if UnitHistoryList.Items.IndexOf(UnitHistoryList.Text)<0 then exit; - RootFilename:=ExpandFilename(UnitHistoryList.Text); + RootFilename:=ExpandFileNameUTF8(UnitHistoryList.Text); end; procedure TUnitDependenciesView.KeyUp(var Key: Word; Shift: TShiftState); diff --git a/lcl/fileutil.pas b/lcl/fileutil.pas index 19b599216d..b285c219cd 100644 --- a/lcl/fileutil.pas +++ b/lcl/fileutil.pas @@ -180,6 +180,8 @@ function SysToUTF8(const s: string): string;// as AnsiToUTF8 but more independen function FileExistsUTF8(const Filename: string): boolean; function FileAgeUTF8(const FileName: string): Longint; function DirectoryExistsUTF8(const Directory: string): Boolean; +function ExpandFileNameUTF8(const FileName: string): string; +function ExpandUNCFileNameUTF8(const FileName: string): string; function FindFirstUTF8(const Path: string; Attr: Longint; out Rslt: TSearchRec): Longint; function FindNextUTF8(var Rslt: TSearchRec): Longint; procedure FindCloseUTF8(var F: TSearchrec); diff --git a/lcl/include/filedialog.inc b/lcl/include/filedialog.inc index 4dd25acc40..b13547fd85 100644 --- a/lcl/include/filedialog.inc +++ b/lcl/include/filedialog.inc @@ -140,11 +140,11 @@ procedure TOpenDialog.DereferenceLinks; var i: integer; begin if Filename<>'' then - Filename:=ExpandFilename(Filename); + Filename:=ExpandFileNameUTF8(Filename); if Files<>nil then begin for i:=0 to Files.Count-1 do begin if Files[i]<>'' then - Files[i]:=ExpandFilename(Files[i]); + Files[i]:=ExpandFileNameUTF8(Files[i]); end; end; end; diff --git a/lcl/include/fileutil.inc b/lcl/include/fileutil.inc index 7337d214d6..0558822fc7 100644 --- a/lcl/include/fileutil.inc +++ b/lcl/include/fileutil.inc @@ -66,9 +66,17 @@ begin FNeedRTLAnsiValid:=true; end; +function IsASCII(const s: string): boolean; inline; +var + i: Integer; +begin + for i:=1 to length(s) do if ord(s[i])>127 then exit(false); + Result:=true; +end; + function UTF8ToSys(const s: string): string; begin - if NeedRTLAnsi then + if NeedRTLAnsi and (not IsASCII(s)) then Result:=UTF8ToAnsi(s) else Result:=s; @@ -76,7 +84,7 @@ end; function SysToUTF8(const s: string): string; begin - if NeedRTLAnsi then + if NeedRTLAnsi and (not IsASCII(s)) then Result:=AnsiToUTF8(s) else Result:=s; @@ -97,6 +105,16 @@ begin Result:=SysUtils.DirectoryExists(UTF8ToSys(Directory)); end; +function ExpandFileNameUTF8(const FileName: string): string; +begin + Result:=SysToUTF8(SysUtils.ExpandFileName(UTF8ToSys(Filename))); +end; + +function ExpandUNCFileNameUTF8(const FileName: string): string; +begin + Result:=SysToUTF8(SysUtils.ExpandUNCFileName(UTF8ToSys(Filename))); +end; + function FindFirstUTF8(const Path: string; Attr: Longint; out Rslt: TSearchRec ): Longint; begin @@ -883,7 +901,7 @@ begin raise EFOpenError.Create(AText); end else begin if not FilenameIsAbsolute(LinkFilename) then - Result:=ExpandFilename(ExtractFilePath(Result)+LinkFilename) + Result:=ExpandFileNameUTF8(ExtractFilePath(Result)+LinkFilename) else Result:=LinkFilename; end; @@ -1044,7 +1062,7 @@ begin // resolve links Result:=ReadAllLinks(Result,false); // extract file path and expand to full name - Result:=ExpandFilename(ExtractFilePath(Result)); + Result:=ExpandFileNameUTF8(ExtractFilePath(Result)); end; function DirectoryIsWritable(const DirectoryName: string): boolean; @@ -1071,7 +1089,7 @@ end; ------------------------------------------------------------------------------} function CleanAndExpandFilename(const Filename: string): string; begin - Result:=ExpandFilename(TrimFileName(Filename)); + Result:=ExpandFileNameUTF8(TrimFileName(Filename)); end; {------------------------------------------------------------------------------ @@ -1288,7 +1306,7 @@ var i: Integer; CurPath: String; begin - CurPath:=AppendPathDelim(ExpandFilename(Directory))+Prefix; + CurPath:=AppendPathDelim(ExpandFileNameUTF8(Directory))+Prefix; i:=1; repeat Result:=CurPath+IntToStr(i)+'.tmp'; diff --git a/lcl/interfaces/win32/win32wsdialogs.pp b/lcl/interfaces/win32/win32wsdialogs.pp index 2344785639..47f21281d4 100644 --- a/lcl/interfaces/win32/win32wsdialogs.pp +++ b/lcl/interfaces/win32/win32wsdialogs.pp @@ -600,7 +600,7 @@ var I:=Length(pName); while I > 0 do begin - AFiles.Add(ExpandFileName(StrPas(pName))); + AFiles.Add(ExpandFileNameUTF8(StrPas(pName))); Inc(pName,Succ(I)); I:=Length(pName); end; @@ -669,7 +669,7 @@ var for I:= Start to Length(SelectedStr) do if SelectedStr[I] = ' ' then begin - AFiles.Add(ExpandFileName(FolderName+Copy(SelectedStr,Start,I - Start))); + AFiles.Add(ExpandFileNameUTF8(FolderName+Copy(SelectedStr,Start,I - Start))); Start:=Succ(I); end; end; diff --git a/lcl/lclproc.pas b/lcl/lclproc.pas index 5906a13ce2..08ccb20ec3 100644 --- a/lcl/lclproc.pas +++ b/lcl/lclproc.pas @@ -1291,7 +1291,7 @@ var Result := GetEnvironmentVariableUTF8(EnvVarName); end; if (length(result)>0) then - Result := ExpandFileName(Result); + Result := ExpandFileNameUTF8(Result); end; begin diff --git a/lcl/postscriptcanvas.pas b/lcl/postscriptcanvas.pas index ed9bf45884..fd75544b17 100644 --- a/lcl/postscriptcanvas.pas +++ b/lcl/postscriptcanvas.pas @@ -908,7 +908,7 @@ begin Lst.AddStrings(fHeader); Lst.AddStrings(fDocument); - Lst.SaveTofile(UTF8ToSys(ExpandFileName(aFileName))); + Lst.SaveTofile(UTF8ToSys(ExpandFileNameUTF8(aFileName))); finally Lst.Free; end; @@ -1304,7 +1304,7 @@ begin FHeader[I] := '%%' + Format('Pages: %d', [PageNumber]); if Trim(fFileName)<>'' then - SaveToFile(ExpandFileName(fFileName)); + SaveToFile(ExpandFileNameUTF8(fFileName)); end; procedure TPostScriptPrinterCanvas.NewPage; diff --git a/packager/pkgmanager.pas b/packager/pkgmanager.pas index b4734d7500..1da76756fd 100644 --- a/packager/pkgmanager.pas +++ b/packager/pkgmanager.pas @@ -1000,7 +1000,7 @@ procedure TPkgManager.MainIDEitmOpenRecentPackageClicked(Sender: TObject); var AFilename: string; begin - AFileName:=ExpandFilename((Sender as TIDEMenuItem).Caption); + AFileName:=ExpandFileNameUTF8((Sender as TIDEMenuItem).Caption); if DoOpenPackageFile(AFilename,[pofAddToRecent])=mrOk then begin UpdateEnvironment; end else begin diff --git a/test/bugtestcase.pas b/test/bugtestcase.pas index 85ee0e832c..991bb4895f 100644 --- a/test/bugtestcase.pas +++ b/test/bugtestcase.pas @@ -74,7 +74,7 @@ var begin AssertTrue('Project file '+ FProjectFile + ' does not exist', FileExistsUTF8(FProjectFile)); - LazarusDir := ExpandFileName(ExtractFilePath(ParamStrUTF8(0)) + '../'); + LazarusDir := ExpandFileNameUTF8(ExtractFilePath(ParamStrUTF8(0)) + '../'); LazBuildPath := LazarusDir + 'lazbuild' + GetExeExt; AssertTrue(LazBuildPath + ' does not exist', FileExistsUTF8(LazBuildPath)); LazBuild := TProcess.Create(nil); diff --git a/test/testlpi.pas b/test/testlpi.pas index 0cdc30d35c..368e2cbbe0 100644 --- a/test/testlpi.pas +++ b/test/testlpi.pas @@ -66,7 +66,7 @@ var procedure InitDirectories; begin - LazarusDir := ExpandFileName(ExtractFilePath(ParamStrUTF8(0)) + '../'); + LazarusDir := ExpandFileNameUTF8(ExtractFilePath(ParamStrUTF8(0)) + '../'); ComponentsDir := SetDirSeparators(LazarusDir + 'components/'); ExamplesDir := LazarusDir + 'examples' + PathDelim; CTExamplesDir := SetDirSeparators(ComponentsDir + 'codetools/examples/'); diff --git a/tools/apiwizz/apiwizard.pp b/tools/apiwizz/apiwizard.pp index db105a0755..ebfdb3bc7c 100644 --- a/tools/apiwizz/apiwizard.pp +++ b/tools/apiwizz/apiwizard.pp @@ -31,8 +31,8 @@ unit APIWizard; interface uses - Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, - Buttons, ExtCtrls; + Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, + StdCtrls, Buttons, ExtCtrls; type TApiWizForm = class(TForm) diff --git a/tools/compile_all.sh b/tools/compile_all.sh new file mode 100755 index 0000000000..455635052d --- /dev/null +++ b/tools/compile_all.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -e +LazBuild=$1 +if [ ! -x "$LazBuild" ]; then + echo Usage: $0 ./lazbuild + exit -1 +fi +set -x + +find . -name '*.lpk' -exec $LazBuild {} \+ + +#end. diff --git a/tools/lazres.pp b/tools/lazres.pp index 01d8107577..989082bc10 100644 --- a/tools/lazres.pp +++ b/tools/lazres.pp @@ -35,7 +35,7 @@ program LazRes; {$mode objfpc}{$H+} -uses Classes, SysUtils, LResources; +uses Classes, SysUtils, FileUtil, LResources; function StreamIsFormInTextFormat(Stream: TMemoryStream): boolean; const @@ -101,7 +101,7 @@ begin begin S := ParamStrUTF8(2); Delete(S, 1, 1); - S := ExpandFileName(S); + S := ExpandFileNameUTF8(S); if not FileExistsUTF8(S) then begin writeln('ERROR: file list not found: ', S); @@ -112,7 +112,7 @@ begin else for a:=2 to ParamCount do FileList.Add(ParamStrUTF8(a)); ResourceFilename := ParamStrUTF8(1); - FullResourceFilename := ExpandFileName(ResourceFilename); + FullResourceFilename := ExpandFileNameUTF8(ResourceFilename); // check that all resources exists and are not the destination file for a:=0 to FileList.Count-1 do begin S := FileList[a]; @@ -121,7 +121,7 @@ begin writeln('ERROR: file not found: ', S); exit; end; - if ExpandFileName(S) = FullResourceFilename + if ExpandFileNameUTF8(S) = FullResourceFilename then begin writeln('ERROR: resourcefilename = file', a); exit; diff --git a/tools/svn2revisioninc.pas b/tools/svn2revisioninc.pas index d1598ef157..b0a190a37d 100644 --- a/tools/svn2revisioninc.pas +++ b/tools/svn2revisioninc.pas @@ -271,7 +271,7 @@ begin Verbose := False; ConstName := 'RevisionStr'; SourceDirectory:=ChompPathDelim(ExtractFilePath(ParamStrUTF8(0))); - RevisionIncFileName := ExpandFileName('revision.inc'); + RevisionIncFileName := ExpandFileNameUTF8('revision.inc'); //find switchless parameters index := 1; @@ -281,7 +281,7 @@ begin begin case index of 1: SourceDirectory:=ChompPathDelim(ParamStrUTF8(i)); - 2: RevisionIncFileName := ExpandFileName(ParamStrUTF8(i)); + 2: RevisionIncFileName := ExpandFileNameUTF8(ParamStrUTF8(i)); end; Inc(index); end; @@ -316,7 +316,7 @@ begin exit; end; - RevisionIncDirName:=ExtractFilePath(ExpandFileName(RevisionIncFileName)); + RevisionIncDirName:=ExtractFilePath(ExpandFileNameUTF8(RevisionIncFileName)); if (not UseStdOut) and (not DirectoryExistsUTF8(RevisionIncDirName)) then begin writeln('Error: Target Directory "', RevisionIncDirName, '" doesn''t exist.'); exit; diff --git a/tools/updatepofiles.pas b/tools/updatepofiles.pas index 1585d5ed3f..4f1c7077da 100644 --- a/tools/updatepofiles.pas +++ b/tools/updatepofiles.pas @@ -313,7 +313,7 @@ begin Name:=ExtractFilename(Filename); Ext:=ExtractFileExt(Filename); NameOnly:=LeftStr(Name,length(Name)-length(Ext)); - if SysUtils.FindFirstUTF8(Path+GetAllFilesMask,faAnyFile,FileInfo)=0 then begin + if FindFirstUTF8(Path+GetAllFilesMask,faAnyFile,FileInfo)=0 then begin repeat if (FileInfo.Name='.') or (FileInfo.Name='..') or (FileInfo.Name='') or (CompareFilenames(FileInfo.Name,Name)=0) then continue; @@ -323,9 +323,9 @@ begin then continue; Result.Add(Path+FileInfo.Name); - until SysUtils.FindNextUTF8(FileInfo)<>0; + until FindNextUTF8(FileInfo)<>0; end; - SysUtils.FindCloseUTF8(FileInfo); + FindCloseUTF8(FileInfo); end; procedure MergePoTrees(SrcTree, DestTree: TAVLTree);