https://www.duolingo.com/fer84

IMHO: This is how language switching should look like.

IMHO: This is how language switching should look like.

Switching courses

This works for me (except for the Danish course for now) and it is not a photoshop. I used an unofficial greasemonkey script as a basis and adapted it to my personal needs. I did not like the submenus of the original script and changed it so only my personal preferences are available. But maybe the script is just fine for you :)

I hope DL makes a better language switcher available to all of us ! There are some flaws in this solution (language is always english, entries are hard-wired, padding for second flag is wrong), but I think it is a better direction than the current language switcher.

If you are interested in this kind of a personalisation, have a look at this discussion as well: https://www.duolingo.com/comment/3088922

August 24, 2014

32 Comments


https://www.duolingo.com/hildaoquendo

Hey fer84, this is so awesome! I really hope DL makes these changes permanently at some point. It would be way easier to manage all courses. I like to do some from English and some from Spanish, or both. Like German is better from English, but French makes more sense from Spanish, and so on. And I hate how the whole DL changes whenever I want to switch. Kudos to you! Love this so much!

August 24, 2014

https://www.duolingo.com/hildaoquendo

Also, I think it would be great to combine levels. Like if you are level 10 doing it from English, it should stay that way if you're doing it from another language, and level up from whichever one. That would be grand!

August 24, 2014

https://www.duolingo.com/marzman

It is already like that. If you are level 10 an Spanish -> English you are also at level 10 in French -> English.

August 25, 2014

https://www.duolingo.com/fer84

Well ... there is just a single EXP count, and the level stays therefore the same. But you have to start the other tree from scratch, and word strengths decline independently.

It would be nice to be able to select one, or multiple L1 (mother tongues), and word strengths only decline for L2 languages. E.g. if German is my mother tongue and I learn Spanish(L2)⇨French(L2), I effectively strengthen the words of both languages. The next time I open English(L2)⇨Spanish(L2), or German(L1)⇨French(L2) the word strengths are up-to-date, and I get to practice different "weak" words.

August 25, 2014

https://www.duolingo.com/marzman

That's true with the tree. But different languages have different differences with the English. I don't think trees can be 100 % the same.

August 25, 2014

https://www.duolingo.com/fer84

To my knowledge, the language strength of a unit is the average value of the word strengths dedicated to a unit. Now, if the courses have different compositions, the strength of the unit might be different. Just if you had repeated the word "cow" once, it would be valid, for all trees. And if the source language was French, than you would have repeated "vache" as well.

August 25, 2014

https://www.duolingo.com/hildaoquendo

Oh, then something must be wrong with my account. I was level 2 from English, then leveled up from Spanish, and when I switched back to English I was still level 2. :(

August 26, 2014

https://www.duolingo.com/ChukyBlairBass

I Totally agree with you. I learn German from English, and I was doing English from Spanish, but i quit in English cause i find it too much troublesome the switching thing to me.

August 25, 2014

https://www.duolingo.com/JanTuts

Thank you for your update on the script! I like this version way better than the original. :)

I further improved the appearance of the second flag icon by inserting a non-breakable space (nbsp;) right in front of it. I also found that this arrow "→" looks a lot better than the one the script originally had (⇨).

Duo

October 22, 2014

https://www.duolingo.com/fer84

Awesome. It really starts looking nice now :) I tried to do something similar with the absolute spacing in css, but i failed. I just worked on it one afternoon and the last time I worked with css and JavaScript was as an undergraduate in university. Its not really my field of expertise. My version was a drastic simplification of the original that just suits my personal needs, and I appreciate that you keep polishing it.

Would you mind posting your solution as a new discussion thread in the main DL? Im sure more people are interested and this discussion is already burried quit deep. My original intent was to persuade DL to chang the interface for everyone - so some publicity wont hurt.

October 23, 2014

https://www.duolingo.com/JanTuts

Isn't a topic bumped up when people post in it? Also, it would create a lot of clutter if there's a new thread for each update on a single subject :/

October 23, 2014

https://www.duolingo.com/Silbern

Hello :)

Thank you very much for the script. I had some issues adding the fixes that you mentioned JanTuts, as I am a total newbie with this, but it's okay now. I actually could convert the languages into Spanish too :) so I'm really happy with this.

Some posts below another user asked if it could be possible to add the "Add a new course" button back, and so far it seems no one have been able to do it. But I would like to ask anyway. It would be nice to have it without disabling Tampermonkey and refreshing the site.

November 2, 2014

https://www.duolingo.com/JanTuts

No, unfortunately, you'll have to add new courses manually. (You could subscribe to a course on the site, but if you don't add it to the script, it still won't show up on the list. And making that automatic is WAY beyond my skills...)

Fortunately though, adding new courses is as simple as picking a course shorthand from the list on line 17 (e.g. "pt" [I'm using this example since you don't have that course]) and adding it to the var course list on line 24 (eg: es:["en","fr","de","it","pt"])

