mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 16:00:16 +02:00
Merged revision(s) 61118 #ddb8114238, 61150-61151 #4d8827642a-#4d8827642a, 61153 #4e7db82b52, 61156-61158 #80f32f0ac9-#80f32f0ac9 from trunk:
Installer, Win: Add Chinese ........ SynEdit: fix potential rangecheck in compare function ........ IDE: SynEdit: fix potential rangecheck in compare function ........ IDE: fix potential overflow in compare function ........ IDE: fix compare function ........ SynEdit: fix compare function ........ fix compare function ........ git-svn-id: branches/fixes_2_0@61159 -
This commit is contained in:
parent
b4948e01b5
commit
1a565b7ccf
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -11861,6 +11861,7 @@ tools/install/rpm/lazarus.spec.template svneol=native#text/plain
|
|||||||
tools/install/slacktgz/build.sh svneol=native#text/plain
|
tools/install/slacktgz/build.sh svneol=native#text/plain
|
||||||
tools/install/slacktgz/slack-desc svneol=native#text/plain
|
tools/install/slacktgz/slack-desc svneol=native#text/plain
|
||||||
tools/install/smart_strip.sh svneol=native#text/plain
|
tools/install/smart_strip.sh svneol=native#text/plain
|
||||||
|
tools/install/win/ChineseSimplified_from_inno_6_0.isl svneol=native#text/plain
|
||||||
tools/install/win/RemovedFiles32.iss svneol=native#text/plain
|
tools/install/win/RemovedFiles32.iss svneol=native#text/plain
|
||||||
tools/install/win/RemovedFiles64.iss svneol=native#text/plain
|
tools/install/win/RemovedFiles64.iss svneol=native#text/plain
|
||||||
tools/install/win/ReplaceText/ReplaceText.lpi svneol=native#text/pascal
|
tools/install/win/ReplaceText/ReplaceText.lpi svneol=native#text/pascal
|
||||||
|
@ -44,7 +44,7 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils,
|
Classes, SysUtils,
|
||||||
// LazUtils
|
// LazUtils
|
||||||
LazMethodList,
|
LazMethodList, LazUtilities,
|
||||||
// LCL
|
// LCL
|
||||||
LCLIntf, LCLType, LCLProc, Graphics, Controls, Clipbrd, ImgList,
|
LCLIntf, LCLType, LCLProc, Graphics, Controls, Clipbrd, ImgList,
|
||||||
// SynEdit
|
// SynEdit
|
||||||
@ -1571,7 +1571,7 @@ end;
|
|||||||
|
|
||||||
function TSynObjectListItem.Compare(Other: TSynObjectListItem): Integer;
|
function TSynObjectListItem.Compare(Other: TSynObjectListItem): Integer;
|
||||||
begin
|
begin
|
||||||
Result := PtrUInt(self) - PtrUInt(Other);
|
Result := ComparePointers(Pointer(self), Pointer(Other));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TSynObjectListItem.Create(AOwner: TComponent);
|
constructor TSynObjectListItem.Create(AOwner: TComponent);
|
||||||
|
@ -30,7 +30,7 @@ uses
|
|||||||
Classes, Graphics, Controls, LCLProc, LCLType, LCLIntf, Forms, LMessages,
|
Classes, Graphics, Controls, LCLProc, LCLType, LCLIntf, Forms, LMessages,
|
||||||
FPCanvas, sysutils, math, SynGutterBase, SynEditTypes, LazSynEditText,
|
FPCanvas, sysutils, math, SynGutterBase, SynEditTypes, LazSynEditText,
|
||||||
SynEditTextBuffer, SynEditMarks, SynEditMiscClasses, SynEditFoldedView,
|
SynEditTextBuffer, SynEditMarks, SynEditMiscClasses, SynEditFoldedView,
|
||||||
SynEditMouseCmds;
|
SynEditMouseCmds, LazUtilities;
|
||||||
|
|
||||||
type
|
type
|
||||||
TSynGutterLineOverview = class;
|
TSynGutterLineOverview = class;
|
||||||
@ -349,9 +349,7 @@ begin
|
|||||||
if Result <> 0 then exit;
|
if Result <> 0 then exit;
|
||||||
Result := Column - Other.Column;
|
Result := Column - Other.Column;
|
||||||
if Result <> 0 then exit;
|
if Result <> 0 then exit;
|
||||||
{$PUSH}{$Q-} // Overflow is allowed to occur
|
Result := ComparePointers(Pointer(self), Pointer(Other));
|
||||||
Result := Integer(PtrUint(self) - PtrUInt(Other));
|
|
||||||
{$POP}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynGutterLOvMark.CompareByLine(Other: TSynGutterLOvMark): Integer;
|
function TSynGutterLOvMark.CompareByLine(Other: TSynGutterLOvMark): Integer;
|
||||||
@ -362,9 +360,7 @@ begin
|
|||||||
if Result <> 0 then exit;
|
if Result <> 0 then exit;
|
||||||
Result := Priority - Other.Priority;
|
Result := Priority - Other.Priority;
|
||||||
if Result <> 0 then exit;
|
if Result <> 0 then exit;
|
||||||
{$PUSH}{$Q-} // Overflow is allowed to occur
|
Result := ComparePointers(Pointer(self), Pointer(Other));
|
||||||
Result := Integer(PtrUint(self) - PtrUInt(Other));
|
|
||||||
{$POP}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSynGutterLOvMark.DoChange;
|
procedure TSynGutterLOvMark.DoChange;
|
||||||
@ -463,9 +459,7 @@ function TSynGutterLOvLineMarks.Compare(Other: TSynGutterLOvLineMarks): Integer;
|
|||||||
begin
|
begin
|
||||||
Result := PixLine - Other.PixLine;
|
Result := PixLine - Other.PixLine;
|
||||||
if Result <> 0 then exit;
|
if Result <> 0 then exit;
|
||||||
{$PUSH}{$Q-} // Overflow is allowed to occur
|
Result := ComparePointers(Pointer(self), Pointer(Other));
|
||||||
Result := PtrUint(self) - PtrUInt(Other);
|
|
||||||
{$POP}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TSynGutterLOvLineMarks.Create;
|
constructor TSynGutterLOvLineMarks.Create;
|
||||||
|
@ -31,7 +31,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils,
|
Classes, SysUtils,
|
||||||
FormEditingIntf;
|
FormEditingIntf, LazUtilities;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ var
|
|||||||
begin
|
begin
|
||||||
Form1 := TNonFormProxyDesignerForm(Data1) as INonFormDesigner;
|
Form1 := TNonFormProxyDesignerForm(Data1) as INonFormDesigner;
|
||||||
Form2 := TNonFormProxyDesignerForm(Data2) as INonFormDesigner;
|
Form2 := TNonFormProxyDesignerForm(Data2) as INonFormDesigner;
|
||||||
Result := PtrInt(Form1.LookupRoot) - PtrInt(Form2.LookupRoot);
|
Result := ComparePointers(Pointer(Form1.LookupRoot), Pointer(Form2.LookupRoot));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function CompareLookupRootAndNonFormDesignerForm(Key, Data: Pointer): integer;
|
function CompareLookupRootAndNonFormDesignerForm(Key, Data: Pointer): integer;
|
||||||
@ -85,7 +85,7 @@ var
|
|||||||
begin
|
begin
|
||||||
LookupRoot := TComponent(Key);
|
LookupRoot := TComponent(Key);
|
||||||
Form := TNonFormProxyDesignerForm(Data) as INonFormDesigner;
|
Form := TNonFormProxyDesignerForm(Data) as INonFormDesigner;
|
||||||
Result := PtrInt(LookupRoot) - PtrInt(Form.LookupRoot);
|
Result := ComparePointers(Pointer(LookupRoot), Pointer(Form.LookupRoot));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TCustomNonFormDesignerForm }
|
{ TCustomNonFormDesignerForm }
|
||||||
|
@ -437,7 +437,7 @@ end;
|
|||||||
|
|
||||||
function TSourceMark.Compare(OtherMark: TSourceMark): integer;
|
function TSourceMark.Compare(OtherMark: TSourceMark): integer;
|
||||||
begin
|
begin
|
||||||
Result:=PtrInt(SourceEditorID)-PtrInt(OtherMark.SourceEditorID);
|
Result:=ComparePointers(Pointer(SourceEditorID), Pointer(OtherMark.SourceEditorID));
|
||||||
if Result<>0 then exit;
|
if Result<>0 then exit;
|
||||||
Result:=Line-OtherMark.Line;
|
Result:=Line-OtherMark.Line;
|
||||||
if Result<>0 then exit;
|
if Result<>0 then exit;
|
||||||
|
351
tools/install/win/ChineseSimplified_from_inno_6_0.isl
Normal file
351
tools/install/win/ChineseSimplified_from_inno_6_0.isl
Normal file
@ -0,0 +1,351 @@
|
|||||||
|
; *** Inno Setup version 6.0.0+ Chinese Simplified messages ***
|
||||||
|
;;;
|
||||||
|
;;; This file is from https://github.com/jrsoftware/issrc/blob/master/Files/Languages/Unofficial/ChineseSimplified.isl
|
||||||
|
;;;
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; Maintained by Zhenghan Yang
|
||||||
|
; Email: 847320916@QQ.com
|
||||||
|
; Translation based on network resource
|
||||||
|
;
|
||||||
|
|
||||||
|
[LangOptions]
|
||||||
|
LanguageName=<7B80><4F53><4E2D><6587>
|
||||||
|
LanguageID=$0004
|
||||||
|
LanguageCodePage=936
|
||||||
|
|
||||||
|
[Messages]
|
||||||
|
|
||||||
|
; *** 应用程序标题
|
||||||
|
SetupAppTitle=安装
|
||||||
|
SetupWindowTitle=安装 - %1
|
||||||
|
UninstallAppTitle=卸载
|
||||||
|
UninstallAppFullTitle=%1 卸载
|
||||||
|
|
||||||
|
; *** Misc. common
|
||||||
|
InformationTitle=信息
|
||||||
|
ConfirmTitle=确认
|
||||||
|
ErrorTitle=错误
|
||||||
|
|
||||||
|
; *** 安装错误消息
|
||||||
|
SetupLdrStartupMessage=现在将安装 %1。您想要继续吗?
|
||||||
|
LdrCannotCreateTemp=不能创建临时文件。安装中断。
|
||||||
|
LdrCannotExecTemp=不能执行临时目录中的文件。安装中断。
|
||||||
|
HelpTextNote=
|
||||||
|
|
||||||
|
; *** 启动错误消息
|
||||||
|
LastErrorMessage=%1.%n%n错误 %2: %3
|
||||||
|
SetupFileMissing=安装目录中的文件 %1 丢失。请修正这个问题或获取一个新的程序副本。
|
||||||
|
SetupFileCorrupt=安装文件已损坏。请获取一个新的程序副本。
|
||||||
|
SetupFileCorruptOrWrongVer=安装文件已损坏,或是与这个安装程序的版本不兼容。请修正这个问题或获取新的程序副本。
|
||||||
|
InvalidParameter=无效的命令行参数: %n%n%1
|
||||||
|
SetupAlreadyRunning=安装程序正在运行。
|
||||||
|
WindowsVersionNotSupported=这个程序不支持该版本的计算机运行。
|
||||||
|
WindowsServicePackRequired=这个程序要求%1服务包%1或更高。
|
||||||
|
NotOnThisPlatform=这个程序将不能运行于 %1。
|
||||||
|
OnlyOnThisPlatform=这个程序必须运行于 %1。
|
||||||
|
OnlyOnTheseArchitectures=这个程序只能在为下列处理器结构设计的 Windows 版本中进行安装:%n%n%1
|
||||||
|
WinVersionTooLowError=这个程序需要 %1 版本 %2 或更高。
|
||||||
|
WinVersionTooHighError=这个程序不能安装于 %1 版本 %2 或更高。
|
||||||
|
AdminPrivilegesRequired=在安装这个程序时您必须以管理员身份登录。
|
||||||
|
PowerUserPrivilegesRequired=在安装这个程序时您必须以管理员身份或有权限的用户组身份登录。
|
||||||
|
SetupAppRunningError=安装程序发现 %1 当前正在运行。%n%n请先关闭所有运行的窗口,然后单击“确定”继续,或按“取消”退出。
|
||||||
|
UninstallAppRunningError=卸载程序发现 %1 当前正在运行。%n%n请先关闭所有运行的窗口,然后单击“确定”继续,或按“取消”退出。
|
||||||
|
|
||||||
|
; *** Startup questions
|
||||||
|
PrivilegesRequiredOverrideTitle=选择安装程序模式
|
||||||
|
PrivilegesRequiredOverrideInstruction=选择安装模式
|
||||||
|
PrivilegesRequiredOverrideText1=%1 可以为所有用户安装(需要管理员权限),或仅为您安装。
|
||||||
|
PrivilegesRequiredOverrideText2=%1 只能为您安装,或为所有用户安装(需要管理员权限)。
|
||||||
|
PrivilegesRequiredOverrideAllUsers=为所有用户安装(&A)
|
||||||
|
PrivilegesRequiredOverrideAllUsersRecommended=为所有用户安装(建议选项)(&A)
|
||||||
|
PrivilegesRequiredOverrideCurrentUser=只为我安装(&M)
|
||||||
|
PrivilegesRequiredOverrideCurrentUserRecommended=只为我安装(建议选项)(&M)
|
||||||
|
|
||||||
|
; *** 其它错误
|
||||||
|
ErrorCreatingDir=安装程序不能创建目录“%1”。
|
||||||
|
ErrorTooManyFilesInDir=不能在目录“%1”中创建文件,因为里面的文件太多
|
||||||
|
|
||||||
|
; *** 安装程序公共消息
|
||||||
|
ExitSetupTitle=退出安装程序
|
||||||
|
ExitSetupMessage=安装程序未完成安装。如果您现在退出,您的程序将不能安装。%n%n您可以以后再运行安装程序完成安装。%n%n退出安装程序吗?
|
||||||
|
AboutSetupMenuItem=关于安装程序(&A)...
|
||||||
|
AboutSetupTitle=关于安装程序
|
||||||
|
AboutSetupMessage=%1 版本 %2%n%3%n%n%1 主页:%n%4
|
||||||
|
AboutSetupNote=
|
||||||
|
TranslatorNote=
|
||||||
|
|
||||||
|
; *** 按钮
|
||||||
|
ButtonBack=< 上一步(&B)
|
||||||
|
ButtonNext=下一步(&N) >
|
||||||
|
ButtonInstall=安装(&I)
|
||||||
|
ButtonOK=确定
|
||||||
|
ButtonCancel=取消
|
||||||
|
ButtonYes=是(&Y)
|
||||||
|
ButtonYesToAll=全是(&A)
|
||||||
|
ButtonNo=否(&N)
|
||||||
|
ButtonNoToAll=全否(&O)
|
||||||
|
ButtonFinish=完成(&F)
|
||||||
|
ButtonBrowse=浏览(&B)...
|
||||||
|
ButtonWizardBrowse=浏览(&R)...
|
||||||
|
ButtonNewFolder=新建文件夹(&M)
|
||||||
|
|
||||||
|
; *** “选择语言”对话框消息
|
||||||
|
SelectLanguageTitle=选择安装语言
|
||||||
|
SelectLanguageLabel=选择安装时要使用的语言:
|
||||||
|
|
||||||
|
; *** 公共向导文字
|
||||||
|
ClickNext=单击“下一步”继续,或单击“取消”退出安装程序。
|
||||||
|
BeveledLabel=
|
||||||
|
BrowseDialogTitle=浏览文件夹
|
||||||
|
BrowseDialogLabel=在下列列表中选择一个文件夹,然后单击“确定”。
|
||||||
|
NewFolderName=新建文件夹
|
||||||
|
|
||||||
|
; *** “欢迎”向导页
|
||||||
|
WelcomeLabel1=欢迎使用 [name] 安装向导
|
||||||
|
WelcomeLabel2=现在将安装 [name/ver] 到您的电脑中。%n%n推荐您在继续安装前关闭所有其它应用程序。
|
||||||
|
|
||||||
|
; *** “密码”向导页
|
||||||
|
WizardPassword=密码
|
||||||
|
PasswordLabel1=这个安装程序有密码保护。
|
||||||
|
PasswordLabel3=请输入密码,然后单击“下一步”继续。密码区分大小写。
|
||||||
|
PasswordEditLabel=密码(&P):
|
||||||
|
IncorrectPassword=您输入的密码不正确,请重试。
|
||||||
|
|
||||||
|
; *** “许可协议”向导页
|
||||||
|
WizardLicense=许可协议
|
||||||
|
LicenseLabel=继续安装前请阅读下列重要信息。
|
||||||
|
LicenseLabel3=请仔细阅读下列许可协议。您在继续安装前必须同意这些协议条款。
|
||||||
|
LicenseAccepted=我同意此协议(&A)
|
||||||
|
LicenseNotAccepted=我不同意此协议(&D)
|
||||||
|
|
||||||
|
; *** “信息”向导页
|
||||||
|
WizardInfoBefore=信息
|
||||||
|
InfoBeforeLabel=请在继续安装前阅读下列重要信息。
|
||||||
|
InfoBeforeClickLabel=如果您想继续安装,单击“下一步”。
|
||||||
|
WizardInfoAfter=信息
|
||||||
|
InfoAfterLabel=请在继续安装前阅读下列重要信息。
|
||||||
|
InfoAfterClickLabel=如果您想继续安装,单击“下一步”。
|
||||||
|
|
||||||
|
; *** “用户信息”向导页
|
||||||
|
WizardUserInfo=用户信息
|
||||||
|
UserInfoDesc=请输入您的信息。
|
||||||
|
UserInfoName=用户名(&U):
|
||||||
|
UserInfoOrg=组织(&O):
|
||||||
|
UserInfoSerial=序列号(&S):
|
||||||
|
UserInfoNameRequired=您必须输入名字。
|
||||||
|
|
||||||
|
; *** “选择目标目录”向导面
|
||||||
|
WizardSelectDir=选择目标位置
|
||||||
|
SelectDirDesc=您想将 [name] 安装在什么地方?
|
||||||
|
SelectDirLabel3=安装程序将安装 [name] 到下列文件夹中。
|
||||||
|
SelectDirBrowseLabel=单击“下一步”继续。如果您想选择其它文件夹,单击“浏览”。
|
||||||
|
DiskSpaceMBLabel=至少需要有 [mb] MB 的可用磁盘空间。
|
||||||
|
CannotInstallToNetworkDrive=安装程序无法安装到一个网络驱动器。
|
||||||
|
CannotInstallToUNCPath=安装程序无法安装到一个UNC路径。
|
||||||
|
InvalidPath=您必须输入一个带驱动器卷标的完整路径,例如:%n%nC:\APP%n%n或下列形式的 UNC 路径:%n%n\\server\share
|
||||||
|
InvalidDrive=您选定的驱动器或 UNC 共享不存在或不能访问。请选选择其它位置。
|
||||||
|
DiskSpaceWarningTitle=没有足够的磁盘空间
|
||||||
|
DiskSpaceWarning=安装程序至少需要 %1 KB 的可用空间才能安装,但选定驱动器只有 %2 KB 的可用空间。%n%n您一定要继续吗?
|
||||||
|
DirNameTooLong=文件夹名或路径太长。
|
||||||
|
InvalidDirName=文件夹名是无效的。
|
||||||
|
BadDirName32=文件夹名不能包含下列任何字符:%n%n%1
|
||||||
|
DirExistsTitle=文件夹存在
|
||||||
|
DirExists=文件夹:%n%n%1%n%n已经存在。您一定要安装到这个文件夹中吗?
|
||||||
|
DirDoesntExistTitle=文件夹不存在
|
||||||
|
DirDoesntExist=文件夹:%n%n%1%n%n不存在。您想要创建此目录吗?
|
||||||
|
|
||||||
|
; *** “选择组件”向导页
|
||||||
|
WizardSelectComponents=选择组件
|
||||||
|
SelectComponentsDesc=您想安装哪些程序的组件?
|
||||||
|
SelectComponentsLabel2=选择您想要安装的组件;清除您不想安装的组件。然后单击“下一步”继续。
|
||||||
|
FullInstallation=完全安装
|
||||||
|
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
|
||||||
|
CompactInstallation=简洁安装
|
||||||
|
CustomInstallation=自定义安装
|
||||||
|
NoUninstallWarningTitle=组件存在
|
||||||
|
NoUninstallWarning=安装程序侦测到下列组件已在您的电脑中安装。:%n%n%1%n%n取消选定这些组件将不能卸载它们。%n%n您一定要继续吗?
|
||||||
|
ComponentSize1=%1 KB
|
||||||
|
ComponentSize2=%1 MB
|
||||||
|
ComponentsDiskSpaceMBLabel=当前选择的组件至少需要 [mb] MB 的磁盘空间。
|
||||||
|
|
||||||
|
; *** “选择附加任务”向导页
|
||||||
|
WizardSelectTasks=选择附加任务
|
||||||
|
SelectTasksDesc=您想要安装程序执行哪些附加任务?
|
||||||
|
SelectTasksLabel2=选择您想要安装程序在安装 [name] 时执行的附加任务,然后单击“下一步”。
|
||||||
|
|
||||||
|
; *** “选择开始菜单文件夹”向导页
|
||||||
|
WizardSelectProgramGroup=选择开始菜单文件夹
|
||||||
|
SelectStartMenuFolderDesc=您想在哪里放置程序的快捷方式?
|
||||||
|
SelectStartMenuFolderLabel3=安装程序现在将在下列开始菜单文件夹中创建程序的快捷方式。
|
||||||
|
SelectStartMenuFolderBrowseLabel=单击“下一步”继续。如果您想选择其它文件夹,单击“浏览”。
|
||||||
|
MustEnterGroupName=您必须输入一个文件夹名。
|
||||||
|
GroupNameTooLong=文件夹名或路径太长。
|
||||||
|
InvalidGroupName=文件夹名是无效的。
|
||||||
|
BadGroupName=文件夹名不能包含下列任何字符:%n%n%1
|
||||||
|
NoProgramGroupCheck2=不创建开始菜单文件夹(&D)
|
||||||
|
|
||||||
|
; *** “准备安装”向导页
|
||||||
|
WizardReady=准备安装
|
||||||
|
ReadyLabel1=安装程序现在准备开始安装 [name] 到您的电脑中。
|
||||||
|
ReadyLabel2a=单击“安装”继续此安装程序。如果您想要回顾或改变设置,请单击“上一步”。
|
||||||
|
ReadyLabel2b=单击“安装”继续此安装程序?
|
||||||
|
ReadyMemoUserInfo=用户信息:
|
||||||
|
ReadyMemoDir=目标位置:
|
||||||
|
ReadyMemoType=安装类型:
|
||||||
|
ReadyMemoComponents=选定组件:
|
||||||
|
ReadyMemoGroup=开始菜单文件夹:
|
||||||
|
ReadyMemoTasks=附加任务:
|
||||||
|
|
||||||
|
; *** “正在准备安装”向导页
|
||||||
|
WizardPreparing=正在准备安装
|
||||||
|
PreparingDesc=安装程序正在准备安装 [name] 到您的电脑中。
|
||||||
|
PreviousInstallNotCompleted=先前程序的安装/卸载未完成。您需要重新启动您的电脑才能完成安装。%n%n在重新启动电脑后,再运行安装完成 [name] 的安装。
|
||||||
|
CannotContinue=安装程序不能继续。请单击“取消”退出。
|
||||||
|
ApplicationsFound=下列应用程序正在使用的文件需要更新设置。它是建议您允许安装程序自动关闭这些应用程序。
|
||||||
|
ApplicationsFound2=下列应用程序正在使用的文件需要更新设置。它是建议您允许安装程序自动关闭这些应用程序。安装完成后,安装程序将尝试重新启动应用程序。
|
||||||
|
CloseApplications=自动关闭该应用程序(&A)
|
||||||
|
DontCloseApplications=不要关闭该应用程序(D)
|
||||||
|
ErrorCloseApplications=安装程序无法自动关闭所有应用程序。在继续之前,我们建议您关闭所有使用需要更新的安装程序文件。
|
||||||
|
|
||||||
|
; *** “正在安装”向导页
|
||||||
|
WizardInstalling=正在安装
|
||||||
|
InstallingLabel=安装程序正在安装 [name] 到您的电脑中,请稍等。
|
||||||
|
|
||||||
|
; *** “安装完成”向导页
|
||||||
|
FinishedHeadingLabel=[name] 安装完成
|
||||||
|
FinishedLabelNoIcons=安装程序已在您的电脑中安装了 [name]。
|
||||||
|
FinishedLabel=安装程序已在您的电脑中安装了 [name]。此应用程序可以通过选择安装的快捷方式运行。
|
||||||
|
ClickFinish=单击“完成”退出安装程序。
|
||||||
|
FinishedRestartLabel=要完成 [name] 的安装,安装程序必须重新启动您的电脑。您想现在重新启动吗?
|
||||||
|
FinishedRestartMessage=要完成 [name] 的安装,安装程序必须重新启动您的电脑。%n%n您想现在重新启动吗?
|
||||||
|
ShowReadmeCheck=是,您想查阅自述文件
|
||||||
|
YesRadio=是,立即重新启动电脑(&Y)
|
||||||
|
NoRadio=否,稍后重新启动电脑(&N)
|
||||||
|
; 用于象“运行 MyProg.exe”
|
||||||
|
RunEntryExec=运行 %1
|
||||||
|
; 用于象“查阅 Readme.txt”
|
||||||
|
RunEntryShellExec=查阅 %1
|
||||||
|
|
||||||
|
; *** “安装程序需要下一张磁盘”提示
|
||||||
|
ChangeDiskTitle=安装程序需要下一张磁盘
|
||||||
|
SelectDiskLabel2=请插入磁盘 %1 并单击“确定”。%n%n如果这个磁盘中的文件不能在不同于下列显示的文件夹中找到,输入正确的路径或单击“浏览”。
|
||||||
|
PathLabel=路径(&P):
|
||||||
|
FileNotInDir2=文件“%1”不能在“%2”定位。请插入正确的磁盘或选择其它文件夹。
|
||||||
|
SelectDirectoryLabel=请指定下一张磁盘的位置。
|
||||||
|
|
||||||
|
; *** 安装状态消息
|
||||||
|
SetupAborted=安装程序未完成安装。%n%n请修正这个问题并重新运行安装程序。
|
||||||
|
AbortRetryIgnoreSelectAction=选项
|
||||||
|
AbortRetryIgnoreRetry=重试(&T)
|
||||||
|
AbortRetryIgnoreIgnore=忽略错误并继续(&I)
|
||||||
|
AbortRetryIgnoreCancel=关闭安装程序
|
||||||
|
|
||||||
|
; *** 安装状态消息
|
||||||
|
StatusClosingApplications=正在关闭应用程序...
|
||||||
|
StatusCreateDirs=正在创建目录...
|
||||||
|
StatusExtractFiles=正在解压缩文件...
|
||||||
|
StatusCreateIcons=正在创建快捷方式...
|
||||||
|
StatusCreateIniEntries=正在创建 INI 条目...
|
||||||
|
StatusCreateRegistryEntries=正在创建注册表条目...
|
||||||
|
StatusRegisterFiles=正在注册文件...
|
||||||
|
StatusSavingUninstall=正在保存卸载信息...
|
||||||
|
StatusRunProgram=正在完成安装...
|
||||||
|
StatusRestartingApplications=正在重启应用程序...
|
||||||
|
StatusRollback=正在撤销更改...
|
||||||
|
|
||||||
|
; *** 其它错误
|
||||||
|
ErrorInternal2=内部错误: %1
|
||||||
|
ErrorFunctionFailedNoCode=%1 失败
|
||||||
|
ErrorFunctionFailed=%1 失败;代码 %2
|
||||||
|
ErrorFunctionFailedWithMessage=%1 失败;代码 %2.%n%3
|
||||||
|
ErrorExecutingProgram=不能执行文件:%n%1
|
||||||
|
|
||||||
|
; *** 注册表错误
|
||||||
|
ErrorRegOpenKey=错误打开注册表键:%n%1\%2
|
||||||
|
ErrorRegCreateKey=错误创建注册表键:%n%1\%2
|
||||||
|
ErrorRegWriteKey=错误写入注册表键:%n%1\%2
|
||||||
|
|
||||||
|
; *** INI 错误
|
||||||
|
ErrorIniEntry=在文件“%1”创建 INI 项目错误。
|
||||||
|
|
||||||
|
; *** 文件复制错误
|
||||||
|
FileAbortRetryIgnoreSkipNotRecommended=跳过这个文件 (不推荐)(&S)
|
||||||
|
FileAbortRetryIgnoreIgnoreNotRecommended=忽略错误并继续 (不推荐)(&I)
|
||||||
|
SourceIsCorrupted=源文件被破坏
|
||||||
|
SourceDoesntExist=源文件“%1”不存在
|
||||||
|
ExistingFileReadOnly2=无法替换现有文件,因为它是只读的。
|
||||||
|
ExistingFileReadOnlyRetry=移除只读属性并重试(&R)
|
||||||
|
ExistingFileReadOnlyKeepExisting=保留现有文件(&K)
|
||||||
|
ErrorReadingExistingDest=尝试读了现有的文件时发生一个错误:
|
||||||
|
FileExists=文件已经存在。%n%n您想要安装程序覆盖它吗?
|
||||||
|
ExistingFileNewer=现有的文件新与安装程序要安装的文件。推荐您保留现有文件。%n%n您想要保留现有的文件吗?
|
||||||
|
ErrorChangingAttr=尝试改变下列现有的文件的属性时发生一个错误:
|
||||||
|
ErrorCreatingTemp=尝试在目标目录创建文件时发生一个错误:
|
||||||
|
ErrorReadingSource=尝试读取下列源文件时发生一个错误:
|
||||||
|
ErrorCopying=尝试复制下列文件时发生一个错误:
|
||||||
|
ErrorReplacingExistingFile=尝试替换现有的文件时发生错误:
|
||||||
|
ErrorRestartReplace=重启电脑后替换文件失败:
|
||||||
|
ErrorRenamingTemp=尝试重新命名以下目标目录中的一个文件时发生错误:
|
||||||
|
ErrorRegisterServer=不能注册 DLL/OCX: %1
|
||||||
|
ErrorRegSvr32Failed=RegSvr32 失败;退出代码 %1
|
||||||
|
ErrorRegisterTypeLib=不能注册类型库: %1
|
||||||
|
|
||||||
|
; *** Uninstall display name markings
|
||||||
|
; used for example as 'My Program (32-bit)'
|
||||||
|
UninstallDisplayNameMark=%1 (%2)
|
||||||
|
; used for example as 'My Program (32-bit, All users)'
|
||||||
|
UninstallDisplayNameMarks=%1 (%2, %3)
|
||||||
|
UninstallDisplayNameMark32Bit=32位
|
||||||
|
UninstallDisplayNameMark64Bit=64位
|
||||||
|
UninstallDisplayNameMarkAllUsers=所有用户
|
||||||
|
UninstallDisplayNameMarkCurrentUser=当前用户
|
||||||
|
|
||||||
|
; *** 安装后错误
|
||||||
|
ErrorOpeningReadme=当尝试打开自述文件时发生一个错误。
|
||||||
|
ErrorRestartingComputer=安装程序不能重新启动电脑,请手动重启。
|
||||||
|
|
||||||
|
; *** 卸载消息
|
||||||
|
UninstallNotFound=文件“%1”不存在。不能卸载。
|
||||||
|
UninstallOpenError=文件“%1”不能打开。不能卸载
|
||||||
|
UninstallUnsupportedVer=卸载日志文件“%1”有未被这个版本的卸载器承认的格式。不能卸载
|
||||||
|
UninstallUnknownEntry=在卸载日志中遇到一个未知的条目 (%1)
|
||||||
|
ConfirmUninstall=您确认想要完全删除 %1 及它的所有组件吗?
|
||||||
|
UninstallOnlyOnWin64=这个安装程序只能在 64 位 Windows 中进行卸载。
|
||||||
|
OnlyAdminCanUninstall=这个安装的程序只能是有管理员权限的用户才能卸载。
|
||||||
|
UninstallStatusLabel=正在从您的电脑中删除 %1,请等待。
|
||||||
|
UninstalledAll=%1 已顺利地从您的电脑中删除。
|
||||||
|
UninstalledMost=%1 卸载完成。%n%n有一些内容不能被删除。您可以手工删除它们。
|
||||||
|
UninstalledAndNeedsRestart=要完成 %1 的卸载,您的电脑必须重新启动。%n%n您现在想重新启动电脑吗?
|
||||||
|
UninstallDataCorrupted=“%1”文件被破坏,不能卸载
|
||||||
|
|
||||||
|
; *** 卸载状态消息
|
||||||
|
ConfirmDeleteSharedFileTitle=删除共享文件吗?
|
||||||
|
ConfirmDeleteSharedFile2=系统中包含的下列共享文件已经不被其它程序使用。您想要卸载程序删除这些共享文件吗?%n%n如果这些文件被删除,但还有程序正在使用这些文件,这些程序可能不能正确执行。如果您不能确定,选择“否”。把这些文件保留在系统中以免引起问题。
|
||||||
|
SharedFileNameLabel=文件名:
|
||||||
|
SharedFileLocationLabel=位置:
|
||||||
|
WizardUninstalling=卸载状态
|
||||||
|
StatusUninstalling=正在卸载 %1...
|
||||||
|
|
||||||
|
; *** Shutdown block reasons
|
||||||
|
ShutdownBlockReasonInstallingApp=正在安装 %1.
|
||||||
|
ShutdownBlockReasonUninstallingApp=正在卸载 %1.
|
||||||
|
|
||||||
|
; The custom messages below aren't used by Setup itself, but if you make
|
||||||
|
; use of them in your scripts, you'll want to translate them.
|
||||||
|
|
||||||
|
[CustomMessages]
|
||||||
|
|
||||||
|
NameAndVersion=%1 版本 %2
|
||||||
|
AdditionalIcons=附加快捷方式:
|
||||||
|
CreateDesktopIcon=创建桌面快捷方式(&D)
|
||||||
|
CreateQuickLaunchIcon=创建快速运行栏快捷方式(&Q)
|
||||||
|
ProgramOnTheWeb=%1 网站
|
||||||
|
UninstallProgram=卸载 %1
|
||||||
|
LaunchProgram=运行 %1
|
||||||
|
AssocFileExtension=将 %2 文件扩展名与 %1 建立关联(&A)
|
||||||
|
AssocingFileExtension=正在将 %2 文件扩展名与 %1 建立关联...
|
||||||
|
AutoStartProgramGroupDescription=启动组:
|
||||||
|
AutoStartProgram=自动启动 %1
|
||||||
|
AddonHostProgramNotFound=%1无法找到您所选择的文件夹。%n%n你想继续吗?
|
||||||
|
|
@ -275,6 +275,7 @@ Name: ru; MessagesFile: lazarus.ru.isl
|
|||||||
;Slovak.isl not avail with latest inno setup
|
;Slovak.isl not avail with latest inno setup
|
||||||
;Name: sk; MessagesFile: compiler:Languages\Slovak.isl
|
;Name: sk; MessagesFile: compiler:Languages\Slovak.isl
|
||||||
Name: sl; MessagesFile: compiler:Languages\Slovenian.isl
|
Name: sl; MessagesFile: compiler:Languages\Slovenian.isl
|
||||||
|
Name: zh_CN; MessagesFile: lazarus.zh_CN.isl
|
||||||
|
|
||||||
[Code]
|
[Code]
|
||||||
type
|
type
|
||||||
|
@ -1,60 +1,60 @@
|
|||||||
#include "compiler:Languages\Chinese.isl"
|
#include "ChineseSimplified_from_inno_6_0.isl"
|
||||||
; Last-Translator: 郑建平@夏宗萍 aka robsean <robsean@126.com>\n"
|
; Last-Translator: 郑建平@夏宗萍 aka robsean <robsean@126.com>\n"
|
||||||
[CustomMessages]
|
[CustomMessages]
|
||||||
|
|
||||||
|
|
||||||
DelUserConf=删除来自先前安装的所有用户配置文件
|
DelUserConf=删除来自先前安装的所有用户配置文件
|
||||||
CleanUp=清理:
|
CleanUp=清理:
|
||||||
|
|
||||||
InstallQt=全局安装Qt接口DLL
|
InstallQt=全局安装Qt接口DLL
|
||||||
InstallChm=安装CHM帮助文件
|
InstallChm=安装CHM帮助文件
|
||||||
AssociateGroup=关联文件拓展名
|
AssociateGroup=关联文件拓展名
|
||||||
|
|
||||||
CheckSecondClick=创建一个新的第二的安装
|
CheckSecondClick=创建一个新的第二的安装
|
||||||
CheckSecondInfo=一个第二的安装允许Lazarus的两个或更多版本来安装.每个版本将有它自己的配置.请在使用这个选项前阅读关于多个安装的FAQ.
|
CheckSecondInfo=一个第二的安装允许Lazarus的两个或更多版本来安装.每个版本将有它自己的配置.请在使用这个选项前阅读关于多个安装的FAQ.
|
||||||
|
|
||||||
FolderHasSpaces=选择的文件夹包含空格,请选择一个不带有空格的文件夹.
|
FolderHasSpaces=选择的文件夹包含空格,请选择一个不带有空格的文件夹.
|
||||||
FolderNotEmpty=目标文件夹不是空的.继续安装?
|
FolderNotEmpty=目标文件夹不是空的.继续安装?
|
||||||
FolderNotEmpty2=目标文件夹不是空的.
|
FolderNotEmpty2=目标文件夹不是空的.
|
||||||
|
|
||||||
FolderForSecondNoFile=目标文件夹不是空的,并不包含一个可升级的第二的Lazarus安装.%0:s请选择一个空文件夹,或者用于升级的带有一个存在的第二的Lazarus安装的一个文件夹.
|
FolderForSecondNoFile=目标文件夹不是空的,并不包含一个可升级的第二的Lazarus安装.%0:s请选择一个空文件夹,或者用于升级的带有一个存在的第二的Lazarus安装的一个文件夹.
|
||||||
FolderForSecondBadFile=目标文件夹不是空的.安装器不能查出它是否包含一个可升级的第二的Lazarus安装.%0:s请选择一个空文件夹, 或者用于升级的带有一个存在的第二的Lazarus安装的一个文件夹.
|
FolderForSecondBadFile=目标文件夹不是空的.安装器不能查出它是否包含一个可升级的第二的Lazarus安装.%0:s请选择一个空文件夹, 或者用于升级的带有一个存在的第二的Lazarus安装的一个文件夹.
|
||||||
FolderForSecondUpgrading=目标文件夹不是空的.%0:s它包含一个第二的Lazarus安装,使用下面的文件夹用于配置:%0:s%1:s%0:s%0:s继续安装?
|
FolderForSecondUpgrading=目标文件夹不是空的.%0:s它包含一个第二的Lazarus安装,使用下面的文件夹用于配置:%0:s%1:s%0:s%0:s继续安装?
|
||||||
FolderForSecondUpgradingPrimary=目标文件夹不是空的.%0:s它包含一个默认的(非第二的)Lazarus安装.%0:s如果你继续,它将更改到一个第二的安装.%0:s%0:s%0:s继续安装?
|
FolderForSecondUpgradingPrimary=目标文件夹不是空的.%0:s它包含一个默认的(非第二的)Lazarus安装.%0:s如果你继续,它将更改到一个第二的安装.%0:s%0:s%0:s继续安装?
|
||||||
|
|
||||||
FolderForSecondBadUninstall=目标文件夹不是空的.安装器不能核实它是否是安全的来使用.%0:s请选择一个空文件夹,或一个带有存在的第二的Lazarus安装的,用于更新的一个文件夹.
|
FolderForSecondBadUninstall=目标文件夹不是空的.安装器不能核实它是否是安全的来使用.%0:s请选择一个空文件夹,或一个带有存在的第二的Lazarus安装的,用于更新的一个文件夹.
|
||||||
|
|
||||||
SecondConfCapt=选择配置文件夹
|
SecondConfCapt=选择配置文件夹
|
||||||
SecondConfCapt2=你希望这个Lazarus安装在哪里,存储它的配置?
|
SecondConfCapt2=你希望这个Lazarus安装在哪里,存储它的配置?
|
||||||
SecondConfBody=选择一个新的用于这个Lazarus安装的空文件夹来存储它的配置,然后使用'Next'继续.
|
SecondConfBody=选择一个新的用于这个Lazarus安装的空文件夹来存储它的配置,然后使用'Next'继续.
|
||||||
|
|
||||||
FolderForConfig=配置用文件夹
|
FolderForConfig=配置用文件夹
|
||||||
|
|
||||||
FolderForConfNotEmpty=选择的文件夹不是空的.
|
FolderForConfNotEmpty=选择的文件夹不是空的.
|
||||||
|
|
||||||
AskUninstallTitle1=先前的安装
|
AskUninstallTitle1=先前的安装
|
||||||
AskUninstallTitle2=你想要运行卸载器?
|
AskUninstallTitle2=你想要运行卸载器?
|
||||||
BtnUninstall=卸载
|
BtnUninstall=卸载
|
||||||
ChkContinue=继续而不卸载
|
ChkContinue=继续而不卸载
|
||||||
|
|
||||||
OldInDestFolder1=另一个%1:s的安装存在在目标文件夹.如果你想先卸载,请使用下面的按钮.
|
OldInDestFolder1=另一个%1:s的安装存在在目标文件夹.如果你想先卸载,请使用下面的按钮.
|
||||||
OldInDestFolder2=
|
OldInDestFolder2=
|
||||||
OldInDestFolder3=
|
OldInDestFolder3=
|
||||||
OldInDestFolder4=
|
OldInDestFolder4=
|
||||||
|
|
||||||
OldInOtherFolder1=另一个%1:s的安装被找到,在%2:s.现在请使用下面的按钮来卸载它.如果你想保持它,请打勾复选框来继续.
|
OldInOtherFolder1=另一个%1:s的安装被找到,在%2:s.现在请使用下面的按钮来卸载它.如果你想保持它,请打勾复选框来继续.
|
||||||
OldInOtherFolder2=警告:这里可能在不同的安装之间冲突,并且它们可能没有令人满意的功能.
|
OldInOtherFolder2=警告:这里可能在不同的安装之间冲突,并且它们可能没有令人满意的功能.
|
||||||
OldInOtherFolder3=注意:你没有为这个安装选择一个专用的配置文件夹.
|
OldInOtherFolder3=注意:你没有为这个安装选择一个专用的配置文件夹.
|
||||||
OldInOtherFolder4=如果你想使用多个安装,请返回和打勾: "创建一个新的第二的安装".
|
OldInOtherFolder4=如果你想使用多个安装,请返回和打勾: "创建一个新的第二的安装".
|
||||||
|
|
||||||
OldInBadFolder1=警告:另一个%1:s的安装被找到,在%2:s,但是卸载器被找到,在%3:s. 请确保卸载器是正确的.
|
OldInBadFolder1=警告:另一个%1:s的安装被找到,在%2:s,但是卸载器被找到,在%3:s. 请确保卸载器是正确的.
|
||||||
OldInBadFolder2=警告:这里可能在不同的安装之间冲突,并且它们可能没有令人满意的功能.
|
OldInBadFolder2=警告:这里可能在不同的安装之间冲突,并且它们可能没有令人满意的功能.
|
||||||
OldInBadFolder3=注意:如果你想使用多个安装,请返回和打勾: "创建一个新的第二的安装".
|
OldInBadFolder3=注意:如果你想使用多个安装,请返回和打勾: "创建一个新的第二的安装".
|
||||||
OldInBadFolder4=现在请使用下面的按钮来卸载它.如果你想保持它,请打勾复选框来继续.
|
OldInBadFolder4=现在请使用下面的按钮来卸载它.如果你想保持它,请打勾复选框来继续.
|
||||||
|
|
||||||
OldSecondInDestFolder1=另一个%1:s安装存在在目标文件夹.如果你想先卸载,请使用下面的按钮.
|
OldSecondInDestFolder1=另一个%1:s安装存在在目标文件夹.如果你想先卸载,请使用下面的按钮.
|
||||||
OldSecondInDestFolder2=
|
OldSecondInDestFolder2=
|
||||||
OldSecondInDestFolder3=这是一个第二的安装,用于配置的文件夹是(并将被保持):
|
OldSecondInDestFolder3=这是一个第二的安装,用于配置的文件夹是(并将被保持):
|
||||||
OldSecondInDestFolder4=%4:s
|
OldSecondInDestFolder4=%4:s
|
||||||
|
|
||||||
OldSecondInOtherFolder1=
|
OldSecondInOtherFolder1=
|
||||||
@ -67,9 +67,9 @@ OldSecondInBadFolder2=
|
|||||||
OldSecondInBadFolder3=
|
OldSecondInBadFolder3=
|
||||||
OldSecondInBadFolder4=
|
OldSecondInBadFolder4=
|
||||||
|
|
||||||
SecondTaskUpdate=更新用于第二的安装的配置,在文件夹中:%0:s%1:s%2:s
|
SecondTaskUpdate=更新用于第二的安装的配置,在文件夹中:%0:s%1:s%2:s
|
||||||
SecondTaskCreate=创建用于第二的安装的配置,在文件夹中:%0:s%1:s%2:s
|
SecondTaskCreate=创建用于第二的安装的配置,在文件夹中:%0:s%1:s%2:s
|
||||||
|
|
||||||
DuringInstall=Lazarus中文翻译(QQ:192903718),我们常见问题解答的一些信息: http://wiki.lazarus.freepascal.org/Lazarus_Faq%0:s%0:s Lazarus是什么?%0:sLazarus是Pascal的一个跨平台IDE.它的目标是一次编写,到处编译.%0:s%0:s 如何减少exe文件的大小?%0:s默认二级制文件是非常大的,因为它们包括调试信息.对于发布版本,你可以在工程设置中切换取消这个.%0:s%0:s 许可:%0:s- LCL被许可为链接除外的LGPL.这允许你来创建带有任何你所想的许可的应用程序,包括专有的.%0:s- IDE被许可为GPL.如果你发布一个修改的IDE,你必需遵循GPL.%0:s- 其它的软件包和组件有各种各样的许可.看每个软件包的readme文件.
|
DuringInstall=Lazarus中文翻译(QQ:192903718),我们常见问题解答的一些信息: http://wiki.lazarus.freepascal.org/Lazarus_Faq%0:s%0:s Lazarus是什么?%0:sLazarus是Pascal的一个跨平台IDE.它的目标是一次编写,到处编译.%0:s%0:s 如何减少exe文件的大小?%0:s默认二级制文件是非常大的,因为它们包括调试信息.对于发布版本,你可以在工程设置中切换取消这个.%0:s%0:s 许可:%0:s- LCL被许可为链接除外的LGPL.这允许你来创建带有任何你所想的许可的应用程序,包括专有的.%0:s- IDE被许可为GPL.如果你发布一个修改的IDE,你必需遵循GPL.%0:s- 其它的软件包和组件有各种各样的许可.看每个软件包的readme文件.
|
||||||
|
|
||||||
UninstVerbose=即将从文件夹%0:s卸载%1:s.继续?
|
UninstVerbose=即将从文件夹%0:s卸载%1:s.继续?
|
||||||
|
Loading…
Reference in New Issue
Block a user