Skip to content

Update Russian translation #344

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

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

zlomzlom
Copy link

@zlomzlom zlomzlom commented Mar 16, 2025

DON'T SUBMIT IT YET

While translating, I have encountered some various thingies that are undocumented and not self-explanatory:
In the "EBU STL export":

  • "Translate alignments" - "translate", like, text to another language? "Alignments" of the subtitles?

In the Preferences > Interface > Colors:

  • I have no idea what exactly affects "Visual Typesetting Tools Alpha"

In "aegisub.desktop.in.in" file there is "Keywords" value. Words "captions" and "captioning" are barely translatable, because in Russian they're almost like a synonym to "subtitles". Is it possible to not keep them?


Some buttons seem to be too short/not long enough:

  • For example, when you press "Cancel" button "Cancelling...", text doesn't fit:
    image

  • "Restore Defaults" button is not scaled to the width of the menu in the Preferences:
    image

A LOT of other stuff doesn't even have the translation references ("Apply" button, for instance)


One last thing:
So, long story short, there are four grammatical genders in Russian language: masculine, feminine, neuter and common. They're majorly affecting word formation, that's why I need to ask you something really important: imagine Aegi is a cat name. What sex would the hypothetical cat be? Truly significant

@petzku
Copy link
Contributor

petzku commented Mar 16, 2025

DON'T SUBMIT IT YET

BTW, you can mark PRs as "draft" to indicate it is not yet ready to be merged. There should be a button here, in the top right for you:
image

@zlomzlom
Copy link
Author

zlomzlom commented Mar 16, 2025

Ah, I see, but I don't think I can change it now
Edit: nvm

@zlomzlom zlomzlom marked this pull request as draft March 16, 2025 20:38
@astiob
Copy link
Contributor

astiob commented Mar 16, 2025

As a fellow Russian speaker, I’d try to avoid gendered constructs as far as possible, but colloquially, I think I do subconsciously use masculine forms with “Aegisub”, perhaps due to its outward similarity to regular 2nd-declension nouns. So I’d go with masculine where gendering is unavoidable. Anyway, some tricks I employ to work around it are: rewriting active voice to passive, repeating the name instead of using a pronoun, and substituting a category word (Aegisub → программа/приложение “the application”).

For example, when you press "Cancel" button "Cancelling...", text doesn't fit:

This won’t help more generally, but in this case, consider dropping the ellipsis. I’d also suggest Отмена..., but that may be bad if the button says Отмена before it’s pressed.

@petzku
Copy link
Contributor

petzku commented Mar 16, 2025

  • "Translate alignments" - "translate", like, text to another language? "Alignments" of the subtitles?

