-
Notifications
You must be signed in to change notification settings - Fork 89
[PM-26248] Add plurals #1999
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
base: main
Are you sure you want to change the base?
[PM-26248] Add plurals #1999
Conversation
|
Thank you for your contribution! We've added this to our internal tracking system for review. Details on our contribution process can be found here: https://contributing.bitwarden.com/contributing/pull-requests/community-pr-process. |
AuthenticatorShared/Core/Platform/Models/Enum/ClearClipboardValue.swift
Outdated
Show resolved
Hide resolved
BitwardenResources/Localizations/en.lproj/Localizable.stringsdict
Outdated
Show resolved
Hide resolved
Codecov Reportโ
All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1999 +/- ##
==========================================
- Coverage 85.29% 85.29% -0.01%
==========================================
Files 1691 1691
Lines 144250 144248 -2
==========================================
- Hits 123044 123042 -2
Misses 21206 21206 โ View full report in Codecov by Sentry. ๐ New features to boost your workflow:
|
|
๐ค It looks like some other issues have come up with conflicts and the like. Do you mind if I take this PR and run with it (though probably in a separate PR because GitHub, I'll have to see) to clean some remaining stuff up and get all the ducks in a row? |
|
Feel free to edit! |
|
Great job! No new security vulnerabilities introduced in this pull request |
|
After spending some time futzing with git and the code, I determined that I thought it would be easier to break out adding these plurals into a couple PRs, potentially, so as to get a more-focused look at them, and handle some ancillary improvements that can be made at the same time. I'll still keep this open as a way of keeping tabs on what still might need to be migrated, as we can keep merging |
|
@KatherineInCode First of all, thank you for your work! ๐ It's done, it's works, but in some cases transaltors could transalte it in the wrong way. Some sentences were split into two parts:
Why this was bad: Translators in Crowdin only saw small fragments like Crowdin links the same I suggest to move entire sentence into plural rules. What improved:
After improvement:
Does this make sense to you? Should I prepare PR or do you want to take care of it? |
Ah, dang, I didn't quite realize that. Yeah, that makes sense. I can swing back through on this. Though it does look like Crowdin provides the context of where things are used in the places where it doesn't do the matching, as well ๐ค but yes, that makes sense. I'll circle back to it when I can. |
|
@mKoonrad I've been thinking about this over the holidays, and I'm curious. What would be your recommendation for how best to handle sentences with two different (number + noun)s in them? For instance, take the following English sentence:
In the way I've done it before at other jobs (that admittedly had translations into much fewer languages), and did with the stringsdict here, it would be to break out subdictionaries. This is what the Apple docs indicate, though now it's just in a single line and doesn't have a clear example; this page shows some examples of it. That looks like:
where However, this can cause problems because of CrowdIn's translation memory, where "N songs" gets assumed to be the same unit everywhere, even though in some languages it would inflect differently if it were the subject vs. the object. As well, there are languages like Hungarian that have polypersonal agreement, where the verb is inflected also in accordance with the count of the objects. As well, as you indicated, Polish also has grammatical features similar to this. How best to handle this? My initial instinct is to also pull in the verbs:
But that 1) relies way too much on English word order, and 2) in this case, I completely ignored that it's actually "will play" and "will show"โthat is, future tense, which some languages inflect in the verb itself instead of having an auxiliary verb like English. It very much wouldn't work. So I'm a little stymied, short of breaking it up into two sentences (which may not always be an option, depending exactly on how it's constructed, thinking particularly of the "X hours and Y minutes" sorts of constructions). Do you have any thoughts/opinions/advice on the matter? Could something fancy be done with the "nested dependencies" as they're called in that example page I linked earlier? |
|
@KatherineInCode Sorry for the late reply! For now, I recommend the standard solution. Any special string will get format updates. Regarding to Crowdin memory: |




๐๏ธ Tracking
#1912
๐ Objective
I added plurals by stringsdict file.
๐ธ Screenshots
โฐ Reminders before review
๐ฆฎ Reviewer guidelines
:+1:) or similar for great changes:memo:) or โน๏ธ (:information_source:) for notes or general info:question:) for questions:thinking:) or ๐ญ (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:) for suggestions / improvements:x:) or:warning:) for more significant problems or concerns needing attention:seedling:) or โป๏ธ (:recycle:) for future improvements or indications of technical debt:pick:) for minor or nitpick changes