diff --git a/README.md b/README.md
index aacf222eb..846407f67 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
* Supports Windows/macOS/Linux
* Opensource/Free
* Fast
-* Deutsch/English/Español/Français/Italiano/Português/Русский/简体中文/繁體中文/日本語
+* Deutsch/English/Español/Français/Italiano/Português/Русский/简体中文/繁體中文/日本語/தமிழ் (Tamil)
* Built-in light/dark themes
* Customize theme
* Visual commit graph
@@ -48,7 +48,7 @@
## Translation Status
-You can find the current translation status in [TRANSLATION.md](TRANSLATION.md)
+You can find the current translation status in [TRANSLATION.md](https://github.com/sourcegit-scm/sourcegit/blob/develop/TRANSLATION.md)
## How to Use
diff --git a/TRANSLATION.md b/TRANSLATION.md
index b344e6a3e..ccf003c75 100644
--- a/TRANSLATION.md
+++ b/TRANSLATION.md
@@ -6,14 +6,19 @@ This document shows the translation status of each locale file in the repository
### 
-### 
+### 
Missing keys in de_DE.axaml
- Text.BranchUpstreamInvalid
- Text.Configure.CustomAction.WaitForExit
+- Text.Configure.Git.PreferredMergeMode
- Text.Configure.IssueTracker.AddSampleAzure
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
- Text.CopyFullPath
- Text.Diff.First
- Text.Diff.Last
@@ -21,34 +26,91 @@ This document shows the translation status of each locale file in the repository
- Text.Preferences.Appearance.EditorTabWidth
- Text.Preferences.General.ShowTagsInGraph
- Text.StashCM.SaveAsPatch
+- Text.WorkingCopy.ConfirmCommitWithFilter
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
-### 
+### 
-### 
+
+Missing keys in es_ES.axaml
+
+- Text.Configure.Git.PreferredMergeMode
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
+- Text.WorkingCopy.ConfirmCommitWithFilter
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
+
+
-### 
+### 
+
+
+Missing keys in fr_FR.axaml
+
+- Text.Configure.Git.PreferredMergeMode
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
+- Text.WorkingCopy.ConfirmCommitWithFilter
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
+
+
+
+### 
Missing keys in it_IT.axaml
+- Text.Configure.Git.PreferredMergeMode
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
- Text.CopyFullPath
- Text.Preferences.General.ShowTagsInGraph
+- Text.WorkingCopy.ConfirmCommitWithFilter
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
-### 
+### 
Missing keys in ja_JP.axaml
+- Text.Configure.Git.PreferredMergeMode
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
- Text.Repository.FilterCommits
- Text.Repository.Tags.OrderByNameDes
+- Text.WorkingCopy.ConfirmCommitWithFilter
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
-### 
+### 
Missing keys in pt_BR.axaml
@@ -69,8 +131,13 @@ This document shows the translation status of each locale file in the repository
- Text.CommitDetail.Info.Children
- Text.Configure.CustomAction.Scope.Branch
- Text.Configure.CustomAction.WaitForExit
+- Text.Configure.Git.PreferredMergeMode
- Text.Configure.IssueTracker.AddSampleGiteeIssue
- Text.Configure.IssueTracker.AddSampleGiteePullRequest
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
- Text.CopyFullPath
- Text.CreateBranch.Name.WarnSpace
- Text.DeleteRepositoryNode.Path
@@ -119,11 +186,50 @@ This document shows the translation status of each locale file in the repository
- Text.Stash.AutoRestore.Tip
- Text.StashCM.SaveAsPatch
- Text.WorkingCopy.CommitToEdit
+- Text.WorkingCopy.ConfirmCommitWithFilter
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
- Text.WorkingCopy.SignOff
-### 
+### 
+
+
+Missing keys in ru_RU.axaml
+
+- Text.Configure.Git.PreferredMergeMode
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
+- Text.WorkingCopy.ConfirmCommitWithFilter
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
+
+
+
+### 
+
+
+Missing keys in ta_IN.axaml
+
+- Text.Configure.Git.PreferredMergeMode
+- Text.ConfirmEmptyCommit.Continue
+- Text.ConfirmEmptyCommit.NoLocalChanges
+- Text.ConfirmEmptyCommit.StageAllThenCommit
+- Text.ConfirmEmptyCommit.WithLocalChanges
+- Text.UpdateSubmodules.Target
+- Text.WorkingCopy.Conflicts.OpenExternalMergeTool
+- Text.WorkingCopy.Conflicts.OpenExternalMergeToolAllConflicts
+- Text.WorkingCopy.Conflicts.UseMine
+- Text.WorkingCopy.Conflicts.UseTheirs
+
+
### 
diff --git a/src/App.axaml b/src/App.axaml
index fdfa8e076..9d8adb89b 100644
--- a/src/App.axaml
+++ b/src/App.axaml
@@ -21,6 +21,7 @@
+
diff --git a/src/Commands/MergeTool.cs b/src/Commands/MergeTool.cs
index d3478d592..f67f5e486 100644
--- a/src/Commands/MergeTool.cs
+++ b/src/Commands/MergeTool.cs
@@ -13,9 +13,12 @@ public static bool OpenForMerge(string repo, int toolType, string toolPath, stri
cmd.Context = repo;
cmd.RaiseError = true;
+ // NOTE: If no names are specified, 'git mergetool' will run the merge tool program on every file with merge conflicts.
+ var fileArg = string.IsNullOrEmpty(file) ? "" : $"\"{file}\"";
+
if (toolType == 0)
{
- cmd.Args = $"mergetool \"{file}\"";
+ cmd.Args = $"mergetool {fileArg}";
return cmd.Exec();
}
@@ -32,7 +35,7 @@ public static bool OpenForMerge(string repo, int toolType, string toolPath, stri
return false;
}
- cmd.Args = $"-c mergetool.sourcegit.cmd=\"\\\"{toolPath}\\\" {supported.Cmd}\" -c mergetool.writeToTemp=true -c mergetool.keepBackup=false -c mergetool.trustExitCode=true mergetool --tool=sourcegit \"{file}\"";
+ cmd.Args = $"-c mergetool.sourcegit.cmd=\"\\\"{toolPath}\\\" {supported.Cmd}\" -c mergetool.writeToTemp=true -c mergetool.keepBackup=false -c mergetool.trustExitCode=true mergetool --tool=sourcegit {fileArg}";
return cmd.Exec();
}
diff --git a/src/Commands/QueryCommitChangedLines.cs b/src/Commands/QueryCommitChangedLines.cs
new file mode 100644
index 000000000..81786a665
--- /dev/null
+++ b/src/Commands/QueryCommitChangedLines.cs
@@ -0,0 +1,44 @@
+using System.Text.RegularExpressions;
+
+namespace SourceGit.Commands
+{
+ public class QueryCommitChangedLines : Command
+ {
+ public QueryCommitChangedLines(string repo, string sha)
+ {
+ WorkingDirectory = repo;
+ Context = repo;
+ Args = $"show --shortstat --oneline {sha}";
+ _pattern = new Regex(@"(\d+) files? changed(?:, (\d+) insertions?\(\+\))?(?:, (\d+) deletions?\(-\))?");
+ }
+
+ public (int, int) Result()
+ {
+ _addedLines = 0;
+ _removedLines = 0;
+ Exec();
+ return (_addedLines, _removedLines);
+ }
+
+ protected override void OnReadline(string line)
+ {
+ var match = _pattern.Match(line);
+ if (match.Success)
+ {
+ if (match.Groups[2].Success)
+ {
+ _addedLines = int.Parse(match.Groups[2].Value);
+ }
+
+ if (match.Groups[3].Success)
+ {
+ _removedLines = int.Parse(match.Groups[3].Value);
+ }
+ }
+ }
+
+ private readonly Regex _pattern;
+ private int _addedLines;
+ private int _removedLines;
+ }
+}
diff --git a/src/Commands/QueryStashChanges.cs b/src/Commands/QueryStashChanges.cs
index 922405698..1f6c5b4f9 100644
--- a/src/Commands/QueryStashChanges.cs
+++ b/src/Commands/QueryStashChanges.cs
@@ -14,7 +14,7 @@ public partial class QueryStashChanges : Command
[GeneratedRegex(@"^R[0-9]{0,4}\s+(.+)$")]
private static partial Regex REG_RENAME_FORMAT();
- public QueryStashChanges(string repo, string stash)
+ public QueryStashChanges(string repo, string stash)
{
WorkingDirectory = repo;
Context = repo;
diff --git a/src/Commands/Statistics.cs b/src/Commands/Statistics.cs
index 1439cedd1..41b3889eb 100644
--- a/src/Commands/Statistics.cs
+++ b/src/Commands/Statistics.cs
@@ -8,7 +8,7 @@ public Statistics(string repo, int max)
{
WorkingDirectory = repo;
Context = repo;
- Args = $"log --date-order --branches --remotes -{max} --format=%ct$%aN";
+ Args = $"log --date-order --branches --remotes -{max} --format=%ct$%aN±%aE";
}
public Models.Statistics Result()
diff --git a/src/Converters/StringConverters.cs b/src/Converters/StringConverters.cs
index 5e4608c52..bcadfae9f 100644
--- a/src/Converters/StringConverters.cs
+++ b/src/Converters/StringConverters.cs
@@ -81,5 +81,8 @@ public object ConvertBack(object value, Type targetType, object parameter, Cultu
public static readonly FuncValueConverter ContainsSpaces =
new FuncValueConverter(v => v != null && v.Contains(' '));
+
+ public static readonly FuncValueConverter IsNotNullOrWhitespace =
+ new FuncValueConverter(v => v != null && v.Trim().Length > 0);
}
}
diff --git a/src/Models/Change.cs b/src/Models/Change.cs
index 36fe20ac4..e9d071811 100644
--- a/src/Models/Change.cs
+++ b/src/Models/Change.cs
@@ -36,7 +36,7 @@ public class Change
public string OriginalPath { get; set; } = "";
public ChangeDataForAmend DataForAmend { get; set; } = null;
- public bool IsConflit
+ public bool IsConflict
{
get
{
diff --git a/src/Models/Commit.cs b/src/Models/Commit.cs
index 0bad83766..edda603f1 100644
--- a/src/Models/Commit.cs
+++ b/src/Models/Commit.cs
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel;
+using System.Runtime.CompilerServices;
using Avalonia;
using Avalonia.Media;
@@ -15,8 +17,15 @@ public enum CommitSearchMethod
ByFile,
}
- public class Commit
+ public class Commit : INotifyPropertyChanged
{
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+
public static double OpacityForNotMerged
{
get;
@@ -48,6 +57,35 @@ public static double OpacityForNotMerged
public Thickness Margin { get; set; } = new Thickness(0);
public IBrush Brush => CommitGraph.Pens[Color].Brush;
+ private int _addedLines = 0;
+ private int _removedLines = 0;
+
+ public int AddedLines
+ {
+ get => _addedLines;
+ set
+ {
+ if (_addedLines != value)
+ {
+ _addedLines = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
+ public int RemovedLines
+ {
+ get => _removedLines;
+ set
+ {
+ if (_removedLines != value)
+ {
+ _removedLines = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
public void ParseDecorators(string data)
{
if (data.Length < 3)
diff --git a/src/Models/ExternalMerger.cs b/src/Models/ExternalMerger.cs
index 49d31df5e..d97d39331 100644
--- a/src/Models/ExternalMerger.cs
+++ b/src/Models/ExternalMerger.cs
@@ -42,6 +42,7 @@ static ExternalMerger()
new ExternalMerger(7, "win_merge", "WinMerge", "WinMergeU.exe", "\"$MERGED\"", "-u -e -sw \"$LOCAL\" \"$REMOTE\""),
new ExternalMerger(8, "codium", "VSCodium", "VSCodium.exe", "-n --wait \"$MERGED\"", "-n --wait --diff \"$LOCAL\" \"$REMOTE\""),
new ExternalMerger(9, "p4merge", "P4Merge", "p4merge.exe", "-tw 4 \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"", "-tw 4 \"$LOCAL\" \"$REMOTE\""),
+ new ExternalMerger(10, "plastic_merge", "Plastic SCM", "mergetool.exe", "-s=\"$REMOTE\" -b=\"$BASE\" -d=\"$LOCAL\" -r=\"$MERGED\" --automatic", "-s=\"$LOCAL\" -d=\"$REMOTE\""),
};
}
else if (OperatingSystem.IsMacOS())
diff --git a/src/Models/Locales.cs b/src/Models/Locales.cs
index 802e88ef2..a7884e8b6 100644
--- a/src/Models/Locales.cs
+++ b/src/Models/Locales.cs
@@ -18,6 +18,7 @@ public class Locale
new Locale("简体中文", "zh_CN"),
new Locale("繁體中文", "zh_TW"),
new Locale("日本語", "ja_JP"),
+ new Locale("தமிழ் (Tamil)", "ta_IN"),
};
public Locale(string name, string key)
diff --git a/src/Models/OpenAI.cs b/src/Models/OpenAI.cs
index 76daacd05..22fbcd512 100644
--- a/src/Models/OpenAI.cs
+++ b/src/Models/OpenAI.cs
@@ -107,15 +107,7 @@ public string Name
public string Server
{
get => _server;
- set
- {
- // migrate old server value
- if (!string.IsNullOrEmpty(value) && value.EndsWith("/chat/completions", StringComparison.Ordinal))
- {
- value = value.Substring(0, value.Length - "/chat/completions".Length);
- }
- SetProperty(ref _server, value);
- }
+ set => SetProperty(ref _server, value);
}
public string ApiKey
diff --git a/src/Models/RepositorySettings.cs b/src/Models/RepositorySettings.cs
index 76a7f160f..fc5e81b42 100644
--- a/src/Models/RepositorySettings.cs
+++ b/src/Models/RepositorySettings.cs
@@ -224,6 +224,12 @@ public List ExpandedBranchNodesInSideBar
set;
} = [];
+ public int PreferredMergeMode
+ {
+ get;
+ set;
+ } = 0;
+
public Dictionary CollectHistoriesFilters()
{
var map = new Dictionary();
@@ -303,127 +309,80 @@ public void RemoveChildrenBranchFilters(string pattern)
public string BuildHistoriesFilter()
{
+ var includedRefs = new List();
var excludedBranches = new List();
var excludedRemotes = new List();
var excludedTags = new List();
- var includedBranches = new List();
- var includedRemotes = new List();
- var includedTags = new List();
foreach (var filter in HistoriesFilters)
{
if (filter.Type == FilterType.LocalBranch)
{
- var name = filter.Pattern.Substring(11);
- var b = $"{name.Substring(0, name.Length - 1)}[{name[^1]}]";
-
if (filter.Mode == FilterMode.Included)
- includedBranches.Add(b);
+ includedRefs.Add(filter.Pattern);
else if (filter.Mode == FilterMode.Excluded)
- excludedBranches.Add(b);
+ excludedBranches.Add($"--exclude=\"{filter.Pattern.Substring(11)}\" --decorate-refs-exclude=\"{filter.Pattern}\"");
}
else if (filter.Type == FilterType.LocalBranchFolder)
{
if (filter.Mode == FilterMode.Included)
- includedBranches.Add($"{filter.Pattern.Substring(11)}/*");
+ includedRefs.Add($"--branches={filter.Pattern.Substring(11)}/*");
else if (filter.Mode == FilterMode.Excluded)
- excludedBranches.Add($"{filter.Pattern.Substring(11)}/*");
+ excludedBranches.Add($"--exclude=\"{filter.Pattern.Substring(11)}/*\" --decorate-refs-exclude=\"{filter.Pattern}/*\"");
}
else if (filter.Type == FilterType.RemoteBranch)
{
- var name = filter.Pattern.Substring(13);
- var r = $"{name.Substring(0, name.Length - 1)}[{name[^1]}]";
-
if (filter.Mode == FilterMode.Included)
- includedRemotes.Add(r);
+ includedRefs.Add(filter.Pattern);
else if (filter.Mode == FilterMode.Excluded)
- excludedRemotes.Add(r);
+ excludedRemotes.Add($"--exclude=\"{filter.Pattern.Substring(13)}\" --decorate-refs-exclude=\"{filter.Pattern}\"");
}
else if (filter.Type == FilterType.RemoteBranchFolder)
{
if (filter.Mode == FilterMode.Included)
- includedRemotes.Add($"{filter.Pattern.Substring(13)}/*");
+ includedRefs.Add($"--remotes={filter.Pattern.Substring(13)}/*");
else if (filter.Mode == FilterMode.Excluded)
- excludedRemotes.Add($"{filter.Pattern.Substring(13)}/*");
+ excludedRemotes.Add($"--exclude=\"{filter.Pattern.Substring(13)}/*\" --decorate-refs-exclude=\"{filter.Pattern}/*\"");
}
else if (filter.Type == FilterType.Tag)
{
- var name = filter.Pattern;
- var t = $"{name.Substring(0, name.Length - 1)}[{name[^1]}]";
-
if (filter.Mode == FilterMode.Included)
- includedTags.Add(t);
+ includedRefs.Add($"refs/tags/{filter.Pattern}");
else if (filter.Mode == FilterMode.Excluded)
- excludedTags.Add(t);
+ excludedTags.Add($"--exclude=\"{filter.Pattern}\" --decorate-refs-exclude=\"refs/tags/{filter.Pattern}\"");
}
}
- bool hasIncluded = includedBranches.Count > 0 || includedRemotes.Count > 0 || includedTags.Count > 0;
- bool hasExcluded = excludedBranches.Count > 0 || excludedRemotes.Count > 0 || excludedTags.Count > 0;
-
var builder = new StringBuilder();
- if (hasIncluded)
+ if (includedRefs.Count > 0)
{
- foreach (var b in includedBranches)
+ foreach (var r in includedRefs)
{
- builder.Append("--branches=");
- builder.Append(b);
- builder.Append(' ');
- }
-
- foreach (var r in includedRemotes)
- {
- builder.Append("--remotes=");
builder.Append(r);
builder.Append(' ');
}
-
- foreach (var t in includedTags)
- {
- builder.Append("--tags=");
- builder.Append(t);
- builder.Append(' ');
- }
}
- else if (hasExcluded)
+ else if (excludedBranches.Count + excludedRemotes.Count + excludedTags.Count > 0)
{
- if (excludedBranches.Count > 0)
+ foreach (var b in excludedBranches)
{
- foreach (var b in excludedBranches)
- {
- builder.Append("--exclude=");
- builder.Append(b);
- builder.Append(" --decorate-refs-exclude=refs/heads/");
- builder.Append(b);
- builder.Append(' ');
- }
+ builder.Append(b);
+ builder.Append(' ');
}
- builder.Append("--exclude=HEA[D] --branches ");
+ builder.Append("--exclude=HEAD --branches ");
- if (excludedRemotes.Count > 0)
+ foreach (var r in excludedRemotes)
{
- foreach (var r in excludedRemotes)
- {
- builder.Append("--exclude=");
- builder.Append(r);
- builder.Append(" --decorate-refs-exclude=refs/remotes/");
- builder.Append(r);
- builder.Append(' ');
- }
+ builder.Append(r);
+ builder.Append(' ');
}
- builder.Append("--exclude=origin/HEA[D] --remotes ");
+ builder.Append("--exclude=origin/HEAD --remotes ");
- if (excludedTags.Count > 0)
+ foreach (var t in excludedTags)
{
- foreach (var t in excludedTags)
- {
- builder.Append("--exclude=");
- builder.Append(t);
- builder.Append(" --decorate-refs-exclude=refs/tags/");
- builder.Append(t);
- builder.Append(' ');
- }
+ builder.Append(t);
+ builder.Append(' ');
}
builder.Append("--tags ");
diff --git a/src/Models/Statistics.cs b/src/Models/Statistics.cs
index 969d3945a..87a6eabde 100644
--- a/src/Models/Statistics.cs
+++ b/src/Models/Statistics.cs
@@ -18,9 +18,9 @@ public enum StaticsticsMode
ThisWeek,
}
- public class StaticsticsAuthor(string name, int count)
+ public class StaticsticsAuthor(User user, int count)
{
- public string Name { get; set; } = name;
+ public User User { get; set; } = user;
public int Count { get; set; } = count;
}
@@ -73,7 +73,7 @@ public StatisticsReport(StaticsticsMode mode, DateTime start)
}
}
- public void AddCommit(DateTime time, string author)
+ public void AddCommit(DateTime time, User author)
{
Total++;
@@ -126,7 +126,7 @@ public void ChangeColor(uint color)
}
private StaticsticsMode _mode = StaticsticsMode.All;
- private Dictionary _mapUsers = new Dictionary();
+ private Dictionary _mapUsers = new Dictionary();
private Dictionary _mapSamples = new Dictionary();
}
@@ -150,14 +150,16 @@ public Statistics()
public void AddCommit(string author, double timestamp)
{
+ var user = User.FindOrAdd(author);
+
var time = DateTime.UnixEpoch.AddSeconds(timestamp).ToLocalTime();
if (time >= _thisWeekStart)
- Week.AddCommit(time, author);
+ Week.AddCommit(time, user);
if (time >= _thisMonthStart)
- Month.AddCommit(time, author);
+ Month.AddCommit(time, user);
- All.AddCommit(time, author);
+ All.AddCommit(time, user);
}
public void Complete()
diff --git a/src/Resources/Images/ExternalToolIcons/plastic_merge.png b/src/Resources/Images/ExternalToolIcons/plastic_merge.png
new file mode 100644
index 000000000..0d82fc86f
Binary files /dev/null and b/src/Resources/Images/ExternalToolIcons/plastic_merge.png differ
diff --git a/src/Resources/Locales/de_DE.axaml b/src/Resources/Locales/de_DE.axaml
index bbfe45450..25b54c602 100644
--- a/src/Resources/Locales/de_DE.axaml
+++ b/src/Resources/Locales/de_DE.axaml
@@ -2,19 +2,20 @@
+
InfoÜber SourceGitOpen Source & freier Git GUI ClientWorktree hinzufügen
- Was auschecken:
- Existierender Branch
- Neuen Branch erstellenOrdner:Pfad für diesen Worktree. Relativer Pfad wird unterstützt.Branch Name:Optional. Standard ist der Zielordnername.Branch verfolgen:Remote-Branch verfolgen
+ Was auschecken:
+ Neuen Branch erstellen
+ Existierender BranchOpenAI AssistentNeu generierenVerwende OpenAI, um Commit-Nachrichten zu generieren
@@ -63,8 +64,8 @@
Branch VergleichBytesABBRECHEN
- Auf diese Revision zurücksetzenAuf Vorgänger-Revision zurücksetzen
+ Auf diese Revision zurücksetzenGeneriere Commit-NachrichtANZEIGE MODUS ÄNDERNZeige als Datei- und Ordnerliste
@@ -72,12 +73,12 @@
Zeige als DateisystembaumBranch auscheckenCommit auschecken
- Warnung: Beim Auschecken eines Commits wird dein HEAD losgelöst (detached) sein!Commit:
- Branch:
+ Warnung: Beim Auschecken eines Commits wird dein HEAD losgelöst (detached) sein!Lokale Änderungen:VerwerfenStashen & wieder anwenden
+ Branch:Cherry PickQuelle an Commit-Nachricht anhängenCommit(s):
@@ -96,9 +97,9 @@
Repository URL:SCHLIESSENEditor
+ Commit auscheckenDiesen Commit cherry-pickenMehrere cherry-picken
- Commit auscheckenMit HEAD vergleichenMit Worktree vergleichenInfo kopieren
@@ -133,12 +134,12 @@
REFSSHAIm Browser öffnen
- Commit-NachrichtDetails
+ Commit-NachrichtRepository EinstellungenCOMMIT TEMPLATE
- Template Name:Template Inhalt:
+ Template Name:BENUTZERDEFINIERTE AKTIONArgumente:${REPO} - Repository Pfad; ${SHA} - SHA-Wert des selektierten Commits
@@ -158,9 +159,9 @@
Beispiel für Gitee Issue Regel einfügenBeispiel für Gitee Pull Request Regel einfügenBeispiel für Github-Regel hinzufügen
- Beispiel für Jira-Regel hinzufügenBeispiel für Gitlab Issue Regel einfügenBeispiel für Gitlab Merge Request einfügen
+ Beispiel für Jira-Regel hinzufügenNeue RegelTicketnummer Regex-Ausdruck:Name:
@@ -220,9 +221,9 @@
Remote:Pfad:Ziel:
- Bestätige löschen von GruppeAlle Nachfolger werden aus der Liste entfernt.Dadurch wird es nur aus der Liste entfernt, nicht von der Festplatte!
+ Bestätige löschen von GruppeBestätige löschen von RepositoryLösche SubmodulSubmodul Pfad:
@@ -289,11 +290,11 @@
Unstage{0} Dateien unstagenÄnderungen in ausgewählten Zeilen unstagen
- "Ihre" verwenden (checkout --theirs)"Meine" verwenden (checkout --ours)
+ "Ihre" verwenden (checkout --theirs)Datei Historie
- INHALTÄNDERUNGEN
+ INHALTGit-FlowDevelopment-Branch:Feature:
@@ -323,8 +324,8 @@
Eigenes Muster:Verfolgungsmuster zu Git LFS hinzufügenFetch
- LFS Objekte fetchenFührt `git lfs fetch` aus um Git LFS Objekte herunterzuladen. Das aktualisiert nicht die Arbeitskopie.
+ LFS Objekte fetchenInstalliere Git LFS HooksSperren anzeigenKeine gesperrten Dateien
@@ -336,11 +337,11 @@
PruneFührt `git lfs prune` aus um alte LFS Dateien von lokalem Speicher zu löschenPull
- LFS Objekte pullenFührt `git lfs pull` aus um alle Git LFS Dasteien für aktuellen Ref & Checkout herunterzuladen
+ LFS Objekte pullenPush
- LFS Objekte pushenPushe große Dateien in der Warteschlange zum Git LFS Endpunkt
+ LFS Objekte pushenRemote:Verfolge alle '{0}' DateienVerfolge alle *{0} Dateien
@@ -359,8 +360,8 @@
Aktuelles Popup schließenKlone neues RepositoryAktuellen Tab schließen
- Zum vorherigen Tab wechselnZum nächsten Tab wechseln
+ Zum vorherigen Tab wechselnNeuen Tab erstellenEinstellungen öffnenREPOSITORY
@@ -371,11 +372,11 @@
Ausgewählte Änderungen verwerfenFetch, wird direkt ausgeführtDashboard Modus (Standard)
+ Commit-SuchmodusPull, wird direkt ausgeführtPush, wird direkt ausgeführtErzwinge Neuladen des RepositorysAusgewählte Änderungen stagen/unstagen
- Commit-SuchmodusWechsle zu 'Änderungen'Wechsle zu 'Verlauf'Wechsle zu 'Stashes'
@@ -384,9 +385,9 @@
Suche nächste ÜbereinstimmungSuche vorherige ÜbereinstimmungÖffne Suchpanel
+ VerwerfenStagenUnstagen
- VerwerfenInitialisiere RepositoryPfad:Cherry-Pick wird durchgeführt.
@@ -398,10 +399,10 @@
Revert wird durchgeführt.Reverte commitInteraktiver Rebase
- Ziel Branch:Auf:
- In Browser öffnen
+ Ziel Branch:Link kopieren
+ In Browser öffnenFEHLERINFOBranch mergen
@@ -427,24 +428,24 @@
Kopiere Repository-PfadRepositoriesEinfügen
- Gerade eben
- Vor {0} Minuten
+ Vor {0} TagenVor 1 StundeVor {0} Stunden
- Gestern
- Vor {0} Tagen
+ Gerade ebenLetzter Monat
- Vor {0} MonatenLeztes Jahr
+ Vor {0} Minuten
+ Vor {0} MonatenVor {0} Jahren
+ GesternEinstellungenOPEN AIAnalysierung des Diff BefehlAPI SchlüsselGeneriere Nachricht Befehl
+ ModellNameServer
- ModellDARSTELLUNGStandardschriftartSchriftgröße
@@ -474,24 +475,24 @@
Benutzer EmailGlobale Git Benutzer EmailAktivere --prune beim fetchen
+ Diese App setzt Git (>= 2.23.0) vorausInstallationspfadAktiviere HTTP SSL VerifizierungBenutzernameGlobaler Git BenutzernameGit Version
- Diese App setzt Git (>= 2.23.0) vorausGPG SIGNIERUNGCommit-Signierung
- Tag-SignierungGPG FormatGPG InstallationspfadInstallationspfad zum GPG Programm
+ Tag-SignierungBenutzer SignierungsschlüsselGPG Benutzer SignierungsschlüsselEINBINDUNGENSHELL/TERMINAL
- Shell/TerminalPfad
+ Shell/TerminalRemote löschenZiel:Worktrees löschen
@@ -657,11 +658,11 @@
StatistikenCOMMITSCOMMITTER
+ ÜBERSICHTMONATWOCHE
- COMMITS: AUTOREN:
- ÜBERSICHT
+ COMMITS: SUBMODULESubmodul hinzufügenRelativen Pfad kopieren
@@ -676,13 +677,13 @@
Lösche ${0}$...Merge ${0}$ in ${1}$ hinein...Pushe ${0}$...
- URL:Submodule aktualisierenAlle SubmoduleInitialisiere wenn nötigRekursivSubmodul:Verwende `--remote` Option
+ URL:WarnungWillkommensseiteErstelle Gruppe
@@ -712,12 +713,12 @@
Klick-Ereignis auslösenCommit (Bearbeitung)Alle Änderungen stagen und committen
- Leerer Commit erkannt! Fortfahren (--allow-empty)?KONFLIKTE ERKANNTDATEI KONFLIKTE GELÖSTNICHT-VERFOLGTE DATEIEN INKLUDIERENKEINE BISHERIGEN COMMIT-NACHRICHTENKEINE COMMIT TEMPLATES
+ Rechtsklick auf selektierte Dateien und wähle die Konfliktlösungen aus.SignOffGESTAGEDUNSTAGEN
@@ -727,7 +728,6 @@
ALLES STAGENALS UNVERÄNDERT ANGENOMMENE ANZEIGENTemplate: ${0}$
- Rechtsklick auf selektierte Dateien und wähle die Konfliktlösungen aus.ARBEITSPLATZ: Arbeitsplätze konfigurieren...WORKTREE
diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml
index 61140173c..94f8c938f 100644
--- a/src/Resources/Locales/en_US.axaml
+++ b/src/Resources/Locales/en_US.axaml
@@ -130,6 +130,7 @@
PARENTSREFSSHA
+ STATSOpen in BrowserEnter commit subjectDescription
@@ -153,6 +154,7 @@
Fetch remotes automaticallyMinute(s)Default Remote
+ Preferred Merge ModeISSUE TRACKERAdd Sample Gitee Issue RuleAdd Sample Gitee Pull Request Rule
@@ -176,6 +178,10 @@
WorkspacesColorRestore tabs on startup
+ CONTINUE
+ Empty commit detected! Do you want to continue (--allow-empty)?
+ STAGE ALL & COMMIT
+ Empty commit detected! Do you want to continue (--allow-empty) or stage all then commit?Conventional Commit HelperBreaking Change:Closed Issue:
@@ -485,7 +491,7 @@
User NameGlobal git user nameGit version
- Git (>= 2.23.0) is required by this app
+ Git (>= 2.23.0) is required by this appGPG SIGNINGCommit GPG signingTag GPG signing
@@ -720,9 +726,12 @@
Commit (Edit)Stage all changes and commitYou have staged {0} file(s) but only {1} file(s) displayed ({2} files are filtered out). Do you want to continue?
- Empty commit detected! Do you want to continue (--allow-empty)?CONFLICTS DETECTED
+ OPEN EXTERNAL MERGETOOL
+ OPEN ALL CONFLICTS IN EXTERNAL MERGETOOLFILE CONFLICTS ARE RESOLVED
+ USE MINE
+ USE THEIRSINCLUDE UNTRACKED FILESNO RECENT INPUT MESSAGESNO COMMIT TEMPLATES
diff --git a/src/Resources/Locales/es_ES.axaml b/src/Resources/Locales/es_ES.axaml
index 8b4c350fb..e2af0860a 100644
--- a/src/Resources/Locales/es_ES.axaml
+++ b/src/Resources/Locales/es_ES.axaml
@@ -2,19 +2,20 @@
+
Acerca deAcerca de SourceGitCliente Git GUI de código abierto y gratuitoAgregar Worktree
- Qué Checkout:
- Rama Existente
- Crear Nueva RamaUbicación:Ruta para este worktree. Se admite ruta relativa.Nombre de la Rama:Opcional. Por defecto es el nombre de la carpeta de destino.Rama de Seguimiento:Seguimiento de rama remota
+ Qué Checkout:
+ Crear Nueva Rama
+ Rama ExistenteAsistente OpenAIRE-GENERARUsar OpenAI para generar mensaje de commit
@@ -64,8 +65,8 @@
¡Upstream inválido!BytesCANCELAR
- Resetear a Esta RevisiónResetear a Revisión Padre
+ Resetear a Esta RevisiónGenerar mensaje de commitCAMBIAR MODO DE VISUALIZACIÓNMostrar como Lista de Archivos y Directorios
@@ -73,12 +74,12 @@
Mostrar como Árbol de Sistema de ArchivosCheckout RamaCheckout Commit
- Advertencia: Al hacer un checkout de commit, tu Head se separaráCommit:
- Rama:
+ Advertencia: Al hacer un checkout de commit, tu Head se separaráCambios Locales:DescartarStash & Reaplicar
+ Rama:Cherry PickAñadir fuente al mensaje de commitCommit(s):
@@ -97,9 +98,9 @@
URL del Repositorio:CERRAREditor
+ Checkout CommitCherry-Pick Este CommitCherry-Pick ...
- Checkout CommitComparar con HEADComparar con WorktreeCopiar Información
@@ -134,12 +135,12 @@
REFSSHAAbrir en Navegador
- Introducir asunto del commitDescripción
+ Introducir asunto del commitConfigurar RepositorioPLANTILLA DE COMMIT
- Nombre de la Plantilla:Contenido de la Plantilla:
+ Nombre de la Plantilla:ACCIÓN PERSONALIZADAArgumentos:${REPO} - Ruta del repositorio; ${SHA} - SHA del commit seleccionado
@@ -157,13 +158,13 @@
Minuto(s)Remoto por DefectoSEGUIMIENTO DE INCIDENCIAS
+ Añadir Regla de Ejemplo para Azure DevOpsAñadir Regla de Ejemplo para Incidencias de GiteeAñadir Regla de Ejemplo para Pull Requests de GiteeAñadir Regla de Ejemplo para Github
- Añadir Regla de Ejemplo para Jira
- Añadir Regla de Ejemplo para Azure DevOpsAñadir Regla de Ejemplo para Incidencias de GitLabAñadir Regla de Ejemplo para Merge Requests de GitLab
+ Añadir Regla de Ejemplo para JiraNueva ReglaExpresión Regex para Incidencias:Nombre de la Regla:
@@ -188,8 +189,8 @@
Tipo de Cambio:CopiarCopiar Todo el Texto
- Copiar RutaCopiar Ruta Completa
+ Copiar RutaCrear Rama...Basado En:Checkout de la rama creada
@@ -225,8 +226,8 @@
Ruta:Destino:Todos los hijos serán removidos de la lista.
- Confirmar Eliminación de Grupo¡Esto solo lo removera de la lista, no del disco!
+ Confirmar Eliminación de GrupoConfirmar Eliminación de RepositorioEliminar SubmóduloRuta del Submódulo:
@@ -295,11 +296,11 @@
UnstageUnstage {0} archivosUnstage Cambios en Línea(s) Seleccionada(s)
- Usar Suyos (checkout --theirs)Usar Míos (checkout --ours)
+ Usar Suyos (checkout --theirs)Historial de Archivos
- CONTENIDOCAMBIO
+ CONTENIDOGit-FlowRama de Desarrollo:Feature:
@@ -329,8 +330,8 @@
Patrón Personalizado:Añadir Patrón de Seguimiento a Git LFSFetch
- Fetch Objetos LFSEjecuta `git lfs fetch` para descargar objetos Git LFS. Esto no actualiza la copia de trabajo.
+ Fetch Objetos LFSInstalar hooks de Git LFSMostrar BloqueosNo hay archivos bloqueados
@@ -342,11 +343,11 @@
PruneEjecuta `git lfs prune` para eliminar archivos LFS antiguos del almacenamiento localPull
- Pull Objetos LFSEjecuta `git lfs pull` para descargar todos los archivos Git LFS para la referencia actual y hacer checkout
+ Pull Objetos LFSPush
- Push Objetos LFSPush archivos grandes en cola al endpoint de Git LFS
+ Push Objetos LFSRemoto:Seguir archivos llamados '{0}'Seguir todos los archivos *{0}
@@ -365,8 +366,8 @@
Cancelar popup actualClonar repositorio nuevoCerrar página actual
- Ir a la página anteriorIr a la siguiente página
+ Ir a la página anteriorCrear nueva páginaAbrir diálogo de preferenciasREPOSITORIO
@@ -377,11 +378,11 @@
Descartar cambios seleccionadosFetch, empieza directamenteModo Dashboard (Por Defecto)
+ Modo de búsqueda de commitsPull, empieza directamentePush, empieza directamenteForzar a recargar este repositorioStage/Unstage cambios seleccionados
- Modo de búsqueda de commitsCambiar a 'Cambios'Cambiar a 'Historias'Cambiar a 'Stashes'
@@ -390,9 +391,9 @@
Buscar siguiente coincidenciaBuscar coincidencia anteriorAbrir panel de búsqueda
+ DescartarStageUnstage
- DescartarInicializar RepositorioRuta:Cherry-Pick en progreso.
@@ -404,10 +405,10 @@
Revert en progreso.Haciendo revert del commitRebase Interactivo
- Rama Objetivo:En:
- Abrir en el Navegador
+ Rama Objetivo:Copiar Enlace
+ Abrir en el NavegadorERRORAVISOMerge Rama
@@ -433,16 +434,16 @@
Copiar Ruta del RepositorioRepositoriosPegar
- Justo ahora
- Hace {0} minutos
+ Hace {0} díasHace 1 horaHace {0} horas
- Ayer
- Hace {0} días
+ Justo ahoraÚltimo mes
- Hace {0} mesesÚltimo año
+ Hace {0} minutos
+ Hace {0} mesesHace {0} años
+ AyerPreferenciasOpciones AvanzadasOPEN AI
@@ -484,24 +485,24 @@
Email de usuarioEmail global del usuario gitHabilitar --prune para fetch
+ Se requiere Git (>= 2.23.0) para esta aplicaciónRuta de instalaciónHabilitar verificación HTTP SSLNombre de usuarioNombre global del usuario gitVersión de Git
- Se requiere Git (>= 2.23.0) para esta aplicaciónFIRMA GPGFirma GPG en commit
- Firma GPG en etiquetaFormato GPGRuta de instalación del programaIntroducir ruta para el programa gpg instalado
+ Firma GPG en etiquetaClave de firma del usuarioClave de firma gpg del usuarioINTEGRACIÓNSHELL/TERMINAL
- Shell/TerminalRuta
+ Shell/TerminalPodar RemotoDestino:Podar Worktrees
@@ -668,11 +669,11 @@
EstadísticasCOMMITSCOMMITTER
+ GENERALMESSEMANA
- COMMITS: AUTORES:
- GENERAL
+ COMMITS: SUBMÓDULOSAñadir SubmóduloCopiar Ruta Relativa
@@ -687,13 +688,13 @@
Eliminar ${0}$...Merge ${0}$ en ${1}$...Push ${0}$...
- URL:Actualizar SubmódulosTodos los submódulosInicializar según sea necesarioRecursivamenteSubmódulo:Usar opción --remote
+ URL:AdvertenciaPágina de BienvenidaCrear Grupo
@@ -723,12 +724,12 @@
Activar evento de clicCommit (Editar)Stagear todos los cambios y commit
- ¡Commit vacío detectado! ¿Quieres continuar (--allow-empty)?CONFLICTOS DETECTADOSLOS CONFLICTOS DE ARCHIVOS ESTÁN RESUELTOSINCLUIR ARCHIVOS NO RASTREADOSNO HAY MENSAJES DE ENTRADA RECIENTESNO HAY PLANTILLAS DE COMMIT
+ Haz clic derecho en el(los) archivo(s) seleccionado(s) y elige tu opción para resolver conflictos.FirmarSTAGEDUNSTAGE
@@ -738,7 +739,6 @@
STAGE TODOVER ASSUME UNCHANGEDPlantilla: ${0}$
- Haz clic derecho en el(los) archivo(s) seleccionado(s) y elige tu opción para resolver conflictos.ESPACIO DE TRABAJO: Configura Espacios de Trabajo...WORKTREE
diff --git a/src/Resources/Locales/fr_FR.axaml b/src/Resources/Locales/fr_FR.axaml
index bf238aa2d..83d590f5a 100644
--- a/src/Resources/Locales/fr_FR.axaml
+++ b/src/Resources/Locales/fr_FR.axaml
@@ -2,21 +2,22 @@
+
À proposÀ propos de SourceGitClient Git Open Source et GratuitAjouter un Worktree
- Que récupérer :
- Créer une nouvelle branche
- Branche existanteEmplacement :Chemin vers ce worktree. Relatif supporté.Nom de branche:Optionnel. Nom du dossier de destination par défaut.Suivre la branche :Suivi de la branche distante
+ Que récupérer :
+ Créer une nouvelle branche
+ Branche existanteAssistant IA
- RE-GÉNERER
+ RE-GÉNÉRERUtiliser l'IA pour générer un message de commitAPPLIQUER COMME MESSAGE DE COMMITAppliquer
@@ -61,7 +62,7 @@
Renommer ${0}$...Définir la branche de suivi...Comparer les branches
- Branche amont invalide !
+ Branche en amont invalide!OctetsANNULERRéinitialiser à la révision parente
@@ -75,10 +76,10 @@
Récupérer ce commitCommit :Avertissement: une récupération vers un commit aboutiera vers un HEAD détaché
- Branche :Changements locaux :AnnulerMettre en stash et réappliquer
+ Branche :Cherry-Pick de ce commitAjouter la source au message de commitCommit :
@@ -94,13 +95,13 @@
Nom local :Nom de dépôt. Optionnel.Dossier parent :
+ Initialiser et mettre à jour les sous-modulesURL du dépôt :FERMERÉditeurRécupérer ce commitCherry-Pick ce commitCherry-Pick ...
- Checkout CommitComparer avec HEADComparer avec le worktreeCopier les informations
@@ -135,20 +136,22 @@
REFSSHAOuvrir dans le navigateur
- Entrez le message du commitDescription
+ Entrez le message du commitConfigurer le dépôtMODÈLE DE COMMIT
- Nom de modèle:Contenu de modèle:
+ Nom de modèle:ACTION PERSONNALISÉEArguments :${REPO} - Chemin du repository; ${SHA} - SHA du commit sélectionnéFichier exécutable :Nom :Portée :
+ BrancheCommitRepository
+ Attendre la fin de l'actionAdresse e-mailAdresse e-mailGIT
@@ -156,13 +159,13 @@
minute(s)Dépôt par défautSUIVI DES PROBLÈMES
+ Ajouter une règle d'exemple Azure DevOpsAjouter une règle d'exemple GiteeAjouter une règle d'exemple pour Pull Request GiteeAjouter une règle d'exemple GithubAjouter une règle d'exemple pour Incidents GitLabAjouter une règle d'exemple pour Merge Request GitLabAjouter une règle d'exemple Jira
- Ajouter une règle d'exemple Azure DevOpsNouvelle règleIssue Regex Expression:Nom de règle :
@@ -187,8 +190,8 @@
Type de Changement :CopierCopier tout le texte
- Copier le cheminCopier le chemin complet
+ Copier le cheminCréer une branche...Basé sur :Récupérer la branche créée
@@ -221,7 +224,10 @@
Vous essayez de supprimer plusieurs branches à la fois. Assurez-vous de revérifier avant de procéder !Supprimer RemoteRemote :
+ Chemin:Cible :
+ Tous les enfants seront retirés de la liste.
+ Cela le supprimera uniquement de la liste, pas du disque !Confirmer la suppression du groupeConfirmer la suppression du dépôtSupprimer le sous-module
@@ -234,7 +240,9 @@
ANCIENCopierMode de fichier changé
+ Première différenceIgnorer les changements d'espaces
+ Dernière différenceCHANGEMENT D'OBJET LFSDifférence suivantePAS DE CHANGEMENT OU SEULEMENT EN FIN DE LIGNE
@@ -247,8 +255,8 @@
PermuterColoration syntaxiqueRetour à la ligne
- Ouvrir dans l'outil de fusionActiver la navigation par blocs
+ Ouvrir dans l'outil de fusionVoir toutes les lignesRéduit le nombre de ligne visiblesAugmente le nombre de ligne visibles
@@ -292,8 +300,8 @@
Utiliser les miennes (checkout --ours)Utiliser les leurs (checkout --theirs)Historique du fichier
- CONTENUMODIFICATION
+ CONTENUGit-FlowBranche de développement :Feature:
@@ -323,8 +331,8 @@
Pattern personnalisé :Ajouter un pattern de suivi à Git LFSFetch
- Fetch les objets LFSLancer `git lfs fetch` pour télécharger les objets Git LFS. Cela ne met pas à jour la copie de travail.
+ Fetch les objets LFSInstaller les hooks Git LFSAfficher les verrousPas de fichiers verrouillés
@@ -336,11 +344,11 @@
ElaguerLancer `git lfs prune` pour supprimer les anciens fichier LFS du stockage localPull
- Pull les objets LFSLancer `git lfs pull` pour télécharger tous les fichier Git LFS de la référence actuelle & récupérer
+ Pull les objets LFSPousser
- Pousser les objets LFSTransférer les fichiers volumineux en file d'attente vers le point de terminaison Git LFS
+ Pousser les objets LFSDépôt :Suivre les fichiers appelés '{0}'Suivre tous les fichiers *{0}
@@ -359,8 +367,8 @@
Annuler le popup en coursCloner un nouveau dépôtFermer la page en cours
- Aller à la page précédenteAller à la page suivante
+ Aller à la page précédenteCréer une nouvelle pageOuvrir le dialogue des préférencesDÉPÔT
@@ -371,11 +379,11 @@
Rejeter les changements sélectionnésFetch, démarre directementMode tableau de bord (Défaut)
+ Recherche de commitPull, démarre directementPush, démarre directementForcer le rechargement du dépôtAjouter/Retirer les changements sélectionnés de l'index
- Recherche de commitBasculer vers 'Changements'Basculer vers 'Historique'Basculer vers 'Stashes'
@@ -384,25 +392,34 @@
Trouver la prochaine correspondanceTrouver la correspondance précédenteOuvrir le panneau de recherche
+ RejeterIndexerRetirer de l'index
- RejeterInitialiser le repositoryChemin :Cherry-Pick en cours.
+ Traitement du commitMerge request en cours.
+ FusionnementRebase en cours.
+ Arrêté àAnnulation en cours.
+ Annulation du commitRebase interactif
- Branche cible :Sur :
- Ouvrir dans le navigateur
+ Branche cible :Copier le lien
+ Ouvrir dans le navigateurERREURNOTICEMerger la branche Dans :Option de merge:
+ Source:
+ Fusionner (Plusieurs)
+ Commit tous les changement
+ Stratégie:
+ Cibles:Déplacer le noeud du repositorySélectionnier le noeud parent pour :Nom :
@@ -418,16 +435,16 @@
Copier le chemin vers le dépôtDépôtsColler
- A l'instant
- il y a {0} minutes
+ il y a {0} joursil y a 1 heureil y a {0} heures
- Hier
- il y a {0} jours
+ A l'instantLe mois dernier
- il y a {0} moisL'an dernier
+ il y a {0} minutes
+ il y a {0} moisil y a {0} ans
+ HierPréférencesIAAnalyser Diff Prompt
@@ -436,10 +453,15 @@
ModèleNomServeur
+ Activer le streamingAPPARENCEPolice par défautTaille de police par défautTaille de police de l'éditeur
+ Largeur de tab dans l'éditeur
+ Taille de police
+ Défaut
+ ÉditeurPolice monospaceN'utiliser que des polices monospace pour l'éditeur de texteThème
@@ -452,9 +474,12 @@
OutilGÉNÉRALVérifier les mises à jour au démarrage
+ Format de dateLanguageHistorique de commitsAfficher l'heure de l'auteur au lieu de l'heure de validation dans le graphique
+ Afficher les enfants dans les détails du commit
+ Afficher les tags dans le graphique des commitsGuide de longueur du sujetGITActiver auto CRLF
@@ -462,24 +487,25 @@
E-mail utilsateurE-mail utilsateur globalActiver --prune pour fetch
+ Cette application requière Git (>= 2.23.0)Chemin d'installation
+ Activer la vérification HTTP SSLNom d'utilisateurNom d'utilisateur globalVersion de Git
- Cette application requière Git (>= 2.23.0)SIGNATURE GPGSignature GPG de commit
- Signature GPG de tagFormat GPGChemin d'installation du programmeSaisir le chemin d'installation vers le programme GPG
+ Signature GPG de tagClé de signature de l'utilisateurClé de signature GPG de l'utilisateurINTEGRATIONSHELL/TERMINAL
- Shell/TerminalChemin
- Élaguer une branche distant
+ Shell/Terminal
+ Élaguer une branche distantCible :Élaguer les Worktrees Élaguer les information de worktree dans `$GIT_COMMON_DIR/worktrees`
@@ -539,14 +565,26 @@
Tout effacerConfigurer ce repositoryCONTINUER
+ Actions personnaliséesPas d'actions personnaliséesActiver l'option '--reflog'Ouvrir dans l'explorateur de fichiersRechercher Branches/Tags/Submodules
+ Visibilité dans le graphique
+ Réinitialiser
+ Cacher dans le graphique des commits
+ Filtrer dans le graphique des commitsActiver l'option '--first-parent'
+ DISPOSITION
+ Horizontal
+ Vertical
+ ORDRE DES COMMITS
+ Date du commit
+ TopologiquementBRANCHES LOCALESNaviguer vers le HEADCréer une branche
+ EFFACER LES NOTIFICATIONSMettre la branche courante en surbrillance dans le graphOuvrir dans {0}Ouvrir dans un outil externe
@@ -561,13 +599,19 @@
SHABranche actuelleVoir les Tags en tant qu'arbre
+ PASSERStatistiquesSUBMODULESAJOUTER SUBMODULEMETTRE A JOUR SUBMODULETAGSNOUVEAU TAG
+ Par date de créateur
+ Par nom (Croissant)
+ Par nom (Décroissant)
+ TrierOuvrir dans un terminal
+ Utiliser le temps relatif dans les historiquesWORKTREESAJOUTER WORKTREEELAGUER
@@ -586,6 +630,7 @@
SAUVEGARDERSauvegarder en tant que...Le patch a été sauvegardé !
+ Analyser les repositoriesDossier racine :Rechercher des mises à jour...Une nouvelle version du logiciel est disponible :
@@ -594,10 +639,10 @@
Passer cette versionMise à jour du logicielIl n'y a pas de mise à jour pour le moment.
- Définir la branche de suivi
- Branche :
- Escamoter la branche amont
- Branche amont:
+ Définir la branche suivie
+ Branche:
+ Retirer la branche amont
+ En amont:Copier le SHAAller àSquash les commits
@@ -607,7 +652,7 @@
STARTStashAuto-restauration après le stash
- Vos fichiers de travail sont inchangés, mais un stash a été sauvegardé.
+ Vos fichiers de travail restent inchangés, mais une sauvegarde est enregistrée.Inclure les fichiers non-suivisGarder les fichiers indexésMessage :
@@ -626,11 +671,11 @@
StatistiquesCOMMITSCOMMITTER
+ APERCUMOISSEMAINE
- COMMITS: AUTEURS :
- APERCU
+ COMMITS: SOUS-MODULESAjouter un sous-moduleCopier le chemin relatif
@@ -645,13 +690,13 @@
Supprimer ${0}$...Fusionner ${0}$ dans ${1}$...Pousser ${0}$...
- URL :Actualiser les sous-modulesTous les sous-modulesInitialiser au besoinRécursivementSous-module :Utiliser l'option --remote
+ URL :AvertissementPage d'accueilCréer un groupe
@@ -679,13 +724,15 @@
COMMIT & POUSSERModèles/HistoriquesTrigger click event
+ Commit (Modifier)Indexer tous les changements et commit
- Un commit vide a été détecté ! Voulez-vous continuer (--allow-empty) ?CONFLITS DÉTECTÉSLES CONFLITS DE FICHIER SONT RÉSOLUSINCLURE LES FICHIERS NON-SUIVISPAS DE MESSAGE D'ENTRÉE RÉCENTPAS DE MODÈLES DE COMMIT
+ Faites un clique droit sur les fichiers sélectionnés et faites vos choix pour la résoluion des conflits.
+ SignOffINDEXÉRETIRER DE L'INDEXRETIRER TOUT DE L'INDEX
@@ -694,7 +741,6 @@
INDEXER TOUTVOIR LES FICHIERS PRÉSUMÉS INCHANGÉSModèle: ${0}$
- Faites un clique droit sur les fichiers sélectionnés et faites vos choix pour la résoluion des conflits.ESPACE DE TRAVAIL : Configurer les espaces de travail...WORKTREE
@@ -702,68 +748,4 @@
VerrouillerSupprimerDéverrouiller
- RE-GÉNÉRER
- APPLIQUER COMME MESSAGE DE COMMIT
- Appliquer le Stash
- Supprimer après l'application
- Rétablir les modifications de l'index
- Stash:
- Action personnalisée
- Branche en amont invalide!
- Initialiser et mettre à jour les sous-modules
- Branche
- Attendre la fin de l'action
- Les espaces seront remplacés par des tirets.
- Chemin:
- Tous les enfants seront retirés de la liste.
- Cela le supprimera uniquement de la liste, pas du disque !
- Première différence
- Dernière différence
- Traitement du commit
- Fusionnement
- Arrêté à
- Annulation du commit
- Source:
- Fusionner (Plusieurs)
- Commit tous les changement
- Stratégie:
- Cibles:
- Activer le streaming
- Largeur de tab dans l'éditeur
- Taille de police
- Défaut
- Éditeur
- Format de date
- Afficher les enfants dans les détails du commit
- Afficher les tags dans le graphique des commits
- Activer la vérification HTTP SSL
- Actions personnalisées
- Visibilité dans le graphique
- Réinitialiser
- Cacher dans le graphique des commits
- Filtrer dans le graphique des commits
- DISPOSITION
- Horizontal
- Vertical
- ORDRE DES COMMITS
- Date du commit
- Topologiquement
- EFFACER LES NOTIFICATIONS
- PASSER
- Par date de créateur
- Par nom (Croissant)
- Par nom (Décroissant)
- Trier
- Utiliser le temps relatif dans les historiques
- Analyser les repositories
- Définir la branche suivie
- Branche:
- Retirer la branche amont
- En amont:
- Aller sur
- Restauration automatique après le stashing
- Vos fichiers de travail restent inchangés, mais une sauvegarde est enregistrée.
- Sauvegarder en tant que patch...
- Commit (Modifier)
- SignOff
diff --git a/src/Resources/Locales/it_IT.axaml b/src/Resources/Locales/it_IT.axaml
index 85038d9ea..59bf3028b 100644
--- a/src/Resources/Locales/it_IT.axaml
+++ b/src/Resources/Locales/it_IT.axaml
@@ -2,19 +2,20 @@
+
InformazioniInformazioni su SourceGitClient GUI Git open source e gratuitoAggiungi Worktree
- Di cosa fare il checkout:
- Branch esistente
- Crea nuovo branchPosizione:Percorso per questo worktree. Supportato il percorso relativo.Nome Branch:Facoltativo. Predefinito è il nome della cartella di destinazione.Traccia Branch:Traccia branch remoto
+ Di cosa fare il checkout:
+ Crea nuovo branch
+ Branch esistenteAssistente AIRIGENERAUsa AI per generare il messaggio di commit
@@ -64,8 +65,8 @@
Upstream non validoByteANNULLA
- Ripristina Questa RevisioneRipristina la Revisione Padre
+ Ripristina Questa RevisioneGenera messaggio di commitCAMBIA MODALITÀ DI VISUALIZZAZIONEMostra come elenco di file e cartelle
@@ -73,12 +74,12 @@
Mostra come albero del filesystemCheckout BranchCheckout Commit
- Avviso: Effettuando un checkout del commit, la tua HEAD sarà separataCommit:
- Branch:
+ Avviso: Effettuando un checkout del commit, la tua HEAD sarà separataModifiche Locali:ScartaStasha e Ripristina
+ Branch:Cherry PickAggiungi sorgente al messaggio di commitCommit(s):
@@ -97,9 +98,9 @@
URL del Repository:CHIUDIEditor
+ Checkout CommitCherry-Pick Questo CommitCherry-Pick...
- Checkout CommitConfronta con HEADConfronta con WorktreeCopia Info
@@ -134,12 +135,12 @@
RIFERIMENTISHAApri nel Browser
- Inserisci l'oggetto del commitDescrizione
+ Inserisci l'oggetto del commitConfigura RepositoryTEMPLATE DI COMMIT
- Nome Template:Contenuto Template:
+ Nome Template:AZIONE PERSONALIZZATAArgomenti:${REPO} - Percorso del repository; ${SHA} - SHA del commit selezionato
@@ -157,13 +158,13 @@
Minuto/iRemoto PredefinitoTRACCIAMENTO ISSUE
+ Aggiungi una regola di esempio per Azure DevOpsAggiungi una regola di esempio per un Issue GiteeAggiungi una regola di esempio per un Pull Request GiteeAggiungi una regola di esempio per GitHub
- Aggiungi una regola di esempio per Jira
- Aggiungi una regola di esempio per Azure DevOpsAggiungi una regola di esempio per Issue GitLabAggiungi una regola di esempio per una Merge Request GitLab
+ Aggiungi una regola di esempio per JiraNuova RegolaEspressione Regex Issue:Nome Regola:
@@ -244,7 +245,6 @@
Differenza SuccessivaNESSUNA MODIFICA O SOLO CAMBIAMENTI DI FINE LINEADifferenza Precedente
- Abilita la navigazione a blocchiSalva come PatchMostra Simboli NascostiDiff Affiancato
@@ -253,6 +253,7 @@
ScambiaEvidenziazione SintassiAvvolgimento delle Parole
+ Abilita la navigazione a blocchiApri nello Strumento di MergeMostra Tutte le RigheDiminuisci Numero di Righe Visibili
@@ -294,11 +295,11 @@
Rimuovi da StageRimuovi da Stage {0} fileRimuovi le Righe Selezionate da Stage
- Usa Il Loro (checkout --theirs)Usa Il Mio (checkout --ours)
+ Usa Il Loro (checkout --theirs)Cronologia File
- CONTENUTOMODIFICA
+ CONTENUTOFILTROGit-FlowBranch di Sviluppo:
@@ -329,8 +330,8 @@
Modello Personalizzato:Aggiungi Modello di Tracciamento a Git LFSRecupera
- Recupera Oggetti LFSEsegui `git lfs fetch` per scaricare gli oggetti Git LFS. Questo non aggiorna la copia di lavoro.
+ Recupera Oggetti LFSInstalla hook di Git LFSMostra BlocchiNessun File Bloccato
@@ -342,11 +343,11 @@
EliminaEsegui `git lfs prune` per eliminare vecchi file LFS dallo storage localeScarica
- Scarica Oggetti LFSEsegui `git lfs pull` per scaricare tutti i file LFS per il ref corrente e fare il checkout
+ Scarica Oggetti LFSInvia
- Invia Oggetti LFSInvia grandi file in coda al punto finale di Git LFS
+ Invia Oggetti LFSRemoto:Traccia file con nome '{0}'Traccia tutti i file *{0}
@@ -365,8 +366,8 @@
Annulla il popup correnteClona una nuova repositoryChiudi la pagina corrente
- Vai alla pagina precedenteVai alla pagina successiva
+ Vai alla pagina precedenteCrea una nuova paginaApri la finestra delle preferenzeREPOSITORY
@@ -377,11 +378,11 @@
Scarta le modifiche selezionateRecupera, avvia direttamenteModalità Dashboard (Predefinita)
+ Modalità ricerca commitScarica, avvia direttamenteInvia, avvia direttamenteForza l'aggiornamento di questo repositoryAggiungi/Rimuovi da stage le modifiche selezionate
- Modalità ricerca commitPassa a 'Modifiche'Passa a 'Storico'Passa a 'Stashes'
@@ -390,9 +391,9 @@
Trova il prossimo risultatoTrova il risultato precedenteApri il pannello di ricerca
+ ScartaAggiungi in stageRimuovi
- ScartaInizializza RepositoryPercorso:Cherry-Pick in corso.
@@ -404,10 +405,10 @@
Ripristino in corso.Ripristinando il commitRiallinea Interattivamente
- Branch di destinazione:Su:
- Apri nel Browser
+ Branch di destinazione:Copia il Link
+ Apri nel BrowserERROREAVVISOUnisci Branch
@@ -433,16 +434,16 @@
Copia Percorso RepositoryRepositoryIncolla
- Proprio ora
- {0} minuti fa
+ {0} giorni fa1 ora fa{0} ore fa
- Ieri
- {0} giorni fa
+ Proprio oraIl mese scorso
- {0} mesi faL'anno scorso
+ {0} minuti fa
+ {0} mesi fa{0} anni fa
+ IeriPreferenzeAIAnalizza il Prompt Differenza
@@ -482,24 +483,24 @@
Email UtenteEmail utente Git globaleAbilita --prune durante il fetch
+ Questa applicazione richiede Git (>= 2.23.0)Percorso Installazione
+ Abilita la verifica HTTP SSLNome UtenteNome utente Git globaleVersione di Git
- Questa applicazione richiede Git (>= 2.23.0)
- Abilita la verifica HTTP SSLFIRMA GPGFirma GPG per commit
- Firma GPG per tagFormato GPGPercorso Programma InstallatoInserisci il percorso per il programma GPG installato
+ Firma GPG per tagChiave Firma UtenteChiave GPG dell'utente per la firmaINTEGRAZIONESHELL/TERMINALE
- Shell/TerminalePercorso
+ Shell/TerminalePotatura RemotaDestinazione:Potatura Worktrees
@@ -667,11 +668,11 @@
StatisticheCOMMITCOMMITTER
+ PANORAMICAMESESETTIMANA
- COMMIT:AUTORI:
- PANORAMICA
+ COMMIT:SOTTOMODULIAggiungi SottomoduloCopia Percorso Relativo
@@ -686,13 +687,13 @@
Elimina ${0}$...Unisci ${0}$ in ${1}$...Invia ${0}$...
- URL:Aggiorna SottomoduliTutti i sottomoduliInizializza se necessarioRicorsivamenteSottomodulo:Usa opzione --remote
+ URL:AvvisoPagina di BenvenutoCrea Gruppo
@@ -722,12 +723,13 @@
Attiva evento clickCommit (Modifica)Stage di tutte le modifiche e fai il commit
- Trovato un commit vuoto! Vuoi continuare (--allow-empty)?CONFLITTI RILEVATICONFLITTI NEI FILE RISOLTIINCLUDI FILE NON TRACCIATINESSUN MESSAGGIO RECENTE INSERITONESSUN TEMPLATE DI COMMIT
+ Clicca con il tasto destro sul(i) file selezionato, quindi scegli come risolvere i conflitti.
+ SignOffIN STAGERIMUOVI DA STAGERIMUOVI TUTTO DA STAGE
@@ -736,8 +738,6 @@
FAI LO STAGE DI TUTTOVISUALIZZA COME NON MODIFICATOTemplate: ${0}$
- Clicca con il tasto destro sul(i) file selezionato, quindi scegli come risolvere i conflitti.
- SignOffWORKSPACE:Configura Workspaces...WORKTREE
diff --git a/src/Resources/Locales/ja_JP.axaml b/src/Resources/Locales/ja_JP.axaml
index 212552213..fe643b5ec 100644
--- a/src/Resources/Locales/ja_JP.axaml
+++ b/src/Resources/Locales/ja_JP.axaml
@@ -2,19 +2,20 @@
+
概要SourceGitについてオープンソース & フリーなGit GUIクライアントワークツリーを追加
- チェックアウトする内容:
- 既存のブランチ
- 新しいブランチを作成場所:ワークツリーのパスを入力してください。相対パスも使用することができます。ブランチの名前:任意。デフォルトでは宛先フォルダ名が使用されます。追跡するブランチ:追跡中のリモートブランチ
+ チェックアウトする内容:
+ 新しいブランチを作成
+ 既存のブランチOpenAI アシスタント再生成OpenAIを使用してコミットメッセージを生成
@@ -64,8 +65,8 @@
無効な上流ブランチ!バイトキャンセル
- このリビジョンにリセット親リビジョンにリセット
+ このリビジョンにリセットコミットメッセージを生成変更表示の切り替えファイルとディレクトリのリストを表示
@@ -73,12 +74,12 @@
ファイルシステムのツリーを表示ブランチをチェックアウトコミットをチェックアウト
- 警告: コミットをチェックアウトするとHEADが切断されますコミット:
- ブランチ:
+ 警告: コミットをチェックアウトするとHEADが切断されますローカルの変更:破棄スタッシュして再適用
+ ブランチ:チェリーピックソースをコミットメッセージに追加コミット(複数可):
@@ -97,9 +98,9 @@
リポジトリのURL:閉じるエディタ
+ コミットをチェックアウトこのコミットをチェリーピックチェリーピック...
- コミットをチェックアウトHEADと比較ワークツリーと比較情報をコピー
@@ -134,12 +135,12 @@
参照SHAブラウザで開く
- コミットのタイトルを入力説明
+ コミットのタイトルを入力リポジトリの設定コミットテンプレート
- テンプレート名:テンプレート内容:
+ テンプレート名:カスタムアクション引数:${REPO} - リポジトリのパス; ${BRANCH} - 選択中のブランチ; ${SHA} - 選択中のコミットのSHA
@@ -157,13 +158,13 @@
分(s)リモートの初期値ISSUEトラッカー
+ サンプルのAzure DevOpsルールを追加サンプルのGitee Issueルールを追加サンプルのGiteeプルリクエストルールを追加サンプルのGithubルールを追加サンプルのGitLab Issueルールを追加サンプルのGitLabマージリクエストルールを追加サンプルのJiraルールを追加
- サンプルのAzure DevOpsルールを追加新しいルールIssueの正規表現:ルール名:
@@ -188,8 +189,8 @@
変更の種類:コピーすべてのテキストをコピー
- パスをコピー絶対パスをコピー
+ パスをコピーブランチを作成...派生元:作成したブランチにチェックアウト
@@ -225,8 +226,8 @@
パス:対象:すべての子ノードがリストから削除されます。
- グループを削除これはリストからのみ削除され、ディスクには保存されません!
+ グループを削除リポジトリを削除サブモジュールを削除サブモジュールのパス:
@@ -295,11 +296,11 @@
アンステージ{0}個のファイルをアンステージ...選択された行の変更をアンステージ
- 相手の変更を使用 (checkout --theirs)自分の変更を使用 (checkout --ours)
+ 相手の変更を使用 (checkout --theirs)ファイルの履歴
- コンテンツ変更
+ コンテンツGit-Flow開発ブランチ:Feature:
@@ -329,8 +330,8 @@
カスタム パターン:Git LFSにトラックパターンを追加フェッチ
- LFSオブジェクトをフェッチ`git lfs fetch`を実行して、Git LFSオブジェクトをダウンロードします。ワーキングコピーは更新されません。
+ LFSオブジェクトをフェッチGit LFSフックをインストールロックを表示ロックされているファイルはありません
@@ -342,11 +343,11 @@
削除`git lfs prune`を実行して、ローカルの保存領域から古いLFSファイルを削除します。プル
- LFSオブジェクトをプル`git lfs pull`を実行して、現在の参照とチェックアウトのすべてのGit LFSファイルをダウンロードします。
+ LFSオブジェクトをプルプッシュ
- LFSオブジェクトをプッシュキュー内の大容量ファイルをGit LFSエンドポイントにプッシュします。
+ LFSオブジェクトをプッシュリモート:{0}という名前のファイルをトラックすべての*{0}ファイルをトラック
@@ -365,8 +366,8 @@
現在のポップアップをキャンセル新しくリポジトリをクローン現在のページを閉じる
- 前のページに移動次のページに移動
+ 前のページに移動新しいページを作成設定ダイアログを開くリポジトリ
@@ -377,11 +378,11 @@
選択した変更を破棄直接フェッチを実行ダッシュボードモード (初期値)
+ コミット検索モード直接プルを実行直接プッシュを実行現在のリポジトリを強制的に再読み込み選択中の変更をステージ/アンステージ
- コミット検索モード'変更'に切り替える'履歴'に切り替える'スタッシュ'に切り替える
@@ -390,9 +391,9 @@
次のマッチを検索前のマッチを検索検索パネルを開く
+ 破棄ステージアンステージ
- 破棄リポジトリの初期化パス:チェリーピックが進行中です。'中止'を押すと元のHEADが復元されます。
@@ -404,10 +405,10 @@
元に戻す処理が進行中です。'中止'を押すと元のHEADが復元されます。コミットを元に戻していますインタラクティブ リベース
- 対象のブランチ:On:
- ブラウザで開く
+ 対象のブランチ:リンクをコピー
+ ブラウザで開くエラー通知ブランチのマージ
@@ -433,16 +434,16 @@
リポジトリパスをコピーリポジトリ貼り付け
- たった今
- {0} 分前
+ {0} 日前1 時間前{0} 時間前
- 昨日
- {0} 日前
+ たった今先月
- {0} ヶ月前昨年
+ {0} 分前
+ {0} ヶ月前{0} 年前
+ 昨日設定AI差分分析プロンプト
@@ -483,24 +484,24 @@
ユーザー EメールアドレスグローバルgitのEメールアドレスフェッチ時に--pruneを有効化
+ Git (>= 2.23.0) はこのアプリで必要ですインストール パスHTTP SSL 検証を有効にするユーザー名グローバルのgitユーザー名Gitバージョン
- Git (>= 2.23.0) はこのアプリで必要ですGPG 署名コミットにGPG署名を行う
- タグにGPG署名を行うGPGフォーマットプログラムのインストールパスインストールされたgpgプログラムのパスを入力
+ タグにGPG署名を行うユーザー署名キーユーザーのGPG署名キー統合シェル/ターミナル
- シェル/ターミナルパス
+ シェル/ターミナルリモートを削除対象:作業ツリーを削除
@@ -666,11 +667,11 @@
統計コミットコミッター
+ 概要月間週間
- コミット: 著者:
- 概要
+ コミット: サブモジュールサブモジュールを追加相対パスをコピー
@@ -685,13 +686,13 @@
${0}$ を削除...${0}$ を ${1}$ にマージ...${0}$ をプッシュ...
- URL:サブモジュールを更新すべてのサブモジュール必要に応じて初期化再帰的に更新サブモジュール:--remoteオプションを使用
+ URL:警告ようこそグループを作成
@@ -721,12 +722,12 @@
クリックイベントをトリガーコミット (Edit)すべての変更をステージしてコミット
- 空のコミットが検出されました。続行しますか? (--allow-empty)競合が検出されましたファイルの競合は解決されました追跡されていないファイルを含める最近の入力メッセージはありませんコミットテンプレートはありません
+ 選択したファイルを右クリックし、競合を解決する操作を選択してください。サインオフステージしたファイルステージを取り消し
@@ -736,7 +737,6 @@
すべてステージへ移動変更されていないとみなしたものを表示テンプレート: ${0}$
- 選択したファイルを右クリックし、競合を解決する操作を選択してください。ワークスペース: ワークスペースを設定...ワークツリー
diff --git a/src/Resources/Locales/pt_BR.axaml b/src/Resources/Locales/pt_BR.axaml
index 4ee6cdbc1..3caac3cc7 100644
--- a/src/Resources/Locales/pt_BR.axaml
+++ b/src/Resources/Locales/pt_BR.axaml
@@ -3,43 +3,19 @@
-
-
SobreSobre o SourceGitCliente Git GUI Livre e de Código AbertoAdicionar Worktree
- O que Checar:
- Branch Existente
- Criar Novo BranchLocalização:Caminho para este worktree. Caminho relativo é suportado.Nome do Branch:Opcional. O padrão é o nome da pasta de destino.Rastrear Branch:Rastreando branch remoto
+ O que Checar:
+ Criar Novo Branch
+ Branch ExistenteAssietente IAUtilizar IA para gerar mensagem de commitPatch
@@ -80,8 +56,8 @@
Comparação de BranchesBytesCANCELAR
- Resetar para Esta RevisãoResetar para Revisão Pai
+ Resetar para Esta RevisãoGerar mensagem de commitALTERAR MODO DE EXIBIÇÃOExibir como Lista de Arquivos e Diretórios
@@ -89,12 +65,12 @@
Exibir como Árvore de Sistema de ArquivosCheckout BranchCheckout Commit
- Aviso: Ao fazer o checkout de um commit, seu Head ficará desanexadoCommit:
- Branch:
+ Aviso: Ao fazer o checkout de um commit, seu Head ficará desanexadoAlterações Locais:DescartarStash & Reaplicar
+ Branch:Cherry-PickAdicionar origem à mensagem de commitCommit(s):
@@ -112,9 +88,9 @@
URL do Repositório:FECHAREditor
+ Checar CommitCherry-Pick este commitCherry-Pick ...
- Checar CommitComparar com HEADComparar com WorktreeCopiar Informações
@@ -145,12 +121,12 @@
REFERÊNCIASSHAAbrir no navegador
- Insira o assunto do commitDescrição
+ Insira o assunto do commitConfigurar RepositórioTEMPLATE DE COMMIT
- Nome do Template:Conteúdo do Template:
+ Nome do Template:AÇÃO CUSTOMIZADAArgumentos:${REPO} - Caminho do repositório; ${SHA} - SHA do commit selecionado
@@ -166,11 +142,11 @@
Minuto(s)Remoto padrãoRASTREADOR DE PROBLEMAS
- Adicionar Regra de Exemplo do Github
- Adicionar Regra de Exemplo do JiraAdicionar Regra de Exemplo do Azure DevOps
+ Adicionar Regra de Exemplo do GithubAdicionar Regra de Exemplo do GitLab Adicionar regra de exemplo de Merge Request do GitLab
+ Adicionar Regra de Exemplo do JiraNova RegraExpressão Regex de Issue:Nome da Regra:
@@ -292,11 +268,11 @@
Desfazer PreparaçãoDesfazer Preparação de {0} arquivosDesfazer Preparação nas Linhas Selecionadas
- Usar Deles (checkout --theirs)Usar Meu (checkout --ours)
+ Usar Deles (checkout --theirs)Histórico de Arquivos
- CONTEUDOMUDANÇA
+ CONTEUDOGit-FlowBranch de Desenvolvimento:Feature:
@@ -326,8 +302,8 @@
Padrão Personalizado:Adicionar Padrão de Rastreamento ao Git LFSBuscar
- Buscar Objetos LFSExecute `git lfs fetch` para baixar objetos Git LFS. Isso não atualiza a cópia de trabalho.
+ Buscar Objetos LFSInstalar hooks do Git LFSExibir bloqueiosSem Arquivos Bloqueados
@@ -339,11 +315,11 @@
PruneExecute `git lfs prune` para excluir arquivos LFS antigos do armazenamento localPuxar
- Puxar Objetos LFSExecute `git lfs pull` para baixar todos os arquivos Git LFS para a referência atual e checkout
+ Puxar Objetos LFSEnviar
- Enviar Objetos LFSEnvie arquivos grandes enfileirados para o endpoint Git LFS
+ Enviar Objetos LFSRemoto:Rastrear arquivos nomeados '{0}'Rastrear todos os arquivos *{0}
@@ -361,8 +337,8 @@
GLOBALCancelar popup atualFechar página atual
- Ir para a página anteriorIr para a próxima página
+ Ir para a página anteriorCriar nova páginaAbrir diálogo de preferênciasREPOSITÓRIO
@@ -373,11 +349,11 @@
Descartar mudanças selecionadasBuscar, imediatamenteModo de Dashboard (Padrão)
+ Modo de busca de commitsPuxar, imediatamenteEnviar, imediatamenteForçar recarregamento deste repositórioPreparar/Despreparar mudanças selecionadas
- Modo de busca de commitsAlternar para 'Mudanças'Alternar para 'Históricos'Alternar para 'Stashes'
@@ -386,9 +362,9 @@
Encontrar próxima correspondênciaEncontrar correspondência anteriorAbrir painel de busca
+ DescartarPrepararDespreparar
- DescartarInicializar RepositórioCaminho:Cherry-Pick em andamento.
@@ -396,10 +372,10 @@
Rebase em andamento.Revert em andamento.Rebase Interativo
- Ramo Alvo:Em:
- Abrir no navegador
+ Ramo Alvo:Copiar link
+ Abrir no navegadorERROAVISOMesclar Ramo
@@ -420,16 +396,16 @@
Copiar Caminho do RepositórioRepositóriosColar
- Agora mesmo
- {0} minutos atrás
+ {0} dias atrás1 hora atrás{0} horas atrás
- Ontem
- {0} dias atrás
+ Agora mesmoMês passado
- {0} meses atrásAno passado
+ {0} minutos atrás
+ {0} meses atrás{0} anos atrás
+ OntemPreferênciasINTELIGÊNCIA ARTIFICIALPrompt para Analisar Diff
@@ -465,23 +441,23 @@
Email do UsuárioEmail global do usuário gitHabilita --prune ao buscar
+ Git (>= 2.23.0) é necessário para este aplicativoCaminho de InstalaçãoNome do UsuárioNome global do usuário gitVersão do Git
- Git (>= 2.23.0) é necessário para este aplicativoASSINATURA GPGAssinatura GPG de commit
- Assinatura GPG de tagFormato GPGCaminho de Instalação do ProgramaInsira o caminho para o programa gpg instalado
+ Assinatura GPG de tagChave de Assinatura do UsuárioChave de assinatura gpg do usuárioINTEGRAÇÃOSHELL/TERMINAL
- Shell/TerminalCaminho
+ Shell/TerminalPrunar RemotoAlvo:Podar Worktrees
@@ -627,11 +603,11 @@
EstatísticasCOMMITSCOMMITTER
+ VISÃO GERALMÊSSEMANA
- COMMITS: AUTORES:
- VISÃO GERAL
+ COMMITS: SUBMÓDULOSAdicionar SubmóduloCopiar Caminho Relativo
@@ -646,13 +622,13 @@
Excluir ${0}$...Mesclar ${0}$ em ${1}$...Enviar ${0}$...
- URL:Atualizar SubmódulosTodos os submódulosInicializar conforme necessárioRecursivamenteSubmódulo:Usar opção --remote
+ URL:AvisoPágina de Boas-vindasCriar Grupo Raíz
@@ -681,12 +657,12 @@
Modelo/HistóricosAcionar evento de cliquePreparar todas as mudanças e commitar
- Commit vazio detectado! Deseja continuar (--allow-empty)?CONFLITOS DETECTADOSCONFLITOS DE ARQUIVO RESOLVIDOSINCLUIR ARQUIVOS NÃO RASTREADOSSEM MENSAGENS DE ENTRADA RECENTESSEM MODELOS DE COMMIT
+ Clique com o botão direito nos arquivos selecionados e escolha como resolver conflitos.STAGEDUNSTAGEUNSTAGE TODOS
@@ -695,7 +671,6 @@
STAGE TODOSVER SUPOR NÃO ALTERADOTemplate: ${0}$
- Clique com o botão direito nos arquivos selecionados e escolha como resolver conflitos.Workspaces: Configurar workspaces...WORKTREE
diff --git a/src/Resources/Locales/ru_RU.axaml b/src/Resources/Locales/ru_RU.axaml
index 2ea274d1e..b26532ae1 100644
--- a/src/Resources/Locales/ru_RU.axaml
+++ b/src/Resources/Locales/ru_RU.axaml
@@ -2,19 +2,20 @@
+
О программеО SourceGitБесплатный графический клиент Git с исходным кодомДобавить рабочий каталог
- Переключиться на:
- ветку из списка
- создать новую веткуРасположение:Путь к рабочему каталогу (поддерживается относительный путь)Имя ветки:Имя целевого каталога по умолчанию. (необязательно)Отслеживание ветки:Отслеживание внешней ветки
+ Переключиться на:
+ создать новую ветку
+ ветку из спискаПомощник OpenAIПЕРЕСОЗДАТЬИспользовать OpenAI для создания сообщения о ревизии
@@ -42,7 +43,7 @@
РасследованиеРАССЛЕДОВАНИЕ В ЭТОМ ФАЙЛЕ НЕ ПОДДЕРЖИВАЕТСЯ!!!Проверить ${0}$...
- Сравнить с ГОЛОВОЙ (HEAD)
+ Сравнить с ГОЛОВОЙ (HEAD)Сравнить с рабочим каталогомКопировать имя веткиИзменить действие
@@ -64,8 +65,8 @@
Недопустимая основная ветка!БайтыОТМЕНА
- Сбросить эту ревизиюСбросить родительскую ревизию
+ Сбросить эту ревизиюПроизвести сообщение о ревизииИЗМЕНИТЬ РЕЖИМ ОТОБРАЖЕНИЯПоказывать в виде списка файлов и каталогов
@@ -73,12 +74,12 @@
Показывать в виде дерева файловой системыПереключить веткуПереключение ревизии
- Предупреждение: После переключения ревизии ваша Голова (HEAD) будет отсоединенаРевизия:
- Ветка:
+ Предупреждение: После переключения ревизии ваша Голова (HEAD) будет отсоединенаЛокальные изменения:ОтклонитьОтложить и примненить повторно
+ Ветка: Частичный выборДобавить источник для ревизии сообщенияРевизия(и):
@@ -97,9 +98,9 @@
Адрес репозитория:ЗАКРЫТЬРедактор
+ Переключиться на эту ревизиюПрименить эту ревизию (cherry-pick)Применить несколько ревизий ...
- Переключиться на эту ревизиюСравнить c ГОЛОВОЙ (HEAD)Сравнить с рабочим каталогомКопировать информацию
@@ -134,12 +135,12 @@
ССЫЛКИSHAОткрыть в браузере
- Введите тему ревизииОписание
+ Введите тему ревизииНастройка репозиторияШАБЛОН РЕВИЗИИ
- Название:Cодержание:
+ Название:ПОЛЬЗОВАТЕЛЬСКОЕ ДЕЙСТВИЕАргументы:${REPO} - Путь к репозиторию; ${SHA} - SHA ревизий
@@ -157,13 +158,13 @@
Минут(а/ы)Внешний репозиторий по умолчаниюОТСЛЕЖИВАНИЕ ПРОБЛЕМ
+ Добавить пример правила Azure DevOpsДобавить пример правила для тем в GiteaДобавить пример правила запроса скачивания из GiteaДобавить пример правила для Git
- Добавить пример правила Jira
- Добавить пример правила Azure DevOpsДобавить пример правила выдачи GitLabДобавить пример правила запроса на слияние в GitLab
+ Добавить пример правила JiraНовое правилоПроблема с регулярным выражением:Имя правила:
@@ -177,8 +178,8 @@
Имя пользователяИмя пользователя репозиторияРабочие пространства
- ИмяЦвет
+ ИмяВосстанавливать вкладки при запускеОбщепринятый помощник по ревизииКардинальные изменения:
@@ -189,8 +190,8 @@
Тип изменения:КопироватьКопировать весь текст
- Копировать путьКопировать полный путь
+ Копировать путьСоздать ветку...Основан на:Проверить созданную ветку
@@ -226,8 +227,8 @@
Путь:Цель:Все дочерние элементы будут удалены из списка.
- Подтвердите удаление группыБудет удалён из списка. На диске останется.
+ Подтвердите удаление группыПодтвердите удаление репозиторияУдалить подмодульПуть подмодуля:
@@ -242,12 +243,12 @@
Первое различиеИгнорировать изменение пробеловПоследнее различие
- Показывать скрытые символыИЗМЕНЕНИЕ ОБЪЕКТА LFSСледующее различиеНИКАКИХ ИЗМЕНЕНИЙ ИЛИ МЕНЯЕТСЯ ТОЛЬКО EOLПредыдущее различиеСохранить как заплатку
+ Показывать скрытые символыРазличие рядомПОДМОДУЛЬНОВЫЙ
@@ -296,11 +297,11 @@
Снять подготовленныйНеподготовленные {0} файлыНеподготовленные изменения в выбранной(ых) строке(ах)
- Использовать их (checkout --theirs)Использовать мой (checkout --ours)
+ Использовать их (checkout --theirs)История файлов
- СОДЕРЖИМОЕИЗМЕНИТЬ
+ СОДЕРЖИМОЕGit-потокВетка разработчика:Свойство:
@@ -330,8 +331,8 @@
Изменить шаблон:Добавить шаблон отслеживания в LFS GitИзвлечь
- Извлечь объекты LFSЗапустить (git lfs fetch), чтобы загрузить объекты LFS Git. При этом рабочая копия не обновляется.
+ Извлечь объекты LFSУстановить перехват LFS GitПоказывать блокировкиНет заблокированных файлов
@@ -343,11 +344,11 @@
ОбрезатьЗапустить (git lfs prune), чтобы удалить старые файлы LFS из локального хранилищаЗабрать
- Забрать объекты LFSЗапустить (git lfs pull), чтобы загрузить все файлы LFS Git для текущей ссылки и проверить
+ Забрать объекты LFSВыложить
- Выложить объекты LFSОтправляйте большие файлы, помещенные в очередь, в конечную точку LFS Git
+ Выложить объекты LFSВнешнее хранилище:Отслеживать файлы с именем «{0}»Отслеживать все *{0} файлов
@@ -366,8 +367,8 @@
Закрыть окноКлонировать репозиторийЗакрыть вкладку
- Перейти на предыдущую вкладкуПерейти на следующую вкладку
+ Перейти на предыдущую вкладкуСоздать новую вкладкуОткрыть диалоговое окно настроекРЕПОЗИТОРИЙ
@@ -378,11 +379,11 @@
Отклонить выбранные измененияИзвлечение, запускается сразуРежим доски (по умолчанию)
- Принудительно перезагрузить репозиторий
+ Режим поиска ревизийЗабрать, запускается сразуВыложить, запускается сразу
+ Принудительно перезагрузить репозиторийПодготовленные/Неподготовленные выбранные изменения
- Режим поиска ревизийПереключить на «Изменения»Переключить на «Истории»Переключить на «Отложенные»
@@ -391,9 +392,9 @@
Найти следующее совпадениеНайти предыдущее совпадениеОткрыть панель поиска
+ ОтклонитьПодготовитьСнять из подготовленных
- ОтклонитьСоздать репозиторийПуть:Выполняется частичный перенос ревизий (cherry-pick).
@@ -405,11 +406,11 @@
Выполняется отмена ревизии.Выполняется отменаИнтерактивное перемещение
- Целевая ветка:На:
- Открыть в браузере
+ Целевая ветка:Копировать ссылку
- ОШИБКА
+ Открыть в браузере
+ ОШИБКАУВЕДОМЛЕНИЕВлить веткуВ:
@@ -434,20 +435,20 @@
Копировать путь репозиторияРепозиторииВставить
- Сейчас
- {0} минут назад
+ {0} дней назад1 час назад{0} часов назад
- Вчера
- {0} дней назад
+ СейчасПоследний месяц
- {0} месяцев назадВ прошлом году
+ {0} минут назад
+ {0} месяцев назад{0} лет назад
+ ВчераПараметрыОТКРЫТЬ ИИ
- Ключ APIЗапрос на анализ различий
+ Ключ APIПроизвести запрос на темуМодельИмя:
@@ -455,9 +456,9 @@
Разрешить потоковую передачуВИДШрифт по умолчанию
+ Редактировать ширину вкладкиРазмер шрифтаПо умолчанию
- Редактировать ширину вкладкиРедакторМоноширный шрифтВ текстовом редакторе используется только моноширный шрифт
@@ -484,24 +485,24 @@
Электроная почта пользователяОбщая электроная почта пользователя gitРазрешить (--prune) при скачивании
+ Для работы программы требуется версия Git (>= 2.23.0)Путь установкиРазрешить верификацию HTTP SSLИмя пользователяОбщее имя пользователя gitВерсия Git
- Для работы программы требуется версия Git (>= 2.23.0)GPG ПОДПИСЬGPG подпись ревизии
- GPG подпись меткиФормат GPGПуть установки программыВведите путь для установленной программы GPG
+ GPG подпись меткиКлюч подписи пользователяКлюч GPG подписи пользователяВНЕДРЕНИЕОБОЛОЧКА/ТЕРМИНАЛ
- Оболочка/ТерминалПуть
+ Оболочка/ТерминалУдалить внешний репозиторийЦель:Удалить рабочий каталог
@@ -630,8 +631,6 @@
Заплатка успешно сохранена!Сканирование репозиторийКорневой каталог:
- Копировать SHA
- ПерейтиПроверка для обновления...Доступна новая версия программного обеспечения: Не удалось проверить наличие обновлений!
@@ -643,12 +642,12 @@
Ветка:Снять основную веткуОсновная ветка:
+ Копировать SHA
+ ПерейтиВтиснуть ревизииВ:Приватный ключ SSH:Путь хранения приватного ключа SSH
- Только подготовленные изменения
- Подготовленные так и неподготовленные изменения выбранных файлов будут сохранены!!!ЗАПУСКОтложитьАвтоматически восстанавливать после откладывания
@@ -657,6 +656,8 @@
Хранить отложенные файлыСообщение:Имя тайника (необязательно)
+ Только подготовленные изменения
+ Подготовленные так и неподготовленные изменения выбранных файлов будут сохранены!!!Отложить локальные измененияПринятьОтбросить
@@ -669,11 +670,11 @@
СтатистикаРЕВИЗИИРЕВИЗОРЫ (ИСПОЛНИТЕЛИ)
+ ОБЗОРМЕСЯЦНЕДЕЛЯ
- РЕВИЗИИ: АВТОРЫ:
- ОБЗОР
+ РЕВИЗИИ: ПОДМОДУЛИДобавить подмодулиКопировать относительный путь
@@ -688,13 +689,13 @@
Удалить ${0}$...Влить ${0}$ в ${1}$...Выложить ${0}$...
- Сетевой адрес:Обновление подмодулейВсе подмодулиСоздавать по необходимостиРекурсивноПодмодуль:Использовать опцию (--remote)
+ Сетевой адрес:ПредупреждениеПриветствиеСоздать группу
@@ -707,7 +708,7 @@
Открыть все репозиторииОткрыть репозиторийОткрыть терминал
- Повторное сканирование репозиториев в каталоге клонирования по умолчанию
+ Повторное сканирование репозиториев в каталоге клонирования по умолчаниюПоиск репозиториев...СортировкаИзменения
@@ -724,12 +725,12 @@
Запустить событие щелчкаЗафиксировать (Редактировать)Подготовить все изменения и зафиксировать
- Обнаружена пустая ревизия! Вы хотите продолжить (--allow-empty)?ОБНАРУЖЕНЫ КОНФЛИКТЫКОНФЛИКТЫ ФАЙЛОВ РАЗРЕШЕНЫВКЛЮЧИТЬ НЕОТСЛЕЖИВАЕМЫЕ ФАЙЛЫНЕТ ПОСЛЕДНИХ ВХОДНЫХ СООБЩЕНИЙНЕТ ШАБЛОНОВ РЕВИЗИИ
+ Щёлкните правой кнопкой мыши выбранный файл(ы) и разрешите конфликты.Завершение работыПОДГОТОВЛЕННЫЕСНЯТЬ ПОДГОТОВЛЕННЫЙ
@@ -739,7 +740,6 @@
ВСЕ ПОДГОТОВИТЬОТКРЫТЬ СПИСОК НЕОТСЛЕЖИВАЕМЫХ ФАЙЛОВШаблон: ${0}$
- Щёлкните правой кнопкой мыши выбранный файл(ы) и разрешите конфликты.РАБОЧЕЕ ПРОСТРАНСТВО: Настройка рабочего пространства...РАБОЧИЙ КАТАЛОГ
diff --git a/src/Resources/Locales/ta_IN.axaml b/src/Resources/Locales/ta_IN.axaml
new file mode 100644
index 000000000..946a8d9c7
--- /dev/null
+++ b/src/Resources/Locales/ta_IN.axaml
@@ -0,0 +1,749 @@
+
+
+
+
+
+ பற்றி
+ மூலஅறிவிலி பற்றி
+ திறந்தமூல & கட்டற்ற அறிவிலி இடைமுக வாடிக்கயாளர்
+ பணிமரத்தைச் சேர்
+ இடம்:
+ இந்த பணிமரத்திற்கான பாதை. தொடர்புடைய பாதை ஆதரிக்கப்படுகிறது.
+ கிளை பெயர்:
+ விருப்பத்தேர்வு. இயல்புநிலை இலக்கு கோப்புறை பெயர்.
+ கிளை கண்காணி:
+ தொலை கிளையைக் கண்காணித்தல்
+ என்ன சரிபார்க்க வேண்டும்:
+ புதிய கிளையை உருவாக்கு
+ ஏற்கனவே உள்ள கிளை
+ செநு உதவியாளர்
+ மறு-உருவாக்கு
+ உறுதிமொழி செய்தியை உருவாக்க செநுவைப் பயன்படுத்து
+ உறுதிமொழி செய்தி என இடு
+ ஒட்டு
+ ஒட்டு கோப்பு:
+ .ஒட்டு இடுவதற்கு கோப்பைத் தேர்ந்தெடு
+ வெள்ளைவெளி மாற்றங்களைப் புறக்கணி
+ ஒட்டு இடு
+ வெள்ளைவெளி:
+ பதுக்கிவைத்ததை இடு
+ பயன்படுத்திய பின் நீக்கு
+ குறியீட்டின் மாற்றங்களை மீண்டும் நிறுவு
+ பதுக்கிவை:
+ காப்பகம்...
+ இதற்கு காப்பகத்தை சேமி:
+ காப்பகக் கோப்பு பாதையைத் தேர்ந்தெடு
+ திருத்தம்:
+ காப்பகம்
+ மூலஅறிவிலி கடவுகேள்
+ கோப்புகள் மாற்றப்படவில்லை எனக் கருதப்படுகிறது
+ எந்த கோப்புகளும் மாற்றப்படவில்லை எனக் கருதப்படுகிறது
+ நீக்கு
+ இருமம் கோப்பு ஆதரிக்கப்படவில்லை!!!
+ குற்றச்சாட்டு
+ இந்த கோப்பில் குற்றம் சாட்ட ஆதரிக்கப்படவில்லை!!!
+ ${0}$ சரிபார்...
+ தலையுடன் ஒப்பிடுக
+ பணிமரத்துடன் ஒப்பிடுக
+ கிளை பெயரை நகலெடு
+ தனிப்பயன் செயல்
+ ${0}$ ஐ நீக்கு...
+ தேர்ந்தெடுக்கப்பட்ட {0} கிளைகளை நீக்கு
+ எல்லா மாற்றங்களையும் நிராகரி
+ ${0}$ இதற்கு வேகமாக முன்னோக்கிச் செல்
+ ${0}$ ஐ ${1}$இல் பெறு...
+ அறிவிலி ஓட்டம் - முடி ${0}$
+ ${0}$ ஐ ${1}$இல் இணை...
+ தேர்ந்தெடுக்கப்பட்ட {0} கிளைகளை தற்பொதையதில் இணை
+ இழு ${0}$
+ இழு ${0}$ஐ ${1}$-க்குள்...
+ தள்ளு ${0}$
+ மறுதளம் ${0}$ இதன்மேல் ${1}$...
+ மறுபெயரிடு ${0}$...
+ கண்காணிப்பு கிளையை அமை...
+ கிளை ஒப்பிடு
+ தவறான மேல்ஓடை!
+ எண்மங்கள்
+ விடு
+ பெற்றோர் திருத்தத்திற்கு மீட்டமை
+ இந்த திருத்தத்திற்கு மீட்டமை
+ உறுதிமொழி செய்தி உருவாக்கு
+ காட்சி பயன்முறையை மாற்று
+ கோப்பு மற்றும் கோப்புறை பட்டியலாக காட்டு
+ பாதை பட்டியலாகக் காட்டு
+ கோப்பு முறைமை மரமாகக் காட்டு
+ கிளை சரிபார்
+ உறுதிமொழி சரிபார்
+ உறுதிமொழி:
+ முன்னறிவிப்பு: ஒரு உறுதிமொழி சரிபார்பதன் மூலம், உங்கள் தலை பிரிக்கப்படும்
+ உள்ளக மாற்றங்கள்:
+ நிராகரி
+ பதுக்கிவை & மீண்டும் இடு
+ கிளை:
+ கனி பறி
+ உறுதிமொழி செய்திக்கு மூலத்தைச் சேர்
+ உறுதிமொழி(கள்):
+ அனைத்து மாற்றங்களையும் உறுதிமொழி
+ முதன்மைகோடு:
+ பொதுவாக நீங்கள் ஒரு ஒன்றிணையை கனி-பறிக்க முடியாது, ஏனெனில் இணைப்பின் எந்தப் பக்கத்தை முதன்மையாகக் கருத வேண்டும் என்பது உங்களுக்குத் தெரியாது. இந்த விருப்பம் குறிப்பிட்ட பெற்றோருடன் தொடர்புடைய மாற்றத்தை மீண்டும் இயக்க கனி-பறி அனுமதிக்கிறது.
+ பதுக்கிவைத்தையும் அழி
+ நீங்கள் அனைத்து பதுக்கிவைத்தையும் அழிக்க முயற்சிக்கிறீர்கள் தொடர விரும்புகிறீர்களா?
+ நகலி தொலை களஞ்சியம்
+ கூடுதல் அளவுருக்கள்:
+ நகலி களஞ்சியத்திற்கான கூடுதல் வாதங்கள். விருப்பத்தேர்வு.
+ உள்ளக பெயர்:
+ களஞ்சியப் பெயர். விருப்பத்தேர்வு.
+ பெற்றோர் கோப்புறை:
+ துவக்கு & துணை தொகுதிகளைப் புதுப்பி
+ களஞ்சிய முகவரி:
+ மூடு
+ திருத்தி
+ உறுதிமொழி சரிபார்
+ கனி-பறி உறுதிமொழி
+ கனி-பறி ...
+ தலையுடன் ஒப்பிடுக
+ பணிமரத்துடன் ஒப்பிடுக
+ தகவலை நகலெடு
+ பாகொவ-வை நகலெடு
+ தனிப்பயன் செயல்
+ இங்கே ${0}$ ஐ ஊடாடும் வகையில் மறுதளம்
+ ${0}$ இதற்கு ஒன்றிணை
+ ஒன்றிணை ...
+ இங்கே ${0}$ ஐ மறுதளம்
+ ${0}$ ஐ இங்கே மீட்டமை
+ உறுதிமொழி திரும்பபெறு
+ வேறுமொழி
+ ஒட்டாக சேமி...
+ பெற்றோர்களில் நொறுக்கு
+ நொறுக்கு குழந்தைகள் இங்கே சேர்
+ மாற்றங்கள்
+ மாற்றங்களைத் தேடு...
+ கோப்புகள்
+ பெகோஅ கோப்பு
+ கோப்புகளைத் தேடு...
+ துணைத்தொகுதி
+ தகவல்
+ ஆசிரியர்
+ மாற்றப்பட்டது
+ குழந்தைகள்
+ உறுதிமொழியாளர்
+ இந்த உறுதிமொழிடைக் கொண்ட குறிப்புகளைச் சரிபார்
+ உறுதிமொழி இதில் உள்ளது
+ முதல் 100 மாற்றங்களை மட்டும் காட்டுகிறது மாற்றங்கள் தாவலில் அனைத்து மாற்றங்களையும் காண்க.
+ செய்தி
+ பெற்றோர்கள்
+ குறிகள்
+ பாகொவ
+ உலாவியில் திற
+ விளக்கம்
+ உறுதிமொழி பொருளை உள்ளிடவும்
+ களஞ்சியம் உள்ளமை
+ உறுதிமொழி வளர்புரு
+ வார்ப்புரு உள்ளடக்கம்:
+ வார்ப்புரு பெயர்:
+ தனிப்பயன் செயல்
+ வாதங்கள்:
+ ${களஞ்சிய} - களஞ்சியத்தின் பாதை; ${கிளை} - தேர்ந்தெடுக்கப்பட்ட கிளை; ${பாகொவ} - தேர்ந்தெடுக்கப்பட்ட உறுதிமொழிடியின் பாகொவ
+ இயக்கக்கூடிய கோப்பு:
+ பெயர்:
+ நோக்கம்:
+ கிளை
+ உறுதிமொழி
+ களஞ்சியம்
+ செயல்பாட்டிலிருந்து வெளியேற காத்திரு
+ மின்னஞ்சல் முகவரி
+ மின்னஞ்சல் முகவரி
+ அறிவிலி
+ தொலைகளை தானாக எடு
+ நிமையங்கள்
+ இயல்புநிலை தொலை
+ சிக்கல் கண்காணி
+ மாதிரி அசூர் வளர்பணிகள் விதியைச் சேர்
+ மாதிரி அறிவிலிஈ சிக்கலுக்கான விதியைச் சேர்
+ மாதிரி அறிவிலிஈ இழு கோரிக்கை விதியைச் சேர்
+ மாதிரி அறிவிலிமையம் விதியைச் சேர்
+ மாதிரி அறிவிலிஆய்வு சிக்கலுக்கான விதியைச் சேர்
+ மாதிரி அறிவிலிஆய்வு இணைப்பு கோரிக்கை விதியைச் சேர்
+ மாதிரி சீரா விதியைச் சேர்
+ புதிய விதி
+ வழக்கவெளி வெளிப்பாடு வெளியீடு:
+ விதியின் பெயர்:
+ முடிவு முகவரி:
+ வழக்கவெளி குழுக்கள் மதிப்புகளை அணுக $1, $2 ஐப் பயன்படுத்து
+ செநு
+ விருப்பமான சேவை:
+ 'விருப்பமான சேவை' அமைக்கப்பட்டிருந்தால், மூலஅறிவிலி இந்த களஞ்சியத்தில் மட்டுமே அதைப் பயன்படுத்தும். இல்லையெனில், ஒன்றுக்கு மேற்பட்ட சேவைகள் இருந்தால், அவற்றில் ஒன்றைத் தேர்ந்தெடுப்பதற்கான சூழல் பட்டயல் காண்பிக்கப்படும்.
+ உஉபநெ பதிலாள்
+ இந்த களஞ்சியத்தால் பயன்படுத்தப்படும் உஉபநெ பதிலாள்
+ பயனர் பெயர்
+ இந்த களஞ்சியத்திற்கான பயனர் பெயர்
+ பணியிடங்கள்
+ நிறம்
+ தாவல்களை மீட்டமை
+ வழக்கமான உறுதிமொழி உதவியாளர்
+ உடைக்கும் மாற்றம்:
+ மூடப்பட்ட வெளியீடு சிக்கல்:
+ மாற்ற விவரங்கள்:
+ நோக்கம்:
+ குறுகிய விளக்கம்:
+ மாற்ற வகை:
+ நகல்
+ அனைத்து உரையையும் நகலெடு
+ முழு பாதையை நகலெடு
+ நகல் பாதை
+ கிளையை உருவாக்கு...
+ இதன் அடிப்படையில்:
+ உருவாக்கப்பட்ட கிளையைப் சரிபார்
+ உள்ளக மாற்றங்கள்:
+ நிராகரி
+ பதுக்கிவை & மீண்டும் இடு
+ புதிய கிளை பெயர்:
+ கிளை பெயரை உள்ளிடவும்.
+ இடைவெளிகள் கோடுகளால் மாற்றப்படும்.
+ உள்ளக கிளையை உருவாக்கு
+ குறிச்சொல்லை உருவாக்கு...
+ இங்கு புதிய குறிச்சொல்:
+ சீபிசீ கையொப்பமிடுதல்
+ குறிச்சொல் செய்தி:
+ விருப்பத்தேர்வு.
+ குறிச்சொல் பெயர்:
+ பரிந்துரைக்கப்பட்ட வடிவம்: ப1.0.0-ஆனா
+ உருவாக்கப்பட்ட பிறகு அனைத்து தொலைகளுக்கும் தள்ளு
+ புதிய குறிசொல் உருவாக்கு
+ வகை:
+ annotated
+ குறைந்தஎடை
+ நேரடியாகத் தொடங்க கட்டுப்பாட்டை அழுத்திப் பிடி
+ வெட்டு
+ கிளையை நீக்கு
+ கிளை:
+ நீங்கள் ஒரு தொலை கிளையை நீக்கப் போகிறீர்கள்!!!
+ தொலை ${0}$ கிளையையும் நீக்கு
+ பல கிளைகளை நீக்கு
+ நீங்கள் ஒரே நேரத்தில் பல கிளைகளை நீக்க முயற்சிக்கிறீர்கள் நடவடிக்கை எடுப்பதற்கு முன் மீண்டும் சரிபார்!
+ தொலையை நீக்கு
+ தொலை:
+ பாதை:
+ இலக்கு:
+ எல்லா குழந்தைகளும் பட்டியலிலிருந்து நீக்கப்படுவார்கள்.
+ இது பட்டியலிலிருந்து மட்டுமே அகற்றும், வட்டிலிருந்து அல்ல!
+ குழுவை நீக்குவதை உறுதிப்படுத்து
+ களஞ்சியத்தை நீக்குவதை உறுதிப்படுத்து
+ துணைத்தொகுதியை நீக்கு
+ துணைத்தொகுதி பாதை:
+ குறிச்சொல்லை நீக்கு
+ குறிசொல்:
+ தொலை களஞ்சியங்களிலிருந்து நீக்கு
+ இருமம் வேறுபாடு
+ புதிய
+ பழைய
+ நகல்
+ கோப்பு முறை மாற்றப்பட்டது
+ முதல் வேறுபாடு
+ வெள்ளைவெளி மாற்றத்தை புறக்கணி
+ கடைசி வேறுபாடு
+ பெகோஅ பொருள் மாற்றம்
+ அடுத்த வேறுபாடு
+ மாற்றங்கள் இல்லை அல்லது வரிமுடிவு மாற்றங்கள் மட்டும்
+ முந்தைய வேறுபாடு
+ ஒட்டாகச் சேமி
+ மறைக்கப்பட்ட சின்னங்களைக் காட்டு
+ பக்கவாட்டு வேறுபாடு
+ துணைத் தொகுதி
+ புதிய
+ இடமாற்று
+ தொடரியல் சிறப்பம்சமாக்கல்
+ வரி சொல் மடக்கு
+ தடுப்பு-வழிசெலுத்தலை இயக்கு
+ ஒன்றிணை கருவியில் திற
+ அனைத்து வரிகளையும் காட்டு
+ தெரியும் வரிகளின் எண்ணிக்கையைக் குறை
+ தெரியும் வரிகளின் எண்ணிக்கையை அதிகரி
+ மாற்றங்களைக் காண கோப்பைத் தேர்ந்தெடு
+ ஒன்றிணை கருவியில் திற
+ மாற்றங்களை நிராகரி
+ செயல்படும் நகலில் உள்ள அனைத்து உள்ளக மாற்றங்கள்.
+ மாற்றங்கள்:
+ புறக்கணிக்கப்பட்ட கோப்புகளைச் சேர்
+ {0} மாற்றங்கள் நிராகரிக்கப்படும்
+ இந்தச் செயலை நீங்கள் செயல்தவிர்க்க முடியாது!!!
+ புத்தகக்குறி:
+ புதிய பெயர்:
+ இலக்கு:
+ தேர்ந்தெடுக்கப்பட்ட குழுவைத் திருத்து
+ தேர்ந்தெடுக்கப்பட்ட களஞ்சியத்தைத் திருத்து
+ தனிப்பயன் செயலை இயக்கு
+ செயல் பெயர்:
+ வேகமாக முன்னோக்கி (சரிபார்க்காமல்)
+ பெறு
+ எல்லா தொலைகளையும் பெறு
+ உள்ளக குறிப்புகளை கட்டாயமாக மீறு
+ குறிச்சொற்கள் இல்லாமல் பெறு
+ தொலை:
+ தொலை மாற்றங்களைப் பெறு
+ மாறாமல் என கருது
+ நிராகரி...
+ {0} கோப்புகளை நிராகரி...
+ தேர்ந்தெடுக்கப்பட்ட வரிகளில் மாற்றங்களை நிராகரி
+ வெளிப்புற இணைப்பு கருவியைத் திற
+ ${0}$ஐப் பயன்படுத்தி தீர்
+ ஒட்டு என சேமி...
+ நிலைபடுத்து
+ {0} fகோப்புகள் நிலைபடுத்து
+ தேர்ந்தெடுக்கப்பட்ட வரிகளில் மாற்றங்களை நிலைபடுத்து
+ பதுக்கிவை...
+ {0} கோப்புகள் பதுக்கிவை...
+ நிலைநீக்கு
+ நிலைநீக்கு {0} கோப்புகள்
+ தேர்ந்தெடுக்கப்பட்ட வரிகளில் மாற்றங்களை நிலைநீக்கு
+ என்னுடையதைப் பயன்படுத்து (சரிபார் --நமது)
+ அவர்களுடையதைப் பயன்படுத்து (சரிபார் --அவர்களது)
+ கோப்பு வரலாறு
+ மாற்றம்
+ உள்ளடக்கம்
+ அறிவிலி-ஓட்டம்
+ மேம்பாட்டு கிளை:
+ நற்பொருத்தம்:
+ நற்பொருத்தம் முன்னொட்டு:
+ ஓட்டம் - நற்பொருத்தம் முடி
+ ஓட்டம் - சூடானதிருத்தம் முடி
+ ஓட்டம் - வெளியீட்டை முடி
+ இலக்கு:
+ சூடானதிருத்தம்:
+ சூடானதிருத்தம் முன்னொட்டு:
+ அறிவிலி-ஓட்டம் துவக்கு
+ கிளையை வைத்திரு
+ உற்பத்தி கிளை:
+ வெளியீடு:
+ வெளியீடு முன்னொட்டு:
+ நற்பொருத்தம் தொடங்கு...
+ ஓட்டம் - நற்பொருத்தம் தொடங்கு
+ சூடானதிருத்தம் தொடங்கு...
+ ஓட்டம் - சூடானதிருத்தம் தொடங்கு
+ பெயரை உள்ளிடு
+ வெளியீட்டைத் தொடங்கு...
+ ஓட்டம் - வெளியீட்டைத் தொடங்கு
+ பதிப்பு குறிச்சொல் முன்னொட்டு:
+ அறிவிலி பெகோஅ
+ அறிவிலி கண்காணி வடிவத்தைச் சேர்...
+ வடிவம் என்பது கோப்பு பெயர்
+ தனிப்பயன் வடிவம்:
+ அறிவிலி பெகோஅ இல் கண்காணி வடிவங்களைச் சேர்
+ பெறு
+ அறிவிலி பெகோஅ பொருள்களைப் பதிவிறக்க `அறிவிலி பெகோஅ பெறு` ஐ இயக்கவும் இது செயல்படும் நகலை புதுப்பிக்காது.
+ அறிவிலி பெகோஅ பொருள்களைப் பெறு
+ அறிவிலி பெகோஅ கொக்கிகளை நிறுவு
+ பூட்டுகளைக் காட்டு
+ பூட்டப்பட்ட கோப்புகள் இல்லை
+ பூட்டு
+ எனது பூட்டுகளை மட்டும் காட்டு
+ பெகோஅ பூட்டுகள்
+ திற
+ கட்டாயம் திற
+ கத்தரி
+ உள்ளக சேமிப்பகத்திலிருந்து பழைய பெகோஅ கோப்புகளை நீக்க `அறிவிலி பெகோஅ கத்தரி` ஐ இயக்கு
+ இழு
+ தற்போதைய குறிக்கு அனைத்து அறிவிலி பெகோஅ கோப்புகளையும் பதிவிறக்கி சரிபார்க்க `அறிவிலி பெகோஅ இழு`ஐ இயக்கு
+ பெகோஅ பொருள்களை இழு
+ தள்ளு
+ வரிசைப்படுத்தப்பட்ட பெரிய கோப்புகளை அறிவிலி பெகோஅ முடிவுபுள்ளிக்கு தள்ளு
+ பெகோஅ பொருள்கள் தள்ளு
+ தொலை:
+ '{0}' என பெயரிடப்பட்ட கோப்புகளைக் கண்காணி
+ அனைத்து *{0} கோப்புகளையும் கண்காணி
+ வரலாறு
+ ஆசிரியர்
+ ஆசிரியர் நேரம்
+ வரைபடம் & பொருள்
+ பாகொவ
+ உறுதிமொழி நேரம்
+ தேர்ந்தெடுக்கப்பட்ட {0} உறுதிமொழிகள்
+ பல உறுதிமொழிகளைத் தேர்ந்தெடுக்க 'கட்டுப்பாடு' அல்லது 'உயர்த்து'ஐ அழுத்திப் பிடி.
+ பல உறுதிமொழிகளைத் தேர்ந்தெடுக்க ⌘ அல்லது ⇧ ஐ அழுத்திப் பிடி.
+ குறிப்புகள்:
+ விசைப்பலகை குறுக்குவழிகள் குறிப்பு
+ உலகளாவிய
+ தற்போதைய மேல்தோன்றலை Cancel
+ புதிய களஞ்சியத்தை நகலி செய்
+ தற்போதைய பக்கத்தை மூடு
+ அடுத்த பக்கத்திற்குச் செல்
+ முந்தைய பக்கத்திற்குச் செல்
+ புதிய பக்கத்தை உருவாக்கு
+ விருப்பத்தேர்வுகள் உரையாடலைத் திற
+ களஞ்சியம்
+ நிலைபடுத்திய மாற்றங்களை உறுதிமொழி
+ நிலைபடுத்திய மாற்றங்களை உறுதிமொழி மற்றும் தள்ளு
+ அனைத்து மாற்றங்களையும் நிலைபடுத்தி உறுதிமொழி
+ தேர்ந்தெடுக்கப்பட்ட உறுதிமொழியின் அடிப்படையில் ஒரு புதிய கிளையை உருவாக்குகிறது
+ தேர்ந்தெடுக்கப்பட்ட மாற்றங்களை நிராகரி
+ எடு, நேரடியாகத் தொடங்குகிறது
+ முகப்பலகை பயன்முறை (இயல்புநிலை)
+ உறுதிமொழி தேடல் பயன்முறை
+ இழு, நேரடியாகத் தொடங்குகிறது
+ தள்ளு, நேரடியாகத் தொடங்குகிறது
+ இந்த களஞ்சியத்தை மீண்டும் ஏற்ற கட்டாயப்படுத்து
+ தேர்ந்தெடுக்கப்பட்ட மாற்றங்களை நிலைபடுத்து/நிலைநீக்கு
+ 'மாற்றங்கள்' என்பதற்கு மாறு
+ 'வரலாறுகள்' என்பதற்கு மாறு
+ 'பதுகிவைத்தவை' என்பதற்கு மாறு
+ உரை திருத்தி
+ தேடல் பலகத்தை மூடு
+ அடுத்த பொருத்தத்தைக் கண்டறி
+ முந்தைய பொருத்தத்தைக் கண்டறி
+ தேடல் பலகத்தைத் திற
+ நிராகரி
+ நிலைபடுத்து
+ நிலைநீக்கு
+ களஞ்சியத்தைத் துவக்கு
+ பாதை:
+ கனி-பறி செயல்பாட்டில் உள்ளது.
+ உறுதிமொழி செயலாக்குதல்
+ இணைத்தல் செயல்பாட்டில் உள்ளது.
+ இணைத்தல்
+ மறுதளம் செயல்பாட்டில் உள்ளது
+ இல் நிறுத்தப்பட்டது
+ திரும்ப்பெறும் செயல்பாட்டில் உள்ளது.
+ திரும்பபெறும் உறுதிமொழி
+ ஊடாடும் மறுதளம்
+ மேல்:
+ இலக்கு கிளை:
+ இணைப்பை நகலெடு
+ உலாவியில் திற
+ பிழை
+ அறிவிப்பு
+ கிளையை ஒன்றிணை
+ Into:
+ இணைப்பு விருப்பம்:
+ இதனுள்:
+ ஒன்றிணை (பல)
+ அனைத்து மாற்றங்களையும் உறுதிமொழி
+ சூழ்ச்சிமுறை:
+ இலக்குகள்:
+ களஞ்சிய முனையை நகர்த்து
+ இதற்கான பெற்றோர் முனையைத் தேர்ந்தெடு
+ பெயர்:
+ அறிவிலி உள்ளமைக்கப்படவில்லை. [விருப்பத்தேர்வுகள்]க்குச் சென்று முதலில் அதை உள்ளமை.
+ தரவு சேமிப்பக கோப்பகத்தைத் திற
+ இதனுடன் திற...
+ விருப்பத்தேர்வு.
+ புதிய பக்கத்தை உருவாக்கு
+ புத்தகக்குறி
+ மூடு தாவல்
+ பிற தாவல்களை மூடு
+ வலதுபுறத்தில் உள்ள தாவல்களை மூடு
+ களஞ்சிய பாதை நகலெடு
+ களஞ்சியங்கள்
+ ஒட்டு
+ {0} நாட்களுக்கு முன்பு
+ 1 மணி நேரத்திற்கு முன்பு
+ {0} மணி நேரத்திற்கு முன்பு
+ சற்றுமுன்
+ கடந்த திங்கள்
+ கடந்த ஆண்டு
+ {0} நிமையங்களுக்கு முன்பு
+ {0} திங்களுக்கு முன்பு
+ {0} ஆண்டுகளுக்கு முன்பு
+ நேற்று
+ விருப்பத்தேர்வுகள்
+ செநு
+ வேறுபாடு உடனடியாக பகுப்பாய்வு செய்
+ பநிஇ திறவுகோல்
+ பொருள் உடனடியாக உருவாக்கு
+ மாதிரி
+ பெயர்
+ சேவையகம்
+ ஓடையை இயக்கு
+ தோற்றம்
+ இயல்புநிலை எழுத்துரு
+ திருத்தி தாவல் அகலம்
+ எழுத்துரு அளவு
+ இயல்புநிலை
+ திருத்தி
+ ஒற்றைவெளி எழுத்துரு
+ ஒற்றைவெளி எழுத்துருவை உரை திருத்தியில் மட்டும் பயன்படுத்து
+ கருப்பொருள்
+ கருப்பொருள் மேலெழுதப்படுகிறது
+ தலைப்புப்பட்டியில் நிலையான தாவல் அகலத்தைப் பயன்படுத்து
+ சொந்த சாளர சட்டத்தைப் பயன்படுத்து
+ நிறுவல் பாதை
+ வேறு/ஒன்றிணை கருவி
+ வேறு/ஒன்றிணை கருவிக்கான பாதை உள்ளிடு
+ கருவி
+ பொது
+ தொடக்கத்தில் புதுப்பிப்புகளைச் சரிபார்
+ தேதி வடிவம்
+ மொழி
+ வரலாற்று உறுதிமொழிகள்
+ வரைபடத்தில் உறுதிமொழி நேரத்திற்குப் பதிலாக ஆசிரியர் நேரத்தைக் காட்டு
+ உறுதிமொழி விவரங்களில் குழந்தைகளைக் காட்டு
+ உறுதிமொழி வரைபடத்தில் குறிச்சொற்களைக் காட்டு
+ பொருள் வழிகாட்டி நீளம்
+ அறிவிலி
+ தானியங்கி வரிமுடிவை இயக்கு
+ இயல்புநிலை நகலி அடைவு
+ பயனர் மின்னஞ்சல்
+ உலகளாவிய அறிவிலி பயனர் மின்னஞ்சல்
+ --prune எடுக்கும்போது இயக்கு
+ அறிவிலி (>= 2.23.0) இந்த பயன்பாட்டிற்கு தேவைப்படுகிறது
+ நிறுவல் பாதை
+ உஉபநெ பாகுஅ சரிபார்ப்பை இயக்கு
+ பயனர் பெயர்
+ உலகளாவிய அறிவிலி பயனர் பெயர்
+ அறிவிலி பதிப்பு
+ சிபிசி கையொப்பமிடுதல்
+ சிபிசி கையொப்பமிடுதல் உறுதிமொழி
+ சிபிசி வடிவம்
+ நிரல் நிறுவல் பாதை
+ நிறுவப்பட்ட சிபிசி நிரலுக்கான உள்ளீட்டு பாதை
+ சிபிசி கையொப்பமிடுதலை குறிச்சொலிடு
+ பயனர் கையொப்பமிடும் திறவுகோல்
+ பயனரின் கையொப்பமிடும் திறவுகோல்
+ ஒருங்கிணைப்பு
+ ஓடு/முனையம்
+ பாதை
+ ஓடு/முனையம்
+ தொலை கத்தரி
+ இலக்கு:
+ பணிமரங்கள் கத்தரி
+ `$GIT_COMMON_DIR/பணிமரங்கள்` இதில் பணிமரம் தகவலை கத்தரி
+ இழு
+ தொலை கிளை:
+ எல்லா கிளைகளையும் எடு
+ இதனுள்:
+ உள்ளக மாற்றங்கள்:
+ நிராகரி
+ பதுக்கிவை & மீண்டும் இடு
+ குறிச்சொற்கள் இல்லாமல் பெறு
+ தொலை:
+ இழு (எடுத்து ஒன்றிணை)
+ ஒன்றிணை என்பதற்குப் பதிலாக மறுதளத்தைப் பயன்படுத்து
+ தள்ளு
+ துணைத் தொகுதிகள் தள்ளப்பட்டது என்பதை உறுதிசெய்
+ கட்டாயமாக தள்ளு
+ உள்ளக கிளை:
+ தொலை:
+ மாற்றங்களை தொலைக்கு தள்ளு
+ தொலை கிளை:
+ கண்காணிப்பு கிளையாக அமை
+ அனைத்து குறிச்சொற்களையும் தள்ளு
+ தொலைக்கு குறிச்சொல்லை தள்ளு
+ அனைத்து தொலைகளுக்கும் தள்ளு
+ தொலை:
+ குறிச்சொல்:
+ வெளியேறு
+ தற்போதைய கிளையை மறுதளம் செய்
+ உள்ளக மாற்றங்களை பதுக்கிவை & மீண்டும் இடு
+ மேல்:
+ மறுதளம்:
+ புதுப்பி
+ தொலையைச் சேர்
+ தொலையைத் திருத்து
+ பெயர்:
+ களஞ்சிய பெயர்
+ களஞ்சிய முகவரி:
+ தொலை அறிவிலி களஞ்சிய முகவரி:
+ முகவரியை நகலெடு
+ நீக்கு...
+ திருத்து...
+ பெறு
+ உலாவியில் திற
+ கத்தரித்தல்
+ பணிமரத்தை அகற்றுவதை உறுதிப்படுத்து
+ `--கட்டாயம்` விருப்பத்தை இயக்கு
+ இலக்கு:
+ கிளையை மறுபெயரிடு
+ புதிய பெயர்:
+ இந்தக் கிளைக்கான தனித்துவமான பெயர்
+ கிளை:
+ நிறுத்து
+ தொலைகளிலிருந்து மாற்றங்களைத் தானாகப் பெறுதல்...
+ சுத்தப்படுத்தல்(சீசி & கத்தரித்தல்)
+ இந்த களஞ்சியத்திற்கு `அறிவிலி சீசி` கட்டளையை இயக்கு.
+ அனைத்தையும் அழி
+ இந்த களஞ்சியத்தை உள்ளமை
+ தொடர்க
+ தனிப்பயன் செயல்கள்
+ தனிப்பயன் செயல்கள் இல்லை
+ '--குறிபதிவு' விருப்பத்தை இயக்கு
+ கோப்பு உலாவியில் திற
+ கிளைகள்/குறிச்சொற்கள்/துணைத் தொகுதிகளைத் தேடு
+ வரைபடத்தில் தெரிவுநிலை
+ அமைவை நீக்கு
+ உறுதிமொழி வரைபடத்தில் மறை
+ உறுதிமொழி வரைபடத்தில் வடிகட்டு
+ '--first-parent' விருப்பம் இயக்கு
+ தளவமைப்பு
+ கிடைமட்டம்
+ செங்குத்து
+ உறுதிமொழி வரிசை
+ உறுதிமொழி தேதி
+ இடவியல் மூலமாக
+ உள்ளக கிளைகள்
+ தலைக்கு செல்
+ கிளையை உருவாக்கு
+ அறிவிப்புகளை அழி
+ வரைபடத்தில் தற்போதைய கிளையை மட்டும் முன்னிலை படுத்து
+ {0} இல் திற
+ வெளிப்புற கருவிகளில் திற
+ புதுப்பி
+ தொலைகள்
+ தொலையைச் சேர்
+ உறுதிமொழி தேடு
+ ஆசிரியர்
+ உறுதிமொழியாளர்
+ கோப்பு
+ செய்தி
+ பாகொவ
+ தற்போதைய கிளை
+ குறிச்சொற்களை மரமாகக் காட்டு
+ தவிர்
+ புள்ளிவிவரங்கள்
+ துணைத் தொகுதிகள்
+ துணைத் தொகுதியைச் சேர்
+ துணைத் தொகுதியைப் புதுப்பி
+ குறிசொற்கள்
+ புதிய குறிசொல்
+ படைப்பாளர் தேதியின்படி
+ பெயர் (ஏறுவரிசை) மூலம்
+ பெயர் (இறகுவரிசை) மூலம்
+ வரிசைப்படுத்து
+ முனையத்தில் திற
+ வரலாறுகளில் உறவு நேரத்தைப் பயன்படுத்து
+ பணிமரங்கள்
+ பணிமரத்தைச் சேர்
+ கத்தரித்தல்
+ அறிவிலி களஞ்சிய முகவரி
+ தற்போதைய கிளையை திருத்தத்திற்கு மீட்டமை
+ மீட்டமை பயன்முறை:
+ இதற்கு நகர்த்து:
+ தற்போதைய கிளை:
+ கோப்பு உலாவியில் வெளிப்படுத்து
+ பின்வாங்கு உறுதிமொழி
+ உறுதிமொழி:
+ பின்வாங்கு மாற்றங்களை உறுதிமொழி
+ மாறுசொல் உறுதிமொழி செய்தி
+ புதிய வரியை உள்ளிட 'உயர்த்து+நுழை' ஐப் பயன்படுத்தவும். 'நுழை' என்பது சரி பொத்தானின் சூடானவிசை ஆகும்
+ இயங்குகிறது. காத்திருக்கவும்...
+ சேமி
+ எனச் சேமி...
+ ஒட்டு வெற்றிகரமாக சேமிக்கப்பட்டது!
+ களஞ்சியங்களை வருடு
+ வேர் அடைவு:
+ புதுப்பிப்புகளைச் சரிபார்...
+ இந்த மென்பொருளின் புதிய பதிப்பு கிடைக்கிறது:
+ புதுப்பிப்புகளைச் சரிபார்க்க முடியவில்லை!
+ பதிவிறக்கம்
+ இந்தப் பதிப்பைத் தவிர்
+ மென்பொருள் புதுப்பி
+ தற்போது புதுப்பிப்புகள் எதுவும் கிடைக்கவில்லை.
+ கண்காணிப்பு கிளையை அமை
+ கிளை:
+ மேல்ஓடையை நீக்கு
+ மேல்ஓடை:
+ SHA ஐ நகலெடு
+ இதற்கு செல்
+ நொறுக்கு உறுதிமொழிகள்
+ இதில்:
+ பாஓடு தனியார் திறவுகோல்:
+ தனியார் பாஓடு திறவுகோல் கடை பாதை
+ தொடங்கு
+ பதுக்கிவை
+ பதுக்கிவைத்த பிறகு தானியங்கி மீட்டமை
+ உங்கள் செயல்படும் கோப்புகள் மாறாமல் இருக்கும், ஆனால் ஒரு பதுக்கிவைக்கப்படும்.
+ கண்காணிக்கப்படாத கோப்புகளைச் சேர்
+ நிலைப்படுத்தப்பட்ட கோப்புகளை வைத்திரு
+ செய்தி:
+ விருப்பத்தேர்வு. இந்த பதுக்கலின் பெயர்
+ நிலைப்படுத்தப்பட்ட மாற்றங்கள் மட்டும்
+ தேர்ந்தெடுக்கப்பட்ட கோப்புகளின் நிலைப்படுத்தப்பட்ட மற்றும் நிலைப்படுத்தப்படாத மாற்றங்கள் இரண்டும் பதுக்கிவைக்கப்படும்!!!
+ உள்ளக மாற்றங்களை பதுக்கிவை
+ இடு
+ கைவிடு
+ ஒட்டாகச் சேமி...
+ பதுக்கிவைத்தவை கைவிடு
+ கைவிடு:
+ பதுக்கிவைத்தவைகள்
+ மாற்றங்கள்
+ பதுக்கிவைத்தவைகள்
+ புள்ளிவிவரங்கள்
+ உறுதிமொழிகள்
+ உறுதிமொழியாளர்
+ மேலோட்டப் பார்வை
+ திங்கள்
+ வாரம்
+ ஆசிரியர்கள்:
+ உறுதிமொழிகள்:
+ துணைத் தொகுதி
+ துணைத் தொகுதியைச் சேர்
+ உறவு பாதையை நகலெடு
+ உள்ளமைக்கப்பட்ட துணைத் தொகுதிகளை எடு
+ துணைத் தொகுதி களஞ்சியத்தைத் திற
+ உறவு பாதை:
+ இந்த தொகுதியை சேமிப்பதற்கான தொடர்புடைய கோப்புறை.
+ துணை தொகுதியை நீக்கு
+ சரி
+ குறிச்சொல் பெயரை நகலெடு
+ குறிச்சொல் செய்தியை நகலெடு
+ நீக்கு ${0}$...
+ ${0}$ இதை ${1}$ இல் இணை...
+ தள்ளு ${0}$...
+ துணைத்தொகுதிகளைப் புதுப்பி
+ அனைத்து துணைத்தொகுதிகள்
+ தேவைக்கேற்றப துவக்கு
+ சுழற்சி முறையில்
+ --தொலை விருப்பத்தைப் பயன்படுத்து
+ முகவரி:
+ முன்னறிவிப்பு
+ வரவேற்பு பக்கம்
+ குழுவை உருவாக்கு
+ துணைக் குழுவை உருவாக்கு
+ நகலி களஞ்சியம்
+ நீக்கு
+ கோப்புறையை இழுத்து & விடு ஆதரிக்கப்படுகிறது. தனிப்பயன் குழுவாக்க ஆதரவு.
+ திருத்து
+ வேறொரு குழுவிற்கு நகர்த்து
+ அனைத்து களஞ்சியங்களையும் திற
+ களஞ்சியத்தைத் திற
+ முனையத்தைத் திற
+ இயல்புநிலை நகலி அடைவில் களஞ்சியங்களை மீண்டும் வருடு
+ களஞ்சியங்களைத் தேடு...
+ வரிசைப்படுத்து
+ உள்ளக மாற்றங்கள்
+ அறிவிலி புறக்கணி
+ எல்லா *{0} கோப்புகளையும் புறக்கணி
+ ஒரே கோப்புறையில் *{0} கோப்புகளைப் புறக்கணி
+ ஒரே கோப்புறையில் கோப்புகளைப் புறக்கணி
+ இந்த கோப்பை மட்டும் புறக்கணி
+ பின்னொட்டு
+ இந்த கோப்பை இப்போது நீங்கள் நிலைப்படுத்தலாம்.
+ உறுதிமொழி
+ உறுதிமொழி & தள்ளு
+ வளர்புரு/வரலாறுகள்
+ சொடுக்கு நிகழ்வைத் தூண்டு
+ உறுதிமொழி (திருத்து)
+ அனைத்து மாற்றங்களையும் நிலைப்படுத்தி உறுதிமொழி
+ நீங்கள் {0} கோப்புகளை நிலைப்படுத்தியுள்ளீர்கள், ஆனால் {1} கோப்புகள் மட்டுமே காட்டப்பட்டுள்ளன ({2} கோப்புகள் வடிகட்டப்பட்டுள்ளன). தொடர விரும்புகிறீர்களா?
+ காலி உறுதிமொழி கண்டறியப்பட்டது! தொடர விரும்புகிறீர்களா(--allow-empty)?
+ மோதல்கள் கண்டறியப்பட்டது
+ கோப்பு மோதல்கள் தீர்க்கப்பட்டது
+ கண்காணிக்கப்படாத கோப்புகளைச் சேர்
+ அண்மைக் கால உள்ளீட்டு செய்திகள் இல்லை
+ உறுதிமொழி வளர்புருகள் இல்லை
+ தேர்ந்தெடுக்கப்பட்ட கோப்பு(களை) வலது சொடுக்கு செய்து, முரண்பாடுகளைத் தீர்க்க உங்கள் விருப்பத்தைத் தேர்ந்தெடு.
+ கையெழுத்திடு
+ நிலைபடுத்தியது
+ நிலைநீக்கு
+ அனைத்தும் நிலைநீக்கு
+ நிலைநீக்கு
+ நிலைபடுத்து
+ அனைத்தும் நிலைபடுத்து
+ மாறாதது எனநினைப்பதை பார்
+ வளர்புரு: ${0}$
+ பணியிடம்:
+ பணியிடங்களை உள்ளமை...
+ பணிமரம்
+ பாதையை நகலெடு
+ பூட்டு
+ நீக்கு
+ திற
+
diff --git a/src/Resources/Locales/zh_CN.axaml b/src/Resources/Locales/zh_CN.axaml
index fec5c7804..35a97b6ea 100644
--- a/src/Resources/Locales/zh_CN.axaml
+++ b/src/Resources/Locales/zh_CN.axaml
@@ -2,19 +2,20 @@
+
关于软件关于本软件开源免费的Git客户端新增工作树
- 检出分支方式 :
- 已有分支
- 创建新分支工作树路径 :填写该工作树的路径。支持相对路径。分支名 :选填。默认使用目标文件夹名称。跟踪分支设置上游跟踪分支
+ 检出分支方式 :
+ 创建新分支
+ 已有分支AI助手重新生成使用AI助手生成提交信息
@@ -64,8 +65,8 @@
跟踪的上游分支不存在或已删除!字节取 消
- 重置文件到该版本重置文件到上一版本
+ 重置文件到该版本生成提交信息切换变更显示模式文件名+路径列表模式
@@ -73,12 +74,12 @@
文件目录树形结构模式检出(checkout)分支检出(checkout)提交
- 注意:执行该操作后,当前HEAD会变为游离(detached)状态!提交 :
- 目标分支 :
+ 注意:执行该操作后,当前HEAD会变为游离(detached)状态!未提交更改 :丢弃更改贮藏并自动恢复
+ 目标分支 :挑选提交提交信息中追加来源信息提交列表 :
@@ -97,9 +98,9 @@
远程仓库 :关闭提交信息编辑器
+ 检出此提交挑选(cherry-pick)此提交挑选(cherry-pick)...
- 检出此提交与当前HEAD比较与本地工作树比较复制简要信息
@@ -134,12 +135,12 @@
相关引用提交指纹浏览器中查看
- 填写提交信息主题详细描述
+ 填写提交信息主题仓库配置提交信息模板
- 模板名 :模板内容 :
+ 模板名 :自定义操作命令行参数 :请使用${REPO}代替仓库路径,${BRANCH}代替选中的分支,${SHA}代替提交哈希
@@ -156,6 +157,7 @@
启用定时自动拉取远程更新分钟默认远程
+ 默认合并方式ISSUE追踪新增匹配Azure DevOps规则新增匹配Gitee议题规则
@@ -179,6 +181,10 @@
工作区颜色启动时恢复打开的仓库
+ 确认继续
+ 提交未包含变更文件!是否继续(--allow-empty)?
+ 自动暂存并提交
+ 提交未包含变更文件!是否继续(--allow-empty)或是自动暂存所有变更并提交?规范化提交信息生成破坏性更新:关闭的ISSUE:
@@ -188,8 +194,8 @@
类型:复制复制全部文本
- 复制路径复制完整路径
+ 复制路径新建分支 ...新分支基于 :完成后切换到新分支
@@ -225,8 +231,8 @@
路径 :目标 :所有子节点将被同时从列表中移除。
- 删除分组确认仅从列表中移除,不会删除硬盘中的文件!
+ 删除分组确认删除仓库确认删除子模块确认子模块路径 :
@@ -295,11 +301,11 @@
从暂存中移除从暂存中移除 {0} 个文件从暂存中移除选中的更改
- 使用 THEIRS (checkout --theirs)使用 MINE (checkout --ours)
+ 使用 THEIRS (checkout --theirs)文件历史
- 文件内容文件变更
+ 文件内容GIT工作流开发分支 :特性分支 :
@@ -329,8 +335,8 @@
规则 :添加LFS追踪文件规则拉取LFS对象 (fetch)
- 拉取LFS对象执行`git lfs prune`命令,下载远程LFS对象,但不会更新工作副本。
+ 拉取LFS对象启用Git LFS支持显示LFS对象锁没有锁定的LFS文件
@@ -342,11 +348,11 @@
精简本地LFS对象存储运行`git lfs prune`命令,从本地存储中精简当前版本不需要的LFS对象拉回LFS对象 (pull)
- 拉回LFS对象运行`git lfs pull`命令,下载远程LFS对象并更新工作副本。
+ 拉回LFS对象推送
- 推送LFS对象将排队的大文件推送到Git LFS远程服务
+ 推送LFS对象远程 :跟踪名为'{0}'的文件跟踪所有 *{0} 文件
@@ -365,8 +371,8 @@
取消弹出面板克隆远程仓库关闭当前页面
- 切换到上一个页面切换到下一个页面
+ 切换到上一个页面新建页面打开偏好设置面板仓库页面快捷键
@@ -377,11 +383,11 @@
丢弃选中的更改拉取 (fetch) 远程变更切换左边栏为分支/标签等显示模式(默认)
+ 切换左边栏为提交搜索模式拉回 (pull) 远程变更推送本地变更到远程重新加载仓库状态将选中的变更暂存或从暂存列表中移除
- 切换左边栏为提交搜索模式显示本地更改显示历史记录显示贮藏列表
@@ -390,9 +396,9 @@
定位到下一个匹配搜索的位置定位到上一个匹配搜索的位置打开搜索
+ 丢弃暂存移出暂存区
- 丢弃初始化新仓库路径 :挑选(Cherry-Pick)操作进行中。
@@ -404,10 +410,10 @@
回滚提交操作进行中。正在回滚提交交互式变基
- 目标分支 :起始提交 :
- 在浏览器中访问
+ 目标分支 :复制链接地址
+ 在浏览器中访问出错了系统提示合并分支
@@ -433,16 +439,16 @@
复制仓库路径新标签页粘贴
- 刚刚
- {0}分钟前
+ {0}天前1小时前{0}小时前
- 昨天
- {0}天前
+ 刚刚上个月
- {0}个月前一年前
+ {0}分钟前
+ {0}个月前{0}年前
+ 昨天偏好设置AIAnalyze Diff Prompt
@@ -454,11 +460,11 @@
启用流式输出外观配置缺省字体
+ 代码字体大小编辑器制表符宽度字体大小默认代码编辑器
- 代码字体大小等宽字体仅在文本编辑器中使用等宽字体主题
@@ -484,24 +490,24 @@
邮箱默认GIT用户邮箱拉取更新时启用修剪(--prune)
+ 本软件要求GIT最低版本为2.23.0安装路径启用HTTP SSL验证用户名默认GIT用户名Git 版本
- 本软件要求GIT最低版本为2.23.0GPG签名启用提交签名
- 启用标签签名签名格式签名程序位置签名程序所在路径
+ 启用标签签名用户签名KEY输入签名提交所使用的KEY第三方工具集成终端/SHELL
- 终端/SHELL安装路径
+ 终端/SHELL清理远程已删除分支目标 :清理工作树
@@ -668,11 +674,11 @@
提交统计提交次数提交者
+ 总览本月本周
- 提交次数: 贡献者人数:
- 总览
+ 提交次数: 子模块添加子模块复制路径
@@ -687,13 +693,13 @@
删除 ${0}$...合并 ${0}$ 到 ${1}$...推送 ${0}$...
- 仓库地址 :更新子模块更新所有子模块启用 '--init'启用 '--recursive'子模块 :启用 '--remote'
+ 仓库地址 :警告起始页新建分组
@@ -723,13 +729,17 @@
触发点击事件提交(修改原始提交)自动暂存所有变更并提交
- 当前有 {0} 个文件在暂存区中,但仅显示了 {1} 个文件({2} 个文件被过滤掉了),是否继续提交?
- 提交未包含变更文件!是否继续(--allow-empty)?
+ 当前有 {0} 个文件在暂存区中,但仅显示了 {1} 个文件({2} 个文件被过滤掉了),是否继续提交?检测到冲突
+ 打开合并工具
+ 打开合并工具解决冲突文件冲突已解决
+ 使用 MINE
+ 使用 THEIRS显示未跟踪文件没有提交信息记录没有可应用的提交信息模板
+ 请选中冲突文件,打开右键菜单,选择合适的解决方式署名已暂存从暂存区移除选中
@@ -739,7 +749,6 @@
暂存所有查看忽略变更文件模板:${0}$
- 请选中冲突文件,打开右键菜单,选择合适的解决方式工作区:配置工作区...本地工作树
diff --git a/src/Resources/Locales/zh_TW.axaml b/src/Resources/Locales/zh_TW.axaml
index 66bcc33ac..d71281f73 100644
--- a/src/Resources/Locales/zh_TW.axaml
+++ b/src/Resources/Locales/zh_TW.axaml
@@ -2,19 +2,20 @@
+
關於關於 SourceGit開源免費的 Git 客戶端新增工作區
- 簽出分支方式:
- 已有分支
- 建立新分支工作區路徑:填寫該工作區的路徑。支援相對路徑。分支名稱:選填。預設使用目標資料夾名稱。追蹤分支設定遠端追蹤分支
+ 簽出分支方式:
+ 建立新分支
+ 已有分支AI 助理重新產生使用 AI 產生提交訊息
@@ -64,8 +65,8 @@
追蹤上游分支不存在或已刪除!位元組取 消
- 重設檔案為此版本重設檔案到上一版本
+ 重設檔案為此版本產生提交訊息切換變更顯示模式檔案名稱 + 路徑列表模式
@@ -73,12 +74,12 @@
檔案目錄樹狀結構模式簽出 (checkout) 分支簽出 (checkout) 提交
- 注意: 執行該操作後,目前 HEAD 會變為分離 (detached) 狀態!提交:
- 目標分支:
+ 注意: 執行該操作後,目前 HEAD 會變為分離 (detached) 狀態!未提交變更:捨棄變更擱置變更並自動復原
+ 目標分支:揀選提交提交資訊中追加來源資訊提交列表:
@@ -97,9 +98,9 @@
遠端存放庫:關閉提交訊息編輯器
+ 簽出 (checkout) 此提交揀選 (cherry-pick) 此提交揀選 (cherry-pick)...
- 簽出 (checkout) 此提交與目前 HEAD 比較與本機工作區比較複製摘要資訊
@@ -134,12 +135,12 @@
相關參照提交編號在瀏覽器中檢視
- 填寫提交訊息標題詳細描述
+ 填寫提交訊息標題存放庫設定提交訊息範本
- 範本名稱:範本內容:
+ 範本名稱:自訂動作指令參數:使用 ${REPO} 表示存放庫路徑、${BRANCH} 表示所選的分支、${SHA} 表示所選的提交編號
@@ -156,6 +157,7 @@
啟用定時自動提取 (fetch) 遠端更新分鐘預設遠端存放庫
+ 首選合併模式Issue 追蹤新增符合 Azure DevOps 規則新增符合 Gitee 議題規則
@@ -179,6 +181,10 @@
工作區顏色啟動時還原上次開啟的存放庫
+ 确认继续
+ 未包含任何檔案變更! 您是否仍要提交 (--allow-empty)?
+ 自动暂存并提交
+ 未包含任何檔案變更! 您是否仍要提交 (--allow-empty)或者自動暫存全部變更並提交?產生約定式提交訊息破壞性變更:關閉的 Issue:
@@ -188,8 +194,8 @@
類型:複製複製全部內容
- 複製路徑複製完整路徑
+ 複製路徑新增分支...新分支基於:完成後切換到新分支
@@ -225,8 +231,8 @@
路徑:目標:所有子節點都會從清單中移除。
- 刪除群組確認只會從清單中移除,而不會刪除磁碟中的檔案!
+ 刪除群組確認刪除存放庫確認刪除子模組確認子模組路徑:
@@ -295,11 +301,11 @@
取消暫存從暫存中移除 {0} 個檔案取消暫存選取的變更
- 使用對方版本 (checkout --theirs)使用我方版本 (checkout --ours)
+ 使用對方版本 (checkout --theirs)檔案歷史
- 檔案内容檔案變更
+ 檔案内容Git 工作流開發分支:功能分支:
@@ -329,8 +335,8 @@
規則:加入 LFS 追蹤檔案規則提取 (fetch)
- 提取 LFS 物件執行 `git lfs fetch` 以下載遠端 LFS 物件,但不會更新工作副本。
+ 提取 LFS 物件啟用 Git LFS 支援顯示 LFS 物件鎖沒有鎖定的 LFS 物件
@@ -342,11 +348,11 @@
清理 (prune)執行 `git lfs prune` 以從本機中清理目前版本不需要的 LFS 物件拉取 (pull)
- 拉取 LFS 物件執行 `git lfs pull` 以下載遠端 LFS 物件並更新工作副本。
+ 拉取 LFS 物件推送 (push)
- 推送 LFS 物件將大型檔案推送到 Git LFS 遠端服務
+ 推送 LFS 物件遠端存放庫:追蹤名稱為「{0}」的檔案追蹤所有 *{0} 檔案
@@ -365,8 +371,8 @@
取消彈出面板複製 (clone) 遠端存放庫關閉目前頁面
- 切換到上一個頁面切換到下一個頁面
+ 切換到上一個頁面新增頁面開啟偏好設定面板存放庫頁面快速鍵
@@ -377,11 +383,11 @@
捨棄選取的變更提取 (fetch) 遠端的變更切換左邊欄為分支/標籤等顯示模式 (預設)
+ 切換左邊欄為歷史搜尋模式拉取 (pull) 遠端的變更推送 (push) 本機變更到遠端存放庫強制重新載入存放庫暫存或取消暫存選取的變更
- 切換左邊欄為歷史搜尋模式顯示本機變更顯示歷史記錄顯示擱置變更列表
@@ -390,9 +396,9 @@
前往下一個搜尋相符的位置前往上一個搜尋相符的位置開啟搜尋面板
+ 捨棄暫存取消暫存
- 捨棄初始化存放庫路徑:揀選 (cherry-pick) 操作進行中。
@@ -404,10 +410,10 @@
復原提交操作進行中。正在復原提交互動式重定基底
- 目標分支:起始提交:
- 在瀏覽器中開啟連結
+ 目標分支:複製連結
+ 在瀏覽器中開啟連結發生錯誤系統提示合併分支
@@ -433,16 +439,16 @@
複製存放庫路徑新分頁貼上
- 剛剛
- {0} 分鐘前
+ {0} 天前1 小時前{0} 小時前
- 昨天
- {0} 天前
+ 剛剛上個月
- {0} 個月前一年前
+ {0} 分鐘前
+ {0} 個月前{0} 年前
+ 昨天偏好設定AI分析變更差異提示詞
@@ -483,24 +489,24 @@
電子郵件預設 Git 使用者電子郵件拉取變更時進行清理 (--prune)
+ 本軟體要求 Git 最低版本為 2.23.0安裝路徑啟用 HTTP SSL 驗證使用者名稱預設 Git 使用者名稱Git 版本
- 本軟體要求 Git 最低版本為 2.23.0GPG 簽章啟用提交簽章
- 啟用標籤簽章GPG 簽章格式可執行檔案路徑填寫 gpg.exe 所在路徑
+ 啟用標籤簽章使用者簽章金鑰填寫簽章提交所使用的金鑰第三方工具整合終端機/Shell
- 終端機/Shell安裝路徑
+ 終端機/Shell清理遠端已刪除分支目標:清理工作區
@@ -667,11 +673,11 @@
提交統計提交次數提交者
+ 總覽本月本週
- 提交次數:貢獻者人數:
- 總覽
+ 提交次數:子模組新增子模組複製路徑
@@ -686,13 +692,13 @@
刪除 ${0}$...合併 ${0}$ 到 ${1}$...推送 ${0}$...
- 存放庫網址:更新子模組更新所有子模組啟用 [--init] 選項啟用 [--recursive] 選項子模組:啟用 [--remote] 選項
+ 存放庫網址:警告起始頁新增群組
@@ -705,8 +711,8 @@
開啟所有包含存放庫開啟本機存放庫開啟終端機
- 快速搜尋存放庫...重新掃描預設複製 (clone) 目錄下的存放庫
+ 快速搜尋存放庫...排序本機變更加入至 .gitignore 忽略清單
@@ -722,13 +728,17 @@
觸發點擊事件提交 (修改原始提交)自動暫存全部變更並提交
- 您已暫存 {0} 檔案,但只顯示 {1} 檔案 ({2} 檔案被篩選器隱藏)。您要繼續嗎?
- 未包含任何檔案變更! 您是否仍要提交 (--allow-empty)?
+ 您已暫存 {0} 檔案,但只顯示 {1} 檔案 ({2} 檔案被篩選器隱藏)。您要繼續嗎?檢測到衝突
+ 使用外部合併工具開啟
+ 使用外部合併工具開啟檔案衝突已解決
+ 使用 MINE
+ 使用 THEIRS顯示未追蹤檔案沒有提交訊息記錄沒有可套用的提交訊息範本
+ 請選擇發生衝突的檔案,開啟右鍵選單,選擇合適的解決方式署名已暫存取消暫存選取的檔案
@@ -738,7 +748,6 @@
暫存所有檔案檢視不追蹤變更的檔案範本: ${0}$
- 請選擇發生衝突的檔案,開啟右鍵選單,選擇合適的解決方式工作區:設定工作區...本機工作區
diff --git a/src/ViewModels/CommitDetail.cs b/src/ViewModels/CommitDetail.cs
index d04e674b0..2d7581334 100644
--- a/src/ViewModels/CommitDetail.cs
+++ b/src/ViewModels/CommitDetail.cs
@@ -548,7 +548,7 @@ public ContextMenu CreateRevisionFileContextMenu(Models.Object file)
menu.Items.Add(resetToThisRevision);
menu.Items.Add(resetToFirstParent);
- menu.Items.Add(new MenuItem() { Header = "-" });
+ menu.Items.Add(new MenuItem { Header = "-" });
if (File.Exists(Path.Combine(fullPath)))
TryToAddContextMenuItemsForGitLFS(menu, file.Path);
@@ -590,8 +590,31 @@ private void Refresh()
if (_commit == null)
return;
- if (_cancellationSource is { IsCancellationRequested: false })
- _cancellationSource.Cancel();
+ var sha = _commit.SHA;
+
+ if (_lineCountCache.TryGetValue(sha, out var lineCount))
+ {
+ _commit.AddedLines = lineCount.added;
+ _commit.RemovedLines = lineCount.removed;
+ }
+ else
+ {
+ Task.Run(() =>
+ {
+ (var addedLines, var removedLines) = new Commands.QueryCommitChangedLines(_repo.FullPath, sha).Result();
+ _lineCountCache[sha] = (addedLines, removedLines);
+
+ Dispatcher.UIThread.Invoke(() => {
+ if (_commit != null && _commit.SHA == sha)
+ {
+ _commit.AddedLines = addedLines;
+ _commit.RemovedLines = removedLines;
+ }
+ });
+ });
+ }
+
+ if (_cancellationSource is { IsCancellationRequested: false }) _cancellationSource.Cancel();
_cancellationSource = new CancellationTokenSource();
var token = _cancellationSource.Token;
@@ -654,6 +677,24 @@ private void Refresh()
});
}
+ public void PreloadLineCountData(List commitSHAs)
+ {
+ if (commitSHAs == null || commitSHAs.Count == 0)
+ return;
+
+ Task.Run(() =>
+ {
+ foreach (var sha in commitSHAs)
+ {
+ if (!_lineCountCache.ContainsKey(sha))
+ {
+ var (addedLines, removedLines) = new Commands.QueryCommitChangedLines(_repo.FullPath, sha).Result();
+ _lineCountCache[sha] = (addedLines, removedLines);
+ }
+ }
+ });
+ }
+
private List ParseLinksInMessage(string message)
{
var links = new List();
@@ -878,6 +919,7 @@ private void CalcRevisionFileSearchSuggestion()
private CancellationTokenSource _cancellationSource = null;
private List _revisionFiles = null;
private string _revisionFileSearchFilter = string.Empty;
+ private Dictionary _lineCountCache = new Dictionary();
private List _revisionFileSearchSuggestion = null;
}
}
diff --git a/src/ViewModels/ConfirmEmptyCommit.cs b/src/ViewModels/ConfirmEmptyCommit.cs
new file mode 100644
index 000000000..87178b75e
--- /dev/null
+++ b/src/ViewModels/ConfirmEmptyCommit.cs
@@ -0,0 +1,38 @@
+using System;
+
+namespace SourceGit.ViewModels
+{
+ public class ConfirmEmptyCommit
+ {
+ public bool HasLocalChanges
+ {
+ get;
+ private set;
+ }
+
+ public string Message
+ {
+ get;
+ private set;
+ }
+
+ public ConfirmEmptyCommit(bool hasLocalChanges, Action onSure)
+ {
+ HasLocalChanges = hasLocalChanges;
+ Message = App.Text(hasLocalChanges ? "ConfirmEmptyCommit.WithLocalChanges" : "ConfirmEmptyCommit.NoLocalChanges");
+ _onSure = onSure;
+ }
+
+ public void StageAllThenCommit()
+ {
+ _onSure?.Invoke(true);
+ }
+
+ public void Continue()
+ {
+ _onSure?.Invoke(false);
+ }
+
+ private Action _onSure;
+ }
+}
diff --git a/src/ViewModels/CreateBranch.cs b/src/ViewModels/CreateBranch.cs
index 37db00651..6d7fe27ae 100644
--- a/src/ViewModels/CreateBranch.cs
+++ b/src/ViewModels/CreateBranch.cs
@@ -6,7 +6,7 @@ namespace SourceGit.ViewModels
public class CreateBranch : Popup
{
[Required(ErrorMessage = "Branch name is required!")]
- [RegularExpression(@"^[\w \-/\.#]+$", ErrorMessage = "Bad branch name format!")]
+ [RegularExpression(@"^[\w \-/\.#\+]+$", ErrorMessage = "Bad branch name format!")]
[CustomValidation(typeof(CreateBranch), nameof(ValidateBranchName))]
public string Name
{
diff --git a/src/ViewModels/Histories.cs b/src/ViewModels/Histories.cs
index 01114dd32..b0bbff3c9 100644
--- a/src/ViewModels/Histories.cs
+++ b/src/ViewModels/Histories.cs
@@ -419,12 +419,6 @@ public ContextMenu MakeContextMenu(ListBox list)
squash.Icon = App.CreateMenuIcon("Icons.SquashIntoParent");
squash.Click += (_, e) =>
{
- if (_repo.LocalChangesCount > 0)
- {
- App.RaiseException(_repo.FullPath, "You have local changes. Please run stash or discard first.");
- return;
- }
-
if (_repo.CanCreatePopup())
_repo.ShowPopup(new Squash(_repo, commit, commit.SHA));
@@ -458,12 +452,6 @@ public ContextMenu MakeContextMenu(ListBox list)
squash.IsEnabled = commit.Parents.Count == 1;
squash.Click += (_, e) =>
{
- if (_repo.LocalChangesCount > 0)
- {
- App.RaiseException(_repo.FullPath, "You have local changes. Please run stash or discard first.");
- return;
- }
-
if (commit.Parents.Count == 1)
{
var parent = _commits.Find(x => x.SHA == commit.Parents[0]);
diff --git a/src/ViewModels/Merge.cs b/src/ViewModels/Merge.cs
index be9388674..faadaf577 100644
--- a/src/ViewModels/Merge.cs
+++ b/src/ViewModels/Merge.cs
@@ -69,9 +69,14 @@ public override Task Sure()
private Models.MergeMode AutoSelectMergeMode()
{
+ var preferredMergeModeIdx = _repo.Settings.PreferredMergeMode;
+ if (preferredMergeModeIdx < 0 || preferredMergeModeIdx > Models.MergeMode.Supported.Length)
+ preferredMergeModeIdx = 0;
+
+ var defaultMergeMode = Models.MergeMode.Supported[preferredMergeModeIdx];
var config = new Commands.Config(_repo.FullPath).Get($"branch.{Into}.mergeoptions");
if (string.IsNullOrEmpty(config))
- return Models.MergeMode.Supported[0];
+ return defaultMergeMode;
if (config.Equals("--ff-only", StringComparison.Ordinal))
return Models.MergeMode.Supported[1];
if (config.Equals("--no-ff", StringComparison.Ordinal))
@@ -81,7 +86,7 @@ private Models.MergeMode AutoSelectMergeMode()
if (config.Equals("--no-commit", StringComparison.Ordinal) || config.Equals("--no-ff --no-commit", StringComparison.Ordinal))
return Models.MergeMode.Supported[4];
- return Models.MergeMode.Supported[0];
+ return defaultMergeMode;
}
private readonly Repository _repo = null;
diff --git a/src/ViewModels/RenameBranch.cs b/src/ViewModels/RenameBranch.cs
index 0679a5b55..f78eb46b0 100644
--- a/src/ViewModels/RenameBranch.cs
+++ b/src/ViewModels/RenameBranch.cs
@@ -12,7 +12,7 @@ public Models.Branch Target
}
[Required(ErrorMessage = "Branch name is required!!!")]
- [RegularExpression(@"^[\w \-/\.#]+$", ErrorMessage = "Bad branch name format!")]
+ [RegularExpression(@"^[\w \-/\.#\+]+$", ErrorMessage = "Bad branch name format!")]
[CustomValidation(typeof(RenameBranch), nameof(ValidateBranchName))]
public string Name
{
diff --git a/src/ViewModels/RepositoryConfigure.cs b/src/ViewModels/RepositoryConfigure.cs
index 3f590758d..9a3bc9c46 100644
--- a/src/ViewModels/RepositoryConfigure.cs
+++ b/src/ViewModels/RepositoryConfigure.cs
@@ -36,6 +36,19 @@ public string DefaultRemote
}
}
+ public int PreferredMergeMode
+ {
+ get => _repo.Settings.PreferredMergeMode;
+ set
+ {
+ if (_repo.Settings.PreferredMergeMode != value)
+ {
+ _repo.Settings.PreferredMergeMode = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
public bool GPGCommitSigningEnabled
{
get;
diff --git a/src/ViewModels/Squash.cs b/src/ViewModels/Squash.cs
index 198dbe9ae..eceb8339f 100644
--- a/src/ViewModels/Squash.cs
+++ b/src/ViewModels/Squash.cs
@@ -33,9 +33,28 @@ public override Task Sure()
return Task.Run(() =>
{
- var succ = new Commands.Reset(_repo.FullPath, Target.SHA, "--soft").Exec();
+ var autoStashed = false;
+ var succ = false;
+
+ if (_repo.LocalChangesCount > 0)
+ {
+ succ = new Commands.Stash(_repo.FullPath).Push("SQUASH_AUTO_STASH");
+ if (!succ)
+ {
+ CallUIThread(() => _repo.SetWatcherEnabled(true));
+ return false;
+ }
+
+ autoStashed = true;
+ }
+
+ succ = new Commands.Reset(_repo.FullPath, Target.SHA, "--soft").Exec();
if (succ)
succ = new Commands.Commit(_repo.FullPath, _message, true, _repo.Settings.EnableSignOffForCommit).Run();
+
+ if (succ && autoStashed)
+ new Commands.Stash(_repo.FullPath).Pop("stash@{0}");
+
CallUIThread(() => _repo.SetWatcherEnabled(true));
return succ;
});
diff --git a/src/ViewModels/WorkingCopy.cs b/src/ViewModels/WorkingCopy.cs
index a0933ea3b..802c6c5da 100644
--- a/src/ViewModels/WorkingCopy.cs
+++ b/src/ViewModels/WorkingCopy.cs
@@ -243,7 +243,7 @@ public void SetData(List changes)
// Just force refresh selected changes.
Dispatcher.UIThread.Invoke(() =>
{
- HasUnsolvedConflicts = _cached.Find(x => x.IsConflit) != null;
+ HasUnsolvedConflicts = _cached.Find(x => x.IsConflict) != null;
UpdateDetail();
UpdateInProgressState();
@@ -275,7 +275,7 @@ public void SetData(List changes)
if (c.WorkTree != Models.ChangeState.None)
{
unstaged.Add(c);
- hasConflict |= c.IsConflit;
+ hasConflict |= c.IsConflict;
}
}
@@ -314,6 +314,12 @@ public void SetData(List changes)
});
}
+ public void OpenExternalMergeToolAllConflicts()
+ {
+ // No arg, mergetool runs on all files with merge conflicts!
+ UseExternalMergeTool(null);
+ }
+
public void OpenAssumeUnchanged()
{
App.OpenDialog(new Views.AssumeUnchangedManager()
@@ -373,7 +379,7 @@ public async void UseTheirs(List changes)
foreach (var change in changes)
{
- if (!change.IsConflit)
+ if (!change.IsConflict)
continue;
if (change.WorkTree == Models.ChangeState.Deleted)
@@ -413,7 +419,7 @@ public async void UseMine(List changes)
foreach (var change in changes)
{
- if (!change.IsConflit)
+ if (!change.IsConflict)
continue;
if (change.Index == Models.ChangeState.Deleted)
@@ -448,7 +454,8 @@ public async void UseExternalMergeTool(Models.Change change)
{
var toolType = Preferences.Instance.ExternalMergeToolType;
var toolPath = Preferences.Instance.ExternalMergeToolPath;
- await Task.Run(() => Commands.MergeTool.OpenForMerge(_repo.FullPath, toolType, toolPath, change.Path));
+ var file = change?.Path; // NOTE: With no arg, mergetool runs on on every file with merge conflicts!
+ await Task.Run(() => Commands.MergeTool.OpenForMerge(_repo.FullPath, toolType, toolPath, file));
}
public void ContinueMerge()
@@ -585,7 +592,7 @@ public ContextMenu CreateContextMenuForUnstagedChanges()
menu.Items.Add(openWith);
menu.Items.Add(new MenuItem() { Header = "-" });
- if (change.IsConflit)
+ if (change.IsConflict)
{
var useTheirs = new MenuItem();
useTheirs.Icon = App.CreateMenuIcon("Icons.Incoming");
@@ -924,20 +931,20 @@ public ContextMenu CreateContextMenuForUnstagedChanges()
else
{
var hasConflicts = false;
- var hasNoneConflicts = false;
+ var hasNonConflicts = false;
foreach (var change in _selectedUnstaged)
{
- if (change.IsConflit)
+ if (change.IsConflict)
hasConflicts = true;
else
- hasNoneConflicts = true;
+ hasNonConflicts = true;
}
if (hasConflicts)
{
- if (hasNoneConflicts)
+ if (hasNonConflicts)
{
- App.RaiseException(_repo.FullPath, "You have selected both non-conflict changes with conflicts!");
+ App.RaiseException(_repo.FullPath, "Selection contains both conflict and non-conflict changes!");
return null;
}
@@ -1644,7 +1651,7 @@ private void SetDetail(Models.Change change, bool isUnstaged)
if (change == null)
DetailContext = null;
- else if (change.IsConflit && isUnstaged)
+ else if (change.IsConflict && isUnstaged)
DetailContext = new Conflict(_repo, this, change);
else
DetailContext = new DiffContext(_repo.FullPath, new Models.DiffOption(change, isUnstaged), _detailContext as DiffContext);
@@ -1652,6 +1659,9 @@ private void SetDetail(Models.Change change, bool isUnstaged)
private void DoCommit(bool autoStage, bool autoPush, bool allowEmpty = false, bool confirmWithFilter = false)
{
+ if (string.IsNullOrWhiteSpace(_commitMessage))
+ return;
+
if (!_repo.CanCreatePopup())
{
App.RaiseException(_repo.FullPath, "Repository has unfinished job! Please wait!");
@@ -1672,22 +1682,15 @@ private void DoCommit(bool autoStage, bool autoPush, bool allowEmpty = false, bo
return;
}
- if (string.IsNullOrWhiteSpace(_commitMessage))
- {
- App.RaiseException(_repo.FullPath, "Commit without message is NOT allowed!");
- return;
- }
-
if (!_useAmend && !allowEmpty)
{
if ((autoStage && _count == 0) || (!autoStage && _staged.Count == 0))
{
- var confirmMessage = App.Text("WorkingCopy.ConfirmCommitWithoutFiles");
- App.OpenDialog(new Views.ConfirmCommit()
+ App.OpenDialog(new Views.ConfirmEmptyCommit()
{
- DataContext = new ConfirmCommit(confirmMessage, () =>
+ DataContext = new ConfirmEmptyCommit(_count > 0, stageAll =>
{
- DoCommit(autoStage, autoPush, true, confirmWithFilter);
+ DoCommit(stageAll, autoPush, true, confirmWithFilter);
})
});
diff --git a/src/Views/ChangeStatusIcon.cs b/src/Views/ChangeStatusIcon.cs
index 5d34be09c..7dbd0beb6 100644
--- a/src/Views/ChangeStatusIcon.cs
+++ b/src/Views/ChangeStatusIcon.cs
@@ -93,7 +93,7 @@ public override void Render(DrawingContext context)
string indicator;
if (IsUnstagedChange)
{
- if (Change.IsConflit)
+ if (Change.IsConflict)
{
background = Brushes.OrangeRed;
indicator = "!";
@@ -139,7 +139,7 @@ protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs chang
}
if (isUnstaged)
- ToolTip.SetTip(this, c.IsConflit ? "Conflict" : TIPS[(int)c.WorkTree]);
+ ToolTip.SetTip(this, c.IsConflict ? "Conflict" : TIPS[(int)c.WorkTree]);
else
ToolTip.SetTip(this, TIPS[(int)c.Index]);
diff --git a/src/Views/CommitBaseInfo.axaml b/src/Views/CommitBaseInfo.axaml
index f83b43fcb..6162556e2 100644
--- a/src/Views/CommitBaseInfo.axaml
+++ b/src/Views/CommitBaseInfo.axaml
@@ -51,7 +51,7 @@
-
+
@@ -181,9 +181,32 @@
UseGraphColor="False"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+ {
+ if (e.PropertyName == nameof(detail.Commit))
+ {
+ InvalidateVisual();
+ }
+ };
+ }
+ }
+
private void OnCopyCommitSHA(object sender, RoutedEventArgs e)
{
if (sender is Button { DataContext: Models.Commit commit })
diff --git a/src/Views/ConfirmCommit.axaml b/src/Views/ConfirmCommit.axaml
index 77bbdb30e..a835f0b66 100644
--- a/src/Views/ConfirmCommit.axaml
+++ b/src/Views/ConfirmCommit.axaml
@@ -38,7 +38,7 @@
-
+
diff --git a/src/Views/ConfirmEmptyCommit.axaml b/src/Views/ConfirmEmptyCommit.axaml
new file mode 100644
index 000000000..32a1f2cd2
--- /dev/null
+++ b/src/Views/ConfirmEmptyCommit.axaml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Views/ConfirmEmptyCommit.axaml.cs b/src/Views/ConfirmEmptyCommit.axaml.cs
new file mode 100644
index 000000000..6668ee2c1
--- /dev/null
+++ b/src/Views/ConfirmEmptyCommit.axaml.cs
@@ -0,0 +1,29 @@
+using Avalonia.Interactivity;
+
+namespace SourceGit.Views
+{
+ public partial class ConfirmEmptyCommit : ChromelessWindow
+ {
+ public ConfirmEmptyCommit()
+ {
+ InitializeComponent();
+ }
+
+ private void StageAllThenCommit(object _1, RoutedEventArgs _2)
+ {
+ (DataContext as ViewModels.ConfirmEmptyCommit)?.StageAllThenCommit();
+ Close();
+ }
+
+ private void Continue(object _1, RoutedEventArgs _2)
+ {
+ (DataContext as ViewModels.ConfirmEmptyCommit)?.Continue();
+ Close();
+ }
+
+ private void CloseWindow(object _1, RoutedEventArgs _2)
+ {
+ Close();
+ }
+ }
+}
diff --git a/src/Views/Conflict.axaml b/src/Views/Conflict.axaml
index 2dce264e1..f2d7bdec3 100644
--- a/src/Views/Conflict.axaml
+++ b/src/Views/Conflict.axaml
@@ -12,83 +12,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
@@ -105,9 +105,24 @@
-
-
-
+
+
+
diff --git a/src/Views/RepositoryConfigure.axaml b/src/Views/RepositoryConfigure.axaml
index e41375b95..ee1d6fa8e 100644
--- a/src/Views/RepositoryConfigure.axaml
+++ b/src/Views/RepositoryConfigure.axaml
@@ -44,7 +44,7 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
diff --git a/src/Views/Statistics.axaml b/src/Views/Statistics.axaml
index 0c0024075..3bbdafbe4 100644
--- a/src/Views/Statistics.axaml
+++ b/src/Views/Statistics.axaml
@@ -136,7 +136,7 @@
-
+
-
-
-
+
+
+
+
-
+
@@ -177,7 +181,7 @@
-
+
diff --git a/src/Views/WorkingCopy.axaml b/src/Views/WorkingCopy.axaml
index 94dd0c301..41d80b047 100644
--- a/src/Views/WorkingCopy.axaml
+++ b/src/Views/WorkingCopy.axaml
@@ -61,7 +61,7 @@
-
+
@@ -81,6 +81,15 @@
ToolTip.Tip="{DynamicResource Text.WorkingCopy.IncludeUntracked}"
IsChecked="{Binding IncludeUntracked, Mode=TwoWay}"/>
+
-
-
@@ -295,7 +304,9 @@
-
+
@@ -309,7 +320,6 @@
Command="{Binding Commit}"
HotKey="{OnPlatform Ctrl+Enter, macOS=⌘+Enter}"
IsVisible="{Binding InProgressContext, Converter={x:Static ObjectConverters.IsNull}}"
- IsEnabled="{Binding !IsCommitting}"
ToolTip.Placement="Top"
ToolTip.VerticalOffset="0">
@@ -324,6 +334,13 @@
+
+
+
+
+
+
+
@@ -331,8 +348,14 @@
Width="0" Height="0"
Background="Transparent"
Command="{Binding CommitWithAutoStage}"
- HotKey="{OnPlatform Ctrl+Shift+Enter, macOS=⌘+Shift+Enter}"
- IsEnabled="{Binding !IsCommitting}"/>
+ HotKey="{OnPlatform Ctrl+Shift+Enter, macOS=⌘+Shift+Enter}">
+
+
+
+
+
+
+