Skip to content

Conversation

thomaschampagne
Copy link
Contributor

@thomaschampagne thomaschampagne commented Aug 28, 2024

My french translations improvements

I build and tested translations locally.

@love-linger love-linger self-assigned this Aug 29, 2024
@love-linger love-linger added the localization Localization/Translation label Aug 29, 2024
@love-linger
Copy link
Collaborator

love-linger commented Aug 29, 2024

Should we invite the original authors to review? I'm Chinese and know nothing about French 🤣

@thomaschampagne
Copy link
Contributor Author

@love-linger Let me finish my own review. You can invite when I will publish this PR ;)

@Jayllyz
Copy link
Contributor

Jayllyz commented Aug 29, 2024

I'll take a look when it's ready

@thomaschampagne thomaschampagne marked this pull request as ready for review August 30, 2024 19:35
@love-linger
Copy link
Collaborator

I know nothing about French. @thomaschampagne @Jayllyz @UchiTesting Please merge your changes into one PR. I do NOT know which one to pick.

@UchiTesting
Copy link
Contributor

Good evening.
I had a quick look so far (a sample of about 100 lines).
Some of those are legit,
some are not.

I would need to review that closely.
Would you mind if I do that later in the week (actually week-end)?

Just a general note.
When translating for a software we do not need to translate word for word. We translate for the idea.
UI wise too long sentences may look bad.
This is why I put the effort to find a way to translate as short as possible , yet correct.

There are also terms that are not translated because everybody knows their meaning. "Checkout" is one such term.
Should we try to translate a few notions, they would sometimes need several words otherwise.

As there is only one commit, I just don't know how to integrate the part I think is OK/Good from the rest.
Over 400 modified lines that's pretty huge.

What I can propose is to note the list of translations that are actual improvements and ask for a new commit.
Then have them merged in the branch I proposed so we can have a single PR for develop branch.

Good evening.

@UchiTesting
Copy link
Contributor

UchiTesting commented Sep 7, 2024

@Jayllyz @love-linger

I am currently reviewing the merge. After all I think you should merge my version first then have @thomaschampagne create a new branch from develop branch with changes taking remarks that are about to come. This will be simpler.

This is pretty long to check so I will go in batches. For now there is only one non legit string. Most are distributed between OK or questionnable.

Just don't close this PR until I finish checking.

Thanks.

@UchiTesting
Copy link
Contributor

A 1st batch of review
Goes until line 100

Legit/OK strings

  • Test.About
  • Test.About.Menu
  • Test.About.Fonts
  • Test.About.SubTitle
  • Text.AddWorktree.Location
  • Text.Addworktree.Name.Placeholder
  • Text.AddWorktree.Tracking
  • Text.AddWorktree.Tracking.Toggle
  • Text.Apply
  • Text.Apply.ErrorAll
  • Text.Apply.ErrorAll.Desc
    OK. Change erreur to Erreur too. I would keep the term "détaillé" for it is shorter yet perfectly conveys the idea.
  • Text.Apply.IgnoreWS
  • Text.Apply.NoWarn.Desc
    OK but keep "terminaux" in the end. The string would be too long.
    image
  • Text.Apply.Warn
  • Text.Apply.Warn.Desc
  • Text.Apply.WS
  • Text.Archive
  • Text.Archive.File
  • Text.Archive.File.Placeholder
  • Text.Archive.Revision
  • Text.Archive.Title
  • Text.AssumeUnchanged.remove
  • Text.Blame
  • Text.BlameTypeNotSupported
  • Text.BranchCM.CompareWithWorktree
  • Text.BranchCM.FastForward
    Did not translate it myself. I do not know where it is located so I cannot tell
  • Text.BranchCM.Finish
    Both correct. Why not?
  • Text.BranchCM.Merge

I was going for not translating push and pull for they are used daily in their English form amongst French speaking devs but that's legit to also translate them.

  • Text.BranchCM.Pull
  • Text.BranchCM.PullInto
  • Text.BranchCM.Push
  • Text.BranchCM.Rebase
  • Text.BranchCM.UnsetUpstream
  • Text.ChangeCM.CheckoutThisRevision
  • Text.ChangeCM.CheckoutFirstParentRevision
  • Text.Checkout.Commit
  • Text.Checkout.LocalChanges
  • Text.Checkout.LocalChanges.Discard
    Both are correct
  • Text.Checkout.LocalChanges.StashAndReply
  • Text.CherryPick
  • Text.CherryPick.Commit
  • Text.CherryPick.Title

For the next 2 both are correct. Supprimer is very fine too.

  • Text.ClearStashes
  • Text.ClearStashes.Message
  • Text.CodeEditor
  • Text.CommitCM.Checkout

Questionnable strings

  • Text.About.Editor
    I rather think non legit but I give the benefit of the doubt. The Way TextEditor is written looks like it is the name of a technology, not the actual text editor. Hence the text was not translated. Backup up with this https://texteditor.com/about/. I am not sure this is exactly this but it is rather clear to me we talk tech not actual words.
  • Text.AddWorktree.WhatToCheckout
    Rather legit I think.
    Wasn't translated yet and I might have done the same. Now I think I saw a string "Que Checkout" but does not appear here. The idea is asking where does the new worktree occur (new/existing branch).
  • Text.AddWorktree.Location.Placeholder
    The 1st part pour/vers either is correct. But the 2nd is too long.
    Here is a sample of how my translation looks. there is still space but the version is this commit is both too long and a bit weird. Would rather be something like "Les chemins relatifs sont supportés/pris en charge"
    image
  • Text.Addworktree.Name
    Both are correct. As I told I go for shorter translations. However there should indeed be a space in French between a word and colons. The improvement is in that last point IMHO.
  • Text.Apply.File.Placeholder
    Both translations are OK. I decided to go for a more formal option.
  • Text.BranchCM.DeleteMultiBranches
    Both are correct.
  • Text.BranchCM.DiscardAll
    Both are correct.
  • Text.BranchCompare
    Both are correct.

For the next 3 both are correct but I would keep a more compact version
image

  • Text.ChangeDisplayMode.Grid
  • Text.ChangeDisplayMode.List
  • Text.ChangeDisplayMode.Tree
  • Text.Checkout.Commit.Warning
    I would overall keep mine but maybe add the "pointeur" before HEAD. The " dela branche courante" part is superfluous.
  • Text.Clone.AdditionalParam.Placeholder
    Both are correct but being a placeholder, it is particularly important to try remain short.
  • Text.Clone.LocalName.Placeholder
    Both are correct

Non legit strings

  • Text.Apply.Error.Desc : The French for Raise (error|exception) is indeed "Soulever". Intercepter is "Catch"
  • Text.AssumeUnchanged
    The feature is like gitignore but actually not putting things into gitignore. The translation is correct
  • Text.AssumeUnchanged.Empty
    Goes with the one above.
  • Text.BinaryNotsupported
    There is indeed a space between a word and exclamation marks in French

@UchiTesting
Copy link
Contributor

A 2nd batch of review
Goes about until line 220

