wallaceEcoMod / wallace

an interactive, reproducible, expandible, instructional, and open-source GUI-based app for ecological niche modeling
https://wallaceecomod.github.io/
GNU General Public License v3.0
132 stars 46 forks source link

UI translation for other languages? #132

Open thiagosfsilva opened 6 years ago

thiagosfsilva commented 6 years ago

Is there any interest in translating the Wallace UI to other languages? I am planning to use it for teaching, and having it in Portuguese would facilitate things a lot.

I would be willing to take on the Portuguese translation if the devs think it is feasible. I imagine different language versions could be launched with run_wallace(lang="language"), or something similar.

Thanks for such a great contribution to making ENMs accessible!

jamiemkass commented 6 years ago

Yes, there is quite a lot of interest, but currently no resources to do this at the moment. If you would like to translate the UI to Portuguese, we'd be very happy to talk about integrating it into the software. I like your idea of adding a "language" parameter to run_wallace(). Can I ask you to brainstorm with @BrunoVilela (coauthor on the MEE paper, co-developer, and proud Brazilian) about your ideas?

jamiemkass commented 6 years ago

@thiagosfsilva, did you ever follow up with @BrunoVilela? I like this idea very much, and I'd like to see it move forward if there is still interest!

thiagosfsilva commented 6 years ago

I was hoping he would chime in here, since his name was tagged, but I'll get in touch directly. Sorry for the late reply. By the way, I just used Wallace for a class assignment on a 3rd year ecology undergrad class of ~30 students, and could do a write up with general feedback if you'd like.

jamiemkass commented 6 years ago

Yes, something brief would be very useful for our team! We have done demonstrations here in the US, but an example from Brazil would be very informative. Thanks!

On Wed, Jun 13, 2018 at 5:36 AM Thiago Sanna Freire Silva < notifications@github.com> wrote:

I was hoping he would chime in here, since his name was tagged, but I'll get in touch directly. Sorry for the late reply. By the way, I just used Wallace for a class assignment on a 3rd year ecology undergrad class of ~30 students, and could do a write up with general feedback if you'd like.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/wallaceEcoMod/wallace/issues/132#issuecomment-396876866, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_l21FG-m-DKAasQM0a-IO1ZfnhGE-cks5t8N0HgaJpZM4T2wjC .

--

Jamie Kass PhD Candidate, Department of Biology City College of New York, CUNY Graduate Center Alt email: jamie.m.kass@gmail.com My website: ndimhypervol.github.io Phone: (917) 602 5787 Lab: andersonlab.ccny.cuny.edu

BrunoVilela commented 6 years ago

Hey, sorry guys, sometimes the GitHub emails get lost in my mail box. @thiagosfsilva we already discussed some ways to translate wallace, the main problem is that we would need to make all the text inside wallace to be inserted only by code, which is not currently (at least until the last time I saw the code, is that right @ndimhypervol ?). This would make it easy to change between languages. I guess this would be a great addition to future versions of Wallace, but while Wallace is still growing very fast, I guess would be hard to keep up the pace with several languages going on. A current alternative is to make a video demonstrating Wallace in portuguese, other is just translate the guidance text (which are inserted using code), or only translate the vignette that is about to be released (have it been released already, @ndimhypervol?). Several other colleagues in Brazil showed interest in translating Wallace to Portuguese, and many people are already using it to teach SDMs. So, I guess a translation to Portuguese would be awesome, and it could be a prototype for other translations. What do you guys think?

Edit: We could also try to organize workshops in Brazil on how to use it, and how to contribute to Wallace.

thiagosfsilva commented 6 years ago

Re: @BrunoVilela - I think just translating the guidance text, keeping the function names in English for reference, would already make a lot of difference for the users. I could help translating both the guidance texts and the vignette as well. And I am game on helping organize workshops as well.

