@cat-factory/app 0.176.0 → 0.178.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -111,6 +111,8 @@
111
111
  "repositories": "リポジトリ",
112
112
  "addFromRepo": "既存のリポジトリから追加",
113
113
  "bootstrapRepo": "リポジトリをブートストラップ",
114
+ "models": "モデル",
115
+ "modelProviders": "モデルプロバイダー",
114
116
  "integrations": "連携",
115
117
  "infrastructure": "インフラストラクチャ",
116
118
  "sandbox": "サンドボックス",
@@ -122,8 +124,7 @@
122
124
  "modelConfiguration": "モデル設定",
123
125
  "accountSettings": "アカウント設定",
124
126
  "operatorDashboard": "プラットフォームの可観測性",
125
- "reports": "レポート",
126
- "environmentSetup": "環境セットアップ"
127
+ "reports": "レポート"
127
128
  },
128
129
  "board": {
129
130
  "toast": {
@@ -1103,7 +1104,34 @@
1103
1104
  "save": "検査を保存",
1104
1105
  "savedToast": "検査を保存しました",
1105
1106
  "saveFailed": "検査を保存できませんでした",
1106
- "clearFailed": "検査を消去できませんでした"
1107
+ "clearFailed": "検査を消去できませんでした",
1108
+ "detect": {
1109
+ "action": "自動検出",
1110
+ "hint": "このサービスのリポジトリからチェックを提案します",
1111
+ "added": "{count} 件のチェックを追加しました | {count} 件のチェックを追加しました",
1112
+ "found": "{ecosystems} を検出しました。",
1113
+ "capped": "一部の候補は省略されました。1 つのサービスに設定できるチェックは最大 {max} 件です。",
1114
+ "nothingNew": "追加する項目はありません",
1115
+ "alreadyPresent": "検出されたコマンドはすべて既に一覧にあります。",
1116
+ "unrecognised": "リポジトリのルートで既知のエコシステムを認識できませんでした。コマンドを手動で追加してください。",
1117
+ "repo_unavailable": "このサービスにはリポジトリが紐付いていないため、調べる対象がありません。",
1118
+ "failed": "リポジトリを読み取れませんでした"
1119
+ },
1120
+ "ecosystem": {
1121
+ "node": "Node.js",
1122
+ "python": "Python",
1123
+ "go": "Go",
1124
+ "rust": "Rust",
1125
+ "maven": "Maven",
1126
+ "gradle": "Gradle",
1127
+ "dotnet": ".NET",
1128
+ "ruby": "Ruby",
1129
+ "php": "PHP",
1130
+ "elixir": "Elixir",
1131
+ "make": "Make",
1132
+ "just": "just",
1133
+ "task": "Task"
1134
+ }
1107
1135
  }
1108
1136
  },
1109
1137
  "panels": {
@@ -1934,7 +1962,8 @@
1934
1962
  },
1935
1963
  "integrationBack": {
1936
1964
  "backToMySetup": "マイセットアップに戻る",
1937
- "backToIntegrations": "Integrations に戻る"
1965
+ "backToIntegrations": "Integrations に戻る",
1966
+ "backToModelProviders": "モデルプロバイダーに戻る"
1938
1967
  },
1939
1968
  "commandBar": {
1940
1969
  "searchPlaceholder": "検索またはコマンドを実行…",
@@ -1995,23 +2024,21 @@
1995
2024
  },
1996
2025
  "integrationsHub": {
1997
2026
  "title": "Integrations",
1998
- "intro": "このワークスペースが連携できる外部システムを接続・管理します。",
2027
+ "intro": "このワークスペースが連携できる任意の外部システムを接続・管理します。エージェントを動かすモデルはモデルプロバイダーにあります。",
1999
2028
  "searchPlaceholder": "Integrations を検索…",
2000
2029
  "noMatches": "\"{query}\" に一致する Integration はありません。",
2001
2030
  "getStarted": {
2002
2031
  "title": "はじめに",
2003
- "body": "コードソースとモデルプロバイダーを接続して、最初のパイプラインを実行しましょう。"
2032
+ "body": "コードソースを接続すると、パイプラインが作業対象を持てるようになります。"
2004
2033
  },
2005
2034
  "status": {
2006
2035
  "connected": "接続済み",
2007
- "keyConnected": "キー接続済み",
2008
2036
  "notConnected": "未接続",
2009
2037
  "needsAttention": "対応が必要",
2010
2038
  "disabled": "無効",
2011
2039
  "recommended": "おすすめ"
2012
2040
  },
2013
2041
  "groups": {
2014
- "models": "モデルとプロバイダー",
2015
2042
  "sourceControl": "ソース管理",
2016
2043
  "communication": "コミュニケーション",
2017
2044
  "documents": "ドキュメント",
@@ -2021,16 +2048,6 @@
2021
2048
  "personal": "個人(あなたのみ)"
2022
2049
  },
2023
2050
  "items": {
2024
- "openrouter": {
2025
- "description": "300以上のモデルへの単一ゲートウェイ。キーを追加すれば、1か所でモデルを有効化できます。"
2026
- },
2027
- "vendors": {
2028
- "label": "ベンダーとキー",
2029
- "description": "ワークスペースの LLM サブスクリプションとプロバイダー API キー。"
2030
- },
2031
- "personalSubs": {
2032
- "label": "個人サブスクリプション (Claude、ChatGPT/Codex、GLM)"
2033
- },
2034
2051
  "github": {
2035
2052
  "description": "ワークスペースの GitHub App を接続し、リポジトリ、PR、Issue を閲覧します。"
2036
2053
  },
@@ -2070,10 +2087,6 @@
2070
2087
  "label": "マイ GitHub トークン",
2071
2088
  "description": "自分が開始した実行 (push、PR、CI、マージ) に使用するパーソナルアクセストークン。"
2072
2089
  },
2073
- "localRunners": {
2074
- "label": "マイローカルランナー",
2075
- "description": "自分のマシンで動かすモデルランナー (Ollama、LM Studio、vLLM…)。"
2076
- },
2077
2090
  "documentTemplates": {
2078
2091
  "label": "テンプレートと例"
2079
2092
  },
@@ -2083,6 +2096,45 @@
2083
2096
  }
