mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-05 06:24:11 +02:00
129 lines
5.2 KiB
ObjectPascal
129 lines
5.2 KiB
ObjectPascal
unit strpas2jsdesign;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses FileProcs, sysutils;
|
|
|
|
Resourcestring
|
|
// "Create new" dialog
|
|
pjsdWebApplication = 'Web Browser Application';
|
|
pjsdWebAppDescription = 'A pas2js program running in the browser.';
|
|
pjsdNodeJSApplication = 'Node.js Application';
|
|
pjsdNodeJSAppDescription = 'A pas2js program running in node.js.';
|
|
pjsdNewAtomPackage = 'Atom package';
|
|
pjsdNewAtomPackageDescr = 'A pas2js program running as Atom package.';
|
|
pjsdNewVSCodeExtension = 'Visual Studio Code extension';
|
|
pjsdNewVSCodeExtensionDescr = 'A pas2js program running as Visual Studio Code extension.';
|
|
|
|
// menu item
|
|
SPasJSWebserverCaption = 'Pas2JS WebServers';
|
|
|
|
// Static texts webservers form
|
|
SWebserversStatus = 'Status';
|
|
SWebserversPort = 'Port';
|
|
SWebserversBaseDir = 'Root directory';
|
|
SWebserversProject = 'Project';
|
|
SWebserversExtra = 'Additional info';
|
|
SWebserversCount = 'Number of webserver processes: %s';
|
|
SWebserversCaption = 'Web server processes';
|
|
|
|
// Dynamic texts webservers form
|
|
SStatusRunning = 'Running';
|
|
SStatusStopped = 'Stopped';
|
|
SStatusError = 'Error starting';
|
|
|
|
// IDE options frame
|
|
pjsdSelectPas2jsExecutable = 'Select pas2js executable';
|
|
pjsdSelectXExecutable = 'Select %s executable';
|
|
pjsdSelectNodeJSExecutable = 'Select Node.js executable';
|
|
pjsdSelectBrowserExecutable = 'Select browser executable';
|
|
pjsdSelectAtomTemplateDir = 'Select Atom package template directory';
|
|
pjsdSelectVSCodeTemplateDir = 'Select Visual Studio Code extension template directory';
|
|
pjsdYouCanUseIDEMacrosLikeMakeExeWithoutAFullPathIsSea = 'You can use IDE '
|
|
+'macros like $MakeExe(). Without a full path, %s is searched in PATH.';
|
|
pjsdPathOfXMacroPas2js = 'Path of %s, macro $(pas2js)';
|
|
pjsdBrowse = 'Browse';
|
|
pjsdPathOfXMacroPas2JSWebServer = 'Path of %s, macro $(Pas2JSWebServer)';
|
|
pjsdPortNumberToStartAllocatingFrom = 'Port number to start allocating '
|
|
+'from, macro $(Pas2JSWebServerPort)';
|
|
pjsdServerInstancesWillBeStartedWithAPortStartingFromT = 'Server instances '
|
|
+'will be started with a port starting from this number, increasing per '
|
|
+'new project';
|
|
pjsdBrowserToOpenHTMLPage = 'Browser to open HTML page, macro $(Pas2JSBrowser)';
|
|
pjsdUseThisBrowserWhenOpeningTheURLOrHTMLFileOfAWebBro = 'Use this browser '
|
|
+'when opening the URL or HTML file of a web browser project';
|
|
pjsdPathOfNodeJsExecutable = 'Path of Node.js executable, macro $(Pas2JSNodeJS)';
|
|
pjsdHTTPServerOptsLabelCaption = 'HTTP Server extra command-line options (one per line)';
|
|
pjsdHTTPServerOptsLabelHint = 'Add extra command-line options for the command which starts the webserver.';
|
|
pjsdAtomPackageTemplateDirectory = 'Atom package template directory';
|
|
pjsdVisualStudioCodeExtensionTemplateDirectory = 'Visual Studio Code '
|
|
+'extension template directory';
|
|
|
|
// Project options frame
|
|
pjsdWebProjectPas2js = 'Web Project (pas2js)';
|
|
pjsdProjectIsAWebBrowserPas2jsProject = 'Project is a Web Browser (pas2js) '
|
|
+'project';
|
|
pjsdProjectHTMLPage = 'Project HTML page:';
|
|
pjsdMaintainHTMLPage = 'Maintain HTML page';
|
|
pjsdUseBrowserConsoleUnitToDisplayWritelnOutput = 'Use Browser Console unit '
|
|
+'to display writeln() output';
|
|
pjsdRunRTLWhenAllPageResourcesAreFullyLoaded = 'Run RTL when all page '
|
|
+'resources are fully loaded';
|
|
pjsdProjectNeedsAHTTPServer = 'Project needs a HTTP server';
|
|
pjsdStartHTTPServerOnPort = 'Start HTTP Server on port';
|
|
pjsdUseThisURLToStartApplication = 'Use this URL to start application';
|
|
pjsdResetRunCommand = 'Reset Run command';
|
|
pjsdResetCompileCommand = 'Reset Compile command';
|
|
|
|
// New browser project options form
|
|
pjsdPas2JSBrowserProjectOptions = 'Pas2JS Browser project options';
|
|
pjsdCreateInitialHTMLPage = 'Create initial HTML page';
|
|
pjsdUseBrowserApplicationObject = 'Use Browser Application object';
|
|
|
|
|
|
// New NodeJS project options form
|
|
pjsdNodeJSProjectOptions = 'NodeJS project options';
|
|
pjsdUseNodeJSApplicationObject = 'Use NodeJS Application object';
|
|
|
|
// Macros names
|
|
pjsdPas2JSExecutable = 'Pas2JS executable';
|
|
pjsdPas2JSWebServerExe = 'Pas2JS webserver executable';
|
|
pjsdPas2JSWebServerPort = 'Pas2JS webserver port';
|
|
pjsdPas2JSSelectedBrowserExecutable = 'Pas2JS selected browser executable';
|
|
pjsdPas2JSSelectedNodeJSExcutable = 'Pas2JS selected NodeJS excutable';
|
|
pjsdPas2JSCurrentProjectURL = 'Pas2JS current project URL';
|
|
|
|
// Error descriptions
|
|
pjsdMissingPathToPas2js = 'missing path to pas2js';
|
|
pjsdFileNotFound = 'file "%s" not found';
|
|
pjsdDirectoryNotFound = 'directory "%s" not found';
|
|
pjsdFileNotExecutable = 'file "%s" not executable';
|
|
pjsdFileNameDoesNotStartWithPas2js = 'filename does not start with "pas2js"';
|
|
|
|
function SafeFormat(const Fmt: String; const Args: Array of const): String;
|
|
|
|
implementation
|
|
|
|
function SafeFormat(const Fmt: String; const Args: array of const): String;
|
|
begin
|
|
// try with translated resourcestring
|
|
try
|
|
Result:=Format(Fmt,Args);
|
|
exit;
|
|
except
|
|
on E: Exception do
|
|
debugln(['ERROR: SafeFormat: ',E.Message]);
|
|
end;
|
|
// translation didn't work
|
|
// ToDo: find out how to get the resourcestring default value
|
|
//ResetResourceTables;
|
|
|
|
// use a safe fallback
|
|
Result:=SimpleFormat(Fmt,Args);
|
|
end;
|
|
|
|
end.
|
|
|