owncast / owncast

Take control over your live stream video by running it yourself. Streaming + chat out of the box.
https://owncast.online
MIT License
9.57k stars 880 forks source link

[Feature Request] Translate Owncast #1604

Open DrSkyfaR opened 2 years ago

DrSkyfaR commented 2 years ago

Hello, I was wondering if we could help translate Owncast into additional languages. I would like to provide the German translation here.

jeyemwey commented 2 years ago

Thanks for your kind offering to add German translations. Since not all of us are speaking English natively, you are certainly not alone.

Just for clarification: Are you looking to translate the web frontend or the admin interface or another part of the application?

We had consensus in earlier discussions that translating Owncast needs lots of preparation and a good system on which languages are accepted. While I think that there are "enough" German-speaking people here who would be able to maintain that translation, it might be rougher on other less-spoken languages like Klingon (taking it as an example to not hurt anyone). There might be one person dropping a translated file at one point, but if Owncast adds more features and more strings, that person might not add the translations and we leave our users -- who relied on us offering Owncast in Klingon -- with a half-baked interface.

DrSkyfaR commented 2 years ago

Hello @jeyemwey, first, thank you for your summary of the topic and the conversation you had already had. Unfortunately, I'm only now getting around to replying to you. Like many people, I was probably gripped by stress during the final stages of Christmas. But I have used the time wisely and thought about your words.

The problem of supporting a language is quite justified, but I think it is a general one, especially with open source software. Nevertheless, I would think that a translation, no matter how complete it is, could attract users from other language areas.

As you say, alternative languages would probably come from the input of other users, and that this will use the software forever is probably not something anyone can guarantee, nor is their continued participation. So whether you want to work with the available resources of human helpers is of course something you have to decide for yourself in the project.

However, one possible solution that has occurred to me is to coordinate the translation via appropriate platforms that are designed for such tasks. Crowdin or Transifex come to mind first and foremost. Furthermore, one could provide rudimentary language support with the LibreTranslate API. This would also ensure that a translation exists for new strings or code parts. As soon as a native speaker has contributed new translations, these could be reimplemented from the previously mentioned tools.

That has been my train of thought so far. Regards

DrSkyfaR commented 2 years ago

Hello all, it's been a few days since our last conversation and I thought I'd ask if you had any further thoughts on the subject.

Kind regards

gabek commented 2 years ago

I'll be upfront and say unless there's somebody else who can spearhead, now and into the future, a true localization project, I'm not going to be able to do it. It's a responsibility that's far too large for me to take on. And even if somebody did volunteer, I'm not sure I'd trust that they'd be able to keep up with it and not leave me with the burden.

Owncast is pretty much only me working on it, and I'd be spending all my time working on building a translation framework and working on feature localization if I took on that responsibility.

I'm sorry.

gabek commented 1 year ago

With the release of the rebuilt web interface I think we're at a better place to be able to support localization. There are still a lot of big projects I want to work on, so dropping them to focus on this isn't something I want to do right now, but I'm going to re-open this as something I'd like to get to.

If somebody could step up and work on this, that would be awesome, and it would get done faster. Otherwise hopefully by the end of 2023 I can get to it.

gabek commented 1 year ago

I put together the foundation of translations. It's still new, so please let me know if you run into any issues. Read below to find how you can help.

There are two roles required to make this happen:

The primary frontend for Owncast doesn't have a lot of strings. However, the Owncast admin has a ton of them. That's going to be the largest challenge.

Translator performing the translations

image image

Developer enabling files for translations

All strings and phrases in the application needs to be wrapped with the t(<string>) function. This is done with the next-export-i18n library. Read more about it to get additional details if you'd like.

image image image
Owncast settings - Crowdin
Owncast translation project on Crowdin. Crowdin is a localization management platform for companies and teams. Seamlessly make your software multilingual and reach new markets.
rmens commented 1 year ago

Can you add Dutch to Crowdin please @gabek?

gabek commented 1 year ago

@rmens Done!

Szkodnix commented 10 months ago

@gabek Could you add Polish language? Many thanks! :)

pigeons2023 commented 10 months ago

@gabek Could you add Chinese Simplified? Many thanks! :)

gabek commented 10 months ago

@pigeons2023 I know nothing about this myself, but I previously asked somebody else if we should have traditional or simplified. It was explained to me that traditional will be helpful for more people. Is that incorrect? I'd hate to have to manage both if there's a correct answer. I don't know what other pieces of software do.

pigeons2023 commented 10 months ago

@gabek Hello, you can try to add Chinese Simplified Chinese, add more convenient usage habits for more users, I wish you a better day

gabek commented 10 months ago

@pigeons2023 Can you answer my question above?

jbostroski commented 8 months ago

Hi, I would be happy to help translate into Brazilian Portuguese, @gabek if you wish, add that language so I can get started, thank you very much!

gabek commented 8 months ago

Ok, it's been added. But just a heads-up, the translation project isn't really going anywhere right now, and it's unlikely any translations will get released soon.

The actual translation isn't the issue, see above in the section entitled "Developer enabling files for translations" for what is holding it back currently. But hopefully, they'll get released at some point after some progress can be made.

jbostroski commented 8 months ago

No problem @gabek I just wanna help this amazing project. Hit me if you need anything!

Epy commented 7 months ago

Hello I would like to translate into French, I can't find how to select strings.json as source file. I can't see any source file (maybe a problem between chair and keyboard, I never used Crowdin) Sorry

image

gabek commented 7 months ago

Hi there. I appreciate you wanting to help. I'm not sure what's going on with Crowdin. However, like mentioned above, until I, or somebody else can focus on marking up the codebase to support translations, at this point there's very little for anybody to translate. This project will likely be on hold indefinitely.

Epy commented 7 months ago

I understand :) It's just easy to do on the translation side, so it'll be ready or almost ready when someone will have time and motivation to make the code for this feature. I really understand the rest of the feature is not easy to do.

And maybe, knowing there is already so many languages translated, could will motivate a code contribution.

I'd like to help in other ways if I could..

germainelee commented 5 months ago

@pigeons2023 I know nothing about this myself, but I previously asked somebody else if we should have traditional or simplified. It was explained to me that traditional will be helpful for more people. Is that incorrect? I'd hate to have to manage both if there's a correct answer. I don't know what other pieces of software do.

It would be recommended to have both. By sheer numbers, Simplified Chinese (SC) is more common as it is typically used mainland China, Singapore, and Malaysia. And Taiwan, Hong Kong, and Macau use Traditional Chinese (TC). Notice that some of the characters (in bold) are different.

EN SC TC
Apple
How are you? 你好 你好

Hope that clarifies!

xabirequejo commented 3 months ago

Hi, could you please add Basque for whenever Owncast is ready to be localised?