xdsopl / robot36

Decode SSTV encoded audio signals to images
https://sites.google.com/view/xdsopl/robot36
BSD Zero Clause License
196 stars 26 forks source link

Adding translations to Robot36 #12

Open xdsopl opened 1 month ago

xdsopl commented 1 month ago

So far, we've added the following translations:

Simplified Chinese: https://github.com/xdsopl/robot36/blob/v2/app/src/main/res/values-zh-rCN/strings.xml

German: https://github.com/xdsopl/robot36/blob/v2/app/src/main/res/values-de/strings.xml

Russian: https://github.com/xdsopl/robot36/blob/v2/app/src/main/res/values-ru/strings.xml

I am not a native speaker of Russian and Olga does not know the technical terms in Russian either, so can you please @ropucyka help confirm that the Russian translations are okay?

The original English strings are here: https://github.com/xdsopl/robot36/blob/v2/app/src/main/res/values/strings.xml

If you are reading this and speak another Language than listed above, please contact us here.

fuyukihidekii commented 1 month ago

Hi there.

I would like to contribute with PT-BR :)

xdsopl commented 1 month ago

@fuyukihidekii, would you like to create a pull request or should I first try to make a translation with ChatGPT and you tell us if it looks ok? ChatGPT is very helpful but having a native speaker that knows the technical jargon is much more valuable.

ropucyka commented 1 month ago

Created pull request

https://github.com/ropucyka/robot36/commit/f517ecfeb859b39f8a69e97d0da7b3168efe16fb?diff=split&w=0

xdsopl commented 1 month ago

v2.8 is released with Simplified Chinese, German and Russian translations. Happy testing!

xdsopl commented 1 month ago

Realized these things about the Russian translation after the release:

ropucyka commented 1 month ago

По-умолчанию is writing ONLY WITH hyphen. Im russian and know these rules perfectly. По-китайски, по-прежнему, по-нашему

UPD Yes, in many places this occurs separately. Specify it however you wish. My opinion about this rule is still unchanged.

По-китайски, по-прежнему, по-нашему, по-умолчанию - answers to the question "how?" по мячу, по голове, по америке, по бумаге - answers to the question "where to?"

ropucyka commented 1 month ago

Long tap on Mode button show popup text "Automatic mode" even if it switched on Force mode. Long tap on Share button doesn't show "Share" popup.

Added pull request with 1 translation fix based on natural testing.

xdsopl commented 1 month ago

ONLY WITH hyphen

Not arguing, only observing. We also had many moronic changes in the German language recently which were supposed to make things simpler and more modern, but ..

Long tap on Mode button show popup text "Automatic mode" even if it switched on Force mode.

Maybe we can call it "Mode Toggle" or something?

Long tap on Share button doesn't show "Share" popup.

Sorry, Google needs to fix that button :(

ropucyka commented 1 month ago

Maybe we can call it "Mode Toggle" or something?

When app saving image to gallery, it show popup like "image saved [name]" at bottom of screen. Add same mesage when we switching mode (!). And when we switched to Force mode it must show not "Force mode" message, instead it must show "Mode: [name]" message.

And then Mode long tap button popup message wil have name as is - Mode

xdsopl commented 1 month ago

Mixing names with translations is always difficult. I understand what you mean but it will be not practical with all the translations in the future. I need to find out if changing the menu item name is feasible but usually it is better to keep it constant. It is a difficult design decision .. give me time to think about it.

ropucyka commented 1 month ago

Example if localized xml (but in english):

    <string name="share">Share</string>
    <string name="auto_mode">Auto</string>
    <string name="force_mode">Force Mode</string>
    <string name="raw_mode">Raw</string>
    <string name="mode">Mode</string>
    <string name="mode_Robot36Color">Robot 36 Color</string> - static, not for localization but present in every language` xml's

Localized bottom popup for Auto will be: <string name="mode">Mode</string>: <string name="auto_mode">Auto</string> or for selected forced mode: <string name="mode">Mode</string>: <string name="mode_Robot36Color">Robot 36 Color</string>

Longtap popup always be localized from <string name="mode">Mode</string>

I dont see point of problem, but of course maybe i dont understand core of problem.

xdsopl commented 1 month ago

Thank you for bringing these design ideas to the table. I appreciate the thought and effort you've put into this. After considering our options, I've decided to take a different approach. Toasts, while useful in certain situations, can sometimes disrupt the user experience and are generally not well-received. They are non-interactive, ephemeral, and can overlap with other UI elements, which might lead to a cluttered interface and disrupt the user's flow.

I believe using an icon that changes between 'auto' and 'lock' modes, along with displaying the current mode in the menu title, is a more effective way to convey this information. This approach offers continuous, non-intrusive feedback to users, ensuring they are always aware of the current mode without any interruptions. It aligns with our goal of maintaining a seamless and intuitive user experience. Let's continue exploring ways to improve our design with these alternatives in mind. Your input is valuable, and I look forward to collaborating on this further.

xdsopl commented 1 month ago

I have renamed Force Mode to Lock Mode. I think that sounds less aggressive and is clearer, as the icon is also a lock symbol. Added Toggle Mode string for the mode toggle icon. Please check the translations.

ropucyka commented 1 month ago

renamed Force Mode to Lock Mode

haha it much harder to translate correctly in logic. in russian this phrase can have few variants with different logic: Блокировка режима (Lock of current mode), Режим блокировки (Lock mode), Зафиксировать режим (Lock mode [alt.]) or even Выбор режима (Mode choice). I'll add translation fix after next test release if it will be needed. Just need to watch this on usage. Funny crosswords, yes.

xdsopl commented 1 month ago

@ropucyka thank you for helping me. I really enjoy our conversations and appreciate your attention to detail. I will make another test release this evening.

xdsopl commented 1 month ago

v2.9 is out now

ropucyka commented 1 month ago

Translation update done, with new fixes it must feels for russian language users very easy and like a native ru lang app.

At first time there was this variant for string № 5 <string name="toggle_mode">Зафиксировать режим / Авто</string> then i set it to: <string name="toggle_mode">Зафиксировать режим</string> ...

SSTV Encoder will be updated/translated also?

xdsopl commented 1 month ago

SSTV Encoder does need an overhaul, yes, but not now .. too busy

fuyukihidekii commented 1 month ago

@fuyukihidekii, would you like to create a pull request or should I first try to make a translation with ChatGPT and you tell us if it looks ok? ChatGPT is very helpful but having a native speaker that knows the technical jargon is much more valuable.

hi, I'll submit a PR*

ropucyka commented 1 month ago

Language selection menu item? Or menu item to switch between local language (available translation in app) and international english, named like: Русский / English, Deutsch / English Or this can be expandable flag icon of available languages.

Reason example: if i take device which using chinese language, start the app and see only 奇怪的东西 - i must be able to easy switch app language to international - english. Or if user just want to use app with it native language (like me with many another machine shtranslated apps). Considering the purpose of the application, and offering ideas, I always keep in mind that the user is in a place without the Internet or any other connection, in a dangerous environment or situation, for example in a forest, with only radio device. I watch on app from this point first, never thought it was a toy.

xdsopl commented 1 month ago

I've just added a language selection icon in form of a globe. Will make another release after @fuyukihidekii's contribution

xdsopl commented 1 month ago

Screen_recording_20240521_082859.webm

ropucyka commented 1 month ago

Yes, but now it looks not so beautiful. This icon overlaps the status area in vertical screen orientation and looks redundant there. Maybe this option will take it place in menu list? at 3rd position from bottom of menu list? In translated verion it can be looks like that: Русский \ Language, Deutsch \ Language But in English interface it can be named just - Language.

Propably also it need to be sorted by name A-Z but leave English at first position?

English Deutsch Português Русский 语言

I see you started experiments with your own image codec? Saw your last video on youtube, and based on this, I think assempix will show image receive in realtime from first bytes, like Robot36 but aka progressive draw instead of sequental :) Sounds cool.

xdsopl commented 1 month ago

Yes, but now it looks not so beautiful.

Could not find a nice way to have an icon in the menu list without tricks. Maybe it will be contributed?

I see you started experiments with your own image codec?

Yes, but without an external viewer or image editor, those experiments are just that.

ropucyka commented 1 month ago

Maybe it will be contributed?

Haha by me? I can only work with text, because it easy. No, im talking about classic menu entry for translations, not icon, example like "Audio settings"

those experiments are just that.

Just want that everything works out for you with it.

Its me asked @fuyukihidekii in telegram about portugal translation. Let's hope he doesn't forget, again)

xdsopl commented 1 month ago

Haha by me?

There are many developers who like to find something small to contribute but it needs to be specified clearly. It's like a sport for them. Lookup Hacktoberfest for example. Specified clearly means a feature request is needed. Short and sweet. A low hanging fruit.

No, im talking about classic menu entry for translations, not icon

I understand. But this is the way. Which string can be used that is readable in any language? See, none.

Android development is a PITA. I am doing this for free. I really would like to get back to my BBS project. This is why I need outside help. Can't do everything myself. This Android stuff is very frustrating to grok and a constantly moving target which causes a huge maintenance burden.

ropucyka commented 1 month ago

You are almost finished updating the application, and then you decided to add translations into other languages, mentioning me, and so I came and I think that the result was excellent. You translated it into German, another user translated it into Chinese, and I corrected the Russian. Your application has received almost all common languages, except Portuguese and, possibly, Arabic, Japanese. A good result has been achieved. Don’t grab onto one thing, then another, complete one thing and call it a day. And it will be easier for you to start thinking about other ideas. In order not to create an off topic, I won’t write anything else. But if you need my unstoppable flow of thoughts, you can always ask me anytime in telegram @DVD108

fuyukihidekii commented 1 month ago

@xdsopl PR sent, can you do a build for checking it?

xdsopl commented 1 month ago

can you do a build for checking it?

v2.10 is out for your testing pleasure

Yes, but now it looks not so beautiful

Made it beautiful again

You are almost finished updating the application, and then you decided to add translations into other languages

Yes, I keep getting sidetracked. But I think this one was worth it. As you said, this is an app that is used internationally. It brings people together and brings a lot of joy to young and old. I am very happy about it.

In order not to create an off topic, I won’t write anything else

I don't want you to stop. If you have a great idea or find an issue, please feel free and create a new issue for each idea or problem. I obviously can't keep up but there are others looking at this app who would like to tackle the one or other issue.

you can always ask me anytime in telegram

I am not on social media besides GitHub and YouTube at the moment. You can also contact me via email.

ropucyka commented 1 month ago

Ok. Notes for v2.10

  1. After clean install, app starts in english. (2.9 was starts in my device language)

  2. Not enough space for few letters in rusiian translation. Too long word can be replaced with shorter: Политика конфиденциальности -> Политика приватности Some sources also marks second variant as more correct about Privacy Policy. Screenshot_20240522-160228_Robot36

  3. Language list not sorted, problem it or not, idk.

English Deutsch Português brasileiro Русский 语言

xdsopl commented 1 month ago

app starts in English ..

Good catch. Did not think about that too much. Fixed with commit 0e863e6304b471dd20213720235c0ae92dfdd45f

Not enough space for few letters ..

Just made commit 6e8a5244161b1f1d24f52d52ba92e4599a95a8d1 with your suggestion

Language list not sorted ..

It is sorted by order of first contribution

fuyukihidekii commented 1 month ago

v2.10 is out for your testing pleasure

I submitted a another PR, apart from that typos (my fault), everything seems fine with translation.

xdsopl commented 1 month ago

Made another testing release: v2.11 is out. Please test and report back.