2084
2097
  }
2085
2098
  },
2099
+ "modelProvidersHub": {
2100
+ "title": "モデルプロバイダー",
2101
+ "intro": "エージェントを動かすエンジンです。パイプラインのステップを実行するには、少なくとも1つのプロバイダーが接続されている必要があります。",
2102
+ "searchPlaceholder": "プロバイダーを検索…",
2103
+ "noMatches": "「{query}」に一致するプロバイダーはありません。",
2104
+ "getStarted": {
2105
+ "title": "プロバイダーが未接続です",
2106
+ "body": "モデルに到達できるまでエージェントのステップは実行できません。OpenRouter のキーが幅広いカタログを最も早く使える方法ですが、ベンダーキー、個人プラン、自分のローカルランナーでも同様に動作します。"
2107
+ },
2108
+ "status": {
2109
+ "connected": "接続済み",
2110
+ "keyConnected": "キー接続済み",
2111
+ "notConnected": "未接続",
2112
+ "recommended": "おすすめ",
2113
+ "connectedCount": "接続なし | {count}件接続済み | {count}件接続済み"
2114
+ },
2115
+ "groups": {
2116
+ "workspace": "ワークスペースのプロバイダー",
2117
+ "personal": "個人(あなたのみ)",
2118
+ "personalNote": "これらはワークスペースではなくあなたのアカウントに属し、あなたが開始した実行にのみ使われます。マイセットアップにも表示されます。"
2119
+ },
2120
+ "items": {
2121
+ "openrouter": {
2122
+ "description": "300以上のモデルへの単一ゲートウェイ。キーを追加すれば、1か所でモデルを有効化できます。"
2123
+ },
2124
+ "vendors": {
2125
+ "label": "ベンダーとキー",
2126
+ "description": "ワークスペースの LLM サブスクリプションとプロバイダー API キー。"
2127
+ },
2128
+ "personalSubs": {
2129
+ "label": "マイサブスクリプション",
2130
+ "description": "個人パスワードでアンロックする個人利用プラン(Claude、GLM、Codex)。"
2131
+ },
2132
+ "localRunners": {
2133
+ "label": "マイローカルランナー",
2134
+ "description": "自分のマシンで動かすモデルランナー(Ollama、LM Studio、vLLM)。"
2135
+ }
2136
+ }
2137
+ },
2086
2138
  "shortcuts": {
2087
2139
  "title": "キーボードショートカット",
2088
2140
  "commandBar": "コマンドバーを開く",
@@ -2792,6 +2844,32 @@
2792
2844
  "removeFailed": "共有スタックを削除できませんでした"
2793
2845
  }
2794
2846
  },
