1152 lines
51 KiB
Rust
1152 lines
51 KiB
Rust
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:",
|
||
}
|
||
}
|
||
}
|