6

I am designing a screen with content that can be translated into 40+ languages.

the flow is: the user creates content, then selects the languages he would like the content to be translated to from a list of ~200 languages we have available, then each translator receives a file accordingly. The problem I am trying to solve is that adding 40 items from a list every time is tedious.

I am looking for design patterns of a multi-select list that will ease up the process. Any ideas?

4 Answers 4

15

Allow users to create and use presets. Each preset is a cluster of languages users can choose according to their needs, fully customizable (it's negligible in a DB, but looks like whoa! for users). So they can create a preset "My Preset 1" and include English, Spanish, Italian, French, etc. Then "My preset 2" and English, French, German, Russian, etc.

You can even offer some presets like RTL, LTR, Cyrillic languages, Latin/Romance languages, Asian languages, etc. Then present the languages as chips or checkboxes (especially if you allow concatenating presets).

3
  • 3
    +1 Also make it possible to quickly lookup the languages in the preset at any time. People forget and this can make life so much easier for them.
    – jazZRo
    Commented Aug 15, 2023 at 16:21
  • If presets are not disjoint (and probably the shouldn't) you'll have to think how to deal with shared items. Result is the union of selected presets? Or you just add items to result when presets are selected? The metaphor matters when you deselect presets! How do selecting and deselecting single item and selecting presets interact? Etc. These details can get annoying if "wrong". :-)
    – Pablo H
    Commented Aug 16, 2023 at 14:27
  • @PabloH you're correct that issues may arise, but they depend on the approach. The idea of presets, based on unmentioned features, could allow the user to configure the process once in backend settings and provide one-click additions in the frontend. Shared elements should be added only once, excluding repetitions, with all added languages clearly listed on the side or bottom (repeated languages can be shown and higlighted for confirmation purposes). Since this relates to a settings page, it won't impact available space on teh frontend side
    – Devin
    Commented Aug 16, 2023 at 17:55
3

What is the available screen space for this interaction? I am guessing this might be a mobile screen that you are struggling with. I would look at using a checkbox component versus a drop-down list if you can. If you have to use a drop down list, look at using a version that allows the user to type in a portion of the text to act a filter on the list of elements. See: https://spectrum.adobe.com/page/combo-box/ for a detailed example

You may also look at saving the user's previous choices, if they tend to follow similar workflows. That might also help reduce the need to scroll and select.

2
  • The problem is to save the user the effort of selecting 40+ from a list of over 200 items (languages) every time he creates new content. now sure how the adobe example helps in that case The screen is a sidebar, but we can initiate a modal if needed.
    – user110630
    Commented Aug 14, 2023 at 18:41
  • 2
    I agree with Chris using check boxes and a way to auto-populate those check boxes next time the user uses it.
    – Steve
    Commented Aug 14, 2023 at 20:45
2

Presumably the user will be using this site more than once and, most likely have a limited set of languages which he would like the text translated to.

How about letting the users select languages and make groups that he would use. The pulldown could start with the selected language / language groups.

1

Use a swaplist i.e. two listboxes with two buttons in between. The listbox on left has all the options and the listbox on the right has what options the user wants. The buttons between are basically denoted by and arrow pointing left and an arrow pointing right. Selecting an option on the left box and pressing the right arrow moves the option to the right listbox; adding it to the users desired options. Selecting an item(s) in the right box and pressing the left arrow removes it from the users options and returns it to the left box. Another similar means is to use chips. In this case there is only one listbox and an add button. The user clicks one or more items in the listbox and presses add and chips that represent his selections appear as chips. The additional advantage of these methods over a dropdown or checkbox approach is the options can be ordered in the way the user wants.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.