"translate", as in "convert to the closest equivalent" (similar to text-to-another-language; but i'm not sure if Russian would use a different word for this); and "alignments", as in \an value. Where ASS uses e.g. \an8, EBU specifies the "row" the subtitle (for \an8, that would be the first row; for \an2, the last one). Similar processing is done for horizontal alignment. With the option unset, this is not done at all, and the text is always placed at the bottom middle of the screen:

if (export_settings.translate_alignments)
{
// vertical position
if (sub.vertical_position == EbuSubtitle::PositionTop)
base.vp = min_row;
else if (sub.vertical_position == EbuSubtitle::PositionMiddle)
base.vp = std::min<uint8_t>(min_row, max_row / 2 - (max_row / 5 * sub.text_rows.size()));
else //if (sub.vertical_position == EbuSubtitle::PositionBottom)
base.vp = max_row - 1;
base.jc = sub.justification_code;
}
else
{
base.vp = max_row - 1;
base.jc = EbuSubtitle::JustifyCentre;
}

  • I have no idea what exactly affects "Visual Typesetting Tools Alpha"

This affects the darkened background when using the visual \clip tools. Below images show default (0.5), compared to 0.1 and 0.9 (using {\clip(768,320,1248,700)} on a 1920x1080 dummy video)

Sample images of various clip tool alpha settings

Aegisub clip tool, 0.5 alpha
Aegisub clip tool, 0.1 alpha
Aegisub clip tool, 0.9 alpha

@zlomzlom
Copy link
Author

@astiob I'll keep it masculine then. I saw one sentence with feminine form and just was a bit confused

@petzku hmm, I guess I can literally describe it as "Convert alignments"

So, the last untranslated thing is the "Keywords" value

@petzku
Copy link
Contributor

petzku commented Mar 16, 2025

@petzku hmm, I guess I can literally describe it as "Convert alignments"

You could also consider "Preserve alignments". But "convert" would probably work very well as well.

In "aegisub.desktop.in.in" file there is "Keywords" value. Words "captions" and "captioning" are barely translatable, because in Russian they're almost like a synonym to "subtitles". Is it possible to not keep them?

I'm not sure about conventions around this; but "captions" and "subtitles" (in this sense) are also basically synonymous in English. The idea of the Keywords section in a .desktop file is to contain words that could be used to describe the program, that don't fit under other categories.1
If the words are different but mostly synonymous, I would recommend keeping both.

Footnotes

  1. https://web.archive.org/web/20250128041844/https://specifications.freedesktop.org/desktop-entry-spec/latest/recognized-keys.html#key-keywords

@zlomzlom
Copy link
Author

zlomzlom commented Mar 17, 2025

I glorped up. What I meant to say is "captions" and "subtitles" are synonyms in English, but in Russian they're the same word. Btw, some verbs like "captioning" can't be translated into one word, so if "Keywords" support whitespaces, I can call it something like "making subtitles"

@petzku
Copy link
Contributor

petzku commented Mar 17, 2025

I think the field should support multiple words, but I'm not sure. Anyway: if the words are the same in Russian, it is indeed fine to not needlessly repeat it. (vice versa, if your language had three or four words with similar meaning, you could include them all even though English only has two)

@zlomzlom
Copy link
Author

zlomzlom commented Mar 17, 2025

Yeah, that's what I was doing, but most of the technical terminology basically doesn't exist in Russian, so I must use anglicisms; and I think the translation is now ready

@zlomzlom zlomzlom marked this pull request as ready for review March 17, 2025 00:49
@v-fox
Copy link

v-fox commented Apr 2, 2025

I glorped up. What I meant to say is "captions" and "subtitles" are synonyms in English, but in Russian they're the same word. Btw, some verbs like "captioning" can't be translated into one word, so if "Keywords" support whitespaces, I can call it something like "making subtitles"
Yeah, that's what I was doing, but most of the technical terminology basically doesn't exist in Russian, so I must use anglicisms; and I think the translation is now ready

I think we've lost the art of inventing words and making suitable literal translations, like Dahl and Mendeleev would have done for words such as "oxygen" and "skyscraper". I would rather see people inventing new words than throw anglicisms into everything and call it a day.
Like any bold developments in Russia, formal reformation of the language has long stopped since the initial changes in early 20th century, so it's up to us to do on our own. But that's a problem beyond the scope of one program on the Internet. Personally, I've completely gave up on using Russian translations decades ago as they mostly come out incomprehensible, especially due to jargon that translator doesn't care to understand themselves, or ugly-sounding regardless of how "professional" the translator is.

@arch1t3cht
Copy link
Member

@zlomzlom Thanks for the PR and sorry for the delay. I'm noticing that you committed your updated po file with DOS line endings (while the original file had Unix line endings), which is why your PR appears as having changed the entire file. Can you update your PR to use Unix line endings instead? You can do this by converting your file locally, or by cloning repository with the autocrlf option.

@zlomzlom
Copy link
Author

zlomzlom commented May 28, 2025

I'm also sorry for the delay. Right now Github says: "This branch has conflicts that must be resolved", what should I do?
Edit: I uploaded the file in the wrong folder

@zlomzlom
Copy link
Author

Now it's completely fixed I guess

Also, last time I forgot to mention one building issue on Windows:

[486/5143] Generating src/libresrc/default_config_platform_merged.json with a custom command
FAILED: src/libresrc/default_config_platform_merged.json
"C:\Users\user\AppData\Local\Programs\Python\Python313\python.exe" "C:/aga/Aegisub/tools/combine-config.py" "../src/libresrc/default_config.json" "../src/libresrc/win/default_config.json" "src/libresrc/default_config_platform_merged.json"
Traceback (most recent call last):
  File "C:\aga\Aegisub\tools\combine-config.py", line 33, in <module>
    base = json.load(bf)
  File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
                 ~~~~~~~^^
  File "C:\Users\user\AppData\Local\Programs\Python\Python313\Lib\encodings\cp1251.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 9109: character maps to <undefined>
[499/5143] Generating subprojects/fribidi/gen.tab/gen-bidi... command (wrapped by meson to set PATH, to capture output)
ninja: build stopped: subcommand failed.

Adding encoding="utf-8" to with open(...) as ...: in the combine-config.py resolves this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants