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

Dutch translations #6244 #6329

Merged
merged 15 commits into from
Nov 24, 2024
Merged

Dutch translations #6244 #6329

merged 15 commits into from
Nov 24, 2024

Conversation

monty241
Copy link
Contributor

See #6244

@monty241 monty241 mentioned this pull request Nov 14, 2024
@monty241
Copy link
Contributor Author

For reviewing purposes, a glossary is added as attachment.
bluesky glossary.xlsx

@monty241
Copy link
Contributor Author

@monty241
Copy link
Contributor Author

This issue contains two spreadsheets: one with glossary and one with the actual translations. @Datagraver

@SleeplessByte
Copy link

Pretty cool!

I know that twitter generally translates muting as negeren, but I do still think that onderdrukken is a better translation, because accounts are not ignored, they are suppressed. dempen would be the exact translation but I don't think that would explain what it does.

I suppose there are more translations up for discussion, but personal feeling is that skimming this, I only found a handful of things that I would translate differently, so merging this so it becomes available and then doing partial changes when people find things confusing is probably a better route than to try to have someone check each translation.

@monty241
Copy link
Contributor Author

monty241 commented Nov 14, 2024

Review issues

The following issues have been raised after PR was created:

  • Translate "mute" as "negeren" or "onderdrukken" ("unmute" is currently "opheffen negeren" or "opheffen onderdrukken")
  • Possible more review issues

@monty241
Copy link
Contributor Author

@SleeplessByte Thanks for the feedback! Question: what would the suggested Dutch translation be of "unmute" (12 occurrences compared to 55 of "mute")?

I am not aware of the current allowed reviewers, so I will wait till someone (or you) approves.

@SleeplessByte
Copy link

SleeplessByte commented Nov 14, 2024

The clearest would be the wordy:

niet meer negeren
niet meer onderdrukken
niet meer dempen

In Dutch, there is no common antonym to ignore (negeren), suppress (onderdrukken) or mute (dempen), with the meaning to mute.

@SleeplessByte
Copy link

I am not aware of the current allowed reviewers, so I will wait till someone (or you) approves

@monty241 I'll do a full review right now. I have a few hours to wait for code to pass several CIs...

@monty241
Copy link
Contributor Author

@SleeplessByte Thank you for your help! The Excel-sheets attached contain the same information, but in different format. Hopefully your CIs go through well...

@monty241
Copy link
Contributor Author

The clearest would be the wordy:

niet meer negeren niet meer onderdrukken niet meer dempen

In Dutch, there is no common antonym to ignore (negeren), suppress (onderdrukken) or mute (dempen), with the meaning to mute.

I have put in "opheffen onderdrukken" which probably takes the least number of pixels horizontally.

Copy link

@SleeplessByte SleeplessByte left a comment

Choose a reason for hiding this comment

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

I was able to review about 1/7th. Please note that these are not "they must change" but mostly my personal opinion with a background of growing up in a house with a Dutch scholar (aka my dad)...

IMO you get to decide what you apply and what you don't. I recommend you look through the suggestions in the review tab, and "apply suggestion" in batch mode, so you get all the changes in one commit. If you browse this in the regular pull request comments view, don't miss that:

Github there are 47 collapsed messages

src/locale/locales/nl/messages.po Outdated Show resolved Hide resolved
src/locale/locales/nl/messages.po Show resolved Hide resolved
src/locale/locales/nl/messages.po Show resolved Hide resolved
src/locale/locales/nl/messages.po Show resolved Hide resolved
src/locale/locales/nl/messages.po Outdated Show resolved Hide resolved
src/locale/locales/nl/messages.po Outdated Show resolved Hide resolved
src/locale/locales/nl/messages.po Outdated Show resolved Hide resolved
src/locale/locales/nl/messages.po Outdated Show resolved Hide resolved
src/locale/locales/nl/messages.po Outdated Show resolved Hide resolved
src/locale/locales/nl/messages.po Outdated Show resolved Hide resolved
@pfrazee
Copy link
Collaborator

pfrazee commented Nov 16, 2024

Thank you everyone! @monty241 with the review you've received, I'm happy to merge now and more detail work can be done later, or I can wait. Let me know!

@monty241
Copy link
Contributor Author

@SleeplessByte Thx for extensive review! Helped improve quality definitely!

@pfrazee Feel free to merge. Changes have been included through 93dec87. Once deployed more changes are probably needed when the translations are placed in a context on a screen, but the glossary seems stable so actual users could start using it with no large surprises in training costs later due to large changes in the translation.

@SleeplessByte
Copy link

Thanks for given rationale where suggestions were not applied. They were suggestions after all! You asked a few times for a bit of extra context which I have provided, but I don't think it's absolutely necessary to process them before merging this. As I only reviewed the file partially, we are bound to iterate on it.

Great stuff, thanks for the time investment ❤️

@monty241
Copy link
Contributor Author

For more information on use of space in Dutch and for a smile now and then: https://bsky.app/profile/spatiegebruik.bsky.social

@monty241
Copy link
Contributor Author

Welcome! It is definitely an improvement and challenged the translation. Curious how I will perceive it myself once live and what finetuning might be necessary. I am happy that yet another experienced Bsky user will be reviewing it too this week. Bsky has gained quite some traction, especially from content creators in the Netherlands, so the translation might help accelerate the number of people onboarding per day and retention.

I will await the merge and accumulating more changes if needed before doing another PR or commit. Expect the next PR to be in like 4 weeks from now.

@Flitskikker
Copy link

Flitskikker commented Nov 19, 2024

@monty241 @SleeplessByte

As a member of the old Twitter translation team (a long time ago, during better days...), I was wondering if there was a Dutch translation for Bluesky, and I found this PR.

Thanks for your contributions to this massive task!

I do see some room for improvements to increase the quality, though.

The main thing being the consistency in the verb form of CTAs (call to actions, like button texts for example).
Usually, in translation, we try to follow the standard of the platform (e.g. web, Android, iOS).

Since this is a multi-platform application, we prefer to use the most common verb form, which is the infinitive verb form (e.g. "Annuleren" for Cancel).
This form is used by Microsoft, Google, and all other big social networks, such as Facebook, Instagram, Pinterest, etc. It is basically the industry standard in UI translation.
Only Apple uses the imperative verb form ("Annuleer" for Cancel) for its products (but not on Windows).

Again, as this is a multi-platform application with shared strings, I'd say it's best to use the infinitive verb form, because it's used by the bulk of the supported platforms (Web and Android, next to iOS), and also consistent with the other social networks' web UIs. It's the industry standard, so most people will be familiar with it. (Also, personally, I find the imperative form to be rather "dog-commandish".)

That said, I noticed that both forms are used interchangeably. My suggestion would be to use the infinitive form everywhere, for the reasons stated above. I'll be happy to go through the file and contribute the necessary changes myself.

Practical example:

#: src/components/dialogs/MutedWords.tsx:328
#: src/view/com/modals/ListAddRemoveUsers.tsx:269
#: src/view/com/modals/UserAddRemoveLists.tsx:235
#: src/view/screens/ProfileList.tsx:940
msgid "Add"
msgstr "Toevoegen"

#: src/view/screens/AppPasswords.tsx:111
#: src/view/screens/AppPasswords.tsx:153
#: src/view/screens/AppPasswords.tsx:166
msgid "Add App Password"
msgstr "Voeg app-wachtwoord toe"

To be consistent, "Add App Password" should be translated as "App-wachtwoord toevoegen".


Another thing I noticed is the translation of strings containing variables, such as:

#: src/components/NewskieDialog.tsx:116
msgid "{profileName} joined Bluesky {0} ago"
msgstr "{profileName} lid geworden van Bluesky {0} geleden"

In the end-product, this will result in, for example:

John joined Bluesky 10 days ago
Jan lid geworden van Bluesky 10 dagen geleden

In Dutch, this is not a natural sentence.

If we would format it like this...

msgstr "{profileName} is {0} geleden lid geworden van Bluesky"

...the translation would be better:

Jan is 10 dagen geleden lid geworden van Bluesky


Finally, I would like to double-check if the formal form of address (u / uw) is the way to go.
It is more professional, but may feel a bit more stiff for a social network nowadays.
The other social networks are using the informal form of address (je / jouw).


Please let me know your thoughts!

@monty241
Copy link
Contributor Author

Thanks for the feedback!

The translations are generated from a CAT tool.

Regarding u/je: I suggest to match similar platforms. Probably I have applied our corporate standards, but these are for financial systems, not consumer products so may be too formal in Dutch.

It would be most handy when you could give a list of ist, Soll and why. I can pick them then up, apply changes consistently and generate new translations file.

@pfrazee
Copy link
Collaborator

pfrazee commented Nov 19, 2024

Yall are all awesome. Let me know when yall feel good about the translation. Don't worry about the conflicts; I'll resolve them when this is ready to merge.

@monty241
Copy link
Contributor Author

@pfrazee As far as I am concerned please go ahead. There will be a next batch including changes from other contributors, actual use and already made changes, but without merge there is no actual use available.

@pfrazee
Copy link
Collaborator

pfrazee commented Nov 19, 2024

Okay when I get some time I'll get this merged

@Flitskikker
Copy link

Flitskikker commented Nov 20, 2024

@monty241

Thanks for the feedback!

The translations are generated from a CAT tool.

It would be most handy when you could give a list of ist, Soll and why. I can pick them then up, apply changes consistently and generate new translations file.

Do you want a general list or would it be more convenient for you if, let's say, you'd share something like an XLIFF export, I go through it and then send the updated file back for you to import back? Which CAT tool are you using?

