Skip to content
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

Update Romanian Translation #7366

Closed
wants to merge 1 commit into from
Closed

Conversation

Laszlo19
Copy link

@Laszlo19 Laszlo19 commented Jan 5, 2025

This PR updates all missing strings into romanian and corrects certain words (uses better terminology).

The translation was done on Crowdin and was checked by multiple people.

@Laszlo19 Laszlo19 changed the title Add files via upload Update Romanian Translation Jan 5, 2025
@surfdude29
Copy link
Contributor

Thanks for this!

I'm assuming they're part of the Crowdin but just in case, pinging the two contributors to #6456: @claudiu-cristea & @alextecplayz

Comment on lines -36 to +41
msgstr "{0, plural, one {o zi} few {# zile} other {# de zile}}"
msgstr "{0, plural, one {# zi} few {# zile} other {# zile}}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is wrong. The initial string was correct


#: src/screens/Profile/ProfileFollowers.tsx:40
msgid "{0, plural, one {# follower} other {# followers}}"
msgstr ""
msgstr "{0, plural, one {# urmăritor} other {# urmăritori}}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
msgstr "{0, plural, one {# urmăritor} other {# urmăritori}}"
msgstr "{0, plural, one {un urmăritor} few {# urmăritori} other {# de urmăritori}}"

@claudiu-cristea
Copy link
Contributor

claudiu-cristea commented Jan 11, 2025

I didn't cross the whole file but the changes to strings with plurals are wrong and are not accounting for Romania 3 variants plurals

Copy link
Contributor

@claudiu-cristea claudiu-cristea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, this looks like a full rework of the Romanian localization. I think we should start from existing strings and rules established in #6456

Comment on lines -193 to +198
msgstr "{0}l"
msgstr "{0}luni"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should keep the short version

Comment on lines -215 to +220
msgstr "Pachetul de început al {displayName}"
msgstr "Pachetul de pornire al lui {displayName}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was decided in #6456 (comment) to use "pachet de început". See the glossary


#: src/view/com/notifications/NotificationFeedItem.tsx:351
msgid "{firstAuthorLink} and <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} other} other {{formattedAuthorsCount} others}}</0> signed up with your starter pack"
msgstr "{firstAuthorLink} și <0>{additionalAuthorsCount, plural, one {un alt utilizator} few {alți {formattedAuthorsCount} utilizatori} other {alți {formattedAuthorsCount} de utilizatori}}</0> s-au înscris folosind pachetul tău de început"
msgstr "{firstAuthorLink} și <0>{additionalAuthorsCount, plural, one {{formattedAuthorsCount} alți} few {{formattedAuthorsCount} alți} other {{formattedAuthorsCount} alți}}</0> s-au înregistrat cu pachetul dvs. de pornire"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are using the informal language ("tău", not "dumneavoastră" or "dvs."). See #6456 (comment)

@Laszlo19
Copy link
Author

Hi, sorry, I am new to Github and I did not see that PR

Overall my translation is based on official translation of Twitter (Using it for a few years their translation is engraved in my mind) and other platforms and companies like Microsoft, mainly fixing incorect terms like:

-mute/unmute are better translated as amuțire/dezamuțire, similarly to Discord

-handle that cannot be translated into nume de utilizator because "user name" alredy exists and is very confusing to a new user of the app, I wanted to sign up and I was very confused. As a person with a backround in translation, the perfectionist in me was pissed off and wanted to took the matters in my own hands, and it turned into a complete remake.

Im used to translations being as faithful to the original as posible, always refer to the user with Dvs., find translations that sound better hence "pachet de pornire".

@Laszlo19
Copy link
Author

For example, "# zi" is more correct as # is replaced by a number "1 zi", using "o zi" technically breaks and does not work as it can't show the number 1 because there is nothing to replace.
"de" from de zile is not necesary because "20 zile" and "20 de zile" mean the same thing, and overall is better to be consistent.

@claudiu-cristea
Copy link
Contributor

claudiu-cristea commented Jan 12, 2025

(...) because "20 zile" and "20 de zile" mean the same thing, (...)

Of course they mean the same thing just that is not correct Romanian plural. The Romanian language has 3 plurals (singular + 2 plural variants). The variation is defined by the formula from the .po file header:

nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);