Legit/OK strings

  • Text.CommitCM.Checkout

  • Text.CommitCM.CompareWithWorktree

  • Text.CommitCM.CopyInfo

  • Text.CommitCM.Rebase

  • Text.CommitCM.Reset

  • Text.CommitCM.SaveAsPatch
    Both correct but OK overall to change Sauver/Sauvegarder to enregistrer

  • Text.CommitDetail.Changes.Search
    Both OK but Rechercher might be a bit more fitting

  • Text.CommitDetail.Files.LFS

  • Text.CommitDetail.Info

  • Text.CommitDetail.Info.ContainsIn

  • Text.CommitDetail.Info.ContainsIn.Title

  • Text.CommitMessageTextBox.SubjectPlaceholder

  • Text.Configure

  • Text.Configure.Email

  • Text.Configure.Email.Placeholder

  • Text.Configure.IssueTracker

  • Text.Configure.IssueTracker.AddSampleGithub

  • Text.Configure.IssueTracker.AddSampleJira

  • Text.Configure.IssueTracker.URLTemplate.Tip

  • Text.Configure.Proxy

  • Text.Configure.Proxy.Placeholder

  • Text.CopyAllText

  • Text.CreateBranch.Checkout

  • Text.CreateBranch.Name

  • Text.CreateBranch.Name.Placeholder

  • Text.CreateTag.Message
    Both correct but maybe du is slightly better.

  • Text.CreateTag.Name
    Same as above

  • Text.CreateTag.Name.Placeholder

  • Text.CreateTag.PushToAllRemotes

  • Text.CreateTag.Type

  • Text.CreateTag.Type.Lightweight

  • Text.DeleteSubmodule

  • Text.DeleteTag.Tag

  • Text.DeleteTag.WithRemote

  • Text.Diff.LFS

  • Text.Diff.SyntaxHighlight

  • Text.Diff.UseMerger

  • Text.Diff.Welcome

  • Text.DiffWithMerger

Questionnable strings

  • Text.CommitCM.InteractiveRebase
    Both correct but I would keep mine. "Rebase interactif" is widely spread amongst French devs
  • Text.CommitDetail.Info.Refs
    Both correct. Fine if it fits the UI.

For the next 3
Both may be correct. Both are used. Modèle is fine as is.

  • Text.Configure.CommitMessageTemplate
  • Text.Configure.CommitMessageTemplate.Name
  • Text.Configure.CommitMessageTemplate.Content
  • Text.Configure.IssueTracker.Regex
    OK but I would not translate Issue. The term issue is widely spread in French context of GIT.
  • Text.Configure.IssueTracker.RuleName
    "Nom de règle" is fine. I just noticed I missed the Capital letter in the beginning though
  • Text.CopyFileName
    Both correct
  • Text.CtrlClickTip
    Both correct.

Are we really talking about remote repo ?
Then DeleteRemote is legit but I would change Distant to Dépôt {D|d}istant should it fit the UI
Remote is also widely borrowed but dépôt distant is also widely used. To me it is more about fitting into the UI.

  • Text.DeleteRemote
  • Text.DeleteRemote.Remote
    For that one it is about remote
  • Text.Diff.NoChange
    Might need plural to changement but the other part of the sentence is superfluous
    I suggest
    PAS DE CHANGEMENT(S) OU SEULEMENT EN FIN DE LIGNE
    Depends if we take the diff as a unit or we are considering each potential differences
  • Text.Diff.SideBySide
    Diff is widely spread in the field. Also it is less context dependant and has a specific meaning. I would leave it as is.

For the next 2
Both correct. If current fits in UI go for it

  • Text.Diff.VisualLines.Decr

  • Text.Diff.VisualLines.Incr

  • Text.Diff.ShowHiddenSymbols
    The technical term is "caractère non imprimable" but I went to "invisible" for it is shorter.
    Current is even better in that respect.

  • Text.Diff.SwapCommits
    Both OK.

  • Text.Discard.Total
    Total is not needed to understant. Also "sera" is not correct. Because we don't know in advance if there is less than 2 changes or not we cannot decide which of sera/seront should be used. However it is meant to display a number of changes and it should be plural.
    Again to be consistent I would keep the term rejeté
    My suggestion if you want to include the term total
    "{0} changements seront rejetés au total"

Non legit strings

  • Text.CommitCM.CopySHA
  • Text.CommitCM.Reword
    Reword is indeed reformuler. It is an option from interactive rebase where you can mark a commit to reword in order to change its commit message.
  • Text.CommitCM.Squash
    The term squash is used in French too. Another word could be Écraser. Fusionner is the term for merge. You used it in at least a line of the 1st batch I put in the Legit/OK section.
  • Text.CommitDetail.Info.GotoChangesPage
  • Text.Configure.IssueTracker.URLTemplate
    Here is a sample of how it looks
    image
    This is indeed the result of expanding the regex to provide an example of how it looks
    URL résultant seems to be the best fit
    URL résultante (see this topic explaining it has no fixed gender in French so both are good)
  • Text.CreateBranch.LocalChanges.Discard
    The idea is not to ignore changes but discard/remove/undo them.
  • Text.CreateBranch.LocalChanges.StashAndReply
    Fine as is. Stash is commonly used in French. Stocker lacks context.
    What is stored ? Stash clearly conveys the idea about what we are dealing with.
  • Text.DeleteMultiBranch.Tip
    I would keep my translation but it has a mistake which was fixed in my current PR.
  • Text.Diff.FileModeChanged
    Both correct but why change this line? Moreover it is shorter in my version.
  • Text.Diff.Next
    Same as above. Moreover the word has closer symmetry to Text.Diff.Prev
  • Text.Discard
    Both would be correct but to be consistent with Text.CreateBranch.LocalChanges.Discard I would keep my version.

@UchiTesting
Copy link
Contributor

Hello @thomaschampagne
As I wrote yesterday, and after a second though, my branch of the second batch of mine got merged.
Instead of making a fuss to base on my PRl branch, you just need to pull develop branch and rebase yours on it. Then force push.
From there, just apply the changes according to the remarks I did.

It is not complete yet, but there is enough to prepare one or several commits.
I will pursue with review next week-end.

I would appreciate you do not translate any new string from what is translated in the current state of your current PR. It is because I am tracking my review progress and I could miss things otherwise. Alternatively add the list of any newly translated string but it would be better to come with a future PR.

Kind Regards.

@UchiTesting
Copy link
Contributor

A 3nd batch of review
Goes until line 248

Legit/OK strings

  • Text.EditRepositoryNode.Bookmark
  • Text.EditRepositoryNode.Name
  • Text.Fetch.Prune
  • Text.Fetch.Title
  • Text.FileCM.OpenWithExternalMerger
  • Text.FileCM.SaveAsPatch
  • Text.FileCM.Stage
  • Text.FileCM.StageMulti
  • Text.FileCM.StageSelectedLines
  • Text.FileCM.Unstage
  • Text.FileCM.UnstageMulti
  • Text.FileCM.UnstageSelectedLines
  • Text.FileCM.UseTheirs
  • Text.FileCM.UseMine
  • Text.FileHistory
  • Text.FileHistory.FileContent
  • Text.Filter

Questionnable strings

  • Text.Fetch
    Récupérer is conveying the idea. But Fetch is widely used in French too
    Rather OK
  • Text.Fetch.AllRemotes
    There is a command git fetch --all
    Hence I understood it is for all branches
    Now I can be wrong and it is indeed about fetching all remote repos
    Legit or not depends on that
  • Text.Fetch.NoTags
    OK for Récupérer but not balises
    "Récupérer sans les tags"
  • Text.Fetch.Remote
    Same as for Text.Fetch.AllRemotes

For the next 2 Stash French translation is "Remiser"

  • Text.FileCM.Stash
    Suggestion "Remiser..."
  • Text.FileCM.StashMulti
    Suggestion "Remiser {0} fichiers..."

Non legit strings

  • Text.EditRepositoryNode.TitleForGroup
    Both OK but Editer is closer
  • Text.EditRepositoryNode.TitleForRepository
    Same here
  • Text.FastForwardWithoutCheck
    Checkout does not designate validation
  • Text.FileCM.AssumeUnchanged
    Both OK but I would keep "Présumer"

For the next 3 both OK but I'd keep Rejeter

  • Text.FileCM.Discard
  • Text.FileCM.DiscardMulti
  • Text.FileCM.DiscardSelectedLines
  • Text.FileHistory.FileChange
    "Changements" to be consistent

@love-linger
Copy link
Collaborator

Since the PR has conflicts with code in current develop branch and no one has responded. I will directly close this PR.

@UchiTesting
Copy link
Contributor

I was waiting for any answer from this PR poster.
I will create another PR on behalf of the author with legit translations.

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

Successfully merging this pull request may close these issues.

4 participants