BTW: a cool "bonus-feature" of this script is that you can also add currently non-existing courses. As such, I've added "ru" (Russian) and "sv" (Swedish) to my English queue. English → Russian and English → Swedish are currently in development, so once they are done, I can start on them immediately, without having to go and alter the script again. (The downside is, of course, that the courses already show up on my list, even though the links do nothing.)

November 2, 2014

https://www.duolingo.com/Silbern

Hello again!

Yes, I already changed my language list and I actually have Portuguese on it :P Well, to be honest I have every language I could learn in Spanish and also Spanish and Irish in English. The language list with the script on looks very nice!

But hey, the bonus feature is cool :D it's really handy to have the options available even if you can't do a thing with them yet.

Thank you for answering, and for the tip too ;)

November 2, 2014

https://www.duolingo.com/Ontalor

This looks really clean, I just stumbled on this, have you posted anywhere how to alter the original code to make it look like this?

December 9, 2014

https://www.duolingo.com/BaconChomper

I really like this and would like to use it. I am taking Eng - Ger Eng - Spa but when I want to take Spa - Ger I have to go through the settings and it's a pain in the a. I have grease monkey for Mozilla but know absolutely zero about scripts. Can anyone walk a dummy through this?

April 7, 2015

https://www.duolingo.com/davidvdb

Your script looks really great! Could you share it with us :) ?

August 24, 2014

https://www.duolingo.com/fer84

Here you are:

https://www.dropbox.com/s/qv30wen72yf5hsx/DuoLingo%20Course%20Switcher.user.js?dl=0

All credit goes to the original script. I just modified it slightly. Have a look how greasemonkey scripts are installed in general, you need an extension for chrome or firefox. When you have that, you can install the script, and press confirm. For your own language selection you have to modify the script. Change line 24 and select your personal favourite languages. The line looks like var courses = '{"en":["dn","da"],"es":["fr","de"],"fr":["es"],"de":["fr"]}'; and causes exactly the 6 languages you see on the screenshot. da is the correct code for Danish, dn the code for Dutch. You can combine your own preferred source to target languages, but it should have the same pattern. Do not accidentally delete quotation marks, or commas.

I offer no warranty. Don't install both the original script and the modified version. If you feel unsure about it, don't install it.

August 24, 2014

https://www.duolingo.com/davidvdb

Great! Thank you!

August 24, 2014

https://www.duolingo.com/Jeanette525

Awesome! Thanks :D I couldn't get those codes to work for Danish and Dutch though.

August 26, 2014

https://www.duolingo.com/jayeidge

Oh, you are so my hero. Thanks to your script version I now can switch to English-Dutch as well. With my limited abilites I was not able to add that to the origianl script. Awesome!!!

September 15, 2014

https://www.duolingo.com/Eey91

Thank you sooooo much for this. I was wating for an update for this userscript since some new courses I'm doing had not been included (es-it, for example). Now I have a nice clean working interface. You should add this info in the original post since not everyone reads the comments.

October 1, 2014

https://www.duolingo.com/Usagiboy7

I love the idea behind designing one's own language menu. It's like how we can edit which discussion forums we are subscribed to. Brilliant! Have some lingots :)

August 25, 2014

https://www.duolingo.com/tariqnisarahmed

DL, please think of this has a brilliant hack and implement right away!

Fer84, bravo! And a lingot, of course.

August 24, 2014

https://www.duolingo.com/tariqnisarahmed

I prefer the menu idea because it should be available everywhere in DL.

My second choice would build on the current "Achievements" space on the profile page.
[img http://imgur.com/LU6241O]

Add a row with two-flag badges similar to the immersion tier badges. But list all of a person's courses. If a user clicks one of his course badges, he switches to that language. This row could even be united with the Immersion-tier badges. So list all courses, and give the tier number as applicable. For courses that have no Immersion option, write NA instead of a number. That would give a clean line of courses and tiers. Again, to switch a user would click one of his own badges.

August 24, 2014

https://www.duolingo.com/Eey91

Hello. I have another question since I know nothing about this. Do you know how to fix the flag icons in the mouse-over sub-menus? It is like they stack in the first course and end up only showing the last one of the list. I know this is not crucial but I love this script and it would be nice to have the flags hehe. Here's a screenshot.

November 2, 2014

https://www.duolingo.com/bnvdarklord

YES! Here have some lingots.

August 24, 2014

https://www.duolingo.com/bnvdarklord

Oh, also maybe try using some arrow symbol instead of "->" like ⇨.

August 24, 2014

https://www.duolingo.com/heather4132

yes, that option would be fabulous

August 25, 2014

https://www.duolingo.com/RonaldLight

This is wonderful and I'm already using it, but could you please put the "Add a new course" button back in under the language options?

August 26, 2014

https://www.duolingo.com/fer84

Yes, this would be great feature. Unfortunately I do not know how to implement it. I really hope DL will make an advanced language switcher menu available for all users, having such a button.

August 26, 2014

https://www.duolingo.com/ISpeakAlien

I would love this! It would make language switching WAY faster!

May 4, 2017
Learn a language in just 5 minutes a day. For free.