Skip to content
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

Russian translation #47

Closed
b0s-at-works opened this issue Feb 2, 2023 · 14 comments
Closed

Russian translation #47

b0s-at-works opened this issue Feb 2, 2023 · 14 comments
Assignees
Labels
translation & localization Providing a translation in a some language.

Comments

@b0s-at-works
Copy link

I'm ready to make Russian translation. What can I do to translate it?
Is there any Excel list with strings or something?
Also how about these strings to contain sprintf patterns to allow to make translation in right way?

@yuroyami
Copy link
Owner

yuroyami commented Feb 2, 2023

For now, the translation file has some errors, out-dated texts, and some texts that aren't supporting translation yet. I will be working on fixing it by the time the next version is available, then I will bump up this issue and let you know when translation can be edited (and I will also explain the process of doing it). It's basically an XML file which can be edited with any text editor, it's pretty easy to edit. So for now, sit and enjoy and Syncplay.

Also, refer to #30 for more info.

@yuroyami yuroyami added the translation & localization Providing a translation in a some language. label Feb 2, 2023
@b0s-at-works
Copy link
Author

If I will have time, can I provide you even with current state of locale but anyway can I provide you file translated?

@yuroyami
Copy link
Owner

@b0s-at-works A lot of texts have been added in version 0.11.1 that are not within the translation file so even if you translate it now, it would be missing a lot of texts (especially for settings).

I will be releasing a new version soon enough which will support full translation and I will mention you in this thread again

@yuroyami
Copy link
Owner

yuroyami commented Jan 6, 2024

@b0s-at-works A ChatGPT-generated Russian translations were added in v0.13.0. The file is RuStrings.kt

@b0s-at-works
Copy link
Author

b0s-at-works commented Jan 8, 2024

@b0s-at-works A ChatGPT-generated Russian translations were added in v0.13.0. The file is RuStrings.kt

Amazing! I need some time to compare english version and russian strings to make corrections.

Meanwhile, @yuroyami, tell me please, does that android kotlin thing which provides GUI also doing autoresize of areas in which long text will appear?

Example (not related to your app concretely).
In russian
"Welcome!"
will be
"Добро пожаловать!"

As result you will have much longer russian string, in comparing with author's english "Welcome!" planed to see. So as result you can get string has cut and going behind boundaries. This is how it works in Windows Visual C or Delphi apps. (never worked with mobile apps, worked with web html/js/php/go apps instead)

@yuroyami
Copy link
Owner

yuroyami commented Jan 9, 2024

@b0s-at-works Your contribution will be much appreciated. Regarding the strings, texts are all auto-resizeable, so their length should not be a problem at all :)

@b0s-at-works
Copy link
Author

@b0s-at-works Your contribution will be much appreciated. Regarding the strings, texts are all auto-resizeable, so their length should not be a problem at all :)

Thank you for answer! My pleasure!

@ivy-reps
Copy link

ivy-reps commented Jan 25, 2024

  1. @yuroyami , can I ask questions about what some phrases means? For example connectRoomnameC = "Room where you and your friends watch" is about room where my friends already in and they are watching film there right now? Or they are watching for the room with that name which will be created by me? If you allow me that, I will request list of such lines later, If I will find them of course.

  2. Also in line 248 on En locale you have spelling mistake:
    override val uisettingReconnectIntervalSummary = "How many seconds to wait for reconnection on each failure of connection or disconn**ecito**n. Default is 2 seconds."
    disconneciton
    should be
    disconnection

  3. Also, what is Solo mode?
    override val connectSolomode = "Offline mode"
    In translation it looks like:
    override val connectSolomode = "Войти в режим соло (только видеоплеер)"
    which means
    override val connectSolomode = "Enter in solomode (video player only)"

  4. Also, what is custom server? You mean selfhosted? Or hosted on other hosting? Different from basic one?
    override val connectEnterCustomServer = "Enter Custom Server"

  5. Also, by strange consequence, ChatGPT made context translation a bit wrong:
    override val settingTlsSummary = "Syncplay will attempt to establish a secure encrypted connection (mainly TLSv1.3 but fallbacks to older versions) with the server if the latter supports it."
    override val settingTlsTitle = "Use Secure Connection (TLS)"
    to
    override val settingTlsSummary = "Если сервер поддерживает защищенное соединение TLS, Syncplay Android попытается подключиться к нему через TLS. (Пока не доступно)"
    override val settingTlsTitle = "Использовать защищенное соединение (TLSv1.3) [Скоро доступно]"
    which translates to english as:
    override val settingTlsSummary = "If the server supports a secure TLS connection, Syncplay Android will try to connect to it via TLS. (Not available yet)"
    override val settingTlsTitle = "Use secure connection (TLSv1.3) [Coming soon]"

@yuroyami
Copy link
Owner

@ivy-reps, thanks for showing such keen interest for contribution!

1- It's basically the same thing. Users have to put in the name of the room they want to create or join. Syncplay servers create rooms if you're the first one joining, or if the room already exists you join it.

3- Solo mode is literally just a video player, it is an offline mode to use one of the built-in video player backends (ExoPlayer or mpv). It works without internet and has nothing to do with Syncplay itself.

4- Official Syncplay maintainers provide public servers which can be used by anyone, but sometimes the ping is too high in some locations around the world (since they're hosted in France I assume) which affects user experience. One can build their own self-hosted server using Syncplay official source code and let friends join said server.

5- The ChatGPT translations were generated before I introduced TLS support, this could be the case for many other texts which may also be outdated because the first thing I did in the new version was generating ChatGPT translations.

@ivy-reps
Copy link

ivy-reps commented Feb 19, 2024

@ivy-reps, thanks for showing such keen interest for contribution!

@yuroyami, I think I just finished... I'm not satisfied with what I've done. But it's really hard to express some English meanings in Russian, with keeping English sentence structure. Does not matter. I'm always ready to fix something if you will need that.
As beginner, I'm satisfied. If you need I can send .patch of what changes I made to original Russian GPT version

RuStrings.txt

Can't wait your release!

I actually wrote you probably three weeks ago, but I've used my own quote and didn't used your nickname in message (((

@yuroyami
Copy link
Owner

@ivy-reps Thank you for your contribution! I will make sure to include your localization in the next release very soon.

@ivy-reps
Copy link

@ivy-reps Thank you for your contribution! I will make sure to include your localization in the next release very soon.

Yeah babe!

@yuroyami
Copy link
Owner

@ivy-reps The Russian translation is now included in v0.14.0. Thank you for your contribution! Feel free to update the translation file any time you want in this thread and I'll make sure to update it in the following releases respectively

@ivy-reps
Copy link

@ivy-reps The Russian translation is now included in v0.14.0. Thank you for your contribution! Feel free to update the translation file any time you want in this thread and I'll make sure to update it in the following releases respectively

Thank you for finding time to implement that. I will take a look on how it will look like on the phone. Thank you very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
translation & localization Providing a translation in a some language.
Projects
None yet
Development

No branches or pull requests

3 participants