Re: @ndimhypervol - I used Wallace on my Biogeography course, offered to 3rd year students from the Ecology major program. There were 28 students, who had no prior experience with R or GIS (they take a Cartography class that mentions some GIS, but don't do any hands on). This made it a little more challenging. The Wallace lab was towards the end of the course, so they had the background Biogeography theory. It was a 4-hour hands-on lab, and we started directly on Wallace. The tabbed workflow made it really easy to start with hands on right away, and then I would explain the different aspects involved in SDM as we moved from one tab to the other. Our computer lab is really outdated (2-core processors with 2GB RAM, running Win10) but, as long as we used the coarser Bioclim and stuck to hypervolumes, download and processing was fast enough to not break the pace. I did some prior tests with Maxent as well, and it took only a couple of minutes too. In terms of software problems we had a couple of cases where Wallace hung up if we got distracted and skipped a step (whole UI gets greyed out), and everyone had problems saving the Bioclim raster data to disk. When clicking download, we would get either an error from the browser, or a 0kb file (can't recall which browser did which, between Chrome and Firefox). We were able to download the suitability rasters, however.

We ran through the whole process during the lab, and the students had two weeks to develop a project of their own, running Wallace on their own computers. A few students got confused with the Java and Rjava installation and sough me out to help, but most were able to get Wallace running by themselves, following Portuguese instructions I wrote. They were all able to operate Wallace by themselves too, but some groups made a few mistakes or misunderstood some steps, which is where I think the translated guidance and background texts would have been really helpful. The major complaint by all students was on visualizing the results. Since they had problems saving to disk, and no familiarity with GIS, they were relying on visualization in Wallace itself, and then got really miffed by the fact that (as far as I could tell) there is no way to deactivate or erase a polygon after drawing, and by the end they had both the "sample selection" polygon and the "area of interest for prediction" polygon overlapping and obscuring the suitability results, which they found frustrating as they had no way to properly show their results on the reports.

