diff --git a/NEWS.md b/NEWS.md index f0e0931..9b26b35 100644 --- a/NEWS.md +++ b/NEWS.md @@ -17,6 +17,10 @@ * `rig add` now correctly installs pak into the user library, instead of the system library, even if the user library did not exist before. +* On Windows, `rig add ... --without-translations` installs R without + message translations. This is useful if you prefer using R in + English on a non-English system (#88). + # rig 0.4.1 * `rig rstudio ` and `rig rstudio ` work properly diff --git a/src/args.rs b/src/args.rs index c7a78f8..573a7f3 100644 --- a/src/args.rs +++ b/src/args.rs @@ -140,6 +140,16 @@ pub fn rig_app() -> Command<'static> { ); } + #[cfg(target_os = "windows")] + { + cmd_add = cmd_add.arg( + Arg::new("without-translations") + .help("Do not install translations.") + .long("without-translations") + .required(false), + ); + } + #[cfg(target_os = "macos")] { cmd_add = cmd_add.arg( diff --git a/src/windows.rs b/src/windows.rs index 8c4c6cf..7436130 100644 --- a/src/windows.rs +++ b/src/windows.rs @@ -45,9 +45,15 @@ pub fn sc_add(args: &ArgMatches) -> Result<(), Box> { let target_path = Path::new(&target); info!("Installing {}", target_path.display()); + + let mut cmd_args = vec!["/VERYSILENT", "/SUPPRESSMSGBOXES"]; + if args.is_present("without-translations") { + cmd_args.push("/components=main,x64,i386"); + } + println!("--nnn-- Start of installer output -----------------"); let status = Command::new(&target) - .args(["/VERYSILENT", "/SUPPRESSMSGBOXES"]) + .args(cmd_args) .spawn()? .wait()?; println!("--uuu-- End of installer output -------------------");