General points would be:

  • Update all translations for actions (buttons, links) to use the infinitive verb form (e.g. Add an account > Een account toevoegen, Copy link > Link kopiëren, Change password > Wachtwoord wijzigen, Share > Delen, Save > Opslaan, etc.)
    • Confirmations like "Block this account?" should follow the same treatment, so "Dit account blokkeren?"
    • Regular titles and headings like "Enter your email address below to continue" can of course still be translated as "Vul hieronder je e-mailadres in om door te gaan", because "Je e-mailadres hieronder invullen om door te gaan" would look awkward
  • Double check all strings containing variables if the Dutch translation would make sense when you fill in the variables
    • In cases with possessive strings, such as {0}'s profile, translate as Profiel van {0} to prevent translations like "Bas's profiel"
  • Perhaps double check for verb tense in source strings. "Blocked post." is now translated as "Geblokkeerd bericht.", while I suspect it's a message shown after blocking a message, so "Bericht geblokkeerd." would be better. But cases like these will probably surface more easily after the translation has gone live
  • Errors like "Could not load posts", we tend to translate using the present tense (Kan berichten niet laden / De berichten kunnen niet worden geladen). Not necessarily "better" per se, just tradition I guess
  • I saw a few cases of copying English capitalization (e.g. Confirm Change > Bevestig Wijziging); in Dutch we can use our regular capitalization rules (only the first word, so Wijziging bevestigen)
  • I see you are a fellow spatiegebruik follower, so no remarks on that 😁

Regarding u/je: I suggest to match similar platforms. Probably I have applied our corporate standards, but these are for financial systems, not consumer products so may be too formal in Dutch.

Matching similar platforms sounds good. Maybe also consult the Bluesky developers to ask if they agree?
@pfrazee Does the team have any preference? Do you prefer formal address (u/uw) or informal (je/jij/jouw)?
Most other social networks use the latter to be more friendly/flexible/trendy. Only LinkedIn uses the former because it's more professional/corporate oriented.


Lastly, some questions/remarks regarding separate terms:

  • handle: I feel this term is not very well known in Dutch. Perhaps "gebruikersnaam" would be better?
  • feed: This is better known, but "tijdlijn" would be an actual translation that's maybe better understandable for new users?
  • dismiss: Usually this just means "close" (Dismiss banner > Banner sluiten)
  • enter: "Invoeren" brought 80s terminal vibes in some way, so we translated it as "Invullen" (e.g. Vul hieronder je naam in)
  • modal: I see "modaal venster" is used now, but I think "dialoogvenster" or just "venster" would be more understandable
  • people: We translated this as "personen" to prevent issues with singular/plural strings (1 persoon vindt dit leuk / 2 personen vinden dit leuk, instead of 1 mens vindt dit leuk / 2 mensen vinden dit leuk)
    • In running texts, we did use "mensen" where it was more fitting (e.g. Laat mensen weten hoe je erover denkt!)

Thank you!

@Datagraver
Copy link

Only managed a glance on the full list so far (bit more than I expected) and not used to git (only for storing stuff), so leave some remarks here (not checked if others also had same points).


msgid "Comics"
msgstr "Stripboeken"
Suggestion: "Strips".


msgid "Bluesky is an open network where you can choose your hosting provider. If you're a developer, you can host your own server."
msgstr "Bluesky is een open netwerk waar u uw hostingprovider kunt kiezen. Als u een ontwikkelaar bent kunt u uw eigen server hosten."
Add comma between "bent" and "kunt".


#: src/screens/Profile/Header/EditProfileDialog.tsx:321
msgid "e.g. Alice Lastname"
msgstr "bijvoorbeeld Alice Achternaam"

#: src/view/com/modals/CreateOrEditList.tsx:263
msgid "e.g. Great Posters"
msgstr "Bijvoorbeeld geweldige auteurs"

Inconsistent use of capital for "Bijvoorbeeld" (multiple occurences)


msgid "There was an issue contacting the server"
msgstr "Er is een probleem opgetreden bij het contacteren van de server"

Proposal: "... bij het verbinden met de server"

(four places)


Agree on replacing "Beroep" with "Bezwaar".
Other option: "Protest". (Protest aantekenen)

@pfrazee
Copy link
Collaborator

pfrazee commented Nov 23, 2024

Generally speaking we probably go for informal

Copy link
Collaborator

@pfrazee pfrazee left a comment

Choose a reason for hiding this comment

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

Thank you so much everybody!!

@pfrazee pfrazee merged commit 8fc4f68 into bluesky-social:main Nov 24, 2024
4 of 6 checks passed
@monty241
Copy link
Contributor Author

@monty241 @SleeplessByte

As a member of the old Twitter translation team (a long time ago, during better days...), I was wondering if there was a Dutch translation for Bluesky, and I found this PR.
...

Continuation on #6329

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.

6 participants