[Sciviews-commits] r189 - in komodo/SciViews-K: . content content/js locale/en-GB locale/fr-FR
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Mon Sep 14 00:25:32 CEST 2009
Author: phgrosjean
Date: 2009-09-14 00:25:30 +0200 (Mon, 14 Sep 2009)
New Revision: 189
Modified:
komodo/SciViews-K/content/js/commands.js
komodo/SciViews-K/content/js/r.js
komodo/SciViews-K/content/overlayMain.xul
komodo/SciViews-K/locale/en-GB/main.properties
komodo/SciViews-K/locale/fr-FR/main.properties
komodo/SciViews-K/sciviewsk-0.8.1-ko.xpi
Log:
Automatic starting of R on eval
Modified: komodo/SciViews-K/content/js/commands.js
===================================================================
--- komodo/SciViews-K/content/js/commands.js 2009-09-13 16:20:54 UTC (rev 188)
+++ komodo/SciViews-K/content/js/commands.js 2009-09-13 22:25:30 UTC (rev 189)
@@ -6,6 +6,7 @@
// sv.command.getRApp(event); // Select a preferred R application in the list
// sv.command.setMenuRApp(el); // Set up 'R application' submenu (checked item
// and hide incompatible items.
+// sv.command.startR(); // Start the preferred R app and connect to it
// sv.command.openPkgManager(); // Open the package manager window
// sv.command.setControllers(); // Set controllers for R related commands
// sv.command.setKeybindings(clearOnly); // Set SciViews-K default keybindings
@@ -19,12 +20,6 @@
(function () {
// private methods
- function _RControl_supported () {
- var currentView = ko.views.manager.currentView;
- if (!currentView || !currentView.document)
- return false;
- return(_isRRunning() && currentView.document.language == "R");
- }
function _keepCheckingR (stopMe) {
clearInterval(sv.r.testInterval);
@@ -39,6 +34,14 @@
return sv.r.running;
}
+ function _RControl_supported () {
+ var currentView = ko.views.manager.currentView;
+ if (!currentView || !currentView.document)
+ return false;
+ //return(_isRRunning() && currentView.document.language == "R");
+ return(currentView.document.language == "R");
+ }
+
function _RControlSelection_supported () {
var currentView = ko.views.manager.currentView;
if (!currentView || !currentView.scimoz)
@@ -49,6 +52,159 @@
currentView.scimoz.selectionStart) != 0);
}
+ // Start R, if not already running
+ this.startR = function () {
+ // runIn = "command-output-window", "new-console",
+ // env strings: "ENV1=fooJ\nENV2=bar"
+ // gPrefSvc.prefs.getStringPref("runEnv");
+ var defRApp = "r-terminal";
+ var isWin = navigator.platform == "Win32";
+ // Default preferredRApp on Windows is r-gui
+ if (isWin) defRApp = "r-gui";
+ var preferredRApp = sv.prefs.getString("sciviews.preferredRApp",
+ defRApp);
+ var env = ["koId=" + sv.prefs.getString("sciviews.client.id",
+ "SciViewsK"),
+ "koHost=localhost",
+ "koActivate=FALSE",
+ "Rinitdir=" + sv.prefs.getString("sciviews.session.dir", "~"),
+ "koServe=" + sv.prefs.getString("sciviews.client.socket", "8888"),
+ "koPort=" + sv.prefs.getString("sciviews.server.socket", "7052"),
+ "koAppFile=" + sv.tools.file.path("CurProcD",
+ ["komodo" + (isWin? ".exe" : "")])
+ ];
+ var cwd = sv.tools.file.path("ProfD",
+ ["extensions", "sciviewsk at sciviews.org", "templates"]);
+ var command, runIn = "no-console";
+
+ ko.statusBar.AddMessage(sv.translate("Starting R... please wait"),
+ "StartR", 10000, true);
+ switch (preferredRApp) {
+ case "r-gui":
+ env.push("Rid=Rgui");
+ command = "Rgui --sdi";
+ break;
+ case "r-xfce4-term":
+ env.push("Rid=R-xfce4-term");
+ command = "xfce4-terminal --title \"SciViews-R\" -x R --quiet";
+ break;
+ case "r-gnome-term":
+ env.push("Rid=R-gnome-term");
+ command = "gnome-terminal --hide-menubar --title=SciViews-R -x R --quiet";
+ break;
+ case "r-kde-term":
+ env.push("Rid=R-kde-term");
+ command = "konsole --nomenubar --notabbar --noframe -T SciViews-R -e R --quiet";
+ break;
+ case "r-tk":
+ env.push("Rid=R-tk");
+ // Set DISPLAY only when not set:
+ var XEnv = Components.classes["@activestate.com/koEnviron;1"]
+ .createInstance(Components.interfaces.koIEnviron);
+ if (!XEnv.has("DISPLAY"))
+ env.push("DISPLAY=:0");
+ delete XEnv;
+ command = "R --quiet --save --gui=Tk";
+ // runIn = "no-console";
+ break;
+ case "r-app":
+ env.push("Rid=R.app");
+ command = "open -a /Applications/R.app \"" + cwd + "\"";
+ break;
+ case "r64-app":
+ env.push("Rid=R64.app");
+ command = "open -a /Applications/R64.app \"" + cwd + "\"";
+ break;
+ case "svr-app":
+ env.push("Rid=svR.app");
+ command = "open -a \"/Applications/SciViews R.app\" \"" +
+ cwd + "\"";
+ break;
+ case "svr64-app":
+ env.push("Rid=svR64.app");
+ command = "open -a \"/Applications/SciViews R64.app\" \"" +
+ cwd + "\"";
+ break;
+ // This does start, but ignore initial dir and thus SciViews is
+ // not initialized
+ case "jgrmac-app": // TODO: JGR on other platforms too!
+ env.push("Rid=JGR.app");
+ command = "open -a /Applications/JGR.app \"" +
+ cwd + "\"";
+ break;
+ default:
+ env.push("Rid=R");
+ command = "R --quiet";
+ runIn = "new-console";
+ }
+ sv.log.debug("Running: " + command);
+
+ // Debugging garbage...
+ //var command = "CMD /C \"SET\" > c:\\env.txt & notepad c:\\env.txt";
+ //ko.run.runCommand(window,
+ // "CMD /C \"SET\" > c:\\env.txt & notepad c:\\env.txt", cwd, {});
+ //var runSvc = Components.classes["@activestate.com/koRunService;1"]
+ // .getService(Components.interfaces.koIRunService);
+ //var Rapp = runSvc.RunAndNotify(command, cwd, env.join("\n"), null);
+ //ko.run.runCommand(window, command, cwd, env.join("\n"), false,
+
+ ko.run.runCommand(window, command, cwd, env.join("\n"), false,
+ false, false, runIn, false, false, false);
+
+ // Register observer of application termination.
+ this.rObserver = new AppTerminateObserver(command);
+ };
+
+ // This will observe status message notification to be informed about
+ // application being terminated. A more straightforward way would be to use
+ // runService.RunAndNotify but this wouldn't allow to start app in a console
+ // window. So we have to do this trick here.
+ // This is not used for anything yet.
+ function AppTerminateObserver (command) {
+ this.register(command);
+ };
+
+ AppTerminateObserver.prototype = {
+ command: "",
+ // This is launched when status message is set, we then check if it was
+ // about terminated application
+ observe: function (subject, topic, data) {
+ var matches;
+
+ if ((subject.category == "run_command") && (matches =
+ subject.msg.match(/^(['`"])(.+)\1 returned ([0-9]+).$/))
+ != null && matches[2] == this.command) {
+ // Seems like this is a 'R quit' msg
+ this.unregister();
+ // Do something here like activate/deactivate commands...
+ }
+ },
+ register: function (command) {
+ var observerSvc = Components.
+ classes["@mozilla.org/observer-service;1"].
+ getService(Components.interfaces.nsIObserverService);
+ this.command = command;
+ observerSvc.addObserver(this, 'status_message', false);
+ sv.log.debug("R has been started with command: " + command);
+ sv.r.running = true;
+
+ //xtk.domutils.fireEvent(window, 'r_app_started_closed');
+ window.updateCommands('r_app_started_closed');
+ },
+ unregister: function () {
+ var observerSvc = Components.
+ classes["@mozilla.org/observer-service;1"].
+ getService(Components.interfaces.nsIObserverService);
+ observerSvc.removeObserver(this, 'status_message');
+
+ sv.log.debug("R has been closed. Command was: " + this.command);
+
+ sv.r.running = false;
+ //xtk.domutils.fireEvent(window, 'r_app_started_closed');
+ window.updateCommands('r_app_started_closed');
+ }
+ };
+
// Selects the checkbox on selected element, while deselecting others
this.getRApp = function (event) {
var el = event.originalTarget;
@@ -74,24 +230,23 @@
this.setMenuRApp = function (el) {
var selected = el.getAttribute('selected');
var siblings = el.childNodes;
-
+
var isLinux = navigator.platform.toLowerCase().indexOf("linux") > -1;
+ var isMac = navigator.platform.toLowerCase().indexOf("mac") > -1;
// This will tell whether an app is present on the *nix system
- if (isLinux) {
- function whereis(app) {
- var runSvc = Components.
- classes["@activestate.com/koRunService;1"].
- getService(Components.interfaces.koIRunService);
- var err = {}, out = {};
- var res = runSvc.RunAndCaptureOutput("whereis -b " + app,
- null, null, null, out, err);
- var path = out.value.substr(app.length + 2);
- if (!path) return false;
- return out.value.substr(app.length + 2).split(" ");
- }
+ function whereis(app) {
+ var runSvc = Components.
+ classes["@activestate.com/koRunService;1"].
+ getService(Components.interfaces.koIRunService);
+ var err = {}, out = {};
+ var res = runSvc.RunAndCaptureOutput("whereis -b " + app,
+ null, null, null, out, err);
+ var path = out.value.substr(app.length + 2);
+ if (!path) return false;
+ return out.value.substr(app.length + 2).split(" ");
}
-
+
var validPlatforms, showItem;
var platform = navigator.platform;
for (var i = 0; i < siblings.length; i++) {
@@ -100,11 +255,22 @@
split(/\s*[,\s]\s*/);
showItem = false;
for (var j in validPlatforms) {
- if (platform.indexOf(validPlatforms[j]) == 0) {
+ if (platform.indexOf(validPlatforms[j]) > -1) {
// On linux, try to determine which terminals are
// not available and remove these items from menu
- if (!isLinux ||
- whereis(siblings[i].getAttribute("app"))) {
+ if (isLinux) {
+ if (whereis(siblings[i].getAttribute("app"))) {
+ showItem = true;
+ break;
+ }
+ } else if (isMac) {
+ // Check that we find the application
+ var Rapp = siblings[i].getAttribute("app");
+ if (Rapp == "R" || sv.tools.file.exists(Rapp)) {
+ showItem = true;
+ break;
+ }
+ } else { // Windows, RGui & RTerm always available?
showItem = true;
break;
}
@@ -113,11 +279,17 @@
if (!showItem) {
siblings[i].style.display = "none";
+ // This does not work on the Mac, but the following is fine
+ siblings[i].setAttribute("hidden", true);
} else {
+ sv.log.debug("R application supported: " +
+ siblings[i].getAttribute("app"));
siblings[i].setAttribute("checked",
siblings[i].id == selected);
}
- } catch(e) {}
+ } catch(e) {
+ sv.log.exception(e, "Error looking for R apps in setMenuRApp");
+ }
}
// Set the preference string
@@ -140,56 +312,6 @@
sv);
}
- // This will observe status message notification to be informed about
- // application being terminated. A more straightforward way would be to use
- // runService.RunAndNotify but this wouldn't allow to start app in a console
- // window. So we have to do this trick here.
- // This is not used for anything yet.
- function AppTerminateObserver (command) {
- this.register(command);
- }
-
- AppTerminateObserver.prototype = {
- command: "",
- // This is launched when status message is set, we then check if it was
- // about terminated application
- observe: function (subject, topic, data) {
- var matches;
-
- if ((subject.category == "run_command") && (matches =
- subject.msg.match(/^(['`"])(.+)\1 returned ([0-9]+).$/))
- != null && matches[2] == this.command) {
- // Seems like this is a 'R quit' msg
- this.unregister();
- // Do something here like activate/deactivate commands...
- }
- },
- register: function (command) {
- var observerSvc = Components.
- classes["@mozilla.org/observer-service;1"].
- getService(Components.interfaces.nsIObserverService);
- this.command = command;
- observerSvc.addObserver(this, 'status_message', false);
- sv.log.debug("R has been started with command: " + command);
- sv.r.running = true;
-
- //xtk.domutils.fireEvent(window, 'r_app_started_closed');
- window.updateCommands('r_app_started_closed');
- },
- unregister: function () {
- var observerSvc = Components.
- classes["@mozilla.org/observer-service;1"].
- getService(Components.interfaces.nsIObserverService);
- observerSvc.removeObserver(this, 'status_message');
-
- sv.log.debug("R has been closed. Command was: " + this.command);
-
- sv.r.running = false;
- //xtk.domutils.fireEvent(window, 'r_app_started_closed');
- window.updateCommands('r_app_started_closed');
- }
- }
-
this.setControllers = function () {
//sv.log.debug("this.setControllers");
// Allow some commands only when R is running...
@@ -280,83 +402,7 @@
sv.r.source("function");
};
vmProto.do_cmd_sv_start_R = function () {
- // runIn = "command-output-window", "new-console",
- // env strings: "ENV1=fooJ\nENV2=bar"
- // gPrefSvc.prefs.getStringPref("runEnv");
- var isWin = navigator.platform == "Win32";
- var preferredRApp = sv.prefs.getString("sciviews.preferredRApp",
- "r-terminal");
- var env = ["koId=" + sv.prefs.getString("sciviews.client.id",
- "SciViewsK"),
- "koHost=localhost",
- "koActivate=FALSE",
- "Rinitdir=" + sv.prefs.getString("sciviews.session.dir", "~"),
- "koServe=" + sv.prefs.getString("sciviews.client.socket", "8888"),
- "koPort=" + sv.prefs.getString("sciviews.server.socket", "7052"),
- "koAppFile=" + sv.tools.file.path("CurProcD",
- ["komodo" + (isWin? ".exe" : "")])
- ];
- var cwd = sv.tools.file.path("ProfD",
- ["extensions", "sciviewsk at sciviews.org", "templates"]);
- var command, runIn = "no-console";
-
- switch (preferredRApp) {
- case "r-gui":
- env.push("Rid=Rgui");
- command = "Rgui --sdi";
- break;
- case "r-xfce4-term":
- env.push("Rid=R-xfce4-term");
- command = "xfce4-terminal --title \"SciViews-R\" -x R --quiet";
- break;
- case "r-gnome-term":
- env.push("Rid=R-gnome-term");
- command = "gnome-terminal --hide-menubar --title=SciViews-R -x R --quiet";
- break;
- case "r-kde-term":
- env.push("Rid=R-kde-term");
- command = "konsole --nomenubar --notabbar --noframe -T SciViews-R -e R --quiet";
- break;
- case "r-tk":
- env.push("Rid=R-tk");
- // Set DISPLAY only when not set:
- var XEnv = Components.classes["@activestate.com/koEnviron;1"]
- .createInstance(Components.interfaces.koIEnviron);
- if (!XEnv.has("DISPLAY"))
- env.push("DISPLAY=:0");
- delete XEnv;
- command = "R --quiet --save --gui=Tk";
- // runIn = "no-console";
- break;
- case "r-app":
- env.push("Rid=R.app");
- command = "open -a /Applications/R.app \"" + cwd + "\"";
- break;
- case "r64-app":
- env.push("Rid=R64.app");
- command = "open -a /Applications/R64.app \"" + cwd + "\"";
- break;
- default:
- env.push("Rid=R");
- command = "R --quiet";
- runIn = "new-console";
-
- }
-
- // Debugging garbage...
- //var command = "CMD /C \"SET\" > c:\\env.txt & notepad c:\\env.txt";
- //ko.run.runCommand(window,
- // "CMD /C \"SET\" > c:\\env.txt & notepad c:\\env.txt", cwd, {});
- //var runSvc = Components.classes["@activestate.com/koRunService;1"]
- // .getService(Components.interfaces.koIRunService);
- //var Rapp = runSvc.RunAndNotify(command, cwd, env.join("\n"), null);
- //ko.run.runCommand(window, command, cwd, env.join("\n"), false,
-
- ko.run.runCommand(window, command, cwd, env.join("\n"), false,
- false, false, runIn, false, false, false);
-
- // Register observer of application termination.
- this.rObserver = new AppTerminateObserver(command);
+ sv.command.startR();
};
}
Modified: komodo/SciViews-K/content/js/r.js
===================================================================
--- komodo/SciViews-K/content/js/r.js 2009-09-13 16:20:54 UTC (rev 188)
+++ komodo/SciViews-K/content/js/r.js 2009-09-13 22:25:30 UTC (rev 189)
@@ -1,6 +1,6 @@
// SciViews-K R functions
// Define functions to pilot R from Komodo Edit 'sv.r' & 'sv.r.pkg'
-// Copyright (c) 2008-2009, Ph. Grosjean (phgrosjean at sciviews.org)
+// Copyright (c) 2008-2009, Ph. Grosjean (phgrosjean at sciviews.org) & K. Barton
// License: MPL 1.1/GPL 2.0/LGPL 2.1
////////////////////////////////////////////////////////////////////////////////
// To cope with versions incompatibilities, we define this:
@@ -94,8 +94,14 @@
//sv.r.init = function(cmd) {
//}
+// Indicate if R is currently running
sv.r.running = false;
+// Used to record pending commands while R is starting
+sv.r.pendingCmd = "";
+sv.r.pendingFun = null;
+sv.r.pendingContext = "";
+
sv.r.test = function sv_RTest () {
function sv_RTest_callback (response) {
var wasRRunning = sv.r.running;
@@ -103,17 +109,51 @@
sv.r.running = isRRunning;
if (wasRRunning != isRRunning) {
+ if (isRRunning) {
+ // Remove message in the statusbar
+ ko.statusBar.AddMessage("", "StartR");
+ // update character set used by R
+ sv.socket.updateCharset(true);
+ window.setTimeout(function() {
+ sv.log.info(sv.translate("R uses \"%S\" encoding.",
+ sv.socket.charset));
+ }, 1000);
+ // If there is a pending command, then run it now
+ var cmd = sv.r.pendingCmd;
+ if (cmd != "") {
+ sv.r.pendingCmd = ""; // Clear command
+ // If pendingFun is defined, use evalCallback
+ if (sv.r.pendingFun != null) {
+ sv.r.evalCallback(cmd, sv.r.pendingFun,
+ sv.r.pendingContext);
+ // Clear pendingFun and pendingContext
+ sv.r.pendingFun = null;
+ sv.r.pendingContext = "";
+ } else { // Just run this command
+ sv.r.eval(cmd);
+ }
+ }
+ }
//xtk.domutils.fireEvent(window, 'r_app_started_closed');
window.updateCommands('r_app_started_closed');
sv.log.debug("R state changed: " + wasRRunning + "->" + isRRunning);
}
}
- var res = sv.r.evalCallback("cat('ok!');", sv_RTest_callback);
+ var res = sv.socket.rCommand("<<<h>>>cat('ok!');", false, null,
+ sv_RTest_callback, "R test");
return res;
}
// Evaluate code in R
sv.r.eval = function (cmd) {
+ // If R is not running, start it now
+ if (!sv.r.running) {
+ // Indicate that we want to execute this command when R is started
+ sv.r.pendingCmd = cmd;
+ // and start R now
+ sv.command.startR();
+ return null;
+ }
cmd = (new String(cmd)).trim();
// Store the current R command
if (sv.socket.prompt == ":> ") {
@@ -140,6 +180,8 @@
// Evaluate code in R in a hidden way
sv.r.evalHidden = function (cmd, earlyExit) {
+ // If R is not running, do nothing
+ if (!sv.r.running) { return null; }
var preCode = "<<<h>>>";
if (earlyExit) preCode = "<<<H>>>";
// Evaluate a command in hidden mode (contextual help, calltip, etc.)
@@ -155,6 +197,16 @@
// Evaluate R expression and call procfun in Komodo with the result as argument
// context might be used to pass more data as the second argument of procfun
sv.r.evalCallback = function (cmd, procfun, context) {
+ // If R is not running, do nothing
+ if (!sv.r.running) {
+ // Indicate that we want to execute this command when R is started
+ sv.r.pendingCmd = cmd;
+ sv.r.pendingFun = procfun;
+ sv.r.pendingContext = context;
+ // and start R now
+ sv.command.startR();
+ return null;
+ }
// Evaluate a command in hidden mode (contextual help, calltip, etc.)
// and call 'procfun' at the end of the evaluation
var res = sv.socket.rCommand("<<<h>>>" + cmd,
@@ -164,6 +216,8 @@
// Escape R calculation
sv.r.escape = function (cmd) {
+ // If R is not running, do nothing
+ if (!sv.r.running) { return null; }
// Send an <<<esc>>> sequence that breaks multiline mode
sv.socket.cmd = "";
sv.socket.prompt == ":> ";
Modified: komodo/SciViews-K/content/overlayMain.xul
===================================================================
--- komodo/SciViews-K/content/overlayMain.xul 2009-09-13 16:20:54 UTC (rev 188)
+++ komodo/SciViews-K/content/overlayMain.xul 2009-09-13 22:25:30 UTC (rev 189)
@@ -81,10 +81,10 @@
<command id="cmd_sv_quit_R" key="key_cmd_sv_quit_R"
oncommand="ko.commands.doCommand('cmd_sv_quit_R');"
desc="R: &QuitR;" label="&QuitR;" accesskey="&QuitR.key;"/>
- <command id="cmd_sv_update_charset" key="key_cmd_sv_update_charset"
+ <!--<command id="cmd_sv_update_charset" key="key_cmd_sv_update_charset"
oncommand="ko.commands.doCommand('cmd_sv_update_charset');"
desc="R: &RUpdateCharset;" label="&RUpdateCharset;"
- accesskey="&RUpdateCharset.key;"/>
+ accesskey="&RUpdateCharset.key;"/>-->
<command id="cmd_sv_OpenPkgManager" key="key_cmd_sv_OpenPkgManager"
oncommand="sv.command.openPkgManager();" disabled="true"
desc="R: &pkgMgr;" label="&pkgMgr;" accesskey="&pkgMgr.key;"/>
@@ -123,7 +123,7 @@
<command id="cmd_sv_RSourcePara" key="key_cmd_sv_RSourcePara"
oncommand="ko.commands.doCommand('cmd_sv_RSourcePara')"
desc="R: &rSrcPara;" label="&rSrcPara;" accesskey="&rSrcPara.key;"/>
-
+
<commandset id="cmdset_r_control" commandupdater="true" events="select"
oncommandupdate="ko.commands.updateCommandset(this);">
<command id="cmd_sv_RRunSelection" key="key_cmd_sv_RRunSelection"
@@ -166,6 +166,12 @@
app="/Applications/R.app" platform="Mac"/>
<menuitem id="r64-app" type="checkbox" checked="false" label="R64 app"
app="/Applications/R64.app" platform="Mac"/>
+ <menuitem id="svr-app" type="checkbox" checked="false" label="SciViews R app"
+ app="/Applications/SciViews R.app" platform="Mac"/>
+ <menuitem id="svr64-app" type="checkbox" checked="false" label="SciViews R64 app"
+ app="/Applications/SciViews R64.app" platform="Mac"/>
+ <!--<menuitem id="jgrmac-app" type="checkbox" checked="false" label="JGR"
+ app="/Applications/JGR.app" platform="Mac"/>-->
<menuitem id="r-gnome-term" type="checkbox" checked="false" label="R Gnome terminal"
app="gnome-terminal" platform="Linux"/>
<menuitem id="r-kde-term" type="checkbox" checked="false" label="R KDE terminal"
@@ -183,8 +189,8 @@
<menuitem id="r_quit_console_menu" observes="cmd_sv_quit_R"
class="menuitem-iconic r-quit-command-icon"/>
- <menuitem id="r_update_charset" observes="cmd_sv_update_charset"
- class="menuitem"/>
+ <!--<menuitem id="r_update_charset" observes="cmd_sv_update_charset"
+ class="menuitem"/>-->
<menuitem id="r_start_pkg_manager" observes="cmd_sv_OpenPkgManager"
class="menuitem"/>
<menuitem id="r_browse_wd" observes="cmd_sv_BrowseWD"
Modified: komodo/SciViews-K/locale/en-GB/main.properties
===================================================================
--- komodo/SciViews-K/locale/en-GB/main.properties 2009-09-13 16:20:54 UTC (rev 188)
+++ komodo/SciViews-K/locale/en-GB/main.properties 2009-09-13 22:25:30 UTC (rev 189)
@@ -7,6 +7,7 @@
Open file=Open file
#r.js
+Starting R... please wait=Starting R... please wait
Choose working directory=Choose working directory
Current R's working directory is: "%S"=Current R's working directory is: "%S"
R help started... should display in browser soon=R help started... should display in browser soon
Modified: komodo/SciViews-K/locale/fr-FR/main.properties
===================================================================
--- komodo/SciViews-K/locale/fr-FR/main.properties 2009-09-13 16:20:54 UTC (rev 188)
+++ komodo/SciViews-K/locale/fr-FR/main.properties 2009-09-13 22:25:30 UTC (rev 189)
@@ -7,6 +7,7 @@
Open file=Ouvrir un fichier
#r.js
+Starting R... please wait=Démarrage de R... Veuillez patienter
Choose working directory=Choisir le répertoire actif
Current R's working directory is: "%S"=Le répertoire actif actuel est : "%S"
R help started... should display in browser soon=L'aide de R est démarrée... elle devrait apparaître bientôt dans l'explorateur Web
Modified: komodo/SciViews-K/sciviewsk-0.8.1-ko.xpi
===================================================================
(Binary files differ)
More information about the Sciviews-commits
mailing list