Skip to content

Update Russian translation - #344

Merged
arch1t3cht merged 6 commits into
TypesettingTools:masterfrom
zlomzlom:master
Jul 31, 2026
Merged

Update Russian translation#344
arch1t3cht merged 6 commits into
TypesettingTools:masterfrom
zlomzlom:master

Conversation

@zlomzlom

@zlomzlom zlomzlom commented Mar 16, 2025

Copy link
Copy Markdown
Contributor

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

petzku commented Mar 16, 2025

Copy link
Copy Markdown
Contributor

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

zlomzlom commented Mar 16, 2025

Copy link
Copy Markdown
Contributor Author

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

astiob commented Mar 16, 2025

Copy link
Copy Markdown
Contributor

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

petzku commented Mar 16, 2025

Copy link
Copy Markdown
Contributor
  • "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
Copy Markdown
Contributor 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

petzku commented Mar 16, 2025

Copy link
Copy Markdown
Contributor

@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

zlomzlom commented Mar 17, 2025

Copy link
Copy Markdown
Contributor Author

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

petzku commented Mar 17, 2025

Copy link
Copy Markdown
Contributor

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

zlomzlom commented Mar 17, 2025

Copy link
Copy Markdown
Contributor Author

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

v-fox commented Apr 2, 2025

Copy link
Copy Markdown

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
Copy Markdown
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

zlomzlom commented May 28, 2025

Copy link
Copy Markdown
Contributor Author

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
Copy Markdown
Contributor 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

@zlomzlom

zlomzlom commented Nov 25, 2025

Copy link
Copy Markdown
Contributor Author

Firstly, "video/play/line" command's description in the settings menu displays STR_MENU string, and not STR_HELP

Secondly, the visual typesetting tools' STR_HELP strings are variating. For example, buttons' descriptions "Drag subtitles", "Rotate subtitles", etc. answer the question like "DO what?" (but as noun, and it is correct (idk how to explain it correctly)), but in Vector Clip submenu buttons' descriptions "Appends a line", "Inserts a control point", etc. answer the question "[it] DO[ES] what?"

@zlomzlom zlomzlom reopened this Jul 26, 2026
@zlomzlom

Copy link
Copy Markdown
Contributor Author

There were like 180 conflicts, gods made me discard 20 commits (that automatically closed the pr, though)

@arch1t3cht

arch1t3cht commented Jul 26, 2026

Copy link
Copy Markdown
Member

To fix conflicts, I recommend using the msgmerge and msgcat tools rather than GitHub's merging functionality. That is:

  • msgmerge <current aegisub.pot> <your old edited ru.po> > ru_merged.po
  • msgcat --use-first ru_merged.po <current ru.po in repository> > ru_concat.po
  • Override the current ru.po in the repository with ru_concat.po and (double-check and) commit the result

@zlomzlom

Copy link
Copy Markdown
Contributor Author

No-no, right now there are no conflicts, but thank you for the advice, I'll consider this next time

@zlomzlom

Copy link
Copy Markdown
Contributor Author

@arch1t3cht by the way, I noticed that some Lua scripts (like DependencyContol) fail to load when directory contains Unicode letters. I guess it's because I have licensed that half-assed Windows Home Edition with only one language support

image

@arch1t3cht

Copy link
Copy Markdown
Member

Yeah, this is #458 , ultimately caused by some Windows weirdness. It can be fixed from Aegisub's side, but only on newer Windows versions, so I've delayed fixing this until after 3.5 releases.

@zlomzlom

Copy link
Copy Markdown
Contributor Author

Oh, oops. I'm gonna stick with Latin characters for a while, then

@arch1t3cht arch1t3cht mentioned this pull request Jul 27, 2026
10 tasks
@zlomzlom

Copy link
Copy Markdown
Contributor Author

Dear god, I wish I had a proofreader...

Welcome to Aegisub 3.5.0. After (almost) 1.5 years in translating, hopefully it would have been worth the wait
AND HOPEFULLY this is the last commit in this pull request

@arch1t3cht
arch1t3cht merged commit ff0b4af into TypesettingTools:master Jul 31, 2026
7 checks passed
arch1t3cht added a commit that referenced this pull request Jul 31, 2026
@zlomzlom

Copy link
Copy Markdown
Contributor Author

@arch1t3cht Oh no, you didn't rebase my commits into one

@arch1t3cht

Copy link
Copy Markdown
Member

Yeah, I forgot. Oh well. I added an empty commit to show they all come from the same PR.

@zlomzlom

Copy link
Copy Markdown
Contributor Author

Are you unable to fix it somehow in the master?

@arch1t3cht

Copy link
Copy Markdown
Member

Nope, force pushing rewrites history and that's not a good idea to do in a public project like this one.

@zlomzlom

zlomzlom commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

My rough grammar and insane commit names are in the history...

(but thank god GitHub deleted my previous 20 commits, could be worse)

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