Files
QuiCommit/src/i18n/messages.rs

1152 lines
51 KiB
Rust
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

use crate::config::Language;
pub struct Messages {
language: Language,
}
impl Messages {
pub fn new(language: Language) -> Self {
Self { language }
}
pub fn initializing(&self) -> &str {
match self.language {
Language::English => "🚀 Initializing QuiCommit...",
Language::Chinese => "🚀 正在初始化 QuiCommit...",
Language::Japanese => "🚀 QuiCommitを初期化中...",
Language::Korean => "🚀 QuiCommit 초기화 중...",
Language::Spanish => "🚀 Inicializando QuiCommit...",
Language::French => "🚀 Initialisation de QuiCommit...",
Language::German => "🚀 QuiCommit wird initialisiert...",
}
}
pub fn init_success(&self) -> &str {
match self.language {
Language::English => "✅ QuiCommit initialized successfully!",
Language::Chinese => "✅ QuiCommit 初始化成功!",
Language::Japanese => "✅ QuiCommitの初期化が完了しました",
Language::Korean => "✅ QuiCommit 초기화 성공!",
Language::Spanish => "✅ ¡QuiCommit inicializado exitosamente!",
Language::French => "✅ QuiCommit initialisé avec succès !",
Language::German => "✅ QuiCommit erfolgreich initialisiert!",
}
}
pub fn next_steps(&self) -> &str {
match self.language {
Language::English => "Next steps:",
Language::Chinese => "下一步:",
Language::Japanese => "次のステップ:",
Language::Korean => "다음 단계:",
Language::Spanish => "Próximos pasos:",
Language::French => "Prochaines étapes :",
Language::German => "Nächste Schritte:",
}
}
pub fn config_file(&self) -> &str {
match self.language {
Language::English => "Config file:",
Language::Chinese => "配置文件:",
Language::Japanese => "設定ファイル:",
Language::Korean => "구성 파일:",
Language::Spanish => "Archivo de configuración:",
Language::French => "Fichier de configuration :",
Language::German => "Konfigurationsdatei:",
}
}
pub fn setup_profile(&self) -> &str {
match self.language {
Language::English => "Let's set up your first profile:",
Language::Chinese => "让我们设置你的第一个配置文件:",
Language::Japanese => "最初のプロファイルを設定しましょう:",
Language::Korean => "첫 번째 프로필을 설정해 보겠습니다:",
Language::Spanish => "Configuremos tu primer perfil:",
Language::French => "Configurons votre premier profil :",
Language::German => "Lassen Sie uns Ihr erstes Profil einrichten:",
}
}
pub fn profile_name(&self) -> &str {
match self.language {
Language::English => "Profile name",
Language::Chinese => "配置文件名称",
Language::Japanese => "プロファイル名",
Language::Korean => "프로필 이름",
Language::Spanish => "Nombre del perfil",
Language::French => "Nom du profil",
Language::German => "Profilname",
}
}
pub fn git_user_name(&self) -> &str {
match self.language {
Language::English => "Git user name",
Language::Chinese => "Git 用户名",
Language::Japanese => "Gitユーザー名",
Language::Korean => "Git 사용자 이름",
Language::Spanish => "Nombre de usuario de Git",
Language::French => "Nom d'utilisateur Git",
Language::German => "Git-Benutzername",
}
}
pub fn git_user_email(&self) -> &str {
match self.language {
Language::English => "Git user email",
Language::Chinese => "Git 用户邮箱",
Language::Japanese => "Gitユーザーメール",
Language::Korean => "Git 사용자 이메일",
Language::Spanish => "Correo de usuario de Git",
Language::French => "E-mail utilisateur Git",
Language::German => "Git-Benutzer-E-Mail",
}
}
pub fn select_llm_provider(&self) -> &str {
match self.language {
Language::English => "Select your preferred LLM provider:",
Language::Chinese => "选择你偏好的 LLM 提供商:",
Language::Japanese => "好みのLLMプロバイダーを選択",
Language::Korean => "선호하는 LLM 공급자를 선택하세요:",
Language::Spanish => "Selecciona tu proveedor LLM preferido:",
Language::French => "Sélectionnez votre fournisseur LLM préféré :",
Language::German => "Wählen Sie Ihren bevorzugten LLM-Anbieter:",
}
}
pub fn commit_preview(&self) -> &str {
match self.language {
Language::English => "Commit preview:",
Language::Chinese => "提交预览:",
Language::Japanese => "コミットプレビュー:",
Language::Korean => "커밋 미리보기:",
Language::Spanish => "Vista previa del commit:",
Language::French => "Aperçu du commit :",
Language::German => "Commit-Vorschau:",
}
}
pub fn proceed_commit(&self) -> &str {
match self.language {
Language::English => "Do you want to proceed with this commit?",
Language::Chinese => "是否继续此提交?",
Language::Japanese => "このコミットを続行しますか?",
Language::Korean => "이 커밋을 계속하시겠습니까?",
Language::Spanish => "¿Quieres proceder con este commit?",
Language::French => "Voulez-vous procéder à ce commit ?",
Language::German => "Möchten Sie mit diesem Commit fortfahren?",
}
}
pub fn commit_created(&self) -> &str {
match self.language {
Language::English => "Created commit",
Language::Chinese => "已创建提交",
Language::Japanese => "コミットを作成しました",
Language::Korean => "커밋 생성됨",
Language::Spanish => "Commit creado",
Language::French => "Commit créé",
Language::German => "Commit erstellt",
}
}
pub fn commit_amended(&self) -> &str {
match self.language {
Language::English => "Amended commit",
Language::Chinese => "已修改提交",
Language::Japanese => "コミットを修正しました",
Language::Korean => "커밋 수정됨",
Language::Spanish => "Commit enmendado",
Language::French => "Commit modifié",
Language::German => "Commit geändert",
}
}
pub fn commit_cancelled(&self) -> &str {
match self.language {
Language::English => "Commit cancelled.",
Language::Chinese => "提交已取消。",
Language::Japanese => "コミットがキャンセルされました。",
Language::Korean => "커밋이 취소되었습니다.",
Language::Spanish => "Commit cancelado.",
Language::French => "Commit annulé.",
Language::German => "Commit abgebrochen.",
}
}
pub fn tag_preview(&self) -> &str {
match self.language {
Language::English => "Tag preview:",
Language::Chinese => "标签预览:",
Language::Japanese => "タグプレビュー:",
Language::Korean => "태그 미리보기:",
Language::Spanish => "Vista previa de la etiqueta:",
Language::French => "Aperçu de l'étiquette :",
Language::German => "Tag-Vorschau:",
}
}
pub fn create_tag(&self) -> &str {
match self.language {
Language::English => "Create this tag?",
Language::Chinese => "创建此标签?",
Language::Japanese => "このタグを作成しますか?",
Language::Korean => "이 태그를 생성하시겠습니까?",
Language::Spanish => "¿Crear esta etiqueta?",
Language::French => "Créer cette étiquette ?",
Language::German => "Diesen Tag erstellen?",
}
}
pub fn tag_created(&self) -> &str {
match self.language {
Language::English => "Created tag",
Language::Chinese => "已创建标签",
Language::Japanese => "タグを作成しました",
Language::Korean => "태그 생성됨",
Language::Spanish => "Etiqueta creada",
Language::French => "Étiquette créée",
Language::German => "Tag erstellt",
}
}
pub fn tag_cancelled(&self) -> &str {
match self.language {
Language::English => "Tag creation cancelled.",
Language::Chinese => "标签创建已取消。",
Language::Japanese => "タグ作成がキャンセルされました。",
Language::Korean => "태그 생성이 취소되었습니다.",
Language::Spanish => "Creación de etiqueta cancelada.",
Language::French => "Création d'étiquette annulée.",
Language::German => "Tag-Erstellung abgebrochen.",
}
}
pub fn changelog_preview(&self) -> &str {
match self.language {
Language::English => "Changelog preview:",
Language::Chinese => "变更日志预览:",
Language::Japanese => "変更ログプレビュー:",
Language::Korean => "변경 로그 미리보기:",
Language::Spanish => "Vista previa del changelog:",
Language::French => "Aperçu du changelog :",
Language::German => "Changelog-Vorschau:",
}
}
pub fn changelog_written(&self) -> &str {
match self.language {
Language::English => "Changelog written to",
Language::Chinese => "变更日志已写入",
Language::Japanese => "変更ログを書き込みました",
Language::Korean => "변경 로그가 작성됨",
Language::Spanish => "Changelog escrito en",
Language::French => "Changelog écrit dans",
Language::German => "Changelog geschrieben nach",
}
}
pub fn dry_run(&self) -> &str {
match self.language {
Language::English => "Dry run",
Language::Chinese => "试运行",
Language::Japanese => "ドライラン",
Language::Korean => "드라이 런",
Language::Spanish => "Ejecución en seco",
Language::French => "Exécution à blanc",
Language::German => "Testlauf",
}
}
pub fn no_changes(&self) -> &str {
match self.language {
Language::English => "No changes to commit. Working tree is clean.",
Language::Chinese => "没有可提交的更改。工作树是干净的。",
Language::Japanese => "コミットする変更がありません。作業ツリーはクリーンです。",
Language::Korean => "커밋할 변경 사항이 없습니다. 작업 트리가 깨끗합니다.",
Language::Spanish => "No hay cambios para hacer commit. El árbol de trabajo está limpio.",
Language::French => "Aucun changement à commiter. L'arbre de travail est propre.",
Language::German => "Keine Änderungen zum Committen. Arbeitsbaum ist sauber.",
}
}
pub fn staged_all(&self) -> &str {
match self.language {
Language::English => "Staged all changes",
Language::Chinese => "已暂存所有更改",
Language::Japanese => "すべての変更をステージしました",
Language::Korean => "모든 변경 사항을 스테이징함",
Language::Spanish => "Todos los cambios preparados",
Language::French => "Tous les changements indexés",
Language::German => "Alle Änderungen bereitgestellt",
}
}
pub fn auto_stage_changes(&self) -> &str {
match self.language {
Language::English => "No files staged. Auto-staging all changes...",
Language::Chinese => "没有暂存文件。自动暂存所有更改...",
Language::Japanese => "ステージされたファイルがありません。すべての変更を自動ステージ中...",
Language::Korean => "스테이징된 파일이 없습니다. 모든 변경 사항을 자동 스테이징 중...",
Language::Spanish => "No hay archivos preparados. Preparando automáticamente todos los cambios...",
Language::French => "Aucun fichier indexé. Indexation automatique de tous les changements...",
Language::German => "Keine Dateien bereitgestellt. Alle Änderungen werden automatisch bereitgestellt...",
}
}
pub fn push_after_commit(&self) -> &str {
match self.language {
Language::English => "Push changes to remote?",
Language::Chinese => "推送更改到远程仓库?",
Language::Japanese => "リモートに変更をプッシュしますか?",
Language::Korean => "원격으로 변경 사항을 푸시하시겠습니까?",
Language::Spanish => "¿Enviar cambios al remoto?",
Language::French => "Envoyer les modifications au distant ?",
Language::German => "Änderungen an Remote pushen?",
}
}
pub fn push_after_tag(&self) -> &str {
match self.language {
Language::English => "Push tag to remote?",
Language::Chinese => "推送标签到远程仓库?",
Language::Japanese => "リモートにタグをプッシュしますか?",
Language::Korean => "원격으로 태그를 푸시하시겠습니까?",
Language::Spanish => "¿Enviar etiqueta al remoto?",
Language::French => "Envoyer l'étiquette au distant ?",
Language::German => "Tag an Remote pushen?",
}
}
pub fn pushing_commit(&self, remote: &str) -> String {
match self.language {
Language::English => format!("→ Pushing commit to {}...", remote),
Language::Chinese => format!("→ 正在推送提交到 {}...", remote),
Language::Japanese => format!("→ コミットを{}にプッシュ中...", remote),
Language::Korean => format!("→ 커밋을 {}로 푸시 중...", remote),
Language::Spanish => format!("→ Enviando commit a {}...", remote),
Language::French => format!("→ Envoi du commit vers {}...", remote),
Language::German => format!("→ Commit wird an {} gepusht...", remote),
}
}
pub fn pushed_commit(&self, remote: &str) -> String {
match self.language {
Language::English => format!("✓ Pushed commit to {}", remote),
Language::Chinese => format!("✓ 已推送提交到 {}", remote),
Language::Japanese => format!("✓ コミットを{}にプッシュしました", remote),
Language::Korean => format!("✓ 커밋을 {}로 푸시함", remote),
Language::Spanish => format!("✓ Commit enviado a {}", remote),
Language::French => format!("✓ Commit envoyé à {}", remote),
Language::German => format!("✓ Commit an {} gepusht", remote),
}
}
pub fn ai_analyzing(&self) -> &str {
match self.language {
Language::English => "🤖 AI is analyzing your changes...",
Language::Chinese => "🤖 AI 正在分析你的更改...",
Language::Japanese => "🤖 AIが変更を分析しています...",
Language::Korean => "🤖 AI가 변경 사항을 분석 중...",
Language::Spanish => "🤖 La IA está analizando tus cambios...",
Language::French => "🤖 L'IA analyse vos modifications...",
Language::German => "🤖 KI analysiert Ihre Änderungen...",
}
}
pub fn ai_generating_tag(&self, count: usize) -> String {
match self.language {
Language::English => format!("🤖 AI is generating tag message from {} commits...", count),
Language::Chinese => format!("🤖 AI 正在从 {} 个提交生成标签消息...", count),
Language::Japanese => format!("🤖 AIが{}個のコミットからタグメッセージを生成しています...", count),
Language::Korean => format!("🤖 AI가 {}개의 커밋에서 태그 메시지를 생성 중...", count),
Language::Spanish => format!("🤖 La IA está generando mensaje de etiqueta desde {} commits...", count),
Language::French => format!("🤖 L'IA génère le message d'étiquette à partir de {} commits...", count),
Language::German => format!("🤖 KI generiert Tag-Nachricht aus {} Commits...", count),
}
}
pub fn ai_generating_changelog(&self) -> &str {
match self.language {
Language::English => "🤖 AI is generating changelog...",
Language::Chinese => "🤖 AI 正在生成变更日志...",
Language::Japanese => "🤖 AIが変更ログを生成しています...",
Language::Korean => "🤖 AI가 변경 로그를 생성 중...",
Language::Spanish => "🤖 La IA está generando el changelog...",
Language::French => "🤖 L'IA génère le changelog...",
Language::German => "🤖 KI generiert Changelog...",
}
}
pub fn fetching_commits(&self) -> &str {
match self.language {
Language::English => "→ Fetching commits...",
Language::Chinese => "→ 正在获取提交...",
Language::Japanese => "→ コミットを取得中...",
Language::Korean => "→ 커밋 가져오는 중...",
Language::Spanish => "→ Obteniendo commits...",
Language::French => "→ Récupération des commits...",
Language::German => "→ Commits werden abgerufen...",
}
}
pub fn found_commits(&self, count: usize) -> String {
match self.language {
Language::English => format!("✓ Found {} commits", count),
Language::Chinese => format!("✓ 找到 {} 个提交", count),
Language::Japanese => format!("{}個のコミットが見つかりました", count),
Language::Korean => format!("{}개의 커밋을 찾음", count),
Language::Spanish => format!("✓ Se encontraron {} commits", count),
Language::French => format!("{} commits trouvés", count),
Language::German => format!("{} Commits gefunden", count),
}
}
pub fn version_selection(&self) -> &str {
match self.language {
Language::English => "Version selection:",
Language::Chinese => "版本选择:",
Language::Japanese => "バージョン選択:",
Language::Korean => "버전 선택:",
Language::Spanish => "Selección de versión:",
Language::French => "Sélection de version :",
Language::German => "Versionsauswahl:",
}
}
pub fn latest_version(&self) -> &str {
match self.language {
Language::English => "Latest version:",
Language::Chinese => "最新版本:",
Language::Japanese => "最新バージョン:",
Language::Korean => "최신 버전:",
Language::Spanish => "Última versión:",
Language::French => "Dernière version :",
Language::German => "Neueste Version:",
}
}
pub fn no_existing_version_tags(&self) -> &str {
match self.language {
Language::English => "No existing version tags found",
Language::Chinese => "未找到现有的版本标签",
Language::Japanese => "既存のバージョンタグが見つかりません",
Language::Korean => "기존 버전 태그를 찾을 수 없음",
Language::Spanish => "No se encontraron etiquetas de versión existentes",
Language::French => "Aucune étiquette de version existante trouvée",
Language::German => "Keine vorhandenen Versionstags gefunden",
}
}
pub fn suggested_bump(&self) -> &str {
match self.language {
Language::English => "Suggested bump:",
Language::Chinese => "建议的版本升级:",
Language::Japanese => "提案されたバンプ:",
Language::Korean => "제안된 버전 증가:",
Language::Spanish => "Incremento sugerido:",
Language::French => "Bump suggéré :",
Language::German => "Vorgeschlagener Bump:",
}
}
pub fn use_this_version(&self) -> &str {
match self.language {
Language::English => "Use this version?",
Language::Chinese => "使用此版本?",
Language::Japanese => "このバージョンを使用しますか?",
Language::Korean => "이 버전을 사용하시겠습니까?",
Language::Spanish => "¿Usar esta versión?",
Language::French => "Utiliser cette version ?",
Language::German => "Diese Version verwenden?",
}
}
pub fn pushing_tag(&self, remote: &str) -> String {
match self.language {
Language::English => format!("→ Pushing tag to {}...", remote),
Language::Chinese => format!("→ 正在推送标签到 {}...", remote),
Language::Japanese => format!("→ タグを{}にプッシュ中...", remote),
Language::Korean => format!("→ 태그를 {}로 푸시 중...", remote),
Language::Spanish => format!("→ Enviando etiqueta a {}...", remote),
Language::French => format!("→ Envoi de l'étiquette vers {}...", remote),
Language::German => format!("→ Tag wird an {} gepusht...", remote),
}
}
pub fn pushed_tag(&self, remote: &str) -> String {
match self.language {
Language::English => format!("✓ Pushed tag to {}", remote),
Language::Chinese => format!("✓ 已推送标签到 {}", remote),
Language::Japanese => format!("✓ タグを{}にプッシュしました", remote),
Language::Korean => format!("✓ 태그를 {}로 푸시함", remote),
Language::Spanish => format!("✓ Etiqueta enviada a {}", remote),
Language::French => format!("✓ Étiquette envoyée à {}", remote),
Language::German => format!("✓ Tag an {} gepusht", remote),
}
}
pub fn cancelled(&self) -> &str {
match self.language {
Language::English => "Cancelled.",
Language::Chinese => "已取消。",
Language::Japanese => "キャンセルされました。",
Language::Korean => "취소됨.",
Language::Spanish => "Cancelado.",
Language::French => "Annulé.",
Language::German => "Abgebrochen.",
}
}
pub fn select_commit_type(&self) -> &str {
match self.language {
Language::English => "Select commit type",
Language::Chinese => "选择提交类型",
Language::Japanese => "コミットタイプを選択",
Language::Korean => "커밋 유형 선택",
Language::Spanish => "Seleccionar tipo de commit",
Language::French => "Sélectionner le type de commit",
Language::German => "Commit-Typ auswählen",
}
}
pub fn scope_optional(&self) -> &str {
match self.language {
Language::English => "Scope (optional, press Enter to skip)",
Language::Chinese => "范围(可选,按 Enter 跳过)",
Language::Japanese => "スコープオプション、Enterでスキップ",
Language::Korean => "범위(선택 사항, Enter로 건너뜀)",
Language::Spanish => "Ámbito (opcional, presiona Enter para omitir)",
Language::French => "Portée (optionnel, appuyez sur Entrée pour ignorer)",
Language::German => "Bereich (optional, Enter zum Überspringen)",
}
}
pub fn description(&self) -> &str {
match self.language {
Language::English => "Description",
Language::Chinese => "描述",
Language::Japanese => "説明",
Language::Korean => "설명",
Language::Spanish => "Descripción",
Language::French => "Description",
Language::German => "Beschreibung",
}
}
pub fn breaking_change(&self) -> &str {
match self.language {
Language::English => "Is this a breaking change?",
Language::Chinese => "这是破坏性更改吗?",
Language::Japanese => "これは破壊的変更ですか?",
Language::Korean => "이것은 주요 변경 사항입니까?",
Language::Spanish => "¿Es este un cambio rupturista?",
Language::French => "Est-ce un changement cassant ?",
Language::German => "Ist dies ein Breaking Change?",
}
}
pub fn add_body(&self) -> &str {
match self.language {
Language::English => "Add body to commit?",
Language::Chinese => "添加提交正文?",
Language::Japanese => "コミットに本文を追加しますか?",
Language::Korean => "커밋에 본문을 추가하시겠습니까?",
Language::Spanish => "¿Añadir cuerpo al commit?",
Language::French => "Ajouter un corps au commit ?",
Language::German => "Body zum Commit hinzufügen?",
}
}
pub fn enter_commit_body(&self) -> &str {
match self.language {
Language::English => "Enter commit body...",
Language::Chinese => "输入提交正文...",
Language::Japanese => "コミット本文を入力...",
Language::Korean => "커밋 본문 입력...",
Language::Spanish => "Introduce el cuerpo del commit...",
Language::French => "Saisissez le corps du commit...",
Language::German => "Commit-Body eingeben...",
}
}
pub fn open_editor(&self) -> &str {
match self.language {
Language::English => "Open editor for tag message?",
Language::Chinese => "打开编辑器编辑标签消息?",
Language::Japanese => "タグメッセージ用にエディタを開きますか?",
Language::Korean => "태그 메시지를 위해 편집기를 여시겠습니까?",
Language::Spanish => "¿Abrir editor para mensaje de etiqueta?",
Language::French => "Ouvrir l'éditeur pour le message d'étiquette ?",
Language::German => "Editor für Tag-Nachricht öffnen?",
}
}
pub fn tag_message(&self) -> &str {
match self.language {
Language::English => "Tag message",
Language::Chinese => "标签消息",
Language::Japanese => "タグメッセージ",
Language::Korean => "태그 메시지",
Language::Spanish => "Mensaje de etiqueta",
Language::French => "Message d'étiquette",
Language::German => "Tag-Nachricht",
}
}
pub fn version(&self) -> &str {
match self.language {
Language::English => "Version",
Language::Chinese => "版本",
Language::Japanese => "バージョン",
Language::Korean => "버전",
Language::Spanish => "Versión",
Language::French => "Version",
Language::German => "Version",
}
}
pub fn unreleased(&self) -> &str {
match self.language {
Language::English => "Unreleased",
Language::Chinese => "未发布",
Language::Japanese => "未リリース",
Language::Korean => "릴리스되지 않음",
Language::Spanish => "Sin lanzar",
Language::French => "Non publié",
Language::German => "Unveröffentlicht",
}
}
pub fn no_commits_found(&self) -> &str {
match self.language {
Language::English => "No commits found in the specified range",
Language::Chinese => "在指定范围内未找到提交",
Language::Japanese => "指定された範囲でコミットが見つかりませんでした",
Language::Korean => "지정된 범위에서 커밋을 찾을 수 없음",
Language::Spanish => "No se encontraron commits en el rango especificado",
Language::French => "Aucun commit trouvé dans la plage spécifiée",
Language::German => "Keine Commits im angegebenen Bereich gefunden",
}
}
pub fn write_to_file(&self, path: &str) -> String {
match self.language {
Language::English => format!("Write to {:?}?", path),
Language::Chinese => format!("写入 {:?}", path),
Language::Japanese => format!("{:?} に書き込みますか?", path),
Language::Korean => format!("{:?}에 쓰시겠습니까?", path),
Language::Spanish => format!("¿Escribir en {:?}?", path),
Language::French => format!("Écrire dans {:?} ?", path),
Language::German => format!("In {:?} schreiben?", path),
}
}
pub fn initialized_changelog(&self, path: &str) -> String {
match self.language {
Language::English => format!("✓ Initialized changelog at {:?}", path),
Language::Chinese => format!("✓ 已在 {:?} 初始化变更日志", path),
Language::Japanese => format!("{:?}で変更ログを初期化しました", path),
Language::Korean => format!("{:?}에서 변경 로그 초기화됨", path),
Language::Spanish => format!("✓ Changelog inicializado en {:?}", path),
Language::French => format!("✓ Changelog initialisé à {:?}", path),
Language::German => format!("✓ Changelog bei {:?} initialisiert", path),
}
}
pub fn staged_files(&self, count: usize) -> String {
match self.language {
Language::English => format!("Staged files ({}):", count),
Language::Chinese => format!("已暂存文件({}", count),
Language::Japanese => format!("ステージされたファイル({}", count),
Language::Korean => format!("스테이징된 파일({}):", count),
Language::Spanish => format!("Archivos preparados ({}):", count),
Language::French => format!("Fichiers indexés ({}):", count),
Language::German => format!("Bereitgestellte Dateien ({}):", count),
}
}
pub fn generating_commit_message(&self) -> &str {
match self.language {
Language::English => "Generating commit message...",
Language::Chinese => "正在生成提交消息...",
Language::Japanese => "コミットメッセージを生成中...",
Language::Korean => "커밋 메시지 생성 중...",
Language::Spanish => "Generando mensaje de commit...",
Language::French => "Génération du message de commit...",
Language::German => "Commit-Nachricht wird generiert...",
}
}
pub fn generated_commit_message(&self) -> &str {
match self.language {
Language::English => "Generated commit message:",
Language::Chinese => "生成的提交消息:",
Language::Japanese => "生成されたコミットメッセージ:",
Language::Korean => "생성된 커밋 메시지:",
Language::Spanish => "Mensaje de commit generado:",
Language::French => "Message de commit généré :",
Language::German => "Generierte Commit-Nachricht:",
}
}
pub fn what_would_you_like_to_do(&self) -> &str {
match self.language {
Language::English => "What would you like to do?",
Language::Chinese => "你想做什么?",
Language::Japanese => "何をしますか?",
Language::Korean => "무엇을 하시겠습니까?",
Language::Spanish => "¿Qué te gustaría hacer?",
Language::French => "Que souhaitez-vous faire ?",
Language::German => "Was möchten Sie tun?",
}
}
pub fn accept_and_commit(&self) -> &str {
match self.language {
Language::English => "✓ Accept and commit",
Language::Chinese => "✓ 接受并提交",
Language::Japanese => "✓ 受け入れてコミット",
Language::Korean => "✓ 수락하고 커밋",
Language::Spanish => "✓ Aceptar y hacer commit",
Language::French => "✓ Accepter et commiter",
Language::German => "✓ Akzeptieren und committen",
}
}
pub fn regenerate(&self) -> &str {
match self.language {
Language::English => "🔄 Regenerate",
Language::Chinese => "🔄 重新生成",
Language::Japanese => "🔄 再生成",
Language::Korean => "🔄 재생성",
Language::Spanish => "🔄 Regenerar",
Language::French => "🔄 Régénérer",
Language::German => "🔄 Neu generieren",
}
}
pub fn edit(&self) -> &str {
match self.language {
Language::English => "✏️ Edit",
Language::Chinese => "✏️ 编辑",
Language::Japanese => "✏️ 編集",
Language::Korean => "✏️ 편집",
Language::Spanish => "✏️ Editar",
Language::French => "✏️ Modifier",
Language::German => "✏️ Bearbeiten",
}
}
pub fn copy_to_clipboard(&self) -> &str {
match self.language {
Language::English => "📋 Copy to clipboard",
Language::Chinese => "📋 复制到剪贴板",
Language::Japanese => "📋 クリップボードにコピー",
Language::Korean => "📋 클립보드에 복사",
Language::Spanish => "📋 Copiar al portapapeles",
Language::French => "📋 Copier dans le presse-papiers",
Language::German => "📋 In die Zwischenablage kopieren",
}
}
pub fn cancel(&self) -> &str {
match self.language {
Language::English => "❌ Cancel",
Language::Chinese => "❌ 取消",
Language::Japanese => "❌ キャンセル",
Language::Korean => "❌ 취소",
Language::Spanish => "❌ Cancelar",
Language::French => "❌ Annuler",
Language::German => "❌ Abbrechen",
}
}
pub fn regenerating(&self) -> &str {
match self.language {
Language::English => "Regenerating...",
Language::Chinese => "正在重新生成...",
Language::Japanese => "再生成中...",
Language::Korean => "재생성 중...",
Language::Spanish => "Regenerando...",
Language::French => "Régénération...",
Language::German => "Neu generieren...",
}
}
pub fn copied_to_clipboard(&self) -> &str {
match self.language {
Language::English => "Copied to clipboard!",
Language::Chinese => "已复制到剪贴板!",
Language::Japanese => "クリップボードにコピーしました!",
Language::Korean => "클립보드에 복사됨!",
Language::Spanish => "¡Copiado al portapapeles!",
Language::French => "Copié dans le presse-papiers !",
Language::German => "In die Zwischenablage kopiert!",
}
}
pub fn cancelled_by_user(&self) -> &str {
match self.language {
Language::English => "Cancelled by user",
Language::Chinese => "用户已取消",
Language::Japanese => "ユーザーによってキャンセルされました",
Language::Korean => "사용자가 취소함",
Language::Spanish => "Cancelado por el usuario",
Language::French => "Annulé par l'utilisateur",
Language::German => "Vom Benutzer abgebrochen",
}
}
pub fn select_option(&self) -> &str {
match self.language {
Language::English => "Select option",
Language::Chinese => "选择选项",
Language::Japanese => "オプションを選択",
Language::Korean => "옵션 선택",
Language::Spanish => "Seleccionar opción",
Language::French => "Sélectionner une option",
Language::German => "Option auswählen",
}
}
pub fn auto_detect_bump(&self) -> &str {
match self.language {
Language::English => "Auto-detect bump from commits",
Language::Chinese => "从提交自动检测版本升级",
Language::Japanese => "コミットからバンプを自動検出",
Language::Korean => "커밋에서 버전 증가 자동 감지",
Language::Spanish => "Detectar incremento automáticamente desde commits",
Language::French => "Détecter automatiquement le bump depuis les commits",
Language::German => "Bump automatisch aus Commits erkennen",
}
}
pub fn bump_major_version(&self) -> &str {
match self.language {
Language::English => "Bump major version",
Language::Chinese => "升级主版本",
Language::Japanese => "メジャーバージョンを上げる",
Language::Korean => "메이저 버전 증가",
Language::Spanish => "Incrementar versión mayor",
Language::French => "Incrémenter version majeure",
Language::German => "Major-Version erhöhen",
}
}
pub fn bump_minor_version(&self) -> &str {
match self.language {
Language::English => "Bump minor version",
Language::Chinese => "升级次版本",
Language::Japanese => "マイナーバージョンを上げる",
Language::Korean => "마이너 버전 증가",
Language::Spanish => "Incrementar versión menor",
Language::French => "Incrémenter version mineure",
Language::German => "Minor-Version erhöhen",
}
}
pub fn bump_patch_version(&self) -> &str {
match self.language {
Language::English => "Bump patch version",
Language::Chinese => "升级补丁版本",
Language::Japanese => "パッチバージョンを上げる",
Language::Korean => "패치 버전 증가",
Language::Spanish => "Incrementar versión de parche",
Language::French => "Incrémenter version de correctif",
Language::German => "Patch-Version erhöhen",
}
}
pub fn enter_custom_version(&self) -> &str {
match self.language {
Language::English => "Enter custom version",
Language::Chinese => "输入自定义版本",
Language::Japanese => "カスタムバージョンを入力",
Language::Korean => "사용자 지정 버전 입력",
Language::Spanish => "Ingresar versión personalizada",
Language::French => "Saisir une version personnalisée",
Language::German => "Benutzerdefinierte Version eingeben",
}
}
pub fn enter_custom_tag_name(&self) -> &str {
match self.language {
Language::English => "Enter custom tag name",
Language::Chinese => "输入自定义标签名称",
Language::Japanese => "カスタムタグ名を入力",
Language::Korean => "사용자 지정 태그 이름 입력",
Language::Spanish => "Ingresar nombre de etiqueta personalizado",
Language::French => "Saisir un nom d'étiquette personnalisé",
Language::German => "Benutzerdefinierten Tag-Namen eingeben",
}
}
pub fn enter_version(&self) -> &str {
match self.language {
Language::English => "Enter version (e.g., 1.2.3)",
Language::Chinese => "输入版本例如1.2.3",
Language::Japanese => "バージョンを入力1.2.3",
Language::Korean => "버전 입력(예: 1.2.3)",
Language::Spanish => "Ingresar versión (ej: 1.2.3)",
Language::French => "Saisir la version (ex: 1.2.3)",
Language::German => "Version eingeben (z.B. 1.2.3)",
}
}
pub fn enter_tag_name(&self) -> &str {
match self.language {
Language::English => "Enter tag name",
Language::Chinese => "输入标签名称",
Language::Japanese => "タグ名を入力",
Language::Korean => "태그 이름 입력",
Language::Spanish => "Ingresar nombre de etiqueta",
Language::French => "Saisir le nom de l'étiquette",
Language::German => "Tag-Namen eingeben",
}
}
pub fn profile_description(&self) -> &str {
match self.language {
Language::English => "Profile description (optional)",
Language::Chinese => "配置文件描述(可选)",
Language::Japanese => "プロファイルの説明(オプション)",
Language::Korean => "프로필 설명(선택 사항)",
Language::Spanish => "Descripción del perfil (opcional)",
Language::French => "Description du profil (optionnel)",
Language::German => "Profilbeschreibung (optional)",
}
}
pub fn is_work_profile(&self) -> &str {
match self.language {
Language::English => "Is this a work profile?",
Language::Chinese => "这是工作配置文件吗?",
Language::Japanese => "これはワークプロファイルですか?",
Language::Korean => "이것은 작업 프로필입니까?",
Language::Spanish => "¿Es este un perfil de trabajo?",
Language::French => "Est-ce un profil de travail ?",
Language::German => "Ist dies ein Arbeitsprofil?",
}
}
pub fn organization_name(&self) -> &str {
match self.language {
Language::English => "Organization/Company name",
Language::Chinese => "组织/公司名称",
Language::Japanese => "組織/会社名",
Language::Korean => "조직/회사 이름",
Language::Spanish => "Nombre de organización/empresa",
Language::French => "Nom de l'organisation/entreprise",
Language::German => "Organisations-/Unternehmensname",
}
}
pub fn configure_ssh(&self) -> &str {
match self.language {
Language::English => "Configure SSH key?",
Language::Chinese => "配置 SSH 密钥?",
Language::Japanese => "SSHキーを設定しますか",
Language::Korean => "SSH 키를 구성하시겠습니까?",
Language::Spanish => "¿Configurar clave SSH?",
Language::French => "Configurer la clé SSH ?",
Language::German => "SSH-Schlüssel konfigurieren?",
}
}
pub fn configure_gpg(&self) -> &str {
match self.language {
Language::English => "Configure GPG signing?",
Language::Chinese => "配置 GPG 签名?",
Language::Japanese => "GPG署名を設定しますか",
Language::Korean => "GPG 서명을 구성하시겠습니까?",
Language::Spanish => "¿Configurar firma GPG?",
Language::French => "Configurer la signature GPG ?",
Language::German => "GPG-Signatur konfigurieren?",
}
}
pub fn ssh_private_key_path(&self) -> &str {
match self.language {
Language::English => "SSH private key path",
Language::Chinese => "SSH 私钥路径",
Language::Japanese => "SSH秘密鍵パス",
Language::Korean => "SSH 개인 키 경로",
Language::Spanish => "Ruta de clave privada SSH",
Language::French => "Chemin de la clé privée SSH",
Language::German => "Pfad zum privaten SSH-Schlüssel",
}
}
pub fn has_passphrase(&self) -> &str {
match self.language {
Language::English => "Does this key have a passphrase?",
Language::Chinese => "此密钥有密码吗?",
Language::Japanese => "この鍵にパスフレーズがありますか?",
Language::Korean => "이 키에 암호가 있습니까?",
Language::Spanish => "¿Esta clave tiene frase de paso?",
Language::French => "Cette clé a-t-elle une phrase de passe ?",
Language::German => "Hat dieser Schlüssel eine Passphrase?",
}
}
pub fn ssh_key_passphrase(&self) -> &str {
match self.language {
Language::English => "SSH key passphrase",
Language::Chinese => "SSH 密钥密码",
Language::Japanese => "SSHキーパスフレーズ",
Language::Korean => "SSH 키 암호",
Language::Spanish => "Frase de paso de clave SSH",
Language::French => "Phrase de passe de clé SSH",
Language::German => "SSH-Schlüssel-Passphrase",
}
}
pub fn gpg_key_id(&self) -> &str {
match self.language {
Language::English => "GPG key ID",
Language::Chinese => "GPG 密钥 ID",
Language::Japanese => "GPGキーID",
Language::Korean => "GPG 키 ID",
Language::Spanish => "ID de clave GPG",
Language::French => "ID de clé GPG",
Language::German => "GPG-Schlüssel-ID",
}
}
pub fn use_gpg_agent(&self) -> &str {
match self.language {
Language::English => "Use GPG agent?",
Language::Chinese => "使用 GPG 代理?",
Language::Japanese => "GPGエージェントを使用しますか",
Language::Korean => "GPG 에이전트를 사용하시겠습니까?",
Language::Spanish => "¿Usar agente GPG?",
Language::French => "Utiliser l'agent GPG ?",
Language::German => "GPG-Agent verwenden?",
}
}
pub fn openai_api_key(&self) -> &str {
match self.language {
Language::English => "OpenAI API key",
Language::Chinese => "OpenAI API 密钥",
Language::Japanese => "OpenAI APIキー",
Language::Korean => "OpenAI API 키",
Language::Spanish => "Clave API de OpenAI",
Language::French => "Clé API OpenAI",
Language::German => "OpenAI-API-Schlüssel",
}
}
pub fn anthropic_api_key(&self) -> &str {
match self.language {
Language::English => "Anthropic API key",
Language::Chinese => "Anthropic API 密钥",
Language::Japanese => "Anthropic APIキー",
Language::Korean => "Anthropic API 키",
Language::Spanish => "Clave API de Anthropic",
Language::French => "Clé API Anthropic",
Language::German => "Anthropic-API-Schlüssel",
}
}
pub fn kimi_api_key(&self) -> &str {
match self.language {
Language::English => "Kimi API key",
Language::Chinese => "Kimi API 密钥",
Language::Japanese => "Kimi APIキー",
Language::Korean => "Kimi API 키",
Language::Spanish => "Clave API de Kimi",
Language::French => "Clé API Kimi",
Language::German => "Kimi-API-Schlüssel",
}
}
pub fn deepseek_api_key(&self) -> &str {
match self.language {
Language::English => "DeepSeek API key",
Language::Chinese => "DeepSeek API 密钥",
Language::Japanese => "DeepSeek APIキー",
Language::Korean => "DeepSeek API 키",
Language::Spanish => "Clave API de DeepSeek",
Language::French => "Clé API DeepSeek",
Language::German => "DeepSeek-API-Schlüssel",
}
}
pub fn openrouter_api_key(&self) -> &str {
match self.language {
Language::English => "OpenRouter API key",
Language::Chinese => "OpenRouter API 密钥",
Language::Japanese => "OpenRouter APIキー",
Language::Korean => "OpenRouter API 키",
Language::Spanish => "Clave API de OpenRouter",
Language::French => "Clé API OpenRouter",
Language::German => "OpenRouter-API-Schlüssel",
}
}
pub fn model(&self) -> &str {
match self.language {
Language::English => "Model",
Language::Chinese => "模型",
Language::Japanese => "モデル",
Language::Korean => "모델",
Language::Spanish => "Modelo",
Language::French => "Modèle",
Language::German => "Modell",
}
}
pub fn base_url(&self) -> &str {
match self.language {
Language::English => "Base URL (optional)",
Language::Chinese => "基础 URL可选",
Language::Japanese => "ベースURLオプション",
Language::Korean => "기본 URL(선택 사항)",
Language::Spanish => "URL base (opcional)",
Language::French => "URL de base (optionnel)",
Language::German => "Basis-URL (optional)",
}
}
pub fn configuration_updated(&self) -> &str {
match self.language {
Language::English => "✓ Configuration updated",
Language::Chinese => "✓ 配置已更新",
Language::Japanese => "✓ 設定を更新しました",
Language::Korean => "✓ 구성이 업데이트됨",
Language::Spanish => "✓ Configuración actualizada",
Language::French => "✓ Configuration mise à jour",
Language::German => "✓ Konfiguration aktualisiert",
}
}
pub fn set_value(&self, key: &str, value: &str) -> String {
match self.language {
Language::English => format!("✓ Set {} = {}", key, value),
Language::Chinese => format!("✓ 设置 {} = {}", key, value),
Language::Japanese => format!("{} = {} を設定", key, value),
Language::Korean => format!("{} = {} 설정됨", key, value),
Language::Spanish => format!("✓ Establecer {} = {}", key, value),
Language::French => format!("✓ Définir {} = {}", key, value),
Language::German => format!("{} = {} festlegen", key, value),
}
}
pub fn select_output_language(&self) -> &str {
match self.language {
Language::English => "Select output language:",
Language::Chinese => "选择输出语言:",
Language::Japanese => "出力言語を選択:",
Language::Korean => "출력 언어 선택:",
Language::Spanish => "Seleccionar idioma de salida:",
Language::French => "Sélectionner la langue de sortie :",
Language::German => "Ausgabesprache auswählen:",
}
}
}