So overall, considering I had just studied Wallace a few days myself before the class, and their total unfamiliarity with SDM, R and GIS beforehand, that it worked great. I need to look further to understand why the raster downloads were systematically failing (i opened an issue for it thinking it was rgdal, but now I'm not so sure), and wish the paleo biolcim layers were available fo prediction as well, to open up the self-guided project options. All students ended up doing future climate projections. If I could point towards an area for improvement, would be on having more tools or even a separate tab for visualization, where they can select the layers, apply a color table, and display it with some autogenerated cartographic elements (grid, scale, legend). In fact, I would be willing to contribute with an initial Shiny prototype for this, as I have already been thinking about some thing similar to use in our lab when we're doing remote sensing in R, to reduce the need to jump back and forth between R and QGIS.

thiagosfsilva commented 6 years ago

@ndimhypervol by the way, I'll be at CUNY next week for Andrea Paz's examination and to teach a remote sensing workshop, if you'd like to meet.

jamiemkass commented 6 years ago

@BrunoVilela @thiagosfsilva Yes, I think translating the guidance text would be easiest, as each text block is contained in separate .Rmd files and not embedded in other code. I really like this idea, and it could be a model for other translation efforts.

@thiagosfsilva Your experience is highly encouraging! Thanks for writing such a detailed report of how things went! As for the problems you faced:

  1. The downloading rasters problem is very likely an issue with the zip package, which is usually remedied on a Windows machine by installing RTools. I'd be curious to know if that fixes the issue or not.
  2. As for the polygons not disappearing, this is due to a recent update to the leaflet.extras package, which somehow broke the method I was using to erase polygons from the map programmatically. I submitted an issue, so we'll see what the developers say. I have made a work-around by allowing users access to the edit buttons on the draw toolbar, and this fix will be released in version 1.0.5, which should make it to CRAN in a few days. Sorry your students had to go through that torture!
  3. In the future, if you could document when and where the screen grays out, and copy-paste the error message on the console in a brief issue to the Wallace repo, it would be much appreciated! We do some in-house testing, but it's hard to catch all the bugs. We need your help! Because Wallace is a GUI app, it's very hard to automate all the possible checks that need to be made (though we have done this for a bunch). Thanks for letting us know though -- we'll be extra thorough in our checks for 1.0.5.
  4. Paleo data should be available (along with a lot of other new features) in the next big release, and an alpha version will likely be ready for testing later this year.

Let's talk in person about your ideas for the GIS functionality you mentioned. We'd be very happy to receive a PR from you!

mlammens commented 6 years ago

Hi @ndimhypervol , @thiagosfsilva , and @BrunoVilela - I'm keeping an eye on the notes about using Wallace for teaching. I'll be putting together a teaching module this semester, and likely it will include a section on troubleshooting, so these kinds of comments are very useful.

BrunoVilela commented 6 years ago

Thanks @thiagosfsilva for sharing such a detailed feedback on your class experience, this will surely be pretty helpful.

About the translation. My suggestion is that we translate the text inside this folder: https://github.com/wallaceEcoMod/wallace/tree/master/inst/shiny/Rmd

But this would also have to be followed by inserting a language button (probably some country flags in the top of the software, or a select box), and of course some changes inside Wallace's code to look the text in the corresponding language folder (we could create a folder for each language). For example, we could use some structure like this in the code:

# input$language defined by the user with a select box or flag images.
language_path <- paste0(input$language, "/") 

#example with line69(server): 
gtext$cur_comp <- paste0(language_path, 'gtext_comp1.Rmd') 
# repeat the above change to all the code that inserts an .rmd in Wallace.

I think that in this way it would be easier to add other languages as well.

Also the component and module guidance texts are super useful for students, so having them in other languages would be great.

In the future, a good practice is that all the text used by Wallace should be inserted by .rmd. In this way, users can easily switch between languages.

What do you guys think, @ndimhypervol, @thiagosfsilva and @mlammens?

@thiagosfsilva sounds like a great idea the GIS functions!

jamiemkass commented 6 years ago

@BrunoVilela I really like this idea. We could structure the Rmd folder by language and just have the default be English. This would be an easy way to allow users to switch. Having all the language in Wallace be in Rmd would be difficult, because a lot of the text is in button names, etc. I'm sure there's a way if we think hard enough though.

@thiagosfsilva By the way, thanks so much for the awesome visit to CCNY, and for the great conversation about Wallace! it would be great to have you as a partner going forward.

thiagosfsilva commented 6 years ago

@BrunoVilela How about the idea of selecting language at launch, instead of a button, something like wallace(lang='BR')? And then the input given to langwould be used to set a language subfolder of /inst/shiny/Rmd/ to be used throughout the session?

For starting the translation, should I just fork and then add a /inst/shiny/Rmd/pt-br/ subfolder to hold the Portuguese versions? I can then do a PR when I'm done and we can figure out the best way to pull the text in from there.

@BrunoVilela and @ndimhypervol , looking forward to contributing! I'll work on a mockup for a "GIS" shiny tab and share it under a new enhancement issue for feedback.

BrunoVilela commented 6 years ago

@ndimhypervol, yep, changing the button names will give more work. But we could make the UI code load one rmd or txt file in the begging, and each line would be a button name/etc. So, we could have each button creation code calling the name from the object derived from this txt/rmd. But this would give some extra work in the begging, as we would have to change every button name by a position in an object.

@thiagosfsilva I think that choosing the language at the very begging is also a good way to do it. Still, I think it is nice to be able to change the language while running Wallace, because sometimes people want to know the terms in English too, and being able switch fast between languages can facilitate this. So, my suggestion is to keep both ways to change the language.

jamiemkass commented 6 years ago

Sorry for the late reply. I agree with @BrunoVilela that some users may want to switch back and forth, so perhaps having it in a select form on the landing tab would be best. This shouldn't affect the way we write the translations, just the way we load them in ui.R.

@thiagosfsilva, I look forward to that PR! As for the GIS tab, and from our conversations about it while you were here, I'm very excited to see what you come up with.