cdgriffith / FastFlix

FastFlix is a free GUI for HEVC and AV1 encoding, GIF/WebP/AVIF creation, and more!
MIT License
1.07k stars 54 forks source link

Issues with Portuguese Translation and languages mapping #507

Closed mindwired closed 10 months ago

mindwired commented 11 months ago

Test environment

FastFlix Version: v5.5.6

Operating System: Windows 11

Issue Description:

I'm Felipe, from Brazil, and I have to say that I love this tool and really appreciate the effort you put on it, since I use it for a lot of projects and worloads. Currently, the Portuguese translation in FastFlix contains several minor and major language errors due to the extremely nuanced/context-dependent nature of the language and (propably) because of the out-of-context strings in mapping file that affects the translator tool used in the initial generation of the texts in fastflix/data/languages.yaml file.

For reference, here is an example of a incorrect translation that has been found:

  • Line 284 of languages.yaml contains translations for "Auto Crop" string.
  • The current production file translates it to Portuguese as "Cultura Automóvel" in line 293, that means "car culture" or "cultural vehicle".
  • It's absurd but the translation is not entirely wrong, it's because o lack of context when translating (Auto>Automobile and Crop>"Farm context">(in pt-BR, "cultura" fits both "to farm" and "culture" depending where and when it's used)>Culture).
  • In this case, the correct translation would be "Recorte automático", that has exactly the same meaning as the original string in the context of a TextBox on a GUI tool being used to encode a video.

Even though I don't have any problem to work out the GUI since I use it in English, as a native "Portuguese (Brazilian)" speaker I wanted to contribute to this project and I have made significant progress in fixing all the translation issues that are being mapped in the languages.yaml file by forking the original repository and making the necessary modifications there.

I have validated and tested the mapped strings in my FastFlix installation by navigating through the screens and menus and after these modifications, all the strings in the YAML file including the example above have now the appropriate meaning adaptation as well. However, there are yet a few outstanding problems that require attention since they affect all the other languages as well, they all were identified after translating the entire YAML file and testing the GUI.

This issue aims to document the problems found and try to propose fixes for them. These are the issues I've found while updating the translation:

Profiles Menu > Current Profile Settings:

All the key fields from this window does exist in the YAML file and I have already translated each of them, but the fields aren't showing the correct mapped strings after changing the GUI language in the settings menu like the rest of the GUI.

image

Help > About:

The following strings also are not mapped in the YAML file: "Conversion suites", "Encoders", "Supporting libraries", "Packaged with". In the following image, there are in green 2 examples of correctly mapped strings in comparison.

image

Main Page > Advanced > Frame Rate section:

The "vsync" string is entirely in lowercase. I refrained from fixing this since the YAML file resolves this keyword in all languages also to 'vsync' equally and in lowercase. I think that modifying it could potentially break other parts of the application that rely on the mapping for this specyfic keyword. If it isn't the case, I would rename it to appear as 'VSync' in the GUI.

image

Main Page > Advanced > VBV section:

The VBV section's title mapping is split into the "Video Buffering" and "Verifier" mappings in the YAML file resulting in "Video Buffering Verifier (VBV)" in the GUI, also I have not found the last part "(VBV)" there... Due to the fragmented mapping, it became challenging to provide an accurate translation for this field, because in pt-BR it should be "Verificador de Buffer de Vídeo (VBV)", but I have no way to put in correct order since the YAML is probably joined inside the code. The splitted translation in the YAML results in an "understandable", but still strange "Buffer de Vídeo Verificador (VBV)" pt-BR text to a native speaker, I kept this way for now but I'm documenting the problem so that in the future It could be useful to make optimizations in the languages string mapping.

image

Main Page > Advanced > VBV section:

The text at the end of this section is not mapped in the YAML file. When mapped, the pt-BR translation should be "Ambos precisam estar preenchidos para serem habilitados".

image

Main Page > Encoding Queue > Priority:

This dropdown's values are not mapped in the YAML file.

image

Main Page > Encoding Queue > After Conversion:

This dropdown's values are not mapped in the YAML file.

image

Proposed Fixes:

Unfortunately, I haven't been able to address the above mapping issues for now, but I hope this documentation can be helpful to developers.

On the other hand, as I said before I have already made the necessary modifications and fixes of the translation issues in the YAML file in my forked repository and will open a PR to bring these changes here. I would appreciate it if the maintainers could review and merge these to ensure accurate pt-BR translations within your application. I apologize if the tone of language I used seemed uncomfortable or offensive, as I don't speak English natively that was not my intention.

Thank you! Felipe Arantes

mindwired commented 11 months ago

I'm sorry for duplicating the Pull Request. I have renamed my branch from PR #508 and it was automatically closed by GitHub as it identified as a deletion of the original branch. I have opened the same PR again in #509

cdgriffith commented 10 months ago

Thank you for these fixes again, added in 5.5.7