-
Notifications
You must be signed in to change notification settings - Fork 634
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NIP-XXX Internationalization and Localization #1127
base: master
Are you sure you want to change the base?
Conversation
Two feedbacks:
For instance, my setup is:
|
That's a great feedback! Thanks. Here some possible additions:
Additionally I think But for Let see what others can chip in! |
This seems similar to this language tag proposal from @alexgleason last year but that PR looks stalled: |
I agree, it has |
I love the idea of incorporating more internationalization and localization concepts as a first-class citizen. Not everyone speaks the same language. Having an I do not think translation settings should live in the kind 0 profile. It's starting to bleed client implementation detail unnecessarily, and sets up the expectation that all clients should perform translations by default. I think those settings can live local to the client itself. Most modern browsers and operating systems have preferred language settings built in, but the client can either respect those settings and/or have local settings to override or augment the OS settings if it wants. What I think would be useful is to communicate to other people which languages they speak on their profile so that it signals to others if they should subscribe to their content. Which is basically what you already proposed and what Vitor mentioned with supporting multiple languages in an array. ["languages", "en", "uk"] |
100% agree! So to summarize all of us agree that we should a kind-0 languages is an array and kind-1: l or language single value. |
Isn't |
Yes. Which leads to the question: why not define a label for language? It would work exactly like we're discussing, but with an additional |
This doesn't seem that bad:
|
Do you think its important to include the standard in the array ? |
It's required per NIP-32 |
I just drafted a PR to relax the requirement for |
So for every note we write we add a label ? What about a kind-0? |
Just the tags, not the label event. |
So I think we agree how to implement Intl and Localization. I will update the NIP to propose what we discussed. What do you think ? |
Sounds reasonable to me. It seems we have consensus amongst the people who were involved in the discussion. |
I will do the change but before to summarize:
Hope we are good! |
I don't think it should be a second-class citizen. I think it should be first-class. See my comments below.
I think we can just add the Everything else seems good. |
Thanks for clarifying. Will do the update ! |
I like this idea in theory, but trying to think about this from a client dev POV. Clients are the ones that are adding this It would be good to see a more complete example of the fields that might be added to the |
Yep. Most people don't change the keyboard language to match their spoken language. And bi-linguals (generally: local language + English) don't switch the keyboard when writing in each language. Since bi-linguals tend to be more prominent people, the posts of more prominent people might have wrong language tags. Also, it's not uncommon to see posts in two languages: one paragraph in each. Amethyst's language identification and translation runs for each paragraph independently. We do a similar process to identify right-to-left paragraphs. A solution would be to list all possible languages in each post and let the receiving client filter out when the post is not in the tagged language. Basically, allowing large amounts of false-positives from the signing side to minimize false negatives. Meaning: if the goal is to query, having errors in the return is more acceptable than failing to return a post because the signer was too conservative in the language tag choices. |
Language is important !
This is useful: https://en.wikipedia.org/wiki/Internationalization_and_localization