Using a single plural form is a relic of old times when there was no implementation of plural variants because 99.99% of the software was English and software localization was not yet an issue. The gettext translation project is aware of this particularity of some languages and introduced the possibility of .po files to store multiple plural variants for languages that needs them. Then software projects know how to deal with such languages based on the items count and show the correct string in UIs.

and overall is better to be consistent

Consistent with English? As is a Romanian localization we should be consistent with Romanian language rules.

-mute/unmute are better translated as amuțire/dezamuțire, similarly to Discord

I don't have a strong opinion, but "dezamuțire" doesn't sound good. I would let @alextecplayz discuss this as she proposed the actual form in #6456 (comment).

-handle that cannot be translated into nume de utilizator because "user name" alredy exists and is very confusing to a new user of the app

Quoting @alexandregz from the same #6456 (comment): "Romanian does not have an equivalent to a user handle specifically, so you'd have to use the Romanian equivalent of 'user name' instead, "Nume de utilizator". The literal meaning of "mâner" is the handle of a door, or the part of an object that you can grab and maneuver, and it certainly can't be understood in the context of a social media app. Don't use "identificator" (identifier", because it's different from the username."

But, of course, we can discuss on this. However, my background of software developer, tells me that "user name" (often used as username, in a single word) refers what here is called handle, i.e., a combination of letters and digits, uniquely identifying a user. In the same time "identifier" is mostly used for an internal ID, such as a serial integer or a universally unique identifier. User name is something that the user is choosing to represent them in that virtual space while the identifier is a value assigned by the system.

Im used to translations being as faithful to the original as posible, always refer to the user with Dvs.,

The original (English) language has only one form of addressing. Romanian (and not only) has two forms: one formal (dumneavoastră, vă rog, etc) and the other informal/colloquial (tu, te rog, etc). Trying to be "faithful to the original" is not possible, you'll have to make a decision and pick one form or the other. Both are correct in Romanian language but the context is important. When addressing an official you'll use the formal form but with a friend you want to use the colloquial form. As this is a social app, I seemed to me more appropriate to use the informal way. We've discussed this in #6456 (comment), #6456 (comment) and #6456 (comment) and decided to continue with the informal form as it makes the app more familiar and friendly.

For example, "# zi" is more correct as # is replaced by a number "1 zi", using "o zi" technically breaks and does not work as it can't show the number 1 because there is nothing to replace.

I'm a software developer and I know how this works. The "#" placeholder is replaced only if exist. We can discuss whether "1 zi" sounds better than "o zi" but the technical aspect should not be part of the discussion. Both forms are working correctly, w/o bugs (the current translation which is deployed shows it)


I do agree that the translation can and should be improved, but we need to decide on the process. Here's a proposal:

  • Start a project on Crowdin by importing the current .po file (existing translation)
  • Maintain an official list of terms (glossary) in the Crowdin project to help with future translations. A start could be the list from Romanian localization #6456 (comment)
  • Document in the Crowdin project the addressing form we're using (formal or informal). Any other guidelines should be added to documentation, e.g., using the correct Romanian diacritics (not Turkish)
  • Start by fixing specific cases in the current translation, making the whole process transparent and subject to review by the community
  • This discussion is also relevant Message to our translators: new release process from the Bluesky team #7317

@alextecplayz
Copy link
Contributor

-mute/unmute are better translated as amuțire/dezamuțire, similarly to Discord

I don't have a strong opinion, but "dezamuțire" doesn't sound good. I would let @alextecplayz discuss this as she proposed the actual form in #6456 (comment).

"Amuțire" and "Dezamuțire" are usually related to a person losing the ability of speaking (becoming mute) and regaining the ability to speak, so while I really wish that we could use something as short as this, it probably doesn't work well in the context of social media - the user we're muting is not losing the ability to speak, because we are silencing their replies on our side, for a single conversation or their entire account.

"(Dez)amuțire" could work in a social media moderation context, however. Users lose the ability to speak / get shadowbanned, limited, muted, etc for specific actions.

And as for the general translation process: as you linked the new release process from the Bluesky team, it seems like they're officially going to use Crowdin at some point (hopefully in the next few month(s)), which would make updates significantly easier since we wouldn't have to create new or re-open PRs for translation stuff - something that IMO should have been present since the beginning of the project, or at least since Bluesky left beta.

@Laszlo19 Laszlo19 closed this Jan 13, 2025
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.

4 participants