diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 6ed895412f..fff928f8e0 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -669,6 +669,9 @@ resourcestring lisInfoBuildBuild = 'Build'; lisInfoBuildComplile = 'Compiling...'; lisInfoBuildError = 'Error...'; + lisCreateDirectory = 'Create directory?'; + lisTheOutputDirectoryIsMissing = 'The output directory %s%s%s is missing.'; + lisCreateIt = 'Create it'; lisInfoBuildSuccess = 'Success...'; lisInfoBuildAbort = 'Aborted...'; lisInfoBuildCaption = 'Compile Project'; diff --git a/ide/main.pp b/ide/main.pp index bd002fc7ce..2c264c2fe4 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -9327,9 +9327,10 @@ begin UnitOutputDirectory:=Project1.CompilerOptions.GetUnitOutPath(false); if not DirPathExistsCached(UnitOutputDirectory) then begin if not FileIsInPath(UnitOutputDirectory,WorkingDir) then begin - Result:=IDEQuestionDialog('Create directory?', - 'The output directory "'+UnitOutputDirectory+'" is missing.', - mtConfirmation,[mrYes,'Create it',mrCancel],''); + Result:=IDEQuestionDialog(lisCreateDirectory, + Format(lisTheOutputDirectoryIsMissing, ['"', UnitOutputDirectory, '"'] + ), + mtConfirmation, [mrYes, lisCreateIt, mrCancel], ''); if Result<>mrYes then exit; end; Result:=ForceDirectoryInteractive(UnitOutputDirectory,[mbRetry]); diff --git a/lcl/fileutil.pas b/lcl/fileutil.pas index b285c219cd..5c3fc47fba 100644 --- a/lcl/fileutil.pas +++ b/lcl/fileutil.pas @@ -200,8 +200,9 @@ function ForceDirectoriesUTF8(const Dir: string): Boolean; // environment function ParamStrUTF8(Param: Integer): string; -function GetEnvironmentStringUTF8(Index : Integer): String; -function GetEnvironmentVariableUTF8(const EnvVar: String): String; +function GetEnvironmentStringUTF8(Index: Integer): string; +function GetEnvironmentVariableUTF8(const EnvVar: string): String; +function GetAppConfigDirUTF8(Global: Boolean): string; implementation diff --git a/lcl/include/fileutil.inc b/lcl/include/fileutil.inc index 0558822fc7..c8863d09cb 100644 --- a/lcl/include/fileutil.inc +++ b/lcl/include/fileutil.inc @@ -209,6 +209,11 @@ begin Result:=SysToUTF8(SysUtils.GetEnvironmentVariable(UTF8ToSys(EnvVar))); end; +function GetAppConfigDirUTF8(Global: Boolean): string; +begin + Result:=SysToUTF8(SysUtils.GetAppConfigDir(Global)); +end; + {------------------------------------------------------------------------------ DirPathExists ------------------------------------------------------------------------------} diff --git a/tools/lazdatadesktop/frmmain.pp b/tools/lazdatadesktop/frmmain.pp index b872eaab6f..d5be4ebb85 100644 --- a/tools/lazdatadesktop/frmmain.pp +++ b/tools/lazdatadesktop/frmmain.pp @@ -305,7 +305,7 @@ begin RegisterStdFormats; FRecentDicts:=TRecentDataDicts.Create(TRecentDataDict); FRecentConnections:=TRecentConnections.Create(TRecentConnection); - FN:=GetAppConfigDir(False); + FN:=GetAppConfigDirUTF8(False); ForceDirectoriesUTF8(FN); FN:=GetAppConfigFile(False); FRecentDicts.LoadFromFile(UTF8ToSys(FN,'RecentDicts'));