Code Monkey home page Code Monkey logo

Comments (7)

vitonsky avatar vitonsky commented on June 24, 2024

Your feature request are clear. However, not clear use case.

Why you need this feature? Whats your problem this behavior will solve?

Take time and try to give clear answer on this question. It is possible you need another solution actually.

from linguist.

schklom avatar schklom commented on June 24, 2024

My preferences are already listed.

The websites I browse are sometimes written in Nordic languages (e.g. norwegian, swedish), and some other times in German.
However, Bergamot and LibreTranslate do not support Nordic languages so I need Google.
I only want Google when Bergamot and LibreTranslate cannot translate (privacy reasons).

The problem is that every time I go on a Nordic website, I need to open the configuration page of Linguist and change the translator, then change back to Bergamot or LibreTranslate.
It works, but takes time.

from linguist.

vitonsky avatar vitonsky commented on June 24, 2024

I got you. Your suggestion looks a dangerous for users privacy, because with feature you suggest, translators can be mixed implicitly, so user can send their texts to google, when preferred translator broken or not support some language, or when page language been detected wrong.

But i see your problem. I expects a users will choose one translator and use it long time. But you want to use multiple translators at one time.

We have to think how we can solve your problem another way. Give me few ideas how Linguist could improve your user experience

from linguist.

schklom avatar schklom commented on June 24, 2024

with feature you suggest, translators can be mixed implicitly, so user can send their texts to google, when preferred translator broken or not support some language

If they do not want google, they could set the priority to -1.
You can even give 1 by default for Bergamot, and -1 for all others.

I expects a users will choose one translator and use it long time

When LibreTranslate or Bergamot supports more languages, I will do that :)

Give me few ideas how Linguist could improve your user experience

An alternative that would help it is to let the user have a default choice for the translator (what is done right now), but add an option to choose which translator to use in the context menu and in the toolbar button.

For example, on the toolbar menu
image
and/or on the context menu
image

from linguist.

vitonsky avatar vitonsky commented on June 24, 2024

Your concept on first screenshot looks fine, i could implement it. Let's think about details.

  • What about another use cases like input text translation and selected text translation? How to chose translator for this features?
  • How to manage this settings? If i have picked some translator on 100 sites and now i want to never use this translator, how i can reset it for all sites?
  • What if user will choose custom translator and this translator will unavailable after some time (user will delete this translator)? We have to fallback to default translator? It may be implicitly for user (it is bad for privacy)

from linguist.

schklom avatar schklom commented on June 24, 2024

What about another use cases like input text translation and selected text translation? How to chose translator for this features?

For the Toolbar button, why not have the same menu as on my first screenshot?
It could be something like
image

How to manage this settings? If i have picked some translator on 100 sites and now i want to never use this translator, how i can reset it for all sites?

In the settings, could something like this work?
image

What if user will choose custom translator and this translator will unavailable after some time (user will delete this translator)? We have to fallback to default translator? It may be implicitly for user (it is bad for privacy)

Fallback to the global preferences (in the extension settings).
When the user installs the extension, it should use only Bergamot for best privacy (negative priorities for other translators).
Then, use the priority list.
If the user has defined priorities, the extension should respect them.

Throw an error if priorities are equal (if Bergamot and LibreTranslate have priority 1, you cannot say which one to use), and use negative priorities for translators that are not wanted (e.g. Yandex -1, Google -2).

from linguist.

vitonsky avatar vitonsky commented on June 24, 2024

For me UI looks too complicated. Idea with priorities are not secure due to ability of implicit translators switching.

Your UI concept for translator picker in text translation are not consider a case when language bar or translator name will wide.

image

Let's dream up more and will try to find a good place for language picker everywhere

  • text translation
  • selected text translation popup

And think about some another UI to reset translators for sites, something more natural. Current approach bad because too complicated:

  • user have to go to settings to reset translators for sites that they have set in addon popup
  • user have to choose translator and press button to reset translator preferences for unknown number of sites

from linguist.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.