xdsopl / robot36

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

Adding translations to Robot36 #12

Open xdsopl opened 6 months ago

xdsopl commented 6 months 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 6 months ago

Hi there.

I would like to contribute with PT-BR :)

xdsopl commented 6 months 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 6 months ago

Created pull request

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

xdsopl commented 6 months ago

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

xdsopl commented 6 months ago

Realized these things about the Russian translation after the release:

ropucyka commented 6 months 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 6 months 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 6 months 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 6 months 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 6 months 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 6 months 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 6 months 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 6 months 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 6 months 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 6 months 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 6 months ago

v2.9 is out now

ropucyka commented 6 months 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 6 months ago

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

fuyukihidekii commented 6 months 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 6 months 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 6 months ago

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

xdsopl commented 6 months ago

Screen_recording_20240521_082859.webm

ropucyka commented 6 months 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 6 months 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 6 months 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 6 months 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 6 months 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 6 months ago

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

xdsopl commented 6 months 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 6 months 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 6 months 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 6 months 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 6 months ago

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

chadmeby commented 5 months ago

Hello!

I am very much enjoying exploring sound-to-image with Robot36; I am also not a ham radio person, but an artist with interests in space race/cold-war era media.

I have a strange request: Would you be willing to add the ability to hide the top menu area (leaving only the waterfall, amplitude and decoded areas visible)?

Why? Because I would like to use your software running on an SBC (like an ODROID N2+) in an art installation. Robot36 in auto mode creates really lovely visual patterns when intentional errors are introduced, audio from different images mixed, etc., so it is pretty ideal for the aesthetic I am working on, but I find the menu text and icons (in this context) too distracting.

While I could construct a custom bezel for a monitor in order to hide the "overscan" (like in the old days of CRT!), a software solution would certainly be more elegant.

I have no expectations and sincerely hope it is not offensive for me to ask.

Best Futures! -c

xdsopl commented 5 months ago

Can you please create a new issue for that? This issue here is only meant for adding translations to Robot36. I wanted to fire up Android Studio for fixing another potential problem in Robot36 soon, so I could create you a small patch you could use to disable the menu while at it. See you in another new issue. ;)

SP1IMJ commented 1 month ago

Hello. I'm just a Robot36 user and I'm going to translate it into Polish. I guess I have to download "The original English strings" and translate it into my language. Am I right?

SP1IMJ commented 1 month ago

@xdsopl @chadmeby @ropucyka @fuyukihidekii I've just finished it. I translated "strings.xml" into Polish language and I added one line:

<string name="polish" translatable="false">Polski</string>

It's my first day here so I don't even know how to post it. ;]

I hope it's the correct way... https://github.com/SP1IMJ/robot36/blob/8819c7f0d1b785ac570fdd9fdd64236542f3fa87/app/src/main/res/values-pl/strings.xml

xdsopl commented 1 month ago

@SP1IMJ Thank you! I just merged and integrated your translation file. The translations will be available with the next update.