@cat-factory/app 0.155.0 → 0.156.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.
- package/README.md +4 -3
- package/app/components/auth/LoginScreen.vue +11 -15
- package/app/components/github/GitHubOnboarding.vue +39 -11
- package/app/components/github/GitHubPanel.vue +58 -19
- package/app/components/vcs/GitLabConnect.vue +85 -0
- package/app/composables/api/vcs.ts +33 -0
- package/app/composables/useApi.ts +2 -0
- package/app/stores/github/connection.ts +13 -2
- package/app/stores/github/context.ts +3 -0
- package/app/stores/github/vcsConnect.ts +40 -0
- package/app/stores/github.spec.ts +146 -0
- package/app/stores/github.ts +49 -3
- package/app/types/domain.ts +1 -0
- package/app/types/vcs.ts +14 -0
- package/app/utils/vcs.ts +31 -0
- package/i18n/locales/de.json +36 -7
- package/i18n/locales/en.json +36 -7
- package/i18n/locales/es.json +36 -7
- package/i18n/locales/fr.json +36 -7
- package/i18n/locales/he.json +36 -7
- package/i18n/locales/it.json +36 -7
- package/i18n/locales/ja.json +36 -7
- package/i18n/locales/pl.json +36 -7
- package/i18n/locales/tr.json +36 -7
- package/i18n/locales/uk.json +36 -7
- package/package.json +2 -2
package/app/stores/github.ts
CHANGED
|
@@ -9,6 +9,8 @@ import type {
|
|
|
9
9
|
GitHubPullRequest,
|
|
10
10
|
GitHubRepo,
|
|
11
11
|
RepoTreeEntry,
|
|
12
|
+
VcsConnectOption,
|
|
13
|
+
VcsProvider,
|
|
12
14
|
} from '~/types/domain'
|
|
13
15
|
import { useSingleFlightProbe } from '~/composables/useSingleFlightProbe'
|
|
14
16
|
import { useUpsertList } from '~/composables/useUpsertList'
|
|
@@ -17,6 +19,7 @@ import { useServicesStore } from '~/stores/services'
|
|
|
17
19
|
import { pullKey, type GitHubStoreContext } from '~/stores/github/context'
|
|
18
20
|
import { createGitHubConnectionActions } from '~/stores/github/connection'
|
|
19
21
|
import { createGitHubRepoActions } from '~/stores/github/repoActions'
|
|
22
|
+
import { createVcsConnectActions } from '~/stores/github/vcsConnect'
|
|
20
23
|
|
|
21
24
|
/**
|
|
22
25
|
* GitHub integration state: the workspace's App installation, the projected
|
|
@@ -33,8 +36,10 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
33
36
|
|
|
34
37
|
/** null = unknown (not probed yet), true/false = integration on/off. */
|
|
35
38
|
const available = ref<boolean | null>(null)
|
|
36
|
-
/** The workspace's App installation, or null when not
|
|
39
|
+
/** The workspace's VCS connection (App installation or PAT), or null when not connected. */
|
|
37
40
|
const connection = ref<GitHubConnection | null>(null)
|
|
41
|
+
/** The connect surfaces this deployment serves; resolved by the probe alongside `connection`. */
|
|
42
|
+
const connectOptions = ref<VcsConnectOption[]>([])
|
|
38
43
|
/** Discovered App installations for the connect picker; loaded on demand. */
|
|
39
44
|
const installations = ref<GitHubInstallationOption[]>([])
|
|
40
45
|
const loadingInstallations = ref(false)
|
|
@@ -58,6 +63,26 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
58
63
|
const syncing = ref(false)
|
|
59
64
|
|
|
60
65
|
const connected = computed(() => connection.value !== null)
|
|
66
|
+
/**
|
|
67
|
+
* The provider backing the current connection. Presentation (labels, icons, host/URL shapes)
|
|
68
|
+
* keys off this; a connection from a backend predating the discriminator is a GitHub App one.
|
|
69
|
+
*/
|
|
70
|
+
const provider = computed<VcsProvider>(() => connection.value?.provider ?? 'github')
|
|
71
|
+
/** Whether the deployment can serve a GitHub App connect / a per-workspace GitLab PAT connect. */
|
|
72
|
+
const canConnectGitHubApp = computed(() =>
|
|
73
|
+
connectOptions.value.some((o) => o.provider === 'github' && o.method === 'app'),
|
|
74
|
+
)
|
|
75
|
+
const canConnectGitLabPat = computed(() =>
|
|
76
|
+
connectOptions.value.some((o) => o.provider === 'gitlab' && o.method === 'pat'),
|
|
77
|
+
)
|
|
78
|
+
/**
|
|
79
|
+
* The single provider this deployment can connect, or null when it offers several (or none) —
|
|
80
|
+
* what the connect copy keys off so a one-provider deployment never says "choose a provider".
|
|
81
|
+
*/
|
|
82
|
+
const soleConnectProvider = computed<VcsProvider | null>(() => {
|
|
83
|
+
const providers = new Set(connectOptions.value.map((o) => o.provider))
|
|
84
|
+
return providers.size === 1 ? [...providers][0]! : null
|
|
85
|
+
})
|
|
61
86
|
/** Whether cat-factory can create repos under the connected account itself. */
|
|
62
87
|
const canCreateRepos = computed(() => connection.value?.canCreateRepos === true)
|
|
63
88
|
/**
|
|
@@ -104,17 +129,29 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
104
129
|
return base ? `${base}/issues/${issue.number}` : null
|
|
105
130
|
}
|
|
106
131
|
|
|
107
|
-
/**
|
|
132
|
+
/**
|
|
133
|
+
* Probe the integration: resolves `available`, the current connection, and which connect
|
|
134
|
+
* surfaces the deployment serves. The capability read rides the same round trip (it is what
|
|
135
|
+
* the not-connected UI renders from), and degrades to "no connect surface" on its own.
|
|
136
|
+
*/
|
|
108
137
|
async function runProbe() {
|
|
109
138
|
if (!workspace.workspaceId) return
|
|
110
139
|
try {
|
|
111
|
-
const { connection: conn } = await
|
|
140
|
+
const [{ connection: conn }, options] = await Promise.all([
|
|
141
|
+
api.getGitHubConnection(workspace.requireId()),
|
|
142
|
+
api
|
|
143
|
+
.listVcsConnectOptions(workspace.requireId())
|
|
144
|
+
.then((r) => r.options)
|
|
145
|
+
.catch(() => []),
|
|
146
|
+
])
|
|
112
147
|
available.value = true
|
|
113
148
|
connection.value = conn
|
|
149
|
+
connectOptions.value = options
|
|
114
150
|
} catch {
|
|
115
151
|
// 503 (integration disabled) or any error → hide the UI entry points.
|
|
116
152
|
available.value = false
|
|
117
153
|
connection.value = null
|
|
154
|
+
connectOptions.value = []
|
|
118
155
|
}
|
|
119
156
|
}
|
|
120
157
|
// Single-flight the probe (app-startup initiative, item 12): `probe()` still re-reads on demand,
|
|
@@ -162,6 +199,7 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
162
199
|
workspace,
|
|
163
200
|
available,
|
|
164
201
|
connection,
|
|
202
|
+
connectOptions,
|
|
165
203
|
installations,
|
|
166
204
|
loadingInstallations,
|
|
167
205
|
repos,
|
|
@@ -180,6 +218,7 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
180
218
|
}
|
|
181
219
|
const connectionActions = createGitHubConnectionActions(context)
|
|
182
220
|
const repoActions = createGitHubRepoActions(context)
|
|
221
|
+
const vcsConnectActions = createVcsConnectActions(context)
|
|
183
222
|
|
|
184
223
|
/**
|
|
185
224
|
* Drop the per-workspace projection + connection state (called on workspace switch)
|
|
@@ -189,6 +228,7 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
189
228
|
function reset() {
|
|
190
229
|
available.value = null
|
|
191
230
|
connection.value = null
|
|
231
|
+
connectOptions.value = []
|
|
192
232
|
installations.value = []
|
|
193
233
|
repos.value = []
|
|
194
234
|
availableRepos.value = []
|
|
@@ -201,6 +241,7 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
201
241
|
return {
|
|
202
242
|
available,
|
|
203
243
|
connection,
|
|
244
|
+
connectOptions,
|
|
204
245
|
installations,
|
|
205
246
|
loadingInstallations,
|
|
206
247
|
repos,
|
|
@@ -213,6 +254,10 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
213
254
|
loading,
|
|
214
255
|
syncing,
|
|
215
256
|
connected,
|
|
257
|
+
provider,
|
|
258
|
+
canConnectGitHubApp,
|
|
259
|
+
canConnectGitLabPat,
|
|
260
|
+
soleConnectProvider,
|
|
216
261
|
canCreateRepos,
|
|
217
262
|
missingWorkflowsPermission,
|
|
218
263
|
repoFor,
|
|
@@ -229,6 +274,7 @@ export const useGitHubStore = defineStore('github', () => {
|
|
|
229
274
|
repoFiles,
|
|
230
275
|
...connectionActions,
|
|
231
276
|
...repoActions,
|
|
277
|
+
...vcsConnectActions,
|
|
232
278
|
reset,
|
|
233
279
|
}
|
|
234
280
|
})
|
package/app/types/domain.ts
CHANGED
|
@@ -171,6 +171,7 @@ export type * from './tasks'
|
|
|
171
171
|
export type * from './bootstrap'
|
|
172
172
|
export type * from './envConfigRepair'
|
|
173
173
|
export type * from './github'
|
|
174
|
+
export type * from './vcs'
|
|
174
175
|
export type * from './accounts'
|
|
175
176
|
export type * from './notifications'
|
|
176
177
|
export type * from './slack'
|
package/app/types/vcs.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Provider-neutral VCS vocabulary. The platform talks to several git providers
|
|
3
|
+
// (GitHub, GitLab, …) through one GitHub-shaped service layer, so the SPA's data
|
|
4
|
+
// stays neutral and only its PRESENTATION switches on the provider.
|
|
5
|
+
//
|
|
6
|
+
// All wire shapes come from @cat-factory/contracts (single source of truth).
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
import type { VcsProviderWire } from '@cat-factory/contracts'
|
|
10
|
+
|
|
11
|
+
export type { VcsConnectMethod, VcsConnectOption, VcsProviderWire } from '@cat-factory/contracts'
|
|
12
|
+
|
|
13
|
+
/** The VCS a connection / repository belongs to — the discriminator presentation keys off. */
|
|
14
|
+
export type VcsProvider = VcsProviderWire
|
package/app/utils/vcs.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { VcsProvider } from '~/types/domain'
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Shared VCS provider presentation. The platform's repo DATA is provider-neutral (one
|
|
5
|
+
// GitHub-shaped store serves GitLab through the backend adapter), so only presentation
|
|
6
|
+
// switches on the provider — and it switches HERE, once, rather than per component.
|
|
7
|
+
//
|
|
8
|
+
// Labels are brand names, kept verbatim in every locale, so they are constants rather than
|
|
9
|
+
// catalog keys (the same convention the login screen and the API-key provider descriptors
|
|
10
|
+
// already use). Anything that is PROSE stays in the i18n catalog, keyed per provider.
|
|
11
|
+
//
|
|
12
|
+
// Each map is an exhaustive `Record<VcsProvider, …>`: adding a provider to the union fails
|
|
13
|
+
// the typecheck here instead of silently rendering a GitHub icon for it.
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
|
|
16
|
+
/** Brand name, as rendered in titles and buttons. */
|
|
17
|
+
export const VCS_PROVIDER_LABELS: Record<VcsProvider, string> = {
|
|
18
|
+
github: 'GitHub',
|
|
19
|
+
gitlab: 'GitLab',
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const VCS_PROVIDER_ICONS: Record<VcsProvider, string> = {
|
|
23
|
+
github: 'i-lucide-github',
|
|
24
|
+
gitlab: 'i-lucide-gitlab',
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Where a user creates a personal access token for the provider (the PAT connect flow). */
|
|
28
|
+
export const VCS_PROVIDER_TOKEN_URLS: Record<VcsProvider, string> = {
|
|
29
|
+
github: 'https://github.com/settings/tokens/new',
|
|
30
|
+
gitlab: 'https://gitlab.com/-/user_settings/personal_access_tokens',
|
|
31
|
+
}
|
package/i18n/locales/de.json
CHANGED
|
@@ -2600,8 +2600,7 @@
|
|
|
2600
2600
|
},
|
|
2601
2601
|
"github": {
|
|
2602
2602
|
"onboarding": {
|
|
2603
|
-
"
|
|
2604
|
-
"intro": "cat-factory funktioniert, indem es Pull Requests in Ihren Repositorys öffnet. Installieren Sie die GitHub App auf Ihrem Account oder Ihrer Organisation, um fortzufahren; Sie können ihr jedes Repository oder eine Teilmenge gewähren.",
|
|
2603
|
+
"appIntro": "Installieren Sie die GitHub App auf Ihrem Account oder Ihrer Organisation; Sie können ihr jedes Repository oder eine Teilmenge gewähren.",
|
|
2605
2604
|
"signedInAs": "Angemeldet als {login}",
|
|
2606
2605
|
"signOut": "Abmelden"
|
|
2607
2606
|
},
|
|
@@ -2675,7 +2674,6 @@
|
|
|
2675
2674
|
"closed": "geschlossen"
|
|
2676
2675
|
},
|
|
2677
2676
|
"toast": {
|
|
2678
|
-
"disconnected": "GitHub getrennt",
|
|
2679
2677
|
"resync": "Neusynchronisierung {status}",
|
|
2680
2678
|
"reposUpdated": "Verknüpfte Repositorys aktualisiert",
|
|
2681
2679
|
"branchCreated": "Branch {name} erstellt",
|
|
@@ -2691,10 +2689,6 @@
|
|
|
2691
2689
|
"createBranch": "Branch konnte nicht erstellt werden",
|
|
2692
2690
|
"openPr": "Pull Request konnte nicht geöffnet werden",
|
|
2693
2691
|
"merge": "Mergen nicht möglich"
|
|
2694
|
-
},
|
|
2695
|
-
"confirmDisconnect": {
|
|
2696
|
-
"title": "GitHub trennen?",
|
|
2697
|
-
"body": "Die App verliert den Zugriff auf Ihre Repositorys, bis Sie sie erneut verbinden."
|
|
2698
2692
|
}
|
|
2699
2693
|
},
|
|
2700
2694
|
"addService": {
|
|
@@ -5188,5 +5182,40 @@
|
|
|
5188
5182
|
"sourceUnlinked": "Quelle getrennt",
|
|
5189
5183
|
"unlinkSourceFailed": "Quelle konnte nicht getrennt werden"
|
|
5190
5184
|
}
|
|
5185
|
+
},
|
|
5186
|
+
"vcs": {
|
|
5187
|
+
"panel": {
|
|
5188
|
+
"title": "Quellcodeverwaltung",
|
|
5189
|
+
"patMeta": "Verbunden über ein persönliches Zugriffstoken",
|
|
5190
|
+
"confirmDisconnect": {
|
|
5191
|
+
"title": "{provider} trennen?",
|
|
5192
|
+
"body": "Die App verliert den Zugriff auf Ihre Repositorys, bis Sie sie erneut verbinden."
|
|
5193
|
+
},
|
|
5194
|
+
"toast": {
|
|
5195
|
+
"disconnected": "{provider} getrennt"
|
|
5196
|
+
}
|
|
5197
|
+
},
|
|
5198
|
+
"connect": {
|
|
5199
|
+
"or": "oder",
|
|
5200
|
+
"noneConfigured": "Für dieses Deployment ist keine Quellcodeverbindung konfiguriert. Bitten Sie einen Betreiber, eine GitHub App oder einen GitLab-Zugang einzurichten.",
|
|
5201
|
+
"gitlab": {
|
|
5202
|
+
"intro": "Fügen Sie ein persönliches GitLab-Zugriffstoken ein, um diesen Workspace zu verbinden. cat-factory nutzt es, um Ihre Projekte aufzulisten, Branches zu pushen und Merge Requests zu öffnen.",
|
|
5203
|
+
"tokenLabel": "Persönliches Zugriffstoken",
|
|
5204
|
+
"scope": "Benötigt den Bereich api",
|
|
5205
|
+
"createToken": "Token auf GitLab erstellen",
|
|
5206
|
+
"submit": "GitLab verbinden",
|
|
5207
|
+
"toast": {
|
|
5208
|
+
"connected": "GitLab verbunden"
|
|
5209
|
+
},
|
|
5210
|
+
"errors": {
|
|
5211
|
+
"connect": "GitLab konnte nicht verbunden werden"
|
|
5212
|
+
}
|
|
5213
|
+
}
|
|
5214
|
+
},
|
|
5215
|
+
"onboarding": {
|
|
5216
|
+
"title": "cat-factory mit {provider} verbinden",
|
|
5217
|
+
"titleAny": "cat-factory mit Ihren Repositorys verbinden",
|
|
5218
|
+
"intro": "cat-factory funktioniert, indem es Pull Requests in Ihren Repositorys öffnet. Verbinden Sie Ihren Repository-Anbieter, um fortzufahren."
|
|
5219
|
+
}
|
|
5191
5220
|
}
|
|
5192
5221
|
}
|
package/i18n/locales/en.json
CHANGED
|
@@ -3148,8 +3148,7 @@
|
|
|
3148
3148
|
},
|
|
3149
3149
|
"github": {
|
|
3150
3150
|
"onboarding": {
|
|
3151
|
-
"
|
|
3152
|
-
"intro": "cat-factory works by opening pull requests on your repositories. Install the GitHub App on your account or organization to continue, and you can grant it every repository or pick a subset.",
|
|
3151
|
+
"appIntro": "Install the GitHub App on your account or organization; you can grant it every repository or pick a subset.",
|
|
3153
3152
|
"signedInAs": "Signed in as {login}",
|
|
3154
3153
|
"signOut": "Sign out"
|
|
3155
3154
|
},
|
|
@@ -3223,7 +3222,6 @@
|
|
|
3223
3222
|
"closed": "closed"
|
|
3224
3223
|
},
|
|
3225
3224
|
"toast": {
|
|
3226
|
-
"disconnected": "GitHub disconnected",
|
|
3227
3225
|
"resync": "Resync {status}",
|
|
3228
3226
|
"reposUpdated": "Linked repositories updated",
|
|
3229
3227
|
"branchCreated": "Branch {name} created",
|
|
@@ -3239,10 +3237,6 @@
|
|
|
3239
3237
|
"createBranch": "Could not create branch",
|
|
3240
3238
|
"openPr": "Could not open pull request",
|
|
3241
3239
|
"merge": "Could not merge"
|
|
3242
|
-
},
|
|
3243
|
-
"confirmDisconnect": {
|
|
3244
|
-
"title": "Disconnect GitHub?",
|
|
3245
|
-
"body": "The app will lose access to your repositories until you reconnect."
|
|
3246
3240
|
}
|
|
3247
3241
|
},
|
|
3248
3242
|
"addService": {
|
|
@@ -5317,5 +5311,40 @@
|
|
|
5317
5311
|
"sourceUnlinked": "Source unlinked",
|
|
5318
5312
|
"unlinkSourceFailed": "Could not unlink source"
|
|
5319
5313
|
}
|
|
5314
|
+
},
|
|
5315
|
+
"vcs": {
|
|
5316
|
+
"panel": {
|
|
5317
|
+
"title": "Source control",
|
|
5318
|
+
"patMeta": "Connected with a personal access token",
|
|
5319
|
+
"confirmDisconnect": {
|
|
5320
|
+
"title": "Disconnect {provider}?",
|
|
5321
|
+
"body": "The app will lose access to your repositories until you reconnect."
|
|
5322
|
+
},
|
|
5323
|
+
"toast": {
|
|
5324
|
+
"disconnected": "{provider} disconnected"
|
|
5325
|
+
}
|
|
5326
|
+
},
|
|
5327
|
+
"connect": {
|
|
5328
|
+
"or": "or",
|
|
5329
|
+
"noneConfigured": "No source-control connection is configured for this deployment. Ask an operator to set up a GitHub App or GitLab access.",
|
|
5330
|
+
"gitlab": {
|
|
5331
|
+
"intro": "Paste a GitLab personal access token to connect this workspace. cat-factory uses it to list your projects, push branches and open merge requests.",
|
|
5332
|
+
"tokenLabel": "Personal access token",
|
|
5333
|
+
"scope": "Needs the api scope",
|
|
5334
|
+
"createToken": "Create a token on GitLab",
|
|
5335
|
+
"submit": "Connect GitLab",
|
|
5336
|
+
"toast": {
|
|
5337
|
+
"connected": "GitLab connected"
|
|
5338
|
+
},
|
|
5339
|
+
"errors": {
|
|
5340
|
+
"connect": "Could not connect GitLab"
|
|
5341
|
+
}
|
|
5342
|
+
}
|
|
5343
|
+
},
|
|
5344
|
+
"onboarding": {
|
|
5345
|
+
"title": "Connect cat-factory to {provider}",
|
|
5346
|
+
"titleAny": "Connect cat-factory to your repositories",
|
|
5347
|
+
"intro": "cat-factory works by opening pull requests on your repositories. Connect your repository host to continue."
|
|
5348
|
+
}
|
|
5320
5349
|
}
|
|
5321
5350
|
}
|
package/i18n/locales/es.json
CHANGED
|
@@ -3061,8 +3061,7 @@
|
|
|
3061
3061
|
},
|
|
3062
3062
|
"github": {
|
|
3063
3063
|
"onboarding": {
|
|
3064
|
-
"
|
|
3065
|
-
"intro": "cat-factory funciona abriendo solicitudes de incorporación de cambios en tus repositorios. Instala la GitHub App en tu cuenta u organización para continuar, y puedes concederle todos los repositorios o elegir un subconjunto.",
|
|
3064
|
+
"appIntro": "Instala la GitHub App en tu cuenta u organización; puedes concederle todos los repositorios o elegir un subconjunto.",
|
|
3066
3065
|
"signedInAs": "Sesión iniciada como {login}",
|
|
3067
3066
|
"signOut": "Cerrar sesión"
|
|
3068
3067
|
},
|
|
@@ -3136,7 +3135,6 @@
|
|
|
3136
3135
|
"closed": "cerrada"
|
|
3137
3136
|
},
|
|
3138
3137
|
"toast": {
|
|
3139
|
-
"disconnected": "GitHub desconectado",
|
|
3140
3138
|
"resync": "Resincronización {status}",
|
|
3141
3139
|
"reposUpdated": "Repositorios vinculados actualizados",
|
|
3142
3140
|
"branchCreated": "Rama {name} creada",
|
|
@@ -3152,10 +3150,6 @@
|
|
|
3152
3150
|
"createBranch": "No se pudo crear la rama",
|
|
3153
3151
|
"openPr": "No se pudo abrir la solicitud de incorporación de cambios",
|
|
3154
3152
|
"merge": "No se pudo fusionar"
|
|
3155
|
-
},
|
|
3156
|
-
"confirmDisconnect": {
|
|
3157
|
-
"title": "¿Desconectar GitHub?",
|
|
3158
|
-
"body": "La app perderá acceso a tus repositorios hasta que vuelvas a conectar."
|
|
3159
3153
|
}
|
|
3160
3154
|
},
|
|
3161
3155
|
"addService": {
|
|
@@ -5176,5 +5170,40 @@
|
|
|
5176
5170
|
"sourceUnlinked": "Fuente desvinculada",
|
|
5177
5171
|
"unlinkSourceFailed": "No se pudo desvincular la fuente"
|
|
5178
5172
|
}
|
|
5173
|
+
},
|
|
5174
|
+
"vcs": {
|
|
5175
|
+
"panel": {
|
|
5176
|
+
"title": "Control de código fuente",
|
|
5177
|
+
"patMeta": "Conectado con un token de acceso personal",
|
|
5178
|
+
"confirmDisconnect": {
|
|
5179
|
+
"title": "¿Desconectar {provider}?",
|
|
5180
|
+
"body": "La app perderá acceso a tus repositorios hasta que vuelvas a conectar."
|
|
5181
|
+
},
|
|
5182
|
+
"toast": {
|
|
5183
|
+
"disconnected": "{provider} desconectado"
|
|
5184
|
+
}
|
|
5185
|
+
},
|
|
5186
|
+
"connect": {
|
|
5187
|
+
"or": "o",
|
|
5188
|
+
"noneConfigured": "Este despliegue no tiene configurada ninguna conexión de control de código. Pide a un operador que configure una GitHub App o el acceso a GitLab.",
|
|
5189
|
+
"gitlab": {
|
|
5190
|
+
"intro": "Pega un token de acceso personal de GitLab para conectar este espacio de trabajo. cat-factory lo usa para listar tus proyectos, subir ramas y abrir solicitudes de fusión.",
|
|
5191
|
+
"tokenLabel": "Token de acceso personal",
|
|
5192
|
+
"scope": "Necesita el ámbito api",
|
|
5193
|
+
"createToken": "Crear un token en GitLab",
|
|
5194
|
+
"submit": "Conectar GitLab",
|
|
5195
|
+
"toast": {
|
|
5196
|
+
"connected": "GitLab conectado"
|
|
5197
|
+
},
|
|
5198
|
+
"errors": {
|
|
5199
|
+
"connect": "No se pudo conectar GitLab"
|
|
5200
|
+
}
|
|
5201
|
+
}
|
|
5202
|
+
},
|
|
5203
|
+
"onboarding": {
|
|
5204
|
+
"title": "Conecta cat-factory con {provider}",
|
|
5205
|
+
"titleAny": "Conecta cat-factory con tus repositorios",
|
|
5206
|
+
"intro": "cat-factory funciona abriendo solicitudes de incorporación de cambios en tus repositorios. Conecta tu proveedor de repositorios para continuar."
|
|
5207
|
+
}
|
|
5179
5208
|
}
|
|
5180
5209
|
}
|
package/i18n/locales/fr.json
CHANGED
|
@@ -3061,8 +3061,7 @@
|
|
|
3061
3061
|
},
|
|
3062
3062
|
"github": {
|
|
3063
3063
|
"onboarding": {
|
|
3064
|
-
"
|
|
3065
|
-
"intro": "cat-factory fonctionne en ouvrant des pull requests sur vos dépôts. Installez la GitHub App sur votre compte ou votre organisation pour continuer, et vous pouvez lui accorder tous les dépôts ou en choisir un sous-ensemble.",
|
|
3064
|
+
"appIntro": "Installez la GitHub App sur votre compte ou votre organisation ; vous pouvez lui accorder tous les dépôts ou en choisir un sous-ensemble.",
|
|
3066
3065
|
"signedInAs": "Connecté en tant que {login}",
|
|
3067
3066
|
"signOut": "Se déconnecter"
|
|
3068
3067
|
},
|
|
@@ -3136,7 +3135,6 @@
|
|
|
3136
3135
|
"closed": "fermé"
|
|
3137
3136
|
},
|
|
3138
3137
|
"toast": {
|
|
3139
|
-
"disconnected": "GitHub déconnecté",
|
|
3140
3138
|
"resync": "Resynchronisation {status}",
|
|
3141
3139
|
"reposUpdated": "Dépôts liés mis à jour",
|
|
3142
3140
|
"branchCreated": "Branche {name} créée",
|
|
@@ -3152,10 +3150,6 @@
|
|
|
3152
3150
|
"createBranch": "Impossible de créer la branche",
|
|
3153
3151
|
"openPr": "Impossible d'ouvrir la pull request",
|
|
3154
3152
|
"merge": "Impossible de fusionner"
|
|
3155
|
-
},
|
|
3156
|
-
"confirmDisconnect": {
|
|
3157
|
-
"title": "Déconnecter GitHub ?",
|
|
3158
|
-
"body": "L'application perdra l'accès à vos dépôts jusqu'à la reconnexion."
|
|
3159
3153
|
}
|
|
3160
3154
|
},
|
|
3161
3155
|
"addService": {
|
|
@@ -5176,5 +5170,40 @@
|
|
|
5176
5170
|
"sourceUnlinked": "Source dissociée",
|
|
5177
5171
|
"unlinkSourceFailed": "Impossible de dissocier la source"
|
|
5178
5172
|
}
|
|
5173
|
+
},
|
|
5174
|
+
"vcs": {
|
|
5175
|
+
"panel": {
|
|
5176
|
+
"title": "Gestion de code source",
|
|
5177
|
+
"patMeta": "Connecté avec un jeton d'accès personnel",
|
|
5178
|
+
"confirmDisconnect": {
|
|
5179
|
+
"title": "Déconnecter {provider} ?",
|
|
5180
|
+
"body": "L'application perdra l'accès à vos dépôts jusqu'à la reconnexion."
|
|
5181
|
+
},
|
|
5182
|
+
"toast": {
|
|
5183
|
+
"disconnected": "{provider} déconnecté"
|
|
5184
|
+
}
|
|
5185
|
+
},
|
|
5186
|
+
"connect": {
|
|
5187
|
+
"or": "ou",
|
|
5188
|
+
"noneConfigured": "Aucune connexion de gestion de code n'est configurée pour ce déploiement. Demandez à un opérateur de configurer une GitHub App ou un accès GitLab.",
|
|
5189
|
+
"gitlab": {
|
|
5190
|
+
"intro": "Collez un jeton d'accès personnel GitLab pour connecter cet espace de travail. cat-factory l'utilise pour lister vos projets, pousser des branches et ouvrir des merge requests.",
|
|
5191
|
+
"tokenLabel": "Jeton d'accès personnel",
|
|
5192
|
+
"scope": "Nécessite la portée api",
|
|
5193
|
+
"createToken": "Créer un jeton sur GitLab",
|
|
5194
|
+
"submit": "Connecter GitLab",
|
|
5195
|
+
"toast": {
|
|
5196
|
+
"connected": "GitLab connecté"
|
|
5197
|
+
},
|
|
5198
|
+
"errors": {
|
|
5199
|
+
"connect": "Impossible de connecter GitLab"
|
|
5200
|
+
}
|
|
5201
|
+
}
|
|
5202
|
+
},
|
|
5203
|
+
"onboarding": {
|
|
5204
|
+
"title": "Connecter cat-factory à {provider}",
|
|
5205
|
+
"titleAny": "Connecter cat-factory à vos dépôts",
|
|
5206
|
+
"intro": "cat-factory fonctionne en ouvrant des pull requests sur vos dépôts. Connectez votre hébergeur de dépôts pour continuer."
|
|
5207
|
+
}
|
|
5179
5208
|
}
|
|
5180
5209
|
}
|
package/i18n/locales/he.json
CHANGED
|
@@ -3072,8 +3072,7 @@
|
|
|
3072
3072
|
},
|
|
3073
3073
|
"github": {
|
|
3074
3074
|
"onboarding": {
|
|
3075
|
-
"
|
|
3076
|
-
"intro": "cat-factory פועל על ידי פתיחת בקשות משיכה במאגרים שלך. התקן את אפליקציית GitHub בחשבון או בארגון שלך כדי להמשיך, ותוכל להעניק לה גישה לכל מאגר או לבחור תת-קבוצה.",
|
|
3075
|
+
"appIntro": "התקן את אפליקציית GitHub בחשבון או בארגון שלך; תוכל להעניק לה גישה לכל מאגר או לבחור תת-קבוצה.",
|
|
3077
3076
|
"signedInAs": "מחובר כ-{login}",
|
|
3078
3077
|
"signOut": "התנתק"
|
|
3079
3078
|
},
|
|
@@ -3147,7 +3146,6 @@
|
|
|
3147
3146
|
"closed": "סגור"
|
|
3148
3147
|
},
|
|
3149
3148
|
"toast": {
|
|
3150
|
-
"disconnected": "GitHub נותק",
|
|
3151
3149
|
"resync": "סנכרון מחדש {status}",
|
|
3152
3150
|
"reposUpdated": "המאגרים המקושרים עודכנו",
|
|
3153
3151
|
"branchCreated": "הענף {name} נוצר",
|
|
@@ -3163,10 +3161,6 @@
|
|
|
3163
3161
|
"createBranch": "לא ניתן היה ליצור ענף",
|
|
3164
3162
|
"openPr": "לא ניתן היה לפתוח בקשת משיכה",
|
|
3165
3163
|
"merge": "לא ניתן היה למזג"
|
|
3166
|
-
},
|
|
3167
|
-
"confirmDisconnect": {
|
|
3168
|
-
"title": "לנתק את GitHub?",
|
|
3169
|
-
"body": "האפליקציה תאבד גישה למאגרים שלך עד לחיבור מחדש."
|
|
3170
3164
|
}
|
|
3171
3165
|
},
|
|
3172
3166
|
"addService": {
|
|
@@ -5187,5 +5181,40 @@
|
|
|
5187
5181
|
"sourceUnlinked": "קישור המקור בוטל",
|
|
5188
5182
|
"unlinkSourceFailed": "לא ניתן לבטל את קישור המקור"
|
|
5189
5183
|
}
|
|
5184
|
+
},
|
|
5185
|
+
"vcs": {
|
|
5186
|
+
"panel": {
|
|
5187
|
+
"title": "ניהול קוד מקור",
|
|
5188
|
+
"patMeta": "מחובר באמצעות אסימון גישה אישי",
|
|
5189
|
+
"confirmDisconnect": {
|
|
5190
|
+
"title": "לנתק את {provider}?",
|
|
5191
|
+
"body": "האפליקציה תאבד גישה למאגרים שלך עד לחיבור מחדש."
|
|
5192
|
+
},
|
|
5193
|
+
"toast": {
|
|
5194
|
+
"disconnected": "{provider} נותק"
|
|
5195
|
+
}
|
|
5196
|
+
},
|
|
5197
|
+
"connect": {
|
|
5198
|
+
"or": "או",
|
|
5199
|
+
"noneConfigured": "לא הוגדר חיבור לניהול קוד מקור בפריסה הזו. בקש ממפעיל להגדיר אפליקציית GitHub או גישה ל-GitLab.",
|
|
5200
|
+
"gitlab": {
|
|
5201
|
+
"intro": "הדבק אסימון גישה אישי של GitLab כדי לחבר את סביבת העבודה הזו. cat-factory משתמש בו כדי להציג את הפרויקטים שלך, לדחוף ענפים ולפתוח בקשות מיזוג.",
|
|
5202
|
+
"tokenLabel": "אסימון גישה אישי",
|
|
5203
|
+
"scope": "נדרש היקף api",
|
|
5204
|
+
"createToken": "צור אסימון ב-GitLab",
|
|
5205
|
+
"submit": "חבר את GitLab",
|
|
5206
|
+
"toast": {
|
|
5207
|
+
"connected": "GitLab חובר"
|
|
5208
|
+
},
|
|
5209
|
+
"errors": {
|
|
5210
|
+
"connect": "לא ניתן היה לחבר את GitLab"
|
|
5211
|
+
}
|
|
5212
|
+
}
|
|
5213
|
+
},
|
|
5214
|
+
"onboarding": {
|
|
5215
|
+
"title": "חבר את cat-factory ל-{provider}",
|
|
5216
|
+
"titleAny": "חבר את cat-factory למאגרים שלך",
|
|
5217
|
+
"intro": "cat-factory פועל על ידי פתיחת בקשות משיכה במאגרים שלך. חבר את ספק המאגרים שלך כדי להמשיך."
|
|
5218
|
+
}
|
|
5190
5219
|
}
|
|
5191
5220
|
}
|
package/i18n/locales/it.json
CHANGED
|
@@ -2600,8 +2600,7 @@
|
|
|
2600
2600
|
},
|
|
2601
2601
|
"github": {
|
|
2602
2602
|
"onboarding": {
|
|
2603
|
-
"
|
|
2604
|
-
"intro": "cat-factory funziona aprendo pull request sui tuoi repository. Installa la GitHub App sul tuo account o sulla tua organizzazione per continuare, e potrai concederle ogni repository oppure scegliere un sottoinsieme.",
|
|
2603
|
+
"appIntro": "Installa la GitHub App sul tuo account o sulla tua organizzazione; potrai concederle ogni repository oppure scegliere un sottoinsieme.",
|
|
2605
2604
|
"signedInAs": "Accesso effettuato come {login}",
|
|
2606
2605
|
"signOut": "Esci"
|
|
2607
2606
|
},
|
|
@@ -2675,7 +2674,6 @@
|
|
|
2675
2674
|
"closed": "chiusa"
|
|
2676
2675
|
},
|
|
2677
2676
|
"toast": {
|
|
2678
|
-
"disconnected": "GitHub disconnesso",
|
|
2679
2677
|
"resync": "Risincronizzazione {status}",
|
|
2680
2678
|
"reposUpdated": "Repository collegati aggiornati",
|
|
2681
2679
|
"branchCreated": "Branch {name} creato",
|
|
@@ -2691,10 +2689,6 @@
|
|
|
2691
2689
|
"createBranch": "Impossibile creare il branch",
|
|
2692
2690
|
"openPr": "Impossibile aprire la pull request",
|
|
2693
2691
|
"merge": "Impossibile effettuare il merge"
|
|
2694
|
-
},
|
|
2695
|
-
"confirmDisconnect": {
|
|
2696
|
-
"title": "Disconnettere GitHub?",
|
|
2697
|
-
"body": "L'app perderà l'accesso ai tuoi repository finché non ti riconnetti."
|
|
2698
2692
|
}
|
|
2699
2693
|
},
|
|
2700
2694
|
"addService": {
|
|
@@ -5188,5 +5182,40 @@
|
|
|
5188
5182
|
"sourceUnlinked": "Fonte scollegata",
|
|
5189
5183
|
"unlinkSourceFailed": "Impossibile scollegare la fonte"
|
|
5190
5184
|
}
|
|
5185
|
+
},
|
|
5186
|
+
"vcs": {
|
|
5187
|
+
"panel": {
|
|
5188
|
+
"title": "Controllo del codice sorgente",
|
|
5189
|
+
"patMeta": "Connesso con un token di accesso personale",
|
|
5190
|
+
"confirmDisconnect": {
|
|
5191
|
+
"title": "Disconnettere {provider}?",
|
|
5192
|
+
"body": "L'app perderà l'accesso ai tuoi repository finché non ti riconnetti."
|
|
5193
|
+
},
|
|
5194
|
+
"toast": {
|
|
5195
|
+
"disconnected": "{provider} disconnesso"
|
|
5196
|
+
}
|
|
5197
|
+
},
|
|
5198
|
+
"connect": {
|
|
5199
|
+
"or": "oppure",
|
|
5200
|
+
"noneConfigured": "Per questo deployment non è configurata alcuna connessione al controllo del codice. Chiedi a un operatore di configurare una GitHub App o l'accesso a GitLab.",
|
|
5201
|
+
"gitlab": {
|
|
5202
|
+
"intro": "Incolla un token di accesso personale GitLab per collegare questo workspace. cat-factory lo usa per elencare i tuoi progetti, inviare branch e aprire merge request.",
|
|
5203
|
+
"tokenLabel": "Token di accesso personale",
|
|
5204
|
+
"scope": "Richiede l'ambito api",
|
|
5205
|
+
"createToken": "Crea un token su GitLab",
|
|
5206
|
+
"submit": "Collega GitLab",
|
|
5207
|
+
"toast": {
|
|
5208
|
+
"connected": "GitLab collegato"
|
|
5209
|
+
},
|
|
5210
|
+
"errors": {
|
|
5211
|
+
"connect": "Impossibile collegare GitLab"
|
|
5212
|
+
}
|
|
5213
|
+
}
|
|
5214
|
+
},
|
|
5215
|
+
"onboarding": {
|
|
5216
|
+
"title": "Collega cat-factory a {provider}",
|
|
5217
|
+
"titleAny": "Collega cat-factory ai tuoi repository",
|
|
5218
|
+
"intro": "cat-factory funziona aprendo pull request sui tuoi repository. Collega il tuo host di repository per continuare."
|
|
5219
|
+
}
|
|
5191
5220
|
}
|
|
5192
5221
|
}
|