2847
+ "composeEnvSetup": {
2848
+ "title": "サービス向け Docker Compose ガイド付きセットアップ",
2849
+ "lead": "compose のパスやセットアップ手順を手書きする代わりに、1つのサービスのテスト環境を立ち上げるための Docker Compose レシピ作成をガイドします。",
2850
+ "how": {
2851
+ "title": "仕組み",
2852
+ "scan": "サービスにリンクされたリポジトリを調べ、compose ファイル、プロファイル、env ファイル、シードダンプを探します。",
2853
+ "analyse": "任意で環境アナリストエージェントを実行し、リポジトリ自身のスクリプトからセットアップ手順とヘルスゲートを草案します。",
2854
+ "preflight": "レシピのプリフライトチェックを、実際にプロビジョニングするマシン上で実行します。",
2855
+ "save": "レシピをサービスに保存し、ワークスペースの Docker Compose ハンドラーを登録します。",
2856
+ "outcome": "以降、パイプラインが実際の環境を必要とするたびに Deployer がそのスタックをそのまま立ち上げ、Tester がそれに対して実行されます。保存するまで何も適用されません。"
2857
+ },
2858
+ "needed": {
2859
+ "title": "必要なケース",
2860
+ "running": "サービスのテストにアプリの実行が必要な場合(API や UI のテスト、マイグレーション、シードデータ)。",
2861
+ "compose": "サービスが Docker Compose でプロビジョニングされ、まだレシピが保存されていない場合。",
2862
+ "setup": "スタックの起動に複数のコマンドが必要な場合(プロファイル、env ファイル、シードデータ、準備完了チェック)。"
2863
+ },
2864
+ "notNeeded": {
2865
+ "title": "不要なケース",
2866
+ "inContainer": "パイプラインが lint、ビルド、ユニットテストのみを行う場合。これらは PR 前の検証チェックとしてエージェントコンテナ内で実行され、環境はプロビジョニングされません。",
2867
+ "otherBackend": "サービスが別の方法でプロビジョニングされる場合(Kubernetes、クラウドプレビュー、インフラなし)。代わりに上部で設定してください。",
2868
+ "noRepo": "サービスにリンクされたリポジトリがなく、調べる対象がない場合。"
2869
+ },
2870
+ "start": "ガイド付きセットアップを開始",
2871
+ "rerunHint": "保存済みのレシピを変更するには、いつでも再実行できます。"
2872
+ },
2795
2873
  "localMode": {
2796
2874
  "title": "ローカルモード",
2797
2875
  "intro": "ローカルコンテナランナーの調整設定で、このマシンのデプロイに保存されます ({poolVars} / {harnessVars} 環境変数を置き換えました)。保存するとウォームプールがライブでサイズ変更され、再起動は不要です。実行中のランは、すでに保持しているコンテナをそのまま使います。",
@@ -5267,8 +5345,8 @@
5267
5345
  },
5268
5346
  "environmentWizard": {
5269
5347
  "progress": "ステップ {index} / {total}",
5270
- "title": "テスト環境をセットアップ",
5271
- "subtitle": "Docker Compose レシピを検出・確認・保存して、Deployer がプロビジョニングできるようにします。",
5348
+ "title": "Docker Compose 環境セットアップ",
5349
+ "subtitle": "サービスのテスト環境を立ち上げる Docker Compose レシピを作成します。リポジトリの調査、確認、プリフライト、保存の順に進みます。",
5272
5350
  "recommended": "推奨",
5273
5351
  "steps": {
5274
5352
  "pick": "サービス選択",
@@ -5278,6 +5356,7 @@
5278
5356
  },
5279
5357
  "pick": {
5280
5358
  "intro": "Docker Compose 環境をセットアップするサービスを選択します。",
5359
+ "scope": "変更されるのは選んだサービスだけです。後で再実行すればレシピを編集できます。",
5281
5360
  "empty": "サービスがまだありません。まずサービスを追加してください。"
5282
5361
  },
5283
5362
  "review": {
@@ -111,6 +111,8 @@
111
111
  "repositories": "Repozytoria",
112
112
  "addFromRepo": "Dodaj z istniejącego repozytorium",
113
113
  "bootstrapRepo": "Zainicjuj repozytorium",
114
+ "models": "Modele",
115
+ "modelProviders": "Dostawcy modeli",
114
116
  "integrations": "Integracje",
115
117
  "sandbox": "Piaskownica",
116
118
  "kaizen": "Kaizen",
@@ -122,8 +124,7 @@
122
124
  "accountSettings": "Ustawienia konta",
123
125
  "operatorDashboard": "Obserwowalność platformy",
124
126
  "reports": "Raporty",
125
- "infrastructure": "Infrastruktura",
126
- "environmentSetup": "Konfiguracja środowiska"
127
+ "infrastructure": "Infrastruktura"
127
128
  },
128
129
  "board": {
129
130
  "toast": {
@@ -1103,7 +1104,34 @@
1103
1104
  "save": "Zapisz sprawdzenia",
1104
1105
  "savedToast": "Sprawdzenia zapisane",
1105
1106
  "saveFailed": "Nie udało się zapisać sprawdzeń",
1106
- "clearFailed": "Nie udało się wyczyścić sprawdzeń"
1107
+ "clearFailed": "Nie udało się wyczyścić sprawdzeń",
1108
+ "detect": {
1109
+ "action": "Wykryj",
1110
+ "hint": "Zaproponuj testy na podstawie repozytorium tej usługi",
1111
+ "added": "Dodano {count} test | Dodano {count} testy | Dodano {count} testów",
1112
+ "found": "Rozpoznano: {ecosystems}.",
1113
+ "capped": "Część propozycji pominięto — usługa przyjmuje najwyżej {max} testów.",
1114
+ "nothingNew": "Nie ma czego dodać",
1115
+ "alreadyPresent": "Wszystkie wykryte polecenia są już na liście.",
1116
+ "unrecognised": "W katalogu głównym repozytorium nie rozpoznano znanego ekosystemu. Dodaj polecenia ręcznie.",
1117
+ "repo_unavailable": "Do tej usługi nie podpięto repozytorium, więc nie ma czego sprawdzać.",
1118
+ "failed": "Nie udało się odczytać repozytorium"
1119
+ },
1120
+ "ecosystem": {
1121
+ "node": "Node.js",
1122
+ "python": "Python",
1123
+ "go": "Go",
1124
+ "rust": "Rust",
1125
+ "maven": "Maven",
1126
+ "gradle": "Gradle",
1127
+ "dotnet": ".NET",
1128
+ "ruby": "Ruby",
1129
+ "php": "PHP",
1130
+ "elixir": "Elixir",
1131
+ "make": "Make",
1132
+ "just": "just",
1133
+ "task": "Task"
1134
+ }
1107
1135
  }
1108
1136
  },
1109
1137
  "panels": {
@@ -1934,7 +1962,8 @@
1934
1962
  },
1935
1963
  "integrationBack": {
1936
1964
  "backToMySetup": "Powrót do Moja konfiguracja",
1937
- "backToIntegrations": "Powrót do Integracje"
1965
+ "backToIntegrations": "Powrót do Integracje",
1966
+ "backToModelProviders": "Powrót do Dostawcy modeli"
1938
1967
  },
1939
1968
  "commandBar": {
1940
1969
  "searchPlaceholder": "Wyszukaj lub uruchom polecenie…",
@@ -1995,23 +2024,21 @@
1995
2024
  },
1996
2025
  "integrationsHub": {
1997
2026
  "title": "Integracje",
1998
- "intro": "Połącz i zarządzaj zewnętrznymi systemami, które ten obszar roboczy może powiązać.",
2027
+ "intro": "Połącz opcjonalne systemy zewnętrzne, które ten obszar roboczy może powiązać, i zarządzaj nimi. Modele, na których działają Twoi agenci, znajdziesz w sekcji Dostawcy modeli.",
1999
2028
  "searchPlaceholder": "Szukaj integracji…",
2000
2029
  "noMatches": "Żadna integracja nie pasuje do \"{query}\".",
2001
2030
  "getStarted": {
2002
2031
  "title": "Wprowadzenie",
2003
- "body": "Połącz źródło kodu i dostawcę modeli, aby uruchomić swój pierwszy potok."
2032
+ "body": "Połącz źródło kodu, aby Twoje potoki miały nad czym pracować."
2004
2033
  },
2005
2034
  "status": {
2006
2035
  "connected": "Połączono",
2007
- "keyConnected": "Klucz połączony",
2008
2036
  "notConnected": "Niepołączono",
2009
2037
  "needsAttention": "Wymaga uwagi",
2010
2038
  "disabled": "Wyłączono",
2011
2039
  "recommended": "Zalecane"
2012
2040
  },
2013
2041
  "groups": {
2014
- "models": "Modele i dostawcy",
2015
2042
  "sourceControl": "Kontrola wersji",
2016
2043
  "communication": "Komunikacja",
2017
2044
  "documents": "Dokumenty",
@@ -2021,16 +2048,6 @@
2021
2048
  "personal": "Osobiste (tylko Ty)"
2022
2049
  },
2023
2050
  "items": {
2024
- "openrouter": {
2025
- "description": "Jedna brama do ponad 300 modeli. Dodaj swój klucz i włącz modele w jednym miejscu."
2026
- },
2027
- "vendors": {
2028
- "label": "Dostawcy i klucze",
2029
- "description": "Subskrypcje LLM obszaru roboczego i klucze API dostawców."
2030
- },
2031
- "personalSubs": {
2032
- "label": "Subskrypcje osobiste (Claude, ChatGPT/Codex, GLM)"
2033
- },
2034
2051
  "github": {
2035
2052
  "description": "Połącz aplikację GitHub App obszaru roboczego, przeglądaj repozytoria, PR-y i zgłoszenia."
2036
2053
  },
@@ -2070,10 +2087,6 @@
2070
2087
  "label": "Mój token GitHub",
2071
2088
  "description": "Osobisty token dostępu używany do uruchomień, które rozpoczynasz (pushe, PR-y, CI, scalanie)."
2072
2089
  },
2073
- "localRunners": {
2074
- "label": "Moje lokalne silniki",
2075
- "description": "Twoje silniki modeli na własnej maszynie (Ollama, LM Studio, vLLM…)."
2076
- },
2077
2090
  "documentTemplates": {
2078
2091
  "label": "Szablony i przykłady"
2079
2092
  },
@@ -2083,6 +2096,45 @@
2083
2096
  }
2084
2097
  }
2085
2098
  },
2099
+ "modelProvidersHub": {
2100
+ "title": "Dostawcy modeli",
2101
+ "intro": "Silniki, na których działają Twoi agenci. Zanim jakikolwiek krok potoku będzie mógł się wykonać, musi być połączony co najmniej jeden dostawca.",
2102
+ "searchPlaceholder": "Szukaj dostawców…",
2103
+ "noMatches": "Żaden dostawca nie pasuje do \"{query}\".",
2104
+ "getStarted": {
2105
+ "title": "Nie połączono jeszcze żadnego dostawcy",
2106
+ "body": "Kroki agenta nie mogą się wykonać, dopóki model nie będzie osiągalny. Klucz OpenRouter to najszybszy sposób na odblokowanie szerokiego katalogu, ale klucze dostawców, plan osobisty lub własny lokalny silnik sprawdzą się tak samo dobrze."
2107
+ },
2108
+ "status": {
2109
+ "connected": "Połączono",
2110
+ "keyConnected": "Klucz połączony",
2111
+ "notConnected": "Niepołączono",
2112
+ "recommended": "Zalecane",
2113
+ "connectedCount": "{count} połączony | {count} połączone | {count} połączonych"
2114
+ },
2115
+ "groups": {
2116
+ "workspace": "Dostawcy obszaru roboczego",
2117
+ "personal": "Osobiste (tylko Ty)",
2118
+ "personalNote": "Należą do Twojego konta, a nie do obszaru roboczego, i są używane tylko w uruchomieniach, które sam rozpoczynasz. Są też wymienione w sekcji Moja konfiguracja."
2119
+ },
2120
+ "items": {
2121
+ "openrouter": {
2122
+ "description": "Jedna brama do ponad 300 modeli. Dodaj swój klucz i włącz modele w jednym miejscu."
2123
+ },
2124
+ "vendors": {
2125
+ "label": "Dostawcy i klucze",
2126
+ "description": "Subskrypcje LLM obszaru roboczego i klucze API dostawców."
2127
+ },
2128
+ "personalSubs": {
2129
+ "label": "Moje subskrypcje",
2130
+ "description": "Plany do użytku indywidualnego, które odblokowujesz osobistym hasłem (Claude, GLM, Codex)."
2131
+ },
2132
+ "localRunners": {
2133
+ "label": "Moje lokalne silniki",
2134
+ "description": "Silniki modeli na Twojej własnej maszynie (Ollama, LM Studio, vLLM)."
2135
+ }
2136
+ }
2137
+ },
2086
2138
  "shortcuts": {
2087
2139
  "title": "Skróty klawiszowe",
2088
2140
  "commandBar": "Otwórz pasek poleceń",
@@ -2651,6 +2703,32 @@
2651
2703
  "removeFailed": "Nie udało się usunąć współdzielonego stosu"
2652
2704
  }
2653
2705
  },
2706
+ "composeEnvSetup": {
2707
+ "title": "Kreator konfiguracji Docker Compose dla usługi",
2708
+ "lead": "Prowadzi jedną usługę przez tworzenie receptury Docker Compose, z której stawiane są jej środowiska testowe, zamiast ręcznego wpisywania ścieżki compose i kroków przygotowania.",
2709
+ "how": {
2710
+ "title": "Jak to działa",
2711
+ "scan": "Skanuje powiązane repozytorium usługi w poszukiwaniu plików compose, profili, plików env i zrzutów danych początkowych.",
2712
+ "analyse": "Opcjonalnie uruchamia agenta analizującego środowisko, aby na podstawie skryptów repozytorium naszkicować kroki przygotowania i bramkę kondycji.",
2713
+ "preflight": "Uruchamia kontrole wstępne receptury na maszynie, która będzie ją stawiać.",
2714
+ "save": "Zapisuje recepturę na usłudze i rejestruje obsługę Docker Compose w obszarze roboczym.",
2715
+ "outcome": "Od tej pory Deployer stawia dokładnie ten stos, ilekroć potok potrzebuje żywego środowiska, a Tester działa przeciwko niemu. Nic nie zostaje zastosowane, dopóki nie zapiszesz."
2716
+ },
2717
+ "needed": {
2718
+ "title": "Potrzebujesz tego, gdy",
2719
+ "running": "Testy usługi wymagają faktycznie działającej aplikacji: testy API lub interfejsu, migracje, dane początkowe.",
2720
+ "compose": "Usługa jest stawiana przez Docker Compose i nie ma jeszcze zapisanej receptury.",
2721
+ "setup": "Postawienie stosu wymaga więcej niż jednego polecenia: profili, plików env, danych początkowych lub kontroli gotowości."
2722
+ },
2723
+ "notNeeded": {
2724
+ "title": "Możesz to pominąć, gdy",
2725
+ "inContainer": "Potok tylko sprawdza lintem, buduje lub uruchamia testy jednostkowe. Dzieje się to w kontenerze agenta jako kontrole przed PR, bez stawiania żadnego środowiska.",
2726
+ "otherBackend": "Usługa jest stawiana w inny sposób (Kubernetes, podgląd w chmurze albo bez infrastruktury). Skonfiguruj to powyżej.",
2727
+ "noRepo": "Usługa nie ma powiązanego repozytorium, więc nie ma czego skanować."
2728
+ },
2729
+ "start": "Rozpocznij konfigurację",
2730
+ "rerunHint": "Uruchom ponownie w dowolnym momencie, aby zmienić zapisaną recepturę."
2731
+ },
2654
2732
  "localMode": {
2655
2733
  "title": "Tryb lokalny",
2656
2734
  "intro": "Strojenie lokalnego uruchamiacza kontenerów, przechowywane we wdrożeniu tej maszyny (zastąpiło zmienne środowiskowe {poolVars} / {harnessVars}). Zapisanie zmienia rozmiar ciepłej puli na żywo, bez potrzeby restartu; trwające uruchomienia zachowują kontener, który już mają.",
@@ -5255,8 +5333,8 @@
5255
5333
  },
5256
5334
  "environmentWizard": {
5257
5335
  "progress": "Krok {index} z {total}",
5258
- "title": "Skonfiguruj środowisko testowe",
5259
- "subtitle": "Wykryj, przejrzyj i zapisz przepis Docker Compose, aby Deployer go udostępnił.",
5336
+ "title": "Konfiguracja środowiska Docker Compose",
5337
+ "subtitle": "Zbuduj recepturę Docker Compose, z której stawiane środowiska testowe usługi: skanowanie repozytorium, przegląd, kontrole wstępne, zapis.",
5260
5338
  "recommended": "zalecane",
5261
5339
  "steps": {
5262
5340
  "pick": "Wybierz usługę",
@@ -5266,6 +5344,7 @@
5266
5344
  },
5267
5345
  "pick": {
5268
5346
  "intro": "Wybierz usługę, dla której skonfigurować środowisko Docker Compose.",
5347
+ "scope": "Zmienia się tylko wybrana usługa. Uruchom to ponownie później, aby edytować jej recepturę.",
5269
5348
  "empty": "Brak usług. Najpierw dodaj usługę."
5270
5349
  },
5271
5350
  "review": {
@@ -111,6 +111,8 @@
111
111
  "repositories": "Depolar",
112
112
  "addFromRepo": "Mevcut depodan ekle",
113
113
  "bootstrapRepo": "Depo başlat",
114
+ "models": "Modeller",
115
+ "modelProviders": "Model sağlayıcıları",
114
116
  "integrations": "Entegrasyonlar",
115
117
  "infrastructure": "Altyapı",
116
118
  "sandbox": "Deneme alanı",
@@ -122,8 +124,7 @@
122
124
  "modelConfiguration": "Model yapılandırması",
123
125
  "accountSettings": "Hesap ayarları",
124
126
  "operatorDashboard": "Platform gözlemlenebilirliği",
125
- "reports": "Raporlar",
126
- "environmentSetup": "Ortam kurulumu"
127
+ "reports": "Raporlar"
127
128
  },
128
129
  "board": {
129
130
  "toast": {
@@ -1103,7 +1104,34 @@
1103
1104
  "save": "Denetimleri kaydet",
1104
1105
  "savedToast": "Denetimler kaydedildi",
1105
1106
  "saveFailed": "Denetimler kaydedilemedi",
1106
- "clearFailed": "Denetimler temizlenemedi"
1107
+ "clearFailed": "Denetimler temizlenemedi",
1108
+ "detect": {
1109
+ "action": "Algıla",
1110
+ "hint": "Bu hizmetin deposundan denetimler öner",
1111
+ "added": "{count} denetim eklendi | {count} denetim eklendi",
1112
+ "found": "{ecosystems} algılandı.",
1113
+ "capped": "Bazı öneriler dışarıda bırakıldı — bir hizmet en fazla {max} denetim alır.",
1114
+ "nothingNew": "Eklenecek bir şey yok",
1115
+ "alreadyPresent": "Algılanan tüm komutlar zaten listede.",
1116
+ "unrecognised": "Depo kökünde bilinen bir ekosistem algılanmadı. Komutları elle ekleyin.",
1117
+ "repo_unavailable": "Bu hizmete bağlı bir depo yok, bu yüzden incelenecek bir şey yok.",
1118
+ "failed": "Depo okunamadı"
1119
+ },
1120
+ "ecosystem": {
1121
+ "node": "Node.js",
1122
+ "python": "Python",
1123
+ "go": "Go",
1124
+ "rust": "Rust",
1125
+ "maven": "Maven",
1126
+ "gradle": "Gradle",
1127
+ "dotnet": ".NET",
1128
+ "ruby": "Ruby",
1129
+ "php": "PHP",
1130
+ "elixir": "Elixir",
1131
+ "make": "Make",
1132
+ "just": "just",
1133
+ "task": "Task"
1134
+ }
1107
1135
  }
1108
1136
  },
1109
1137
  "panels": {
@@ -1934,7 +1962,8 @@
1934
1962
  },
1935
1963
  "integrationBack": {
1936
1964
  "backToMySetup": "Kurulumuma geri dön",
1937
- "backToIntegrations": "Entegrasyonlara geri dön"
1965
+ "backToIntegrations": "Entegrasyonlara geri dön",
1966
+ "backToModelProviders": "Model sağlayıcılarına geri dön"
1938
1967
  },
1939
1968
  "commandBar": {
1940
1969
  "searchPlaceholder": "Ara veya bir komut çalıştır…",
@@ -1995,23 +2024,21 @@
1995
2024
  },
1996
2025
  "integrationsHub": {
1997
2026
  "title": "Entegrasyonlar",
1998
- "intro": "Bu çalışma alanının bağlayabileceği harici sistemleri bağlayın ve yönetin.",
2027
+ "intro": "Bu çalışma alanının bağlayabileceği isteğe bağlı harici sistemleri bağlayın ve yönetin. Ajanlarınızı çalıştıran modeller Model sağlayıcıları altındadır.",
1999
2028
  "searchPlaceholder": "Entegrasyonlarda ara…",
2000
2029
  "noMatches": "\"{query}\" ile eşleşen entegrasyon yok.",
2001
2030
  "getStarted": {
2002
2031
  "title": "Başlayın",
2003
- "body": "İlk boru hattınızı çalıştırmak için bir kod kaynağı ve bir model sağlayıcısı bağlayın."
2032
+ "body": "Boru hatlarınızın üzerinde çalışacağı bir şey olması için bir kod kaynağı bağlayın."
2004
2033
  },
2005
2034
  "status": {
2006
2035
  "connected": "Bağlandı",
2007
- "keyConnected": "Anahtar bağlandı",
2008
2036
  "notConnected": "Bağlı değil",
2009
2037
  "needsAttention": "Dikkat gerekiyor",
2010
2038
  "disabled": "Devre dışı",
2011
2039
  "recommended": "Önerilen"
2012
2040
  },
2013
2041
  "groups": {
2014
- "models": "Modeller ve sağlayıcılar",
2015
2042
  "sourceControl": "Kaynak kontrolü",
2016
2043
  "communication": "İletişim",
2017
2044
  "documents": "Belgeler",
@@ -2021,16 +2048,6 @@
2021
2048
  "personal": "Kişisel (yalnızca siz)"
2022
2049
  },
2023
2050
  "items": {
2024
- "openrouter": {
2025
- "description": "300+ modele tek bir ağ geçidi. Anahtarınızı ekleyin ve modelleri tek yerde etkinleştirin."
2026
- },
2027
- "vendors": {
2028
- "label": "Sağlayıcılar ve anahtarlar",
2029
- "description": "Çalışma alanı LLM abonelikleri ve sağlayıcı API anahtarları."
2030
- },
2031
- "personalSubs": {
2032
- "label": "Kişisel abonelikler (Claude, ChatGPT/Codex, GLM)"
2033
- },
2034
2051
  "github": {
2035
2052
  "description": "Çalışma alanının GitHub App'ini bağlayın, depoları, PR'ları ve sorunları gözatın."
2036
2053
  },
@@ -2070,10 +2087,6 @@
2070
2087
  "label": "GitHub token'ım",
2071
2088
  "description": "Başlattığınız çalıştırmalar için kullanılan kişisel erişim token'ı (push'lar, PR'lar, CI, birleştirme)."
2072
2089
  },
2073
- "localRunners": {
2074
- "label": "Yerel runner'larım",
2075
- "description": "Kendi makinenizdeki model runner'ları (Ollama, LM Studio, vLLM…)."
2076
- },
2077
2090
  "documentTemplates": {
2078
2091
  "label": "Şablonlar ve örnekler"
2079
2092
  },
@@ -2083,6 +2096,45 @@
2083
2096
  }
2084
2097
  }
2085
2098
  },
2099
+ "modelProvidersHub": {
2100
+ "title": "Model sağlayıcıları",
2101
+ "intro": "Ajanlarınızı çalıştıran motorlar. Herhangi bir boru hattı adımı çalışabilmeden önce en az bir sağlayıcının bağlı olması gerekir.",
2102
+ "searchPlaceholder": "Sağlayıcı ara…",
2103
+ "noMatches": "\"{query}\" ile eşleşen sağlayıcı yok.",
2104
+ "getStarted": {
2105
+ "title": "Henüz bağlı sağlayıcı yok",
2106
+ "body": "Bir modele erişilemeden ajan adımları çalışamaz. Geniş bir katalogu açmanın en hızlı yolu bir OpenRouter anahtarıdır; ancak sağlayıcı anahtarları, kişisel bir plan veya kendi yerel çalıştırıcınız da aynı işi görür."
2107
+ },
2108
+ "status": {
2109
+ "connected": "Bağlandı",
2110
+ "keyConnected": "Anahtar bağlandı",
2111
+ "notConnected": "Bağlı değil",
2112
+ "recommended": "Önerilen",
2113
+ "connectedCount": "bağlı yok | {count} bağlı | {count} bağlı"
2114
+ },
2115
+ "groups": {
2116
+ "workspace": "Çalışma alanı sağlayıcıları",
2117
+ "personal": "Kişisel (yalnızca siz)",
2118
+ "personalNote": "Bunlar çalışma alanına değil hesabınıza aittir ve yalnızca sizin başlattığınız çalışmalarda kullanılır. Kurulumum bölümünde de listelenir."
2119
+ },
2120
+ "items": {
2121
+ "openrouter": {
2122
+ "description": "300+ modele tek bir ağ geçidi. Anahtarınızı ekleyin ve modelleri tek yerde etkinleştirin."
2123
+ },
2124
+ "vendors": {
2125
+ "label": "Sağlayıcılar ve anahtarlar",
2126
+ "description": "Çalışma alanı LLM abonelikleri ve sağlayıcı API anahtarları."
2127
+ },
2128
+ "personalSubs": {
2129
+ "label": "Aboneliklerim",
2130
+ "description": "Kişisel bir parolayla açtığınız bireysel kullanım planları (Claude, GLM, Codex)."
2131
+ },
2132
+ "localRunners": {
2133
+ "label": "Yerel çalıştırıcılarım",
2134
+ "description": "Kendi makinenizdeki model çalıştırıcılarınız (Ollama, LM Studio, vLLM)."
2135
+ }
2136
+ }
2137
+ },
2086
2138
  "shortcuts": {
2087
2139
  "title": "Klavye kısayolları",
2088
2140
  "commandBar": "Komut çubuğunu aç",
@@ -2792,6 +2844,32 @@
2792
2844
  "removeFailed": "Paylaşılan yığın silinemedi"
2793
2845
  }
2794
2846
  },
2847
+ "composeEnvSetup": {
2848
+ "title": "Bir servis için rehberli Docker Compose kurulumu",
2849
+ "lead": "Compose yolunu ve kurulum adımlarını elle yazmak yerine, bir servisin test ortamlarının ayağa kaldırıldığı Docker Compose tarifini adım adım oluşturur.",
2850
+ "how": {
2851
+ "title": "Nasıl çalışır",
2852
+ "scan": "Servisin bağlı deposunu compose dosyaları, profiller, env dosyaları ve tohum verisi dökümleri için tarar.",
2853
+ "analyse": "İsteğe bağlı olarak ortam analisti ajanını çalıştırarak deponun kendi betiklerinden kurulum adımları ve bir sağlık kontrolü taslağı çıkarır.",
2854
+ "preflight": "Tarifin ön kontrollerini, onu ayağa kaldıracak makinede çalıştırır.",
2855
+ "save": "Tarifi servise kaydeder ve çalışma alanının Docker Compose işleyicisini kaydeder.",
2856
+ "outcome": "Bundan sonra bir boru hattı canlı bir ortama ihtiyaç duyduğunda Deployer tam olarak o yığını ayağa kaldırır ve Tester ona karşı çalışır. Siz kaydedene kadar hiçbir şey uygulanmaz."
2857
+ },
2858
+ "needed": {
2859
+ "title": "Şu durumlarda gerekir",
2860
+ "running": "Servisin testleri uygulamanın gerçekten çalışmasını gerektiriyorsa: API veya arayüz testleri, göçler, tohum verisi.",
2861
+ "compose": "Servis Docker Compose ile ayağa kaldırılıyorsa ve henüz kayıtlı bir tarifi yoksa.",
2862
+ "setup": "Yığını ayağa kaldırmak tek komuttan fazlasını gerektiriyorsa: profiller, env dosyaları, tohum verisi veya hazır olma kontrolü."
2863
+ },
2864
+ "notNeeded": {
2865
+ "title": "Şu durumlarda atlayabilirsiniz",
2866
+ "inContainer": "Boru hattı yalnızca lint, derleme veya birim testi çalıştırıyorsa. Bunlar PR öncesi doğrulama kontrolleri olarak ajan konteynerinde çalışır, hiçbir ortam ayağa kaldırılmaz.",
2867
+ "otherBackend": "Servis başka bir şekilde ayağa kaldırılıyorsa (Kubernetes, bulut önizlemesi veya hiç altyapı yok). Bunun yerine yukarıdan yapılandırın.",
2868
+ "noRepo": "Servisin bağlı bir deposu yoksa, taranacak bir şey de yoktur."
2869
+ },
2870
+ "start": "Rehberli kurulumu başlat",
2871
+ "rerunHint": "Kayıtlı bir tarifi değiştirmek için istediğiniz zaman yeniden çalıştırın."
2872
+ },
2795
2873
  "localMode": {
2796
2874
  "title": "Yerel mod",
2797
2875
  "intro": "Yerel konteyner çalıştırıcısı için ayarlar, bu makinenin dağıtımında saklanır ({poolVars} / {harnessVars} ortam değişkenlerinin yerini aldı). Kaydetmek sıcak havuzu anında yeniden boyutlandırır, yeniden başlatma gerekmez; devam eden çalıştırmalar zaten tuttukları konteyneri korur.",
@@ -5267,8 +5345,8 @@
5267
5345
  },
5268
5346
  "environmentWizard": {
5269
5347
  "progress": "Adım {index} / {total}",
5270
- "title": "Bir test ortamı kur",
5271
- "subtitle": "Deployer sağlasın diye bir Docker Compose tarifini algıla, gözden geçir ve kaydet.",
5348
+ "title": "Docker Compose ortam kurulumu",
5349
+ "subtitle": "Bir servisin test ortamlarının ayağa kaldırıldığı Docker Compose tarifini oluşturun: depoyu tarayın, gözden geçirin, ön kontrol yapın, kaydedin.",
5272
5350
  "recommended": "önerilen",
5273
5351
  "steps": {
5274
5352
  "pick": "Servis seç",
@@ -5278,6 +5356,7 @@
5278
5356
  },
5279
5357
  "pick": {
5280
5358
  "intro": "Docker Compose ortamı kuracağın servisi seç.",
5359
+ "scope": "Yalnızca seçtiğiniz servis değişir. Tarifini düzenlemek için bunu daha sonra yeniden çalıştırın.",
5281
5360
  "empty": "Henüz servis yok. Önce bir servis ekle."
5282
5361
  },
5283
5362
  "review": {