Files

422 lines
18 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="0" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<!-- ==================== Commit Message Analyzer ==================== -->
<data name="Analyzer_MessageEmpty" xml:space="preserve">
<value>Commit message is empty</value>
</data>
<data name="Analyzer_SubjectTooShort" xml:space="preserve">
<value>Subject is {0} chars, minimum is {1}</value>
</data>
<data name="Analyzer_SubjectTooLong" xml:space="preserve">
<value>Subject is {0} chars, recommended max is {1}</value>
</data>
<data name="Analyzer_BannedPhrase" xml:space="preserve">
<value>Subject uses non-descriptive phrase: '{0}'</value>
</data>
<data name="Analyzer_NotConventional" xml:space="preserve">
<value>Message doesn't follow conventional commit format (type: subject)</value>
</data>
<data name="Analyzer_UnknownType" xml:space="preserve">
<value>Unknown conventional commit type: {0}</value>
</data>
<data name="Analyzer_NoIssueRef" xml:space="preserve">
<value>No issue reference found (e.g., #123 or JIRA-123)</value>
</data>
<data name="Analyzer_CapitalLetter" xml:space="preserve">
<value>Subject should start with a capital letter</value>
</data>
<data name="Analyzer_NoPeriod" xml:space="preserve">
<value>Subject should not end with a period</value>
</data>
<data name="Analyzer_ImperativeMood" xml:space="preserve">
<value>Use imperative mood: '{0}' → '{1}' (e.g., 'Add' not 'Added')</value>
</data>
<data name="Analyzer_BodyTooShort" xml:space="preserve">
<value>Body is {0} chars, minimum is {1}</value>
</data>
<data name="Analyzer_BlankLine" xml:space="preserve">
<value>Add a blank line between subject and body</value>
</data>
<data name="Analyzer_NotDescriptive" xml:space="preserve">
<value>'{0}' doesn't describe what changed in {1} files</value>
</data>
<data name="Analyzer_TooVague" xml:space="preserve">
<value>Message is too vague for {0} changed files - describe WHAT changed</value>
</data>
<data name="Analyzer_LargeChange" xml:space="preserve">
<value>Large change ({0} files, {1} lines) deserves a more descriptive message</value>
</data>
<data name="Analyzer_MajorChange" xml:space="preserve">
<value>Major change ({0} files) should include a body explaining why</value>
</data>
<data name="Analyzer_MentionArea" xml:space="preserve">
<value>Consider mentioning what area changed (files: {0})</value>
</data>
<!-- ==================== Git Operations Service ==================== -->
<data name="Git_NoCommits" xml:space="preserve">
<value>No commits in repository</value>
</data>
<data name="Git_CommitNotFound" xml:space="preserve">
<value>Commit not found: {0}</value>
</data>
<data name="Git_NotAncestor" xml:space="preserve">
<value>Target commit is not an ancestor of HEAD</value>
</data>
<data name="Git_NoTargetCommits" xml:space="preserve">
<value>Could not find any target commits in repository</value>
</data>
<data name="Git_ParentMismatch" xml:space="preserve">
<value>Commit creation failed: parent mismatch for commit {0}</value>
</data>
<data name="Git_HeadUpdateFailed" xml:space="preserve">
<value>Failed to update HEAD to new commit {0}</value>
</data>
<data name="Git_VerificationFailed" xml:space="preserve">
<value>Disk verification failed: HEAD should be {0} but is {1}</value>
</data>
<data name="Git_OldCommitReachable" xml:space="preserve">
<value>Old commit {0} still reachable from HEAD after rewrite</value>
</data>
<data name="Git_Error" xml:space="preserve">
<value>Git error: {0}</value>
</data>
<data name="Git_RemoteNotFound" xml:space="preserve">
<value>Remote '{0}' not found</value>
</data>
<data name="Git_NoUpstreamNoOrigin" xml:space="preserve">
<value>No upstream branch configured and no 'origin' remote found.
Set tracking manually with: git push -u origin {0}</value>
</data>
<data name="Git_ForcePushSuccess" xml:space="preserve">
<value>Force push successful</value>
</data>
<data name="Git_ForcePushedTo" xml:space="preserve">
<value>Force pushed to origin/{0}</value>
</data>
<data name="Git_ProcessFailed" xml:space="preserve">
<value>Failed to start git process</value>
</data>
<data name="Git_ForcePushSuccessCmd" xml:space="preserve">
<value>Force push successful (via git command)</value>
</data>
<data name="Git_PushFailed" xml:space="preserve">
<value>Push failed: {0}</value>
</data>
<data name="Git_CommandFailed" xml:space="preserve">
<value>Failed to run git command: {0}</value>
</data>
<data name="Git_NoUpstream" xml:space="preserve">
<value>No upstream branch configured. Set tracking with: git push -u origin &lt;branch&gt;</value>
</data>
<data name="Git_NonFastForward" xml:space="preserve">
<value>Push rejected: non-fast-forward. Pull changes first or use force push.</value>
</data>
<data name="Git_PushSuccessCmd" xml:space="preserve">
<value>Push successful (via git command)</value>
</data>
<!-- ==================== Cleanup Executor ==================== -->
<data name="Cleanup_PushedCommitsBlocked" xml:space="preserve">
<value>Some commits have been pushed. Enable 'AllowPushedCommits' to proceed.</value>
</data>
<data name="Cleanup_NotImplemented" xml:space="preserve">
<value>Cleanup type '{0}' is not yet implemented</value>
</data>
<data name="Cleanup_Rebuilding" xml:space="preserve">
<value>Rebuilding commit history...</value>
</data>
<data name="Cleanup_RebuildingCount" xml:space="preserve">
<value>Rebuilding {0} commits...</value>
</data>
<data name="Cleanup_ProcessingCommit" xml:space="preserve">
<value>Processing commit {0}/{1}...</value>
</data>
<data name="Cleanup_UpdatingBranch" xml:space="preserve">
<value>Updating branch reference...</value>
</data>
<data name="Cleanup_SquashingMerges" xml:space="preserve">
<value>Squashing merge commits...</value>
</data>
<data name="Cleanup_DropDuplicatesFailed" xml:space="preserve">
<value>Failed to drop duplicate commits: {0}</value>
</data>
<data name="Cleanup_NeedTwoCommits" xml:space="preserve">
<value>Need at least 2 commits to squash</value>
</data>
<data name="Cleanup_NoCommitsOnBranch" xml:space="preserve">
<value>No commits found on current branch</value>
</data>
<data name="Cleanup_NoMatchingCommits" xml:space="preserve">
<value>No matching commits found to drop</value>
</data>
<data name="Cleanup_NoCommitsToSquash" xml:space="preserve">
<value>No commits specified to squash</value>
</data>
<data name="Cleanup_NoMergeCommits" xml:space="preserve">
<value>No matching merge commits found to squash</value>
</data>
<data name="Cleanup_SquashMergeFailed" xml:space="preserve">
<value>Failed to squash merge commits: {0}</value>
</data>
<data name="Cleanup_NoCommitsToFix" xml:space="preserve">
<value>No commits specified to fix</value>
</data>
<data name="Cleanup_FixAuthorFailed" xml:space="preserve">
<value>Failed to fix authorship: {0}</value>
</data>
<data name="Cleanup_ConsolidatingFixes" xml:space="preserve">
<value>Consolidating merge fix commits...</value>
</data>
<data name="Cleanup_NoFixCommits" xml:space="preserve">
<value>No fix commits to consolidate</value>
</data>
<data name="Cleanup_NoMatchingFixes" xml:space="preserve">
<value>No matching fix commits found to consolidate</value>
</data>
<data name="Cleanup_ConsolidateFailed" xml:space="preserve">
<value>Failed to consolidate merge fix commits: {0}</value>
</data>
<data name="Cleanup_ArchivingBranches" xml:space="preserve">
<value>Archiving stale branches...</value>
</data>
<data name="Cleanup_ProcessingBranch" xml:space="preserve">
<value>Processing branch {0}...</value>
</data>
<data name="Cleanup_ArchiveComplete" xml:space="preserve">
<value>Archive complete</value>
</data>
<data name="Cleanup_ArchiveFailed" xml:space="preserve">
<value>Failed to archive branches: {0}</value>
</data>
<data name="Cleanup_AnalyzingStructure" xml:space="preserve">
<value>Analyzing branch structure...</value>
</data>
<data name="Cleanup_FoundCommits" xml:space="preserve">
<value>Found {0} commits to linearize...</value>
</data>
<data name="Cleanup_Linearizing" xml:space="preserve">
<value>Linearizing {0} commits (removing {1} merges)...</value>
</data>
<data name="Cleanup_RebuildingCommit" xml:space="preserve">
<value>Rebuilding commit {0}/{1}...</value>
</data>
<data name="Cleanup_Reconciling" xml:space="preserve">
<value>Reconciling final state...</value>
</data>
<data name="Cleanup_AlreadyLinear" xml:space="preserve">
<value>History is already linear - no merge commits found</value>
</data>
<data name="Cleanup_LinearizeComplete" xml:space="preserve">
<value>Linearization complete</value>
</data>
<data name="Cleanup_LinearizeFailed" xml:space="preserve">
<value>Failed to linearize history: {0}</value>
</data>
<data name="Cleanup_DescReword" xml:space="preserve">
<value>Will reword {0} commit message(s) to improve quality.</value>
</data>
<data name="Cleanup_DescSquash" xml:space="preserve">
<value>Will squash {0} duplicate commits into 1.</value>
</data>
<data name="Cleanup_DescConsolidate" xml:space="preserve">
<value>Will consolidate {0} merge-fix commits.</value>
</data>
<data name="Cleanup_DescAuthorship" xml:space="preserve">
<value>Will fix authorship on {0} commit(s).</value>
</data>
<data name="Cleanup_DescTrivialMerges" xml:space="preserve">
<value>Will consolidate {0} trivial merges.</value>
</data>
<data name="Cleanup_DescArchive" xml:space="preserve">
<value>Will archive stale branches (delete if merged, tag otherwise).</value>
</data>
<data name="Cleanup_DescLinearize" xml:space="preserve">
<value>Will linearize history by removing merge commits and sorting by date.</value>
</data>
<data name="Cleanup_DescGeneric" xml:space="preserve">
<value>Will process {0} commit(s).</value>
</data>
<data name="Cleanup_ReconcileMerge" xml:space="preserve">
<value>Reconcile: merge final state after linearization</value>
</data>
<!-- ==================== Validation ==================== -->
<data name="Validation_WorkspaceRequired" xml:space="preserve">
<value>WorkspaceRoot is required</value>
</data>
<data name="Validation_WorkspaceNotFound" xml:space="preserve">
<value>WorkspaceRoot directory does not exist: {0}</value>
</data>
<data name="Validation_MaxCommitsPositive" xml:space="preserve">
<value>MaxCommitsPerRepo must be greater than 0</value>
</data>
<data name="Validation_RulesNull" xml:space="preserve">
<value>Rules cannot be null</value>
</data>
<data name="Validation_AiOptionsNull" xml:space="preserve">
<value>Ai options cannot be null</value>
</data>
<data name="Validation_InvalidOptions" xml:space="preserve">
<value>Invalid GitImproverOptions: {0}</value>
</data>
<data name="Validation_WeightsSum" xml:space="preserve">
<value>Weights must sum to 1.0 (current: {0})</value>
</data>
<!-- ==================== Service Messages ==================== -->
<data name="Service_UnknownError" xml:space="preserve">
<value>Unknown error</value>
</data>
<data name="Service_RepoNotRegistered" xml:space="preserve">
<value>Repository not registered</value>
</data>
<data name="Service_UncommittedChanges" xml:space="preserve">
<value>Cannot rewrite commits with uncommitted changes. Please commit or stash your changes first.</value>
</data>
<data name="Service_RepoNotFound" xml:space="preserve">
<value>Repository not found: {0}</value>
</data>
<data name="Service_NoSuggestion" xml:space="preserve">
<value>No suggested message available</value>
</data>
<data name="Service_RepoNotRegisteredPath" xml:space="preserve">
<value>Repository not registered: {0}</value>
</data>
<data name="Service_ApiKeyNotConfigured" xml:space="preserve">
<value>API key is not configured. Please set your API key in Settings.</value>
</data>
<data name="Service_AiAnalysisFailed" xml:space="preserve">
<value>AI analysis failed</value>
</data>
<data name="Service_AiFallback" xml:space="preserve">
<value>AI did not return structured output - fell back to original message</value>
</data>
<data name="Service_PushSuccess" xml:space="preserve">
<value>Push successful</value>
</data>
<!-- ==================== Health Analyzer Status ==================== -->
<data name="Health_LoadingCommits" xml:space="preserve">
<value>Loading commits</value>
</data>
<data name="Health_DetectingDuplicates" xml:space="preserve">
<value>Detecting duplicates</value>
</data>
<data name="Health_AnalyzingMerges" xml:space="preserve">
<value>Analyzing merge commits</value>
</data>
<data name="Health_AnalyzingBranches" xml:space="preserve">
<value>Analyzing branch complexity</value>
</data>
<data name="Health_AnalyzingMessages" xml:space="preserve">
<value>Analyzing message quality</value>
</data>
<data name="Health_AnalyzingAuthorship" xml:space="preserve">
<value>Analyzing authorship</value>
</data>
<data name="Health_Complete" xml:space="preserve">
<value>Complete</value>
</data>
<!-- ==================== Health Report Issues ==================== -->
<data name="Report_DuplicateContent" xml:space="preserve">
<value>Duplicate commits with identical content</value>
</data>
<data name="Report_DuplicateContentDesc" xml:space="preserve">
<value>Found {0} groups of commits with identical file content ({1} redundant commits). These are safe to squash as they have the same tree SHA.</value>
</data>
<data name="Report_DuplicateMessages" xml:space="preserve">
<value>Commits with duplicate messages</value>
</data>
<data name="Report_DuplicateMessagesDesc" xml:space="preserve">
<value>Found {0} groups of commits with identical messages but different code changes ({1} commits). Consider using more descriptive messages to differentiate changes.</value>
</data>
<data name="Report_ExcessiveMerges" xml:space="preserve">
<value>Excessive merge commits</value>
</data>
<data name="Report_HighMergeRatio" xml:space="preserve">
<value>High merge commit ratio</value>
</data>
<data name="Report_MergeRatioDesc" xml:space="preserve">
<value>Your repository has a {0}% merge commit ratio ({1}/{2} commits). Consider using rebase workflow or squash merges.</value>
</data>
<data name="Report_MergeFixCommits" xml:space="preserve">
<value>Merge fix commits detected</value>
</data>
<data name="Report_MergeFixDesc" xml:space="preserve">
<value>Found {0} commits with messages like 'fix merge' detected after merges.</value>
</data>
<data name="Report_CrossMerges" xml:space="preserve">
<value>Cross-merges between branches</value>
</data>
<data name="Report_CrossMergesDesc" xml:space="preserve">
<value>Detected {0} cross-merges between feature branches. Use feature branches that only merge into main.</value>
</data>
<data name="Report_StaleBranches" xml:space="preserve">
<value>Stale branches</value>
</data>
<data name="Report_StaleBranchesDesc" xml:space="preserve">
<value>Found {0} branches with no activity in 30+ days.</value>
</data>
<!-- ==================== Safety Warnings ==================== -->
<data name="Safety_UncommittedChanges" xml:space="preserve">
<value>You have uncommitted changes. Please commit or stash them first.</value>
</data>
<data name="Safety_PushedCommits" xml:space="preserve">
<value>{0} commit(s) have already been pushed to the remote. Rewriting them will require a force push and may affect collaborators.</value>
</data>
<data name="Safety_BehindRemote" xml:space="preserve">
<value>Your branch is {0} commit(s) behind the remote. Consider pulling first to avoid conflicts.</value>
</data>
<!-- ==================== Health Status ==================== -->
<data name="HealthStatus_NeedsAttention" xml:space="preserve">
<value>Repository has noticeable issues that should be addressed.</value>
</data>
<data name="HealthStatus_Critical" xml:space="preserve">
<value>Repository requires immediate attention. History is severely degraded.</value>
</data>
</root>