feat: Remove OIDC and SSO support

Existing SSO accounts have no local password, so the migration
deactivates them before dropping is_sso_user and the
identity_provider_user table.
This commit is contained in:
Daniel Hiller
2026-08-07 19:15:43 +02:00
parent a1f0a2b3fa
commit 36aa732fec
128 changed files with 121 additions and 1993 deletions
-1
View File
@@ -20,7 +20,6 @@
- **Real-Time Updates:** Instant syncing across all users, no refresh needed - **Real-Time Updates:** Instant syncing across all users, no refresh needed
- **Rich Markdown Support:** Write beautifully formatted card descriptions with a powerful markdown editor - **Rich Markdown Support:** Write beautifully formatted card descriptions with a powerful markdown editor
- **Flexible Notifications:** Get alerts through 100+ providers, fully customizable to your workflow - **Flexible Notifications:** Get alerts through 100+ providers, fully customizable to your workflow
- **Seamless Authentication:** Single sign-on with OpenID Connect integration
- **Multilingual & Easy to Translate:** Full internationalization support for a global audience - **Multilingual & Easy to Translate:** Full internationalization support for a global audience
## How to Deploy ## How to Deploy
-42
View File
@@ -116,7 +116,6 @@ Any questions or concerns, [raise an issue](https://github.com/Chris-Greaves/pla
The Helm chart supports mounting arbitrary ConfigMaps, Secrets, and Volumes to the PLANKA deployment using the `extraMounts` configuration. This is especially useful for scenarios like: The Helm chart supports mounting arbitrary ConfigMaps, Secrets, and Volumes to the PLANKA deployment using the `extraMounts` configuration. This is especially useful for scenarios like:
- Mounting custom CA certificates for OIDC with self-hosted identity providers
- Adding custom configuration files - Adding custom configuration files
- Mounting TLS certificates from existing secrets - Mounting TLS certificates from existing secrets
- Adding temporary or persistent storage volumes - Adding temporary or persistent storage volumes
@@ -173,44 +172,6 @@ extraMounts:
path: /exports/planka path: /exports/planka
``` ```
### OIDC with Self-Hosted Keycloak
A common use case is configuring OIDC with a self-hosted Keycloak instance that uses custom CA certificates.
First, create the CA certificate ConfigMap:
```bash
kubectl create configmap ca-certificates --from-file=ca.crt=/path/to/your/ca.crt
```
Then configure the chart:
```yaml
# Mount custom CA certificate from existing ConfigMap
extraMounts:
- name: keycloak-ca
mountPath: /etc/ssl/certs/keycloak-ca.crt
subPath: ca.crt
readOnly: true
configMap:
name: ca-certificates
# Configure Node.js to trust the custom CA
extraEnv:
- name: NODE_EXTRA_CA_CERTS
value: "/etc/ssl/certs/keycloak-ca.crt"
# Enable OIDC
oidc:
enabled: true
clientId: "planka-client"
clientSecret: "your-client-secret"
issuerUrl: "https://keycloak.example.com/realms/master"
admin:
roles:
- "planka-admin"
```
### Environment Variables from Secrets ### Environment Variables from Secrets
You can reference values from existing secrets in environment variables: You can reference values from existing secrets in environment variables:
@@ -310,7 +271,4 @@ image:
- **Reproducibility**: Makes deployments fully reproducible across environments - **Reproducibility**: Makes deployments fully reproducible across environments
- **Audit Trail**: Provides clear image identity in deployment manifests - **Audit Trail**: Provides clear image identity in deployment manifests
### Complete Example
See `values-example.yaml` for a comprehensive example that demonstrates all the advanced features including OIDC configuration with custom CA certificates.
```` ````
-27
View File
@@ -173,33 +173,6 @@ spec:
- name: {{ $k | quote }} - name: {{ $k | quote }}
value: {{ $v | quote }} value: {{ $v | quote }}
{{- end }} {{- end }}
{{- if .Values.oidc.enabled }}
{{- $secretName := default (printf "%s-oidc" (include "planka.fullname" .)) .Values.oidc.existingSecret }}
- name: OIDC_CLIENT_ID
valueFrom:
secretKeyRef:
key: clientId
name: {{ $secretName }}
- name: OIDC_CLIENT_SECRET
valueFrom:
secretKeyRef:
key: clientSecret
name: {{ $secretName }}
- name: OIDC_ISSUER
value: {{ required "issuerUrl is required when configuring OIDC" .Values.oidc.issuerUrl | quote }}
- name: OIDC_SCOPES
value: {{ join " " .Values.oidc.scopes | default "openid profile email" | quote }}
{{- if .Values.oidc.admin.roles }}
- name: OIDC_ADMIN_ROLES
value: {{ join "," .Values.oidc.admin.roles | quote }}
{{- end }}
- name: OIDC_ROLES_ATTRIBUTE
value: {{ .Values.oidc.admin.rolesAttribute | default "groups" | quote }}
{{- if .Values.oidc.admin.ignoreRoles }}
- name: OIDC_IGNORE_ROLES
value: {{ .Values.oidc.admin.ignoreRoles | quote }}
{{- end }}
{{- end }}
{{- if .Values.extraContainers -}} {{- if .Values.extraContainers -}}
{{ toYaml .Values.extraContainers | nindent 8 }} {{ toYaml .Values.extraContainers | nindent 8 }}
{{- end }} {{- end }}
-17
View File
@@ -1,17 +0,0 @@
{{- if .Values.oidc.enabled }}
{{- if eq (and (not (empty .Values.oidc.clientId)) (not (empty .Values.oidc.clientSecret))) (not (empty .Values.oidc.existingSecret)) -}}
{{- fail "Either specify inline `clientId` and `clientSecret` or refer to them via `existingSecret`" -}}
{{- end }}
{{- if (and (and (not (empty .Values.oidc.clientId)) (not (empty .Values.oidc.clientSecret))) (empty .Values.oidc.existingSecret)) -}}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "planka.fullname" . }}-oidc
labels:
{{- include "planka.labels" . | nindent 4 }}
type: Opaque
data:
clientId: {{ .Values.oidc.clientId | b64enc | quote }}
clientSecret: {{ .Values.oidc.clientSecret | b64enc | quote }}
{{- end }}
{{- end }}
-79
View File
@@ -151,71 +151,6 @@ persistence:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
size: 10Gi size: 10Gi
## OpenID Identity Management configuration
##
## Example:
## ---------------
## oidc:
## enabled: true
## clientId: sxxaAIAxVXlCxTmc1YLHBbQr8NL8MqLI2DUbt42d
## clientSecret: om4RTMRVHRszU7bqxB7RZNkHIzA8e4sGYWxeCwIMYQXPwEBWe4SY5a0wwCe9ltB3zrq5f0dnFnp34cEHD7QSMHsKvV9AiV5Z7eqDraMnv0I8IFivmuV5wovAECAYreSI
## issuerUrl: https://auth.local/application/o/planka/
## admin:
## roles:
## - planka-admin
##
## ---------------
## NOTE: A minimal configuration requires setting `clientId`, `clientSecret` and `issuerUrl`. (plus `admin.roles` for administrators)
## ref: https://docs.planka.cloud/docs/configuration/oidc/
##
oidc:
## @param oidc.enabled Enable single sign-on (SSO) with OpenID Connect (OIDC)
##
enabled: false
## OIDC credentials
## @param oidc.clientId A string unique to the provider that identifies your app.
## @param oidc.clientSecret A secret string that the provider uses to confirm ownership of a client ID.
##
## NOTE: Either specify inline `clientId` and `clientSecret` or refer to them via `existingSecret`
##
clientId: ""
clientSecret: ""
## @param oidc.existingSecret Name of an existing secret containing OIDC credentials
## NOTE: Must contain key `clientId` and `clientSecret`
## NOTE: When it's set, the `clientId` and `clientSecret` parameters are ignored
##
existingSecret: ""
## @param oidc.issuerUrl The OpenID connect metadata document endpoint
##
issuerUrl: ""
## @param oidc.scopes A list of scopes required for OIDC client.
## If empty will default to `openid`, `profile` and `email`
## NOTE: PLANKA needs the email and name claims
##
scopes: []
## Admin permissions configuration
admin:
## @param oidc.admin.ignoreRoles If set to true, the admin roles will be ignored.
## It is useful if you want to use OIDC for authentication but not for authorization.
## If empty will default to `false`
##
ignoreRoles: false
## @param oidc.admin.rolesAttribute The name of a custom group claim that you have configured in your OIDC provider
## If empty will default to `groups`
##
rolesAttribute: groups
## @param oidc.admin.roles The names of the admin groups
##
roles: []
# - planka-admin
## Extra environment variables for planka deployment ## Extra environment variables for planka deployment
## Supports hard coded and getting values from a k8s secret ## Supports hard coded and getting values from a k8s secret
## - name: test ## - name: test
@@ -293,20 +228,6 @@ extraMounts: []
## emptyDir: ## emptyDir:
## sizeLimit: 1Gi ## sizeLimit: 1Gi
## Example configuration for OIDC with self-hosted Keycloak using custom CA
## (Requires pre-existing ConfigMap "ca-certificates")
## extraMounts:
## - name: keycloak-ca
## mountPath: /etc/ssl/certs/keycloak-ca.crt
## subPath: ca.crt
## readOnly: true
## configMap:
## name: ca-certificates
##
## extraEnv:
## - name: NODE_EXTRA_CA_CERTS
## value: "/etc/ssl/certs/keycloak-ca.crt"
extraContainers: [] extraContainers: []
## Extra sidecar containers ## Extra sidecar containers
## Add additional containers to the PLANKA pod ## Add additional containers to the PLANKA pod
-28
View File
@@ -34,33 +34,6 @@ authenticate.failure = (error, terms) => ({
}, },
}); });
const authenticateWithOidc = () => ({
type: ActionTypes.WITH_OIDC_AUTHENTICATE,
payload: {},
});
authenticateWithOidc.success = (accessToken) => ({
type: ActionTypes.WITH_OIDC_AUTHENTICATE__SUCCESS,
payload: {
accessToken,
},
});
authenticateWithOidc.failure = (error, terms) => ({
type: ActionTypes.WITH_OIDC_AUTHENTICATE__FAILURE,
payload: {
error,
terms,
},
});
authenticateWithOidc.debug = (logs) => ({
type: ActionTypes.WITH_OIDC_AUTHENTICATE__DEBUG,
payload: {
logs,
},
});
const clearAuthenticateError = () => ({ const clearAuthenticateError = () => ({
type: ActionTypes.AUTHENTICATE_ERROR_CLEAR, type: ActionTypes.AUTHENTICATE_ERROR_CLEAR,
payload: {}, payload: {},
@@ -128,7 +101,6 @@ updateTermsLanguage.failure = (error) => ({
export default { export default {
initializeLogin, initializeLogin,
authenticate, authenticate,
authenticateWithOidc,
clearAuthenticateError, clearAuthenticateError,
acceptTerms, acceptTerms,
cancelTerms, cancelTerms,
-7
View File
@@ -10,11 +10,6 @@ import http from './http';
const createAccessToken = (data, headers) => const createAccessToken = (data, headers) =>
http.post('/access-tokens?withHttpOnlyToken=true', data, headers); http.post('/access-tokens?withHttpOnlyToken=true', data, headers);
const exchangeForAccessTokenWithOidc = (data, headers) =>
http.post('/access-tokens/exchange-with-oidc?withHttpOnlyToken=true', data, headers);
const debugOidc = (data, headers) => http.post('/access-tokens/debug-oidc', data, headers);
// TODO: rename? // TODO: rename?
const acceptTerms = (data, headers) => http.post('/access-tokens/accept-terms', data, headers); const acceptTerms = (data, headers) => http.post('/access-tokens/accept-terms', data, headers);
@@ -25,8 +20,6 @@ const deleteCurrentAccessToken = (headers) => http.delete('/access-tokens/me', u
export default { export default {
createAccessToken, createAccessToken,
exchangeForAccessTokenWithOidc,
debugOidc,
acceptTerms, acceptTerms,
revokePendingToken, revokePendingToken,
deleteCurrentAccessToken, deleteCurrentAccessToken,
@@ -32,7 +32,6 @@ const StepTypes = {
EDIT_PASSWORD: 'EDIT_PASSWORD', EDIT_PASSWORD: 'EDIT_PASSWORD',
EDIT_ROLE: 'EDIT_ROLE', EDIT_ROLE: 'EDIT_ROLE',
API_KEY: 'API_KEY', API_KEY: 'API_KEY',
UNLINK_SSO: 'UNLINK_SSO',
ACTIVATE: 'ACTIVATE', ACTIVATE: 'ACTIVATE',
DEACTIVATE: 'DEACTIVATE', DEACTIVATE: 'DEACTIVATE',
DELETE: 'DELETE', DELETE: 'DELETE',
@@ -61,16 +60,6 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
[userId, dispatch], [userId, dispatch],
); );
const handleUnlinkSsoConfirm = useCallback(() => {
dispatch(
entryActions.updateUser(userId, {
isSsoUser: false,
}),
);
onClose();
}, [userId, onClose, dispatch]);
const handleActivateConfirm = useCallback(() => { const handleActivateConfirm = useCallback(() => {
dispatch( dispatch(
entryActions.updateUser(userId, { entryActions.updateUser(userId, {
@@ -123,10 +112,6 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
openStep(StepTypes.API_KEY); openStep(StepTypes.API_KEY);
}, [openStep]); }, [openStep]);
const handleUnlinkSsoClick = useCallback(() => {
openStep(StepTypes.UNLINK_SSO);
}, [openStep]);
const handleActivateClick = useCallback(() => { const handleActivateClick = useCallback(() => {
openStep(StepTypes.ACTIVATE); openStep(StepTypes.ACTIVATE);
}, [openStep]); }, [openStep]);
@@ -165,16 +150,6 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
); );
case StepTypes.API_KEY: case StepTypes.API_KEY:
return <ApiKeyStep userId={userId} onBack={handleBack} onClose={onClose} />; return <ApiKeyStep userId={userId} onBack={handleBack} onClose={onClose} />;
case StepTypes.UNLINK_SSO:
return (
<ConfirmationStep
title="common.unlinkSso"
content="common.areYouSureYouWantToUnlinkSsoFromThisUser"
buttonContent="action.unlinkSso"
onConfirm={handleUnlinkSsoConfirm}
onBack={handleBack}
/>
);
case StepTypes.ACTIVATE: case StepTypes.ACTIVATE:
return ( return (
<ConfirmationStep <ConfirmationStep
@@ -271,14 +246,6 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
context: 'title', context: 'title',
})} })}
</Menu.Item> </Menu.Item>
{user.isSsoUser && !user.lockedFieldNames.includes('isSsoUser') && !isCurrentUser && (
<Menu.Item className={styles.menuItem} onClick={handleUnlinkSsoClick}>
<Icon name="unlink" className={styles.menuItemIcon} />
{t('action.unlinkSso', {
context: 'title',
})}
</Menu.Item>
)}
{!isCurrentUser && ( {!isCurrentUser && (
<> <>
<Menu.Item <Menu.Item
@@ -21,11 +21,6 @@ const UsersPane = React.memo(() => {
const activeUsersTotal = useSelector(selectors.selectActiveUsersTotal); const activeUsersTotal = useSelector(selectors.selectActiveUsersTotal);
const users = useSelector(selectors.selectUsers); const users = useSelector(selectors.selectUsers);
const canAdd = useSelector((state) => {
const oidcBootstrap = selectors.selectOidcBootstrap(state);
return !oidcBootstrap || !oidcBootstrap.isEnforced;
});
const [t] = useTranslation(); const [t] = useTranslation();
const [search, handleSearchChange] = useField(''); const [search, handleSearchChange] = useField('');
@@ -102,7 +97,6 @@ const UsersPane = React.memo(() => {
className={styles.toggleDeactivatedButton} className={styles.toggleDeactivatedButton}
onClick={handleToggleDeactivatedClick} onClick={handleToggleDeactivatedClick}
/> />
{canAdd && (
<AddPopup> <AddPopup>
<Button <Button
positive positive
@@ -117,7 +111,6 @@ const UsersPane = React.memo(() => {
)} )}
</Button> </Button>
</AddPopup> </AddPopup>
)}
</div> </div>
</Tab.Pane> </Tab.Pane>
); );
+6 -54
View File
@@ -8,8 +8,7 @@ import React, { useCallback, useEffect, useMemo } from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { useTranslation, Trans } from 'react-i18next'; import { useTranslation, Trans } from 'react-i18next';
import TextareaAutosize from 'react-textarea-autosize'; import { Form, Grid, Header, Message } from 'semantic-ui-react';
import { Button, Divider, Form, Grid, Header, Message, TextArea } from 'semantic-ui-react';
import { useDidUpdate, usePrevious, useToggle } from '../../../lib/hooks'; import { useDidUpdate, usePrevious, useToggle } from '../../../lib/hooks';
import { Input } from '../../../lib/custom-ui'; import { Input } from '../../../lib/custom-ui';
@@ -24,7 +23,7 @@ import logo from '../../../assets/images/logo.png';
import styles from './Content.module.scss'; import styles from './Content.module.scss';
const createMessage = (error, isDebug) => { const createMessage = (error) => {
if (!error) { if (!error) {
return error; return error;
} }
@@ -45,11 +44,6 @@ const createMessage = (error, isDebug) => {
type: 'error', type: 'error',
content: 'common.invalidPassword', content: 'common.invalidPassword',
}; };
case 'Use single sign-on':
return {
type: 'error',
content: 'common.useSingleSignOn',
};
case 'Admin login required to initialize instance': case 'Admin login required to initialize instance':
return { return {
type: 'error', type: 'error',
@@ -83,7 +77,7 @@ const createMessage = (error, isDebug) => {
default: default:
return { return {
type: 'warning', type: 'warning',
content: isDebug ? error.message : 'common.unknownError', content: 'common.unknownError',
}; };
} }
}; };
@@ -94,9 +88,7 @@ const Content = React.memo(() => {
const { const {
data: defaultData, data: defaultData,
isSubmitting, isSubmitting,
isSubmittingWithOidc,
error, error,
debugLogs,
step, step,
} = useSelector(selectors.selectAuthenticateForm); } = useSelector(selectors.selectAuthenticateForm);
@@ -126,11 +118,7 @@ const Content = React.memo(() => {
return initialData; return initialData;
}); });
const withOidc = !!bootstrap.oidc; const message = useMemo(() => createMessage(error), [error]);
const isOidcEnforced = withOidc && bootstrap.oidc.isEnforced;
const isOidcDebug = withOidc && bootstrap.oidc.debug;
const message = useMemo(() => createMessage(error, isOidcDebug), [error, isOidcDebug]);
const [focusPasswordFieldState, focusPasswordField] = useToggle(); const [focusPasswordFieldState, focusPasswordField] = useToggle();
const [emailOrUsernameFieldRef, handleEmailOrUsernameFieldRef] = useNestedRef('inputRef'); const [emailOrUsernameFieldRef, handleEmailOrUsernameFieldRef] = useNestedRef('inputRef');
@@ -155,19 +143,13 @@ const Content = React.memo(() => {
dispatch(entryActions.authenticate(cleanData)); dispatch(entryActions.authenticate(cleanData));
}, [dispatch, data, emailOrUsernameFieldRef, passwordFieldRef]); }, [dispatch, data, emailOrUsernameFieldRef, passwordFieldRef]);
const handleAuthenticateWithOidcClick = useCallback(() => {
dispatch(entryActions.authenticateWithOidc());
}, [dispatch]);
const handleMessageDismiss = useCallback(() => { const handleMessageDismiss = useCallback(() => {
dispatch(entryActions.clearAuthenticateError()); dispatch(entryActions.clearAuthenticateError());
}, [dispatch]); }, [dispatch]);
useEffect(() => { useEffect(() => {
if (!isOidcEnforced) {
emailOrUsernameFieldRef.current.focus(); emailOrUsernameFieldRef.current.focus();
} }, [emailOrUsernameFieldRef]);
}, [isOidcEnforced, emailOrUsernameFieldRef]);
useDidUpdate(() => { useDidUpdate(() => {
if (wasSubmitting && !isSubmitting && error) { if (wasSubmitting && !isSubmitting && error) {
@@ -227,8 +209,6 @@ const Content = React.memo(() => {
onDismiss={handleMessageDismiss} onDismiss={handleMessageDismiss}
/> />
)} )}
{!isOidcEnforced && (
<>
<Form size="large" onSubmit={handleSubmit}> <Form size="large" onSubmit={handleSubmit}>
<div className={styles.inputWrapper}> <div className={styles.inputWrapper}>
<div className={styles.inputLabel}>{t('common.emailOrUsername')}</div> <div className={styles.inputLabel}>{t('common.emailOrUsername')}</div>
@@ -263,37 +243,9 @@ const Content = React.memo(() => {
labelPosition="right" labelPosition="right"
content={t('action.logIn')} content={t('action.logIn')}
loading={isSubmitting} loading={isSubmitting}
disabled={isSubmitting || isSubmittingWithOidc} disabled={isSubmitting}
/> />
</Form> </Form>
{withOidc && (
<Divider horizontal content={t('common.or')} className={styles.divider} />
)}
</>
)}
{withOidc && (
<>
<Button
fluid
primary={isOidcDebug ? undefined : isOidcEnforced}
color={isOidcDebug ? 'orange' : undefined}
icon={isOidcEnforced ? 'right arrow' : undefined}
labelPosition={isOidcEnforced ? 'right' : undefined}
content={isOidcDebug ? t('action.debugSso') : t('action.logInWithSso')}
loading={isSubmittingWithOidc}
disabled={isSubmitting || isSubmittingWithOidc}
onClick={handleAuthenticateWithOidcClick}
/>
{debugLogs && (
<TextArea
readOnly
as={TextareaAutosize}
value={debugLogs.join('\n')}
className={styles.debugLog}
/>
)}
</>
)}
</div> </div>
<div className={styles.poweredBy}> <div className={styles.poweredBy}>
<p className={styles.poweredByText}> <p className={styles.poweredByText}>
-1
View File
@@ -32,7 +32,6 @@ function Root({ store, history }) {
<ToasterProvider toaster={toaster}> <ToasterProvider toaster={toaster}>
<Routes> <Routes>
<Route path={Paths.LOGIN} element={<Login />} /> <Route path={Paths.LOGIN} element={<Login />} />
<Route path={Paths.OIDC_CALLBACK} element={<Login />} />
<Route path={Paths.ROOT} element={<Core />} /> <Route path={Paths.ROOT} element={<Core />} />
<Route path={Paths.PROJECTS} element={<Core />} /> <Route path={Paths.PROJECTS} element={<Core />} />
<Route path={Paths.BOARDS} element={<Core />} /> <Route path={Paths.BOARDS} element={<Core />} />
@@ -47,12 +47,11 @@ const EditUserEmailStep = React.memo(({ id, onBack, onClose }) => {
const { const {
email, email,
isSsoUser,
emailUpdateForm: { data: defaultData, isSubmitting, error }, emailUpdateForm: { data: defaultData, isSubmitting, error },
} = useSelector((state) => selectUserById(state, id)); } = useSelector((state) => selectUserById(state, id));
const withPasswordConfirmation = useSelector( const withPasswordConfirmation = useSelector(
(state) => id === selectors.selectCurrentUserId(state) && !isSsoUser, (state) => id === selectors.selectCurrentUserId(state),
); );
const dispatch = useDispatch(); const dispatch = useDispatch();
@@ -42,12 +42,11 @@ const EditUserPasswordStep = React.memo(({ id, onBack, onClose }) => {
const selectUserById = useMemo(() => selectors.makeSelectUserById(), []); const selectUserById = useMemo(() => selectors.makeSelectUserById(), []);
const { const {
isSsoUser,
passwordUpdateForm: { data: defaultData, isSubmitting, error }, passwordUpdateForm: { data: defaultData, isSubmitting, error },
} = useSelector((state) => selectUserById(state, id)); } = useSelector((state) => selectUserById(state, id));
const withPasswordConfirmation = useSelector( const withPasswordConfirmation = useSelector(
(state) => id === selectors.selectCurrentUserId(state) && !isSsoUser, (state) => id === selectors.selectCurrentUserId(state),
); );
const dispatch = useDispatch(); const dispatch = useDispatch();
@@ -47,12 +47,11 @@ const EditUserUsernameStep = React.memo(({ id, onBack, onClose }) => {
const { const {
username, username,
isSsoUser,
usernameUpdateForm: { data: defaultData, isSubmitting, error }, usernameUpdateForm: { data: defaultData, isSubmitting, error },
} = useSelector((state) => selectUserById(state, id)); } = useSelector((state) => selectUserById(state, id));
const withPasswordConfirmation = useSelector( const withPasswordConfirmation = useSelector(
(state) => id === selectors.selectCurrentUserId(state) && !isSsoUser, (state) => id === selectors.selectCurrentUserId(state),
); );
const dispatch = useDispatch(); const dispatch = useDispatch();
-4
View File
@@ -26,10 +26,6 @@ export default {
AUTHENTICATE: 'AUTHENTICATE', AUTHENTICATE: 'AUTHENTICATE',
AUTHENTICATE__SUCCESS: 'AUTHENTICATE__SUCCESS', AUTHENTICATE__SUCCESS: 'AUTHENTICATE__SUCCESS',
AUTHENTICATE__FAILURE: 'AUTHENTICATE__FAILURE', AUTHENTICATE__FAILURE: 'AUTHENTICATE__FAILURE',
WITH_OIDC_AUTHENTICATE: 'WITH_OIDC_AUTHENTICATE',
WITH_OIDC_AUTHENTICATE__SUCCESS: 'WITH_OIDC_AUTHENTICATE__SUCCESS',
WITH_OIDC_AUTHENTICATE__FAILURE: 'WITH_OIDC_AUTHENTICATE__FAILURE',
WITH_OIDC_AUTHENTICATE__DEBUG: 'WITH_OIDC_AUTHENTICATE__DEBUG',
AUTHENTICATE_ERROR_CLEAR: 'AUTHENTICATE_ERROR_CLEAR', AUTHENTICATE_ERROR_CLEAR: 'AUTHENTICATE_ERROR_CLEAR',
TERMS_ACCEPT: 'TERMS_ACCEPT', TERMS_ACCEPT: 'TERMS_ACCEPT',
TERMS_ACCEPT__SUCCESS: 'TERMS_ACCEPT__SUCCESS', TERMS_ACCEPT__SUCCESS: 'TERMS_ACCEPT__SUCCESS',
-1
View File
@@ -20,7 +20,6 @@ export default {
/* Login */ /* Login */
AUTHENTICATE: `${PREFIX}/AUTHENTICATE`, AUTHENTICATE: `${PREFIX}/AUTHENTICATE`,
WITH_OIDC_AUTHENTICATE: `${PREFIX}/WITH_OIDC_AUTHENTICATE`,
AUTHENTICATE_ERROR_CLEAR: `${PREFIX}/AUTHENTICATE_ERROR_CLEAR`, AUTHENTICATE_ERROR_CLEAR: `${PREFIX}/AUTHENTICATE_ERROR_CLEAR`,
TERMS_ACCEPT: `${PREFIX}/TERMS_ACCEPT`, TERMS_ACCEPT: `${PREFIX}/TERMS_ACCEPT`,
TERMS_CANCEL: `${PREFIX}/TERMS_CANCEL`, TERMS_CANCEL: `${PREFIX}/TERMS_CANCEL`,
-2
View File
@@ -7,7 +7,6 @@ import Config from './Config';
const ROOT = `${Config.BASE_PATH}/`; const ROOT = `${Config.BASE_PATH}/`;
const LOGIN = `${Config.BASE_PATH}/login`; const LOGIN = `${Config.BASE_PATH}/login`;
const OIDC_CALLBACK = `${Config.BASE_PATH}/oidc-callback`;
const PROJECTS = `${Config.BASE_PATH}/projects/:id`; const PROJECTS = `${Config.BASE_PATH}/projects/:id`;
const BOARDS = `${Config.BASE_PATH}/boards/:id`; const BOARDS = `${Config.BASE_PATH}/boards/:id`;
const CARDS = `${Config.BASE_PATH}/cards/:id`; const CARDS = `${Config.BASE_PATH}/cards/:id`;
@@ -15,7 +14,6 @@ const CARDS = `${Config.BASE_PATH}/cards/:id`;
export default { export default {
ROOT, ROOT,
LOGIN, LOGIN,
OIDC_CALLBACK,
PROJECTS, PROJECTS,
BOARDS, BOARDS,
CARDS, CARDS,
-6
View File
@@ -12,11 +12,6 @@ const authenticate = (data) => ({
}, },
}); });
const authenticateWithOidc = () => ({
type: EntryActionTypes.WITH_OIDC_AUTHENTICATE,
payload: {},
});
const clearAuthenticateError = () => ({ const clearAuthenticateError = () => ({
type: EntryActionTypes.AUTHENTICATE_ERROR_CLEAR, type: EntryActionTypes.AUTHENTICATE_ERROR_CLEAR,
payload: {}, payload: {},
@@ -43,7 +38,6 @@ const updateTermsLanguage = (value) => ({
export default { export default {
authenticate, authenticate,
authenticateWithOidc,
clearAuthenticateError, clearAuthenticateError,
acceptTerms, acceptTerms,
cancelTerms, cancelTerms,
-5
View File
@@ -83,8 +83,6 @@ export default {
'هل أنت متأكد أنك تريد إزالة هذا المدير من المشروع؟', 'هل أنت متأكد أنك تريد إزالة هذا المدير من المشروع؟',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'هل أنت متأكد أنك تريد إزالة هذا العضو من اللوحة؟', 'هل أنت متأكد أنك تريد إزالة هذا العضو من اللوحة؟',
areYouSureYouWantToUnlinkSsoFromThisUser:
'هل أنت متأكد أنك تريد إلغاء ربط تسجيل الدخول الموحد من هذا المستخدم؟ سيسمح هذا للمستخدم بتسجيل الدخول باستخدام كلمة المرور.',
assignAsOwner_title: 'تعيين كمالك', assignAsOwner_title: 'تعيين كمالك',
atLeastOneListMustBePresent: 'يجب وجود قائمة واحدة على الأقل', atLeastOneListMustBePresent: 'يجب وجود قائمة واحدة على الأقل',
attachment: 'مرفق', attachment: 'مرفق',
@@ -330,7 +328,6 @@ export default {
turnOffRecentCardHighlighting: 'إيقاف تمييز البطاقات الحديثة', turnOffRecentCardHighlighting: 'إيقاف تمييز البطاقات الحديثة',
typeNameToConfirm: 'اكتب الاسم للتأكيد.', typeNameToConfirm: 'اكتب الاسم للتأكيد.',
typeTitleToConfirm: 'اكتب العنوان للتأكيد.', typeTitleToConfirm: 'اكتب العنوان للتأكيد.',
unlinkSso_title: 'إلغاء ربط تسجيل الدخول الموحد',
unsavedChanges: 'تغييرات غير محفوظة', unsavedChanges: 'تغييرات غير محفوظة',
uploadFailedFileIsTooBig: 'فشل الرفع: الملف كبير جداً.', uploadFailedFileIsTooBig: 'فشل الرفع: الملف كبير جداً.',
uploadFailedNotEnoughStorageSpace: 'فشل الرفع: مساحة التخزين غير كافية.', uploadFailedNotEnoughStorageSpace: 'فشل الرفع: مساحة التخزين غير كافية.',
@@ -497,8 +494,6 @@ export default {
start: 'ابدأ', start: 'ابدأ',
stop: 'توقف', stop: 'توقف',
subscribe: 'اشترك', subscribe: 'اشترك',
unlinkSso: 'إلغاء ربط تسجيل الدخول الموحد',
unlinkSso_title: 'إلغاء ربط تسجيل الدخول الموحد',
unsubscribe: 'إلغاء الاشتراك', unsubscribe: 'إلغاء الاشتراك',
uploadNewAvatar: 'رفع صورة رمزية جديدة', uploadNewAvatar: 'رفع صورة رمزية جديدة',
uploadNewImage: 'رفع صورة جديدة', uploadNewImage: 'رفع صورة جديدة',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: 'مدعوم بواسطة <1>PLANKA</1>', poweredByPlanka: 'مدعوم بواسطة <1>PLANKA</1>',
serverConnectionFailed: 'فشل الاتصال بالخادم', serverConnectionFailed: 'فشل الاتصال بالخادم',
unknownError: 'خطأ غير معروف، يرجى المحاولة لاحقاً', unknownError: 'خطأ غير معروف، يرجى المحاولة لاحقاً',
useSingleSignOn: 'استخدم تسجيل الدخول الموحد',
usernameAlreadyInUse: 'اسم المستخدم تم استخدامه بالفعل', usernameAlreadyInUse: 'اسم المستخدم تم استخدامه بالفعل',
whoops_title: 'عفواً!', whoops_title: 'عفواً!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: 'إلغاء وإغلاق', cancelAndClose: 'إلغاء وإغلاق',
continue: 'متابعة', continue: 'متابعة',
debugSso: 'تصحيح أخطاء تسجيل الدخول الموحد',
goBack: 'العودة', goBack: 'العودة',
goHome: 'الذهاب للرئيسية', goHome: 'الذهاب للرئيسية',
logIn: 'تسجيل الدخول', logIn: 'تسجيل الدخول',
logInWithSso: 'تسجيل الدخول باستخدام SSO',
}, },
}, },
}; };
-5
View File
@@ -92,8 +92,6 @@ export default {
'Сигурни ли сте, че искате да премахнете този мениджър от проекта?', 'Сигурни ли сте, че искате да премахнете този мениджър от проекта?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Сигурни ли сте, че искате да премахнете този член от таблото?', 'Сигурни ли сте, че искате да премахнете този член от таблото?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Сигурни ли сте, че искате да премахнете SSO връзката от този потребител? Това ще позволи на потребителя да влиза с парола.',
assignAsOwner_title: 'Назначаване като собственик', assignAsOwner_title: 'Назначаване като собственик',
atLeastOneListMustBePresent: 'Трябва да присъства поне един списък', atLeastOneListMustBePresent: 'Трябва да присъства поне един списък',
attachment: 'Прикачен файл', attachment: 'Прикачен файл',
@@ -343,7 +341,6 @@ export default {
turnOffRecentCardHighlighting: 'Изключване на подчертаването на скорошни карти', turnOffRecentCardHighlighting: 'Изключване на подчертаването на скорошни карти',
typeNameToConfirm: 'Въведете име за потвърждение.', typeNameToConfirm: 'Въведете име за потвърждение.',
typeTitleToConfirm: 'Въведете заглавие за потвърждение.', typeTitleToConfirm: 'Въведете заглавие за потвърждение.',
unlinkSso_title: 'Премахване на SSO връзка',
unsavedChanges: 'Незапазени промени', unsavedChanges: 'Незапазени промени',
uploadFailedFileIsTooBig: 'Качването неуспешно: файлът е твърде голям.', uploadFailedFileIsTooBig: 'Качването неуспешно: файлът е твърде голям.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -512,8 +509,6 @@ export default {
start: 'Старт', start: 'Старт',
stop: 'Стоп', stop: 'Стоп',
subscribe: 'Абонирайте се', subscribe: 'Абонирайте се',
unlinkSso: 'Премахни SSO връзка',
unlinkSso_title: 'Премахни SSO връзка',
unsubscribe: 'Отписване', unsubscribe: 'Отписване',
uploadNewAvatar: 'Качване на нов аватар', uploadNewAvatar: 'Качване на нов аватар',
uploadNewImage: 'Качване на ново изображение', uploadNewImage: 'Качване на ново изображение',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Задвижвано от <1>PLANKA</1>', poweredByPlanka: 'Задвижвано от <1>PLANKA</1>',
serverConnectionFailed: 'Неуспешна връзка със сървъра', serverConnectionFailed: 'Неуспешна връзка със сървъра',
unknownError: 'Неизвестна грешка, опитайте отново по-късно', unknownError: 'Неизвестна грешка, опитайте отново по-късно',
useSingleSignOn: 'Използване на single sign-on',
usernameAlreadyInUse: 'Потребителското име вече се използва', usernameAlreadyInUse: 'Потребителското име вече се използва',
whoops_title: 'Опа!', whoops_title: 'Опа!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Отказ и затваряне', cancelAndClose: 'Отказ и затваряне',
continue: 'Продължи', continue: 'Продължи',
debugSso: 'Дебъгване на SSO',
goBack: 'Назад', goBack: 'Назад',
goHome: 'Към началото', goHome: 'Към началото',
logIn: 'Вход', logIn: 'Вход',
logInWithSso: 'Вход чрез SSO',
}, },
}, },
}; };
-5
View File
@@ -90,8 +90,6 @@ export default {
'Estàs segur que vols eliminar aquest gestor del projecte?', 'Estàs segur que vols eliminar aquest gestor del projecte?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Estàs segur que vols eliminar aquest membre del tauler?', 'Estàs segur que vols eliminar aquest membre del tauler?',
areYouSureYouWantToUnlinkSsoFromThisUser:
"Estàs segur que vols desvincular SSO d'aquest usuari? Això permetrà que l'usuari iniciï sessió amb una contrasenya.",
assignAsOwner_title: 'Assignar com a propietari', assignAsOwner_title: 'Assignar com a propietari',
atLeastOneListMustBePresent: "Hi ha d'haver com a mínim una llista", atLeastOneListMustBePresent: "Hi ha d'haver com a mínim una llista",
attachment: 'Fitxer adjunt', attachment: 'Fitxer adjunt',
@@ -344,7 +342,6 @@ export default {
turnOffRecentCardHighlighting: 'Desactivar ressaltat de targetes recents', turnOffRecentCardHighlighting: 'Desactivar ressaltat de targetes recents',
typeNameToConfirm: 'Escriu el nom per confirmar.', typeNameToConfirm: 'Escriu el nom per confirmar.',
typeTitleToConfirm: 'Escriu el títol per confirmar.', typeTitleToConfirm: 'Escriu el títol per confirmar.',
unlinkSso_title: 'Desvinculació de SSO',
unsavedChanges: 'Canvis sense desar', unsavedChanges: 'Canvis sense desar',
uploadFailedFileIsTooBig: 'Error en pujar: El fitxer és massa gran.', uploadFailedFileIsTooBig: 'Error en pujar: El fitxer és massa gran.',
uploadFailedNotEnoughStorageSpace: "Error en pujar: No hi ha prou espai d'emmagatzematge.", uploadFailedNotEnoughStorageSpace: "Error en pujar: No hi ha prou espai d'emmagatzematge.",
@@ -514,8 +511,6 @@ export default {
start: 'Iniciar', start: 'Iniciar',
stop: 'Aturar', stop: 'Aturar',
subscribe: "Subscriure's", subscribe: "Subscriure's",
unlinkSso: 'Desvincular SSO',
unlinkSso_title: 'Desvincular SSO',
unsubscribe: 'Cancel·lar subscripció', unsubscribe: 'Cancel·lar subscripció',
uploadNewAvatar: 'Pujar nou avatar', uploadNewAvatar: 'Pujar nou avatar',
uploadNewImage: 'Pujar nova imatge', uploadNewImage: 'Pujar nova imatge',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Desenvolupat amb <1>PLANKA</1>', poweredByPlanka: 'Desenvolupat amb <1>PLANKA</1>',
serverConnectionFailed: 'Error de connexió amb el servidor', serverConnectionFailed: 'Error de connexió amb el servidor',
unknownError: 'Error desconegut, torna-ho a provar més tard', unknownError: 'Error desconegut, torna-ho a provar més tard',
useSingleSignOn: 'Utilitzar inici de sessió únic',
usernameAlreadyInUse: "Nom d'usuari ja en ús", usernameAlreadyInUse: "Nom d'usuari ja en ús",
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Cancel·lar i tancar', cancelAndClose: 'Cancel·lar i tancar',
continue: 'Continuar', continue: 'Continuar',
debugSso: 'Depurar SSO',
goBack: 'Tornar', goBack: 'Tornar',
goHome: "Anar a l'inici", goHome: "Anar a l'inici",
logIn: 'Iniciar sessió', logIn: 'Iniciar sessió',
logInWithSso: 'Iniciar sessió amb SSO',
}, },
}, },
}; };
-5
View File
@@ -85,8 +85,6 @@ export default {
'Opravdu chcete tohoto správce z projektu odebrat?', 'Opravdu chcete tohoto správce z projektu odebrat?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Opravdu chcete tohoto člena odebrat z nástěnky?', 'Opravdu chcete tohoto člena odebrat z nástěnky?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Opravdu chcete odpojit SSO od tohoto uživatele? Tím umožníte uživateli přihlásit se pomocí hesla.',
assignAsOwner_title: 'Přiřadit jako vlastníka', assignAsOwner_title: 'Přiřadit jako vlastníka',
atLeastOneListMustBePresent: 'Musí být k dispozici alespoň jeden seznam', atLeastOneListMustBePresent: 'Musí být k dispozici alespoň jeden seznam',
attachment: 'Příloha', attachment: 'Příloha',
@@ -334,7 +332,6 @@ export default {
turnOffRecentCardHighlighting: 'Vypnout zvýraznění posledních karet', turnOffRecentCardHighlighting: 'Vypnout zvýraznění posledních karet',
typeNameToConfirm: 'Zadejte název pro potvrzení.', typeNameToConfirm: 'Zadejte název pro potvrzení.',
typeTitleToConfirm: 'Zadejte titulek pro potvrzení.', typeTitleToConfirm: 'Zadejte titulek pro potvrzení.',
unlinkSso_title: 'Odpojení SSO',
unsavedChanges: 'Neuložené změny', unsavedChanges: 'Neuložené změny',
uploadFailedFileIsTooBig: 'Nahrávání se nezdařilo: Soubor je příliš velký.', uploadFailedFileIsTooBig: 'Nahrávání se nezdařilo: Soubor je příliš velký.',
uploadFailedNotEnoughStorageSpace: 'Nahrávání se nezdařilo: Nedostatek úložného prostoru.', uploadFailedNotEnoughStorageSpace: 'Nahrávání se nezdařilo: Nedostatek úložného prostoru.',
@@ -502,8 +499,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Odebírat', subscribe: 'Odebírat',
unlinkSso: 'Odpojit SSO',
unlinkSso_title: 'Odpojit SSO',
unsubscribe: 'Neodebírat', unsubscribe: 'Neodebírat',
uploadNewAvatar: 'Nahrát nový avatar', uploadNewAvatar: 'Nahrát nový avatar',
uploadNewImage: 'Nahrát nový obrázek', uploadNewImage: 'Nahrát nový obrázek',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Poháněno technologií <1>PLANKA</1>', poweredByPlanka: 'Poháněno technologií <1>PLANKA</1>',
serverConnectionFailed: 'Připojení k serveru selhalo', serverConnectionFailed: 'Připojení k serveru selhalo',
unknownError: 'Neznámá chyba, zkuste to později', unknownError: 'Neznámá chyba, zkuste to později',
useSingleSignOn: 'Použít jednorázové přihlášení',
usernameAlreadyInUse: 'Uživatelské jméno se již používá', usernameAlreadyInUse: 'Uživatelské jméno se již používá',
whoops_title: 'Jejda!', whoops_title: 'Jejda!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Zrušit a zavřít', cancelAndClose: 'Zrušit a zavřít',
continue: 'Pokračovat', continue: 'Pokračovat',
debugSso: 'Ladit SSO',
goBack: 'Zpět', goBack: 'Zpět',
goHome: 'Domů', goHome: 'Domů',
logIn: 'Přihlásit se', logIn: 'Přihlásit se',
logInWithSso: 'Přihlásit se pomocí SSO',
}, },
}, },
}; };
-5
View File
@@ -88,8 +88,6 @@ export default {
'Er du sikker på at du vil fjerne denne projektleder fra projektet?', 'Er du sikker på at du vil fjerne denne projektleder fra projektet?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Er du sikker på at du vil fjerne dette medlem fra tavlen?', 'Er du sikker på at du vil fjerne dette medlem fra tavlen?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Er du sikker på, at du vil fjerne SSO-forbindelsen fra denne bruger? Dette vil tillade brugeren at logge ind med en adgangskode.',
assignAsOwner_title: 'Sæt som ejer', assignAsOwner_title: 'Sæt som ejer',
atLeastOneListMustBePresent: 'Mindst én liste skal være til stede', atLeastOneListMustBePresent: 'Mindst én liste skal være til stede',
attachment: 'Vedhæft fil', attachment: 'Vedhæft fil',
@@ -340,7 +338,6 @@ export default {
turnOffRecentCardHighlighting: 'Slå fremhævelse af nylige kort fra', turnOffRecentCardHighlighting: 'Slå fremhævelse af nylige kort fra',
typeNameToConfirm: 'Skriv navnet for at bekræfte.', typeNameToConfirm: 'Skriv navnet for at bekræfte.',
typeTitleToConfirm: 'Skriv overskriften for at bekræfte.', typeTitleToConfirm: 'Skriv overskriften for at bekræfte.',
unlinkSso_title: 'Fjernelse af SSO-forbindelse',
unsavedChanges: 'Ikke-gemte ændringer', unsavedChanges: 'Ikke-gemte ændringer',
uploadFailedFileIsTooBig: 'Upload mislykkedes: Filen er for stor.', uploadFailedFileIsTooBig: 'Upload mislykkedes: Filen er for stor.',
uploadFailedNotEnoughStorageSpace: 'Upload mislykkedes: Ikke nok lagerplads.', uploadFailedNotEnoughStorageSpace: 'Upload mislykkedes: Ikke nok lagerplads.',
@@ -508,8 +505,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Abonnér', subscribe: 'Abonnér',
unlinkSso: 'Fjern SSO-forbindelse',
unlinkSso_title: 'Fjern SSO-forbindelse',
unsubscribe: 'Opsig abonnement', unsubscribe: 'Opsig abonnement',
uploadNewAvatar: 'Tilføj nyt profilbillede', uploadNewAvatar: 'Tilføj nyt profilbillede',
uploadNewImage: 'Tilføj nyt billede', uploadNewImage: 'Tilføj nyt billede',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Drevet af <1>PLANKA</1>', poweredByPlanka: 'Drevet af <1>PLANKA</1>',
serverConnectionFailed: 'Ingen forbindelse til serveren', serverConnectionFailed: 'Ingen forbindelse til serveren',
unknownError: 'Ukendt fejl - prøv igen', unknownError: 'Ukendt fejl - prøv igen',
useSingleSignOn: 'Anvend single sign-on',
usernameAlreadyInUse: 'Brugernavn allerede i brug', usernameAlreadyInUse: 'Brugernavn allerede i brug',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Annuller og luk', cancelAndClose: 'Annuller og luk',
continue: 'Fortsæt', continue: 'Fortsæt',
debugSso: 'Fejlfind SSO',
goBack: 'Gå tilbage', goBack: 'Gå tilbage',
goHome: 'Gå hjem', goHome: 'Gå hjem',
logIn: 'Log på', logIn: 'Log på',
logInWithSso: 'Log på med SSO',
}, },
}, },
}; };
-5
View File
@@ -101,8 +101,6 @@ export default {
'Sind Sie sicher, dass Sie diesen Projektleiter aus dem Projekt entfernen möchten?', 'Sind Sie sicher, dass Sie diesen Projektleiter aus dem Projekt entfernen möchten?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Sind Sie sicher, dass Sie dieses Mitglied aus dem Arbeitsbereich entfernen möchten?', 'Sind Sie sicher, dass Sie dieses Mitglied aus dem Arbeitsbereich entfernen möchten?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Sind Sie sicher, dass Sie die SSO-Verknüpfung von diesem Benutzer aufheben möchten? Dies ermöglicht dem Benutzer die Anmeldung mit einem Passwort.',
assignAsOwner_title: 'Als Eigentümer zuweisen', assignAsOwner_title: 'Als Eigentümer zuweisen',
atLeastOneListMustBePresent: 'Mindestens eine Liste muss vorhanden sein', atLeastOneListMustBePresent: 'Mindestens eine Liste muss vorhanden sein',
attachment: 'Anhang', attachment: 'Anhang',
@@ -354,7 +352,6 @@ export default {
turnOffRecentCardHighlighting: 'Hervorhebung neuer Karten ausschalten', turnOffRecentCardHighlighting: 'Hervorhebung neuer Karten ausschalten',
typeNameToConfirm: 'Namen zur Bestätigung eingeben.', typeNameToConfirm: 'Namen zur Bestätigung eingeben.',
typeTitleToConfirm: 'Titel zur Bestätigung eingeben.', typeTitleToConfirm: 'Titel zur Bestätigung eingeben.',
unlinkSso_title: 'SSO-Verknüpfung aufheben',
unsavedChanges: 'Ungespeicherte Änderungen', unsavedChanges: 'Ungespeicherte Änderungen',
uploadFailedFileIsTooBig: 'Upload fehlgeschlagen: Datei ist zu groß.', uploadFailedFileIsTooBig: 'Upload fehlgeschlagen: Datei ist zu groß.',
uploadFailedNotEnoughStorageSpace: 'Upload fehlgeschlagen: Nicht genügend Speicherplatz.', uploadFailedNotEnoughStorageSpace: 'Upload fehlgeschlagen: Nicht genügend Speicherplatz.',
@@ -524,8 +521,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stopp', stop: 'Stopp',
subscribe: 'Abonnieren', subscribe: 'Abonnieren',
unlinkSso: 'SSO-Verknüpfung aufheben',
unlinkSso_title: 'SSO-Verknüpfung aufheben',
unsubscribe: 'De-abonnieren', unsubscribe: 'De-abonnieren',
uploadNewAvatar: 'Neuen Avatar hochladen', uploadNewAvatar: 'Neuen Avatar hochladen',
uploadNewImage: 'Neues Bild hochladen', uploadNewImage: 'Neues Bild hochladen',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Powered by <1>PLANKA</1>', poweredByPlanka: 'Powered by <1>PLANKA</1>',
serverConnectionFailed: 'Serververbindung fehlgeschlagen', serverConnectionFailed: 'Serververbindung fehlgeschlagen',
unknownError: 'Unbekannter Fehler, bitte später erneut versuchen', unknownError: 'Unbekannter Fehler, bitte später erneut versuchen',
useSingleSignOn: 'Einmalige Anmeldung (SSO) verwenden',
usernameAlreadyInUse: 'Benutzername wird bereits verwendet', usernameAlreadyInUse: 'Benutzername wird bereits verwendet',
whoops_title: 'Hoppla!', whoops_title: 'Hoppla!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Abbrechen und schließen', cancelAndClose: 'Abbrechen und schließen',
continue: 'Fortfahren', continue: 'Fortfahren',
debugSso: 'SSO debuggen',
goBack: 'Zurück gehen', goBack: 'Zurück gehen',
goHome: 'Zur Startseite', goHome: 'Zur Startseite',
logIn: 'Einloggen', logIn: 'Einloggen',
logInWithSso: 'Einloggen mit SSO',
}, },
}, },
}; };
-5
View File
@@ -100,8 +100,6 @@ export default {
'Είστε σίγουροι ότι θέλετε να αφαιρέσετε αυτόν τον διαχειριστή από το έργο;', 'Είστε σίγουροι ότι θέλετε να αφαιρέσετε αυτόν τον διαχειριστή από το έργο;',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Είστε σίγουροι ότι θέλετε να αφαιρέσετε αυτό το μέλος από τον πίνακα;', 'Είστε σίγουροι ότι θέλετε να αφαιρέσετε αυτό το μέλος από τον πίνακα;',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Είστε σίγουροι ότι θέλετε να αποσυνδέσετε το SSO από αυτόν τον χρήστη; Αυτό θα επιτρέψει στον χρήστη να συνδεθεί με κωδικό πρόσβασης.',
assignAsOwner_title: 'Ορισμός ως ιδιοκτήτης', assignAsOwner_title: 'Ορισμός ως ιδιοκτήτης',
atLeastOneListMustBePresent: 'Πρέπει να υπάρχει τουλάχιστον μία λίστα', atLeastOneListMustBePresent: 'Πρέπει να υπάρχει τουλάχιστον μία λίστα',
attachment: 'Συνημμένο', attachment: 'Συνημμένο',
@@ -354,7 +352,6 @@ export default {
turnOffRecentCardHighlighting: 'Απενεργοποίηση επισήμανσης πρόσφατων καρτών', turnOffRecentCardHighlighting: 'Απενεργοποίηση επισήμανσης πρόσφατων καρτών',
typeNameToConfirm: 'Πληκτρολογήστε το όνομα για επιβεβαίωση.', typeNameToConfirm: 'Πληκτρολογήστε το όνομα για επιβεβαίωση.',
typeTitleToConfirm: 'Πληκτρολογήστε τον τίτλο για επιβεβαίωση.', typeTitleToConfirm: 'Πληκτρολογήστε τον τίτλο για επιβεβαίωση.',
unlinkSso_title: 'Αποσύνδεση SSO',
unsavedChanges: 'Μη αποθηκευμένες αλλαγές', unsavedChanges: 'Μη αποθηκευμένες αλλαγές',
uploadFailedFileIsTooBig: 'Η μεταφόρτωση απέτυχε: το αρχείο είναι πολύ μεγάλο.', uploadFailedFileIsTooBig: 'Η μεταφόρτωση απέτυχε: το αρχείο είναι πολύ μεγάλο.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -529,8 +526,6 @@ export default {
start: 'Έναρξη', start: 'Έναρξη',
stop: 'Διακοπή', stop: 'Διακοπή',
subscribe: 'Εγγραφή', subscribe: 'Εγγραφή',
unlinkSso: 'Αποσύνδεση SSO',
unlinkSso_title: 'Αποσύνδεση SSO',
unsubscribe: 'Απεγγραφή', unsubscribe: 'Απεγγραφή',
uploadNewAvatar: 'Μεταφόρτωση νέου avatar', uploadNewAvatar: 'Μεταφόρτωση νέου avatar',
uploadNewImage: 'Μεταφόρτωση νέας εικόνας', uploadNewImage: 'Μεταφόρτωση νέας εικόνας',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Με την υποστήριξη του <1>PLANKA</1>', poweredByPlanka: 'Με την υποστήριξη του <1>PLANKA</1>',
serverConnectionFailed: 'Αποτυχία σύνδεσης με τον διακομιστή', serverConnectionFailed: 'Αποτυχία σύνδεσης με τον διακομιστή',
unknownError: 'Άγνωστο σφάλμα, δοκιμάστε ξανά αργότερα', unknownError: 'Άγνωστο σφάλμα, δοκιμάστε ξανά αργότερα',
useSingleSignOn: 'Χρήση Single Sign-On',
usernameAlreadyInUse: 'Το όνομα χρήστη χρησιμοποιείται ήδη', usernameAlreadyInUse: 'Το όνομα χρήστη χρησιμοποιείται ήδη',
whoops_title: 'Ωχ!', whoops_title: 'Ωχ!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Ακύρωση και κλείσιμο', cancelAndClose: 'Ακύρωση και κλείσιμο',
continue: 'Συνέχεια', continue: 'Συνέχεια',
debugSso: 'Αποσφαλμάτωση SSO',
goBack: 'Επιστροφή', goBack: 'Επιστροφή',
goHome: 'Αρχική σελίδα', goHome: 'Αρχική σελίδα',
logIn: 'Σύνδεση', logIn: 'Σύνδεση',
logInWithSso: 'Σύνδεση με SSO',
}, },
}, },
}; };
-5
View File
@@ -88,8 +88,6 @@ export default {
'Are you sure you want to remove this manager from the project?', 'Are you sure you want to remove this manager from the project?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Are you sure you want to remove this member from the board?', 'Are you sure you want to remove this member from the board?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Are you sure you want to unlink SSO from this user? This will allow the user to log in with a password.',
assignAsOwner_title: 'Assign As Owner', assignAsOwner_title: 'Assign As Owner',
atLeastOneListMustBePresent: 'At least one list must be present', atLeastOneListMustBePresent: 'At least one list must be present',
attachment: 'Attachment', attachment: 'Attachment',
@@ -337,7 +335,6 @@ export default {
turnOffRecentCardHighlighting: 'Turn off recent card highlighting', turnOffRecentCardHighlighting: 'Turn off recent card highlighting',
typeNameToConfirm: 'Type the name to confirm.', typeNameToConfirm: 'Type the name to confirm.',
typeTitleToConfirm: 'Type the title to confirm.', typeTitleToConfirm: 'Type the title to confirm.',
unlinkSso_title: 'Unlink SSO',
unsavedChanges: 'Unsaved changes', unsavedChanges: 'Unsaved changes',
uploadFailedFileIsTooBig: 'Upload failed: File is too big.', uploadFailedFileIsTooBig: 'Upload failed: File is too big.',
uploadFailedNotEnoughStorageSpace: 'Upload failed: Not enough storage space.', uploadFailedNotEnoughStorageSpace: 'Upload failed: Not enough storage space.',
@@ -504,8 +501,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Subscribe', subscribe: 'Subscribe',
unlinkSso: 'Unlink SSO',
unlinkSso_title: 'Unlink SSO',
unsubscribe: 'Unsubscribe', unsubscribe: 'Unsubscribe',
uploadNewAvatar: 'Upload new avatar', uploadNewAvatar: 'Upload new avatar',
uploadNewImage: 'Upload new image', uploadNewImage: 'Upload new image',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: 'Powered by <1>PLANKA</1>', poweredByPlanka: 'Powered by <1>PLANKA</1>',
serverConnectionFailed: 'Server connection failed', serverConnectionFailed: 'Server connection failed',
unknownError: 'Unknown error, try again later', unknownError: 'Unknown error, try again later',
useSingleSignOn: 'Use single sign-on',
usernameAlreadyInUse: 'Username already in use', usernameAlreadyInUse: 'Username already in use',
whoops_title: 'Whoops!', whoops_title: 'Whoops!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: 'Cancel and close', cancelAndClose: 'Cancel and close',
continue: 'Continue', continue: 'Continue',
debugSso: 'Debug SSO',
goBack: 'Go back', goBack: 'Go back',
goHome: 'Go home', goHome: 'Go home',
logIn: 'Log in', logIn: 'Log in',
logInWithSso: 'Log in with SSO',
}, },
}, },
}; };
-5
View File
@@ -83,8 +83,6 @@ export default {
'Are you sure you want to remove this manager from the project?', 'Are you sure you want to remove this manager from the project?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Are you sure you want to remove this member from the board?', 'Are you sure you want to remove this member from the board?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Are you sure you want to unlink SSO from this user? This will allow the user to log in with a password.',
assignAsOwner_title: 'Assign As Owner', assignAsOwner_title: 'Assign As Owner',
atLeastOneListMustBePresent: 'At least one list must be present', atLeastOneListMustBePresent: 'At least one list must be present',
attachment: 'Attachment', attachment: 'Attachment',
@@ -332,7 +330,6 @@ export default {
turnOffRecentCardHighlighting: 'Turn off recent card highlighting', turnOffRecentCardHighlighting: 'Turn off recent card highlighting',
typeNameToConfirm: 'Type the name to confirm.', typeNameToConfirm: 'Type the name to confirm.',
typeTitleToConfirm: 'Type the title to confirm.', typeTitleToConfirm: 'Type the title to confirm.',
unlinkSso_title: 'Inlink SSO',
unsavedChanges: 'Unsaved changes', unsavedChanges: 'Unsaved changes',
uploadFailedFileIsTooBig: 'Upload failed: File is too big.', uploadFailedFileIsTooBig: 'Upload failed: File is too big.',
uploadFailedNotEnoughStorageSpace: 'Upload failed: Not enough storage space.', uploadFailedNotEnoughStorageSpace: 'Upload failed: Not enough storage space.',
@@ -499,8 +496,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Subscribe', subscribe: 'Subscribe',
unlinkSso: 'Unlink SSO',
unlinkSso_title: 'Unlink SSO',
unsubscribe: 'Unsubscribe', unsubscribe: 'Unsubscribe',
uploadNewAvatar: 'Upload new avatar', uploadNewAvatar: 'Upload new avatar',
uploadNewImage: 'Upload new image', uploadNewImage: 'Upload new image',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: 'Powered by <1>PLANKA</1>', poweredByPlanka: 'Powered by <1>PLANKA</1>',
serverConnectionFailed: 'Server connection failed', serverConnectionFailed: 'Server connection failed',
unknownError: 'Unknown error, try again later', unknownError: 'Unknown error, try again later',
useSingleSignOn: 'Use single sign-on',
usernameAlreadyInUse: 'Username already in use', usernameAlreadyInUse: 'Username already in use',
whoops_title: 'Whoops!', whoops_title: 'Whoops!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: 'Cancel and close', cancelAndClose: 'Cancel and close',
continue: 'Continue', continue: 'Continue',
debugSso: 'Debug SSO',
goBack: 'Go back', goBack: 'Go back',
goHome: 'Go home', goHome: 'Go home',
logIn: 'Log in', logIn: 'Log in',
logInWithSso: 'Log in with SSO',
}, },
}, },
}; };
-5
View File
@@ -92,8 +92,6 @@ export default {
'¿Estás seguro de que quieres eliminar este gestor del proyecto?', '¿Estás seguro de que quieres eliminar este gestor del proyecto?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'¿Estás seguro de que quieres eliminar este miembro del tablero?', '¿Estás seguro de que quieres eliminar este miembro del tablero?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'¿Estás seguro de que quieres desvincular SSO de este usuario? Esto permitirá que el usuario inicie sesión con una contraseña.',
assignAsOwner_title: 'Asignar como propietario', assignAsOwner_title: 'Asignar como propietario',
atLeastOneListMustBePresent: 'Debe existir al menos una lista', atLeastOneListMustBePresent: 'Debe existir al menos una lista',
attachment: 'Archivo adjunto', attachment: 'Archivo adjunto',
@@ -345,7 +343,6 @@ export default {
turnOffRecentCardHighlighting: 'Desactivar resaltado de tarjetas recientes', turnOffRecentCardHighlighting: 'Desactivar resaltado de tarjetas recientes',
typeNameToConfirm: 'Escribe el nombre para confirmar.', typeNameToConfirm: 'Escribe el nombre para confirmar.',
typeTitleToConfirm: 'Escribe el título para confirmar.', typeTitleToConfirm: 'Escribe el título para confirmar.',
unlinkSso_title: 'Desvinculación de SSO',
unsavedChanges: 'Cambios sin guardar', unsavedChanges: 'Cambios sin guardar',
uploadFailedFileIsTooBig: 'Error al subir: El archivo es demasiado grande.', uploadFailedFileIsTooBig: 'Error al subir: El archivo es demasiado grande.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -514,8 +511,6 @@ export default {
start: 'Iniciar', start: 'Iniciar',
stop: 'Detener', stop: 'Detener',
subscribe: 'Suscribirse', subscribe: 'Suscribirse',
unlinkSso: 'Desvincular SSO',
unlinkSso_title: 'Desvincular SSO',
unsubscribe: 'Cancelar suscripción', unsubscribe: 'Cancelar suscripción',
uploadNewAvatar: 'Subir nuevo avatar', uploadNewAvatar: 'Subir nuevo avatar',
uploadNewImage: 'Subir nueva imagen', uploadNewImage: 'Subir nueva imagen',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Desarrollado con <1>PLANKA</1>', poweredByPlanka: 'Desarrollado con <1>PLANKA</1>',
serverConnectionFailed: 'Error de conexión con el servidor', serverConnectionFailed: 'Error de conexión con el servidor',
unknownError: 'Error desconocido, inténtalo más tarde', unknownError: 'Error desconocido, inténtalo más tarde',
useSingleSignOn: 'Usar inicio de sesión único',
usernameAlreadyInUse: 'Nombre de usuario ya en uso', usernameAlreadyInUse: 'Nombre de usuario ya en uso',
whoops_title: '¡Ups!', whoops_title: '¡Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Cancelar y cerrar', cancelAndClose: 'Cancelar y cerrar',
continue: 'Continuar', continue: 'Continuar',
debugSso: 'Depurar SSO',
goBack: 'Volver', goBack: 'Volver',
goHome: 'Ir al inicio', goHome: 'Ir al inicio',
logIn: 'Iniciar sesión', logIn: 'Iniciar sesión',
logInWithSso: 'Iniciar sesión con SSO',
}, },
}, },
}; };
-5
View File
@@ -89,8 +89,6 @@ export default {
'Oled kindel, et soovid seda haldurit projektist eemaldada?', 'Oled kindel, et soovid seda haldurit projektist eemaldada?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Oled kindel, et soovid seda liiget tahvlilt eemaldada?', 'Oled kindel, et soovid seda liiget tahvlilt eemaldada?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Kas olete kindel, et soovite selle kasutaja SSO sidet eemaldada? See võimaldab kasutajal sisse logida parooliga.',
assignAsOwner_title: 'Määra omanikuks', assignAsOwner_title: 'Määra omanikuks',
atLeastOneListMustBePresent: 'Vähemalt üks nimekiri peab olemas olema', atLeastOneListMustBePresent: 'Vähemalt üks nimekiri peab olemas olema',
attachment: 'Manus', attachment: 'Manus',
@@ -337,7 +335,6 @@ export default {
turnOffRecentCardHighlighting: 'Lülita välja hiljuti kuvatud kaardi üleminek', turnOffRecentCardHighlighting: 'Lülita välja hiljuti kuvatud kaardi üleminek',
typeNameToConfirm: 'Sisestage nimi, et kinnitada.', typeNameToConfirm: 'Sisestage nimi, et kinnitada.',
typeTitleToConfirm: 'Sisestage pealkiri, et kinnitada.', typeTitleToConfirm: 'Sisestage pealkiri, et kinnitada.',
unlinkSso_title: 'SSO sidemete eemaldamine',
unsavedChanges: 'Muudetud andmed', unsavedChanges: 'Muudetud andmed',
uploadFailedFileIsTooBig: 'Üleslaadimine ebaõnnestus: fail on liiga suur.', uploadFailedFileIsTooBig: 'Üleslaadimine ebaõnnestus: fail on liiga suur.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -506,8 +503,6 @@ export default {
start: 'Alusta', start: 'Alusta',
stop: 'Peata', stop: 'Peata',
subscribe: 'Telli', subscribe: 'Telli',
unlinkSso: 'Eemalda SSO side',
unlinkSso_title: 'Eemalda SSO side',
unsubscribe: 'Tühista tellimus', unsubscribe: 'Tühista tellimus',
uploadNewAvatar: 'Laadi üles uus avatar', uploadNewAvatar: 'Laadi üles uus avatar',
uploadNewImage: 'Laadi üles uus pilt', uploadNewImage: 'Laadi üles uus pilt',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Töötab <1>PLANKA</1> platvormil', poweredByPlanka: 'Töötab <1>PLANKA</1> platvormil',
serverConnectionFailed: 'Serveriühendus ebaõnnestus', serverConnectionFailed: 'Serveriühendus ebaõnnestus',
unknownError: 'Tundmatu viga, proovi hiljem uuesti', unknownError: 'Tundmatu viga, proovi hiljem uuesti',
useSingleSignOn: 'Kasuta ühekordset sisselogimist',
usernameAlreadyInUse: 'Kasutajanimi on juba kasutusel', usernameAlreadyInUse: 'Kasutajanimi on juba kasutusel',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Tühista ja sulge', cancelAndClose: 'Tühista ja sulge',
continue: 'Jätka', continue: 'Jätka',
debugSso: 'Siluda SSO',
goBack: 'Tagasi', goBack: 'Tagasi',
goHome: 'Koju', goHome: 'Koju',
logIn: 'Logi sisse', logIn: 'Logi sisse',
logInWithSso: 'Logi sisse SSO-ga',
}, },
}, },
}; };
-5
View File
@@ -91,8 +91,6 @@ export default {
'آیا مطمئن هستید که می‌خواهید این مدیر را از پروژه حذف کنید؟', 'آیا مطمئن هستید که می‌خواهید این مدیر را از پروژه حذف کنید؟',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'آیا مطمئن هستید که می‌خواهید این عضو را از برد حذف کنید؟', 'آیا مطمئن هستید که می‌خواهید این عضو را از برد حذف کنید؟',
areYouSureYouWantToUnlinkSsoFromThisUser:
'آیا مطمئن هستید که می‌خواهید پیوند SSO را از این کاربر لغو کنید؟ این به کاربر اجازه می‌دهد با رمز عبور وارد شود.',
assignAsOwner_title: 'تعیین به عنوان مالک', assignAsOwner_title: 'تعیین به عنوان مالک',
atLeastOneListMustBePresent: 'حداقل یک لیست باید وجود داشته باشد', atLeastOneListMustBePresent: 'حداقل یک لیست باید وجود داشته باشد',
attachment: 'پیوست', attachment: 'پیوست',
@@ -340,7 +338,6 @@ export default {
turnOffRecentCardHighlighting: 'خاموش کردن برجسته‌سازی کارت‌های اخیر', turnOffRecentCardHighlighting: 'خاموش کردن برجسته‌سازی کارت‌های اخیر',
typeNameToConfirm: 'نام را برای تأیید تایپ کنید.', typeNameToConfirm: 'نام را برای تأیید تایپ کنید.',
typeTitleToConfirm: 'عنوان را برای تأیید تایپ کنید.', typeTitleToConfirm: 'عنوان را برای تأیید تایپ کنید.',
unlinkSso_title: 'لغو پیوند SSO',
unsavedChanges: 'تغییرات ذخیره نشده', unsavedChanges: 'تغییرات ذخیره نشده',
uploadFailedFileIsTooBig: 'آپلود ناموفق: فایل خیلی بزرگ است.', uploadFailedFileIsTooBig: 'آپلود ناموفق: فایل خیلی بزرگ است.',
uploadFailedNotEnoughStorageSpace: 'آپلود ناموفق: فضای ذخیره‌سازی کافی نیست.', uploadFailedNotEnoughStorageSpace: 'آپلود ناموفق: فضای ذخیره‌سازی کافی نیست.',
@@ -508,8 +505,6 @@ export default {
start: 'شروع', start: 'شروع',
stop: 'توقف', stop: 'توقف',
subscribe: 'مشترک شدن', subscribe: 'مشترک شدن',
unlinkSso: 'لغو پیوند SSO',
unlinkSso_title: 'لغو پیوند SSO',
unsubscribe: 'لغو اشتراک', unsubscribe: 'لغو اشتراک',
uploadNewAvatar: 'آپلود آواتار جدید', uploadNewAvatar: 'آپلود آواتار جدید',
uploadNewImage: 'آپلود تصویر جدید', uploadNewImage: 'آپلود تصویر جدید',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: 'قدرت گرفته از <1>PLANKA</1>', poweredByPlanka: 'قدرت گرفته از <1>PLANKA</1>',
serverConnectionFailed: 'اتصال به سرور ناموفق بود', serverConnectionFailed: 'اتصال به سرور ناموفق بود',
unknownError: 'خطای ناشناخته، بعداً دوباره تلاش کنید', unknownError: 'خطای ناشناخته، بعداً دوباره تلاش کنید',
useSingleSignOn: 'استفاده از ورود یکپارچه',
usernameAlreadyInUse: 'نام کاربری قبلا استفاده شده است', usernameAlreadyInUse: 'نام کاربری قبلا استفاده شده است',
whoops_title: 'اوه!', whoops_title: 'اوه!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: 'لغو و بستن', cancelAndClose: 'لغو و بستن',
continue: 'ادامه', continue: 'ادامه',
debugSso: 'اشکال‌زدایی SSO',
goBack: 'بازگشت', goBack: 'بازگشت',
goHome: 'رفتن به خانه', goHome: 'رفتن به خانه',
logIn: 'ورود', logIn: 'ورود',
logInWithSso: 'ورود با SSO',
}, },
}, },
}; };
-5
View File
@@ -85,8 +85,6 @@ export default {
'Haluatko varmasti poistaa tämän ylläpitäjän projektista?', 'Haluatko varmasti poistaa tämän ylläpitäjän projektista?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Haluatko varmasti poistaa tämän jäsenen taululta?', 'Haluatko varmasti poistaa tämän jäsenen taululta?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Haluatko varmasti poistaa SSO-yhteyden tältä käyttäjältä? Tämä sallii käyttäjän kirjautua sisään salasanalla.',
assignAsOwner_title: 'Aseta omistajaksi', assignAsOwner_title: 'Aseta omistajaksi',
atLeastOneListMustBePresent: 'Vähintään yksi lista vaaditaan', atLeastOneListMustBePresent: 'Vähintään yksi lista vaaditaan',
attachment: 'Liite', attachment: 'Liite',
@@ -335,7 +333,6 @@ export default {
turnOffRecentCardHighlighting: 'Poista uusien korttien korostus', turnOffRecentCardHighlighting: 'Poista uusien korttien korostus',
typeNameToConfirm: 'Kirjoita nimi vahvistaaksesi.', typeNameToConfirm: 'Kirjoita nimi vahvistaaksesi.',
typeTitleToConfirm: 'Kirjoita otsikko vahvistaaksesi.', typeTitleToConfirm: 'Kirjoita otsikko vahvistaaksesi.',
unlinkSso_title: 'SSO-yhteyden poistaminen',
unsavedChanges: 'Tallentamattomat muutokset', unsavedChanges: 'Tallentamattomat muutokset',
uploadFailedFileIsTooBig: 'Lataus epäonnistui: tiedosto on liian suuri.', uploadFailedFileIsTooBig: 'Lataus epäonnistui: tiedosto on liian suuri.',
uploadFailedNotEnoughStorageSpace: 'Lataus epäonnistui: tallennustilaa ei ole tarpeeksi.', uploadFailedNotEnoughStorageSpace: 'Lataus epäonnistui: tallennustilaa ei ole tarpeeksi.',
@@ -507,8 +504,6 @@ export default {
start: 'Aloita', start: 'Aloita',
stop: 'Lopeta', stop: 'Lopeta',
subscribe: 'Tilaa', subscribe: 'Tilaa',
unlinkSso: 'Poista SSO-yhteys',
unlinkSso_title: 'Poista SSO-yhteys',
unsubscribe: 'Peru tilaus', unsubscribe: 'Peru tilaus',
uploadNewAvatar: 'Lataa uusi avatar', uploadNewAvatar: 'Lataa uusi avatar',
uploadNewImage: 'Lataa uusi kuva', uploadNewImage: 'Lataa uusi kuva',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Käyttää <1>PLANKAa</1>', poweredByPlanka: 'Käyttää <1>PLANKAa</1>',
serverConnectionFailed: 'Yhteys palvelimeen epäonnistui', serverConnectionFailed: 'Yhteys palvelimeen epäonnistui',
unknownError: 'Tuntematon virhe, yritä myöhemmin uudelleen', unknownError: 'Tuntematon virhe, yritä myöhemmin uudelleen',
useSingleSignOn: 'Käytä kertakirjautumista',
usernameAlreadyInUse: 'Käyttäjänimi on jo käytössä', usernameAlreadyInUse: 'Käyttäjänimi on jo käytössä',
whoops_title: 'Hups!', whoops_title: 'Hups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Peruuta ja sulje', cancelAndClose: 'Peruuta ja sulje',
continue: 'Jatka', continue: 'Jatka',
debugSso: 'Korjaa SSO-virheitä',
goBack: 'Takaisin', goBack: 'Takaisin',
goHome: 'Kotiin', goHome: 'Kotiin',
logIn: 'Kirjaudu sisään', logIn: 'Kirjaudu sisään',
logInWithSso: 'Kirjaudu SSO:lla',
}, },
}, },
}; };
-5
View File
@@ -91,8 +91,6 @@ export default {
'Êtes-vous sûr de vouloir supprimer ce responsable du projet ?', 'Êtes-vous sûr de vouloir supprimer ce responsable du projet ?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Êtes-vous sûr de vouloir supprimer ce membre du tableau ?', 'Êtes-vous sûr de vouloir supprimer ce membre du tableau ?',
areYouSureYouWantToUnlinkSsoFromThisUser:
"Êtes-vous sûr de vouloir dissocier le SSO de cet utilisateur ? Cela permettra à l'utilisateur de se connecter avec un mot de passe.",
assignAsOwner_title: 'Assigner comme propriétaire', assignAsOwner_title: 'Assigner comme propriétaire',
atLeastOneListMustBePresent: 'Au moins une liste doit être présente', atLeastOneListMustBePresent: 'Au moins une liste doit être présente',
attachment: 'Pièce jointe', attachment: 'Pièce jointe',
@@ -344,7 +342,6 @@ export default {
turnOffRecentCardHighlighting: 'Désactiver la mise en évidence des cartes récentes', turnOffRecentCardHighlighting: 'Désactiver la mise en évidence des cartes récentes',
typeNameToConfirm: 'Saissir le nom pour confirmer.', typeNameToConfirm: 'Saissir le nom pour confirmer.',
typeTitleToConfirm: 'Saisir le titre pour confirmer.', typeTitleToConfirm: 'Saisir le titre pour confirmer.',
unlinkSso_title: 'Dissociation du SSO',
unsavedChanges: 'Modifications non enregistrées', unsavedChanges: 'Modifications non enregistrées',
uploadFailedFileIsTooBig: 'Échec du téléchargement : fichier trop volumineux.', uploadFailedFileIsTooBig: 'Échec du téléchargement : fichier trop volumineux.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -512,8 +509,6 @@ export default {
start: 'Commencer', start: 'Commencer',
stop: 'Arrêter', stop: 'Arrêter',
subscribe: "S'abonner", subscribe: "S'abonner",
unlinkSso: 'Dissocier le SSO',
unlinkSso_title: 'Dissocier le SSO',
unsubscribe: 'Se désabonner', unsubscribe: 'Se désabonner',
uploadNewAvatar: 'Télécharger un nouvel avatar', uploadNewAvatar: 'Télécharger un nouvel avatar',
uploadNewImage: 'Télécharger une nouvelle image', uploadNewImage: 'Télécharger une nouvelle image',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Propulsé par <1>PLANKA</1>', poweredByPlanka: 'Propulsé par <1>PLANKA</1>',
serverConnectionFailed: 'Échec de la connexion au serveur', serverConnectionFailed: 'Échec de la connexion au serveur',
unknownError: 'Erreur inconnue, réessayez plus tard', unknownError: 'Erreur inconnue, réessayez plus tard',
useSingleSignOn: "Utiliser l'authentification unique",
usernameAlreadyInUse: "Nom d'utilisateur déjà utilisé", usernameAlreadyInUse: "Nom d'utilisateur déjà utilisé",
whoops_title: 'Oups !', whoops_title: 'Oups !',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Annuler et fermer', cancelAndClose: 'Annuler et fermer',
continue: 'Continuer', continue: 'Continuer',
debugSso: 'Déboguer le SSO',
goBack: 'Retour', goBack: 'Retour',
goHome: "Aller à l'accueil", goHome: "Aller à l'accueil",
logIn: 'Se connecter', logIn: 'Se connecter',
logInWithSso: "Se connecter avec l'authentification unique",
}, },
}, },
}; };
-5
View File
@@ -81,8 +81,6 @@ export default {
areYouSureYouWantToRemoveThisManagerFromProject: areYouSureYouWantToRemoveThisManagerFromProject:
'Biztosan eltávolítja ezt a menedzsert a projektből?', 'Biztosan eltávolítja ezt a menedzsert a projektből?',
areYouSureYouWantToRemoveThisMemberFromBoard: 'Biztosan eltávolítja ezt a tagot a tábláról?', areYouSureYouWantToRemoveThisMemberFromBoard: 'Biztosan eltávolítja ezt a tagot a tábláról?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Biztosan le szeretné választani az SSO-t ettől a felhasználótól? Ez lehetővé teszi a felhasználó számára, hogy jelszóval jelentkezzen be.',
assignAsOwner_title: 'Hozzárendelés tulajdonosnak', assignAsOwner_title: 'Hozzárendelés tulajdonosnak',
atLeastOneListMustBePresent: 'Legalább egy lista szükséges.', atLeastOneListMustBePresent: 'Legalább egy lista szükséges.',
attachment: 'Melléklet', attachment: 'Melléklet',
@@ -331,7 +329,6 @@ export default {
turnOffRecentCardHighlighting: 'Legutóbb módosítótt kártyák kiemelésének kikapcsolása', turnOffRecentCardHighlighting: 'Legutóbb módosítótt kártyák kiemelésének kikapcsolása',
typeNameToConfirm: 'Írja be a nevet a megerősítéshez.', typeNameToConfirm: 'Írja be a nevet a megerősítéshez.',
typeTitleToConfirm: 'Írja be a címet a megerősítéshez.', typeTitleToConfirm: 'Írja be a címet a megerősítéshez.',
unlinkSso_title: 'SSO leválasztása',
unsavedChanges: 'Mentetlen változtatások', unsavedChanges: 'Mentetlen változtatások',
uploadFailedFileIsTooBig: 'Feltöltési hiba: a fájl túl nagy.', uploadFailedFileIsTooBig: 'Feltöltési hiba: a fájl túl nagy.',
uploadFailedNotEnoughStorageSpace: 'Feltöltési hiba: nincs elég szabad tárhely.', uploadFailedNotEnoughStorageSpace: 'Feltöltési hiba: nincs elég szabad tárhely.',
@@ -506,8 +503,6 @@ export default {
start: 'Indítás', start: 'Indítás',
stop: 'Megállítás', stop: 'Megállítás',
subscribe: 'Feliratkozás', subscribe: 'Feliratkozás',
unlinkSso: 'SSO leválasztása',
unlinkSso_title: 'SSO leválasztása',
unsubscribe: 'Leiratkozás', unsubscribe: 'Leiratkozás',
uploadNewAvatar: 'Új avatar feltöltése', uploadNewAvatar: 'Új avatar feltöltése',
uploadNewImage: 'Új kép feltöltése', uploadNewImage: 'Új kép feltöltése',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Működteti a <1>PLANKA</1>', poweredByPlanka: 'Működteti a <1>PLANKA</1>',
serverConnectionFailed: 'A szerverkapcsolat sikertelen', serverConnectionFailed: 'A szerverkapcsolat sikertelen',
unknownError: 'Ismeretlen hiba, próbáld meg később újra', unknownError: 'Ismeretlen hiba, próbáld meg később újra',
useSingleSignOn: 'Egyszeri bejelentkezés használata',
usernameAlreadyInUse: 'A felhasználónév már használatban van', usernameAlreadyInUse: 'A felhasználónév már használatban van',
whoops_title: 'Hoppá!', whoops_title: 'Hoppá!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Mégse és bezárás', cancelAndClose: 'Mégse és bezárás',
continue: 'Folytatás', continue: 'Folytatás',
debugSso: 'SSO hibakeresése',
goBack: 'Vissza', goBack: 'Vissza',
goHome: 'Kezdőlapra', goHome: 'Kezdőlapra',
logIn: 'Belépés', logIn: 'Belépés',
logInWithSso: 'Belépés SSO-val',
}, },
}, },
}; };
-5
View File
@@ -88,8 +88,6 @@ export default {
'Apakah anda ingin menghapus manajer ini dari papan ini?', 'Apakah anda ingin menghapus manajer ini dari papan ini?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Apakah anda ingin menghapus anggota ini dari papan ini?', 'Apakah anda ingin menghapus anggota ini dari papan ini?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Apakah Anda yakin ingin memutuskan tautan SSO dari pengguna ini? Ini akan memungkinkan pengguna untuk masuk dengan kata sandi.',
assignAsOwner_title: 'Tetapkan sebagai pemilik', assignAsOwner_title: 'Tetapkan sebagai pemilik',
atLeastOneListMustBePresent: 'Setidaknya satu daftar harus ada', atLeastOneListMustBePresent: 'Setidaknya satu daftar harus ada',
attachment: 'Lampiran', attachment: 'Lampiran',
@@ -339,7 +337,6 @@ export default {
turnOffRecentCardHighlighting: 'Matikan penyorotan kartu terbaru', turnOffRecentCardHighlighting: 'Matikan penyorotan kartu terbaru',
typeNameToConfirm: 'Ketik nama untuk mengonfirmasi.', typeNameToConfirm: 'Ketik nama untuk mengonfirmasi.',
typeTitleToConfirm: 'Ketik judul untuk mengonfirmasi.', typeTitleToConfirm: 'Ketik judul untuk mengonfirmasi.',
unlinkSso_title: 'Pemutusan tautan SSO',
unsavedChanges: 'Perubahan yang belum disimpan', unsavedChanges: 'Perubahan yang belum disimpan',
uploadFailedFileIsTooBig: 'Unggahan gagal - file terlalu besar.', uploadFailedFileIsTooBig: 'Unggahan gagal - file terlalu besar.',
uploadFailedNotEnoughStorageSpace: 'Unggahan gagal - ruang penyimpanan tidak cukup.', uploadFailedNotEnoughStorageSpace: 'Unggahan gagal - ruang penyimpanan tidak cukup.',
@@ -507,8 +504,6 @@ export default {
start: 'Mulai', start: 'Mulai',
stop: 'Berhenti', stop: 'Berhenti',
subscribe: 'Berlanggan', subscribe: 'Berlanggan',
unlinkSso: 'Putuskan tautan SSO',
unlinkSso_title: 'Putuskan tautan SSO',
unsubscribe: 'Berhenti berlangganan', unsubscribe: 'Berhenti berlangganan',
uploadNewAvatar: 'Unggah avatar baru', uploadNewAvatar: 'Unggah avatar baru',
uploadNewImage: 'Unggah gambar baru', uploadNewImage: 'Unggah gambar baru',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Didukung oleh <1>PLANKA</1>', poweredByPlanka: 'Didukung oleh <1>PLANKA</1>',
serverConnectionFailed: 'Koneksi server gagal', serverConnectionFailed: 'Koneksi server gagal',
unknownError: 'Kesalahan tidak diketahui, coba lagi nanti.', unknownError: 'Kesalahan tidak diketahui, coba lagi nanti.',
useSingleSignOn: 'Gunakan single sign-on',
usernameAlreadyInUse: 'Username telah digunakan', usernameAlreadyInUse: 'Username telah digunakan',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Batal dan tutup', cancelAndClose: 'Batal dan tutup',
continue: 'Lanjutkan', continue: 'Lanjutkan',
debugSso: 'Debug SSO',
goBack: 'Kembali', goBack: 'Kembali',
goHome: 'Ke beranda', goHome: 'Ke beranda',
logIn: 'Masuk', logIn: 'Masuk',
logInWithSso: 'Masuk dengan SSO',
}, },
}, },
}; };
-5
View File
@@ -88,8 +88,6 @@ export default {
'Sei sicuro di voler rimuovere questo amministratore dal progetto?', 'Sei sicuro di voler rimuovere questo amministratore dal progetto?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Sei sicuro di voler rimuovere questo membro dalla bacheca?', 'Sei sicuro di voler rimuovere questo membro dalla bacheca?',
areYouSureYouWantToUnlinkSsoFromThisUser:
"Sei sicuro di voler scollegare SSO da questo utente? Questo permetterà all'utente di accedere con una password.",
assignAsOwner_title: 'Assegna come proprietario', assignAsOwner_title: 'Assegna come proprietario',
atLeastOneListMustBePresent: 'Deve essere presente almeno una lista', atLeastOneListMustBePresent: 'Deve essere presente almeno una lista',
attachment: 'Allegato', attachment: 'Allegato',
@@ -341,7 +339,6 @@ export default {
turnOffRecentCardHighlighting: "Disattiva l'evidenziazione delle scheda recenti", turnOffRecentCardHighlighting: "Disattiva l'evidenziazione delle scheda recenti",
typeNameToConfirm: 'Digita il nome per confermare.', typeNameToConfirm: 'Digita il nome per confermare.',
typeTitleToConfirm: 'Digita il titolo per confermare.', typeTitleToConfirm: 'Digita il titolo per confermare.',
unlinkSso_title: 'Scollegamento SSO',
unsavedChanges: 'Modifiche non salvate', unsavedChanges: 'Modifiche non salvate',
uploadFailedFileIsTooBig: 'Caricamento fallito: il file è troppo grande.', uploadFailedFileIsTooBig: 'Caricamento fallito: il file è troppo grande.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -510,8 +507,6 @@ export default {
start: 'Inizio', start: 'Inizio',
stop: 'Interrompi', stop: 'Interrompi',
subscribe: 'Iscriviti', subscribe: 'Iscriviti',
unlinkSso: 'Scollega SSO',
unlinkSso_title: 'Scollega SSO',
unsubscribe: 'Annulla iscrizione', unsubscribe: 'Annulla iscrizione',
uploadNewAvatar: 'Carica nuovo avatar', uploadNewAvatar: 'Carica nuovo avatar',
uploadNewImage: 'Carica nuova immagine', uploadNewImage: 'Carica nuova immagine',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Powered by <1>PLANKA</1>', poweredByPlanka: 'Powered by <1>PLANKA</1>',
serverConnectionFailed: 'Connesione al server fallita', serverConnectionFailed: 'Connesione al server fallita',
unknownError: 'Errore sconosciuto, prova ancora', unknownError: 'Errore sconosciuto, prova ancora',
useSingleSignOn: 'Accedi con SSO',
usernameAlreadyInUse: 'Username già in uso', usernameAlreadyInUse: 'Username già in uso',
whoops_title: 'Ops!', whoops_title: 'Ops!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Annulla e chiudi', cancelAndClose: 'Annulla e chiudi',
continue: 'Continua', continue: 'Continua',
debugSso: 'Debug SSO',
goBack: 'Torna indietro', goBack: 'Torna indietro',
goHome: 'Vai alla home', goHome: 'Vai alla home',
logIn: 'Accedi', logIn: 'Accedi',
logInWithSso: 'Accedi con SSO',
}, },
}, },
}; };
-5
View File
@@ -85,8 +85,6 @@ export default {
'このマネージャーをプロジェクトから外してもよろしいですか?', 'このマネージャーをプロジェクトから外してもよろしいですか?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'このメンバーをボードから外してもよろしいですか?', 'このメンバーをボードから外してもよろしいですか?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'このユーザーからSSOのリンクを解除してもよろしいですか?これにより、ユーザーはパスワードでログインできるようになります。',
assignAsOwner_title: 'オーナーとして割り当て', assignAsOwner_title: 'オーナーとして割り当て',
atLeastOneListMustBePresent: '少なくとも1つのリストが必要です', atLeastOneListMustBePresent: '少なくとも1つのリストが必要です',
attachment: '添付ファイル', attachment: '添付ファイル',
@@ -334,7 +332,6 @@ export default {
turnOffRecentCardHighlighting: '最近のカードのハイライトをオフにする', turnOffRecentCardHighlighting: '最近のカードのハイライトをオフにする',
typeNameToConfirm: '確認のため名前を入力してください。', typeNameToConfirm: '確認のため名前を入力してください。',
typeTitleToConfirm: '確認のためタイトルを入力してください。', typeTitleToConfirm: '確認のためタイトルを入力してください。',
unlinkSso_title: 'SSOのリンク解除',
unsavedChanges: '未保存の変更', unsavedChanges: '未保存の変更',
uploadFailedFileIsTooBig: 'アップロード失敗 - ファイルが大きすぎます。', uploadFailedFileIsTooBig: 'アップロード失敗 - ファイルが大きすぎます。',
uploadFailedNotEnoughStorageSpace: 'アップロード失敗 - ストレージ容量が不足しています。', uploadFailedNotEnoughStorageSpace: 'アップロード失敗 - ストレージ容量が不足しています。',
@@ -504,8 +501,6 @@ export default {
start: 'スタート', start: 'スタート',
stop: 'ストップ', stop: 'ストップ',
subscribe: '購読', subscribe: '購読',
unlinkSso: 'SSOのリンクを解除',
unlinkSso_title: 'SSOのリンクを解除',
unsubscribe: '購読解除', unsubscribe: '購読解除',
uploadNewAvatar: '新しいアバターをアップロード', uploadNewAvatar: '新しいアバターをアップロード',
uploadNewImage: '新しい画像をアップロード', uploadNewImage: '新しい画像をアップロード',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: '<1>PLANKA</1>で動作', poweredByPlanka: '<1>PLANKA</1>で動作',
serverConnectionFailed: 'サーバーの接続に失敗', serverConnectionFailed: 'サーバーの接続に失敗',
unknownError: '不明なエラーです。後でもう一度試してください。', unknownError: '不明なエラーです。後でもう一度試してください。',
useSingleSignOn: 'SSOを使用',
usernameAlreadyInUse: 'ユーザー名は既に使われています', usernameAlreadyInUse: 'ユーザー名は既に使われています',
whoops_title: 'おっと!', whoops_title: 'おっと!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'キャンセルして閉じる', cancelAndClose: 'キャンセルして閉じる',
continue: '続行', continue: '続行',
debugSso: 'SSOをデバッグ',
goBack: '戻る', goBack: '戻る',
goHome: 'ホームへ', goHome: 'ホームへ',
logIn: 'ログイン', logIn: 'ログイン',
logInWithSso: 'SSOでログイン',
}, },
}, },
}; };
-5
View File
@@ -79,8 +79,6 @@ export default {
'이 API 키를 재생성하시겠습니까? 이전 키는 더 이상 작동하지 않습니다.', '이 API 키를 재생성하시겠습니까? 이전 키는 더 이상 작동하지 않습니다.',
areYouSureYouWantToRemoveThisManagerFromProject: '이 관리자를 프로젝트에서 제거하시겠습니까?', areYouSureYouWantToRemoveThisManagerFromProject: '이 관리자를 프로젝트에서 제거하시겠습니까?',
areYouSureYouWantToRemoveThisMemberFromBoard: '이 멤버를 보드에서 제거하시겠습니까?', areYouSureYouWantToRemoveThisMemberFromBoard: '이 멤버를 보드에서 제거하시겠습니까?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'이 사용자로부터 SSO 연결을 해제하시겠습니까? 이렇게 하면 사용자가 비밀번호로 로그인할 수 있습니다.',
assignAsOwner_title: '소유자로 지정', assignAsOwner_title: '소유자로 지정',
atLeastOneListMustBePresent: '최소 하나의 목록이 있어야 합니다', atLeastOneListMustBePresent: '최소 하나의 목록이 있어야 합니다',
attachment: '첨부 파일', attachment: '첨부 파일',
@@ -329,7 +327,6 @@ export default {
turnOffRecentCardHighlighting: '최근 카드 강조 표시 끄기', turnOffRecentCardHighlighting: '최근 카드 강조 표시 끄기',
typeNameToConfirm: '확인하려면 이름을 입력하세요.', typeNameToConfirm: '확인하려면 이름을 입력하세요.',
typeTitleToConfirm: '확인하려면 제목을 입력하세요.', typeTitleToConfirm: '확인하려면 제목을 입력하세요.',
unlinkSso_title: 'SSO 연결 해제',
unsavedChanges: '저장되지 않은 변경사항', unsavedChanges: '저장되지 않은 변경사항',
uploadFailedFileIsTooBig: '업로드 실패: 파일이 너무 큽니다.', uploadFailedFileIsTooBig: '업로드 실패: 파일이 너무 큽니다.',
uploadFailedNotEnoughStorageSpace: '업로드 실패: 저장 공간이 부족합니다.', uploadFailedNotEnoughStorageSpace: '업로드 실패: 저장 공간이 부족합니다.',
@@ -501,8 +498,6 @@ export default {
start: '시작', start: '시작',
stop: '중지', stop: '중지',
subscribe: '구독', subscribe: '구독',
unlinkSso: 'SSO 연결 해제',
unlinkSso_title: 'SSO 연결 해제',
unsubscribe: '구독 취소', unsubscribe: '구독 취소',
uploadNewAvatar: '새 아바타 업로드', uploadNewAvatar: '새 아바타 업로드',
uploadNewImage: '새 이미지 업로드', uploadNewImage: '새 이미지 업로드',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: '<1>PLANKA</1>로 구동됨', poweredByPlanka: '<1>PLANKA</1>로 구동됨',
serverConnectionFailed: '서버 연결 실패', serverConnectionFailed: '서버 연결 실패',
unknownError: '알 수 없는 오류, 나중에 다시 시도하세요', unknownError: '알 수 없는 오류, 나중에 다시 시도하세요',
useSingleSignOn: 'Single Sign-On(SSO) 사용',
usernameAlreadyInUse: '이미 사용 중인 사용자 이름', usernameAlreadyInUse: '이미 사용 중인 사용자 이름',
whoops_title: '앗!', whoops_title: '앗!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: '취소 후 닫기', cancelAndClose: '취소 후 닫기',
continue: '계속', continue: '계속',
debugSso: 'SSO 디버그',
goBack: '뒤로 가기', goBack: '뒤로 가기',
goHome: '홈으로 가기', goHome: '홈으로 가기',
logIn: '로그인', logIn: '로그인',
logInWithSso: 'SSO로 로그인',
}, },
}, },
}; };
-5
View File
@@ -88,8 +88,6 @@ export default {
'Weet u zeker dat u deze manager uit het project wilt verwijderen?', 'Weet u zeker dat u deze manager uit het project wilt verwijderen?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Weet u zeker dat u dit lid uit het bord wilt verwijderen?', 'Weet u zeker dat u dit lid uit het bord wilt verwijderen?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Weet je zeker dat je SSO wilt ontkoppelen van deze gebruiker? Dit stelt de gebruiker in staat om in te loggen met een wachtwoord.',
assignAsOwner_title: 'Toewijzen als eigenaar', assignAsOwner_title: 'Toewijzen als eigenaar',
atLeastOneListMustBePresent: 'Er moet ten minste één lijst aanwezig zijn', atLeastOneListMustBePresent: 'Er moet ten minste één lijst aanwezig zijn',
attachment: 'Bijlage', attachment: 'Bijlage',
@@ -339,7 +337,6 @@ export default {
turnOffRecentCardHighlighting: 'Recente kaartmarkering uitschakelen', turnOffRecentCardHighlighting: 'Recente kaartmarkering uitschakelen',
typeNameToConfirm: 'Typ naam om te bevestigen.', typeNameToConfirm: 'Typ naam om te bevestigen.',
typeTitleToConfirm: 'Typ titel om te bevestigen.', typeTitleToConfirm: 'Typ titel om te bevestigen.',
unlinkSso_title: 'SSO ontkoppelen',
unsavedChanges: 'Niet-opgeslagen wijzigingen', unsavedChanges: 'Niet-opgeslagen wijzigingen',
uploadFailedFileIsTooBig: 'Upload mislukt: bestand is te groot.', uploadFailedFileIsTooBig: 'Upload mislukt: bestand is te groot.',
uploadFailedNotEnoughStorageSpace: 'Upload mislukt: niet genoeg opslagruimte.', uploadFailedNotEnoughStorageSpace: 'Upload mislukt: niet genoeg opslagruimte.',
@@ -510,8 +507,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Abonneren', subscribe: 'Abonneren',
unlinkSso: 'SSO ontkoppelen',
unlinkSso_title: 'SSO ontkoppelen',
unsubscribe: 'Afmelden', unsubscribe: 'Afmelden',
uploadNewAvatar: 'Nieuwe avatar uploaden', uploadNewAvatar: 'Nieuwe avatar uploaden',
uploadNewImage: 'Nieuwe afbeelding uploaden', uploadNewImage: 'Nieuwe afbeelding uploaden',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Mogelijk gemaakt door <1>PLANKA</1>', poweredByPlanka: 'Mogelijk gemaakt door <1>PLANKA</1>',
serverConnectionFailed: 'Verbinding met de server mislukt', serverConnectionFailed: 'Verbinding met de server mislukt',
unknownError: 'Onbekende fout, probeer het later opnieuw', unknownError: 'Onbekende fout, probeer het later opnieuw',
useSingleSignOn: 'Gebruik single sign-on',
usernameAlreadyInUse: 'Gebruikersnaam is al in gebruik', usernameAlreadyInUse: 'Gebruikersnaam is al in gebruik',
whoops_title: 'Oeps!', whoops_title: 'Oeps!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Annuleren en sluiten', cancelAndClose: 'Annuleren en sluiten',
continue: 'Doorgaan', continue: 'Doorgaan',
debugSso: 'SSO debuggen',
goBack: 'Terug gaan', goBack: 'Terug gaan',
goHome: 'Naar startpagina', goHome: 'Naar startpagina',
logIn: 'Inloggen', logIn: 'Inloggen',
logInWithSso: 'Inloggen met SSO',
}, },
}, },
}; };
-5
View File
@@ -87,8 +87,6 @@ export default {
'Jesteś pewien że chcesz usunąć tego zarządcę z projektu?', 'Jesteś pewien że chcesz usunąć tego zarządcę z projektu?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Jesteś pewien że chcesz usunąć tego członka z tablicy?', 'Jesteś pewien że chcesz usunąć tego członka z tablicy?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Czy na pewno chcesz odłączyć SSO od tego użytkownika? Pozwoli to użytkownikowi zalogować się przy użyciu hasła.',
assignAsOwner_title: 'Przypisz jako właściciela', assignAsOwner_title: 'Przypisz jako właściciela',
atLeastOneListMustBePresent: 'Przynajmniej jedna lista musi istnieć', atLeastOneListMustBePresent: 'Przynajmniej jedna lista musi istnieć',
attachment: 'Załącznik', attachment: 'Załącznik',
@@ -338,7 +336,6 @@ export default {
turnOffRecentCardHighlighting: 'Wyłącz podświetlanie nowych kart', turnOffRecentCardHighlighting: 'Wyłącz podświetlanie nowych kart',
typeNameToConfirm: 'Wpisz nazwę aby potwierdzić.', typeNameToConfirm: 'Wpisz nazwę aby potwierdzić.',
typeTitleToConfirm: 'Wpisz tytuł aby potwierdzić.', typeTitleToConfirm: 'Wpisz tytuł aby potwierdzić.',
unlinkSso_title: 'Odłączanie SSO',
unsavedChanges: 'Niezapisane zmiany', unsavedChanges: 'Niezapisane zmiany',
uploadFailedFileIsTooBig: 'Przesyłanie nie powiodło się: plik jest za duży.', uploadFailedFileIsTooBig: 'Przesyłanie nie powiodło się: plik jest za duży.',
uploadFailedNotEnoughStorageSpace: 'Przesyłanie nie powiodło się: za mało miejsca na dysku.', uploadFailedNotEnoughStorageSpace: 'Przesyłanie nie powiodło się: za mało miejsca na dysku.',
@@ -507,8 +504,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Subskrybuj', subscribe: 'Subskrybuj',
unlinkSso: 'Odłącz SSO',
unlinkSso_title: 'Odłącz SSO',
unsubscribe: 'Odsubskrybuj', unsubscribe: 'Odsubskrybuj',
uploadNewAvatar: 'Wgraj nowy awatar', uploadNewAvatar: 'Wgraj nowy awatar',
uploadNewImage: 'Wgraj nowy obraz', uploadNewImage: 'Wgraj nowy obraz',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Powered by <1>PLANKA</1>', poweredByPlanka: 'Powered by <1>PLANKA</1>',
serverConnectionFailed: 'Błąd połączenia z serwerem', serverConnectionFailed: 'Błąd połączenia z serwerem',
unknownError: 'Nieznany błąd, spróbuj ponownie później', unknownError: 'Nieznany błąd, spróbuj ponownie później',
useSingleSignOn: 'Użyj logowania SSO',
usernameAlreadyInUse: 'Nazwa użytkownika nie jest dostępna', usernameAlreadyInUse: 'Nazwa użytkownika nie jest dostępna',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Anuluj i zamknij', cancelAndClose: 'Anuluj i zamknij',
continue: 'Kontynuuj', continue: 'Kontynuuj',
debugSso: 'Debuguj SSO',
goBack: 'Wróć', goBack: 'Wróć',
goHome: 'Idź do domu', goHome: 'Idź do domu',
logIn: 'Zaloguj', logIn: 'Zaloguj',
logInWithSso: 'Zaloguj z SSO',
}, },
}, },
}; };
-5
View File
@@ -89,8 +89,6 @@ export default {
'Tem certeza de que deseja remover este gerente do projeto?', 'Tem certeza de que deseja remover este gerente do projeto?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Tem certeza de que deseja remover este membro do quadro?', 'Tem certeza de que deseja remover este membro do quadro?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Tem certeza de que deseja desvincular o SSO deste usuário? Isso permitirá que o usuário faça login com uma senha.',
assignAsOwner_title: 'Atribuir como proprietário', assignAsOwner_title: 'Atribuir como proprietário',
atLeastOneListMustBePresent: 'Pelo menos uma lista deve estar presente', atLeastOneListMustBePresent: 'Pelo menos uma lista deve estar presente',
attachment: 'Anexo', attachment: 'Anexo',
@@ -342,7 +340,6 @@ export default {
turnOffRecentCardHighlighting: 'Desativar destaque de cartões recentes', turnOffRecentCardHighlighting: 'Desativar destaque de cartões recentes',
typeNameToConfirm: 'Digite o nome para confirmar.', typeNameToConfirm: 'Digite o nome para confirmar.',
typeTitleToConfirm: 'Digite o título para confirmar.', typeTitleToConfirm: 'Digite o título para confirmar.',
unlinkSso_title: 'Desvinculação de SSO',
unsavedChanges: 'Alterações não salvas', unsavedChanges: 'Alterações não salvas',
uploadFailedFileIsTooBig: 'Falha no upload: arquivo muito grande.', uploadFailedFileIsTooBig: 'Falha no upload: arquivo muito grande.',
uploadFailedNotEnoughStorageSpace: 'Falha no upload: espaço de armazenamento insuficiente.', uploadFailedNotEnoughStorageSpace: 'Falha no upload: espaço de armazenamento insuficiente.',
@@ -510,8 +507,6 @@ export default {
start: 'Iniciar', start: 'Iniciar',
stop: 'Parar', stop: 'Parar',
subscribe: 'Inscrever-se', subscribe: 'Inscrever-se',
unlinkSso: 'Desvincular SSO',
unlinkSso_title: 'Desvincular SSO',
unsubscribe: 'Cancelar inscrição', unsubscribe: 'Cancelar inscrição',
uploadNewAvatar: 'Enviar novo avatar', uploadNewAvatar: 'Enviar novo avatar',
uploadNewImage: 'Enviar nova imagem', uploadNewImage: 'Enviar nova imagem',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Desenvolvido por <1>PLANKA</1>', poweredByPlanka: 'Desenvolvido por <1>PLANKA</1>',
serverConnectionFailed: 'Falha na conexão com o servidor', serverConnectionFailed: 'Falha na conexão com o servidor',
unknownError: 'Erro desconhecido, tente novamente mais tarde', unknownError: 'Erro desconhecido, tente novamente mais tarde',
useSingleSignOn: 'Usar login único',
usernameAlreadyInUse: 'Nome de usuário já está em uso', usernameAlreadyInUse: 'Nome de usuário já está em uso',
whoops_title: 'Ops!', whoops_title: 'Ops!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Cancelar e fechar', cancelAndClose: 'Cancelar e fechar',
continue: 'Continuar', continue: 'Continuar',
debugSso: 'Depurar SSO',
goBack: 'Voltar', goBack: 'Voltar',
goHome: 'Ir para início', goHome: 'Ir para início',
logIn: 'Entrar', logIn: 'Entrar',
logInWithSso: 'Entrar com SSO',
}, },
}, },
}; };
-5
View File
@@ -91,8 +91,6 @@ export default {
'Tem a certeza de que pretende remover este gestor do projeto?', 'Tem a certeza de que pretende remover este gestor do projeto?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Tem a certeza de que pretende remover este membro do quadro?', 'Tem a certeza de que pretende remover este membro do quadro?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Tem a certeza de que pretende desvincular o SSO deste utilizador? Isto permitirá que o utilizador inicie sessão com uma palavra-passe.',
assignAsOwner_title: 'Atribuir como proprietário', assignAsOwner_title: 'Atribuir como proprietário',
atLeastOneListMustBePresent: 'Pelo menos uma lista deve estar presente', atLeastOneListMustBePresent: 'Pelo menos uma lista deve estar presente',
attachment: 'Anexo', attachment: 'Anexo',
@@ -344,7 +342,6 @@ export default {
turnOffRecentCardHighlighting: 'Desativar destaque de cartões recentes', turnOffRecentCardHighlighting: 'Desativar destaque de cartões recentes',
typeNameToConfirm: 'Digite o nome para confirmar.', typeNameToConfirm: 'Digite o nome para confirmar.',
typeTitleToConfirm: 'Digite o título para confirmar.', typeTitleToConfirm: 'Digite o título para confirmar.',
unlinkSso_title: 'Desvinculação de SSO',
unsavedChanges: 'Alterações não guardadas', unsavedChanges: 'Alterações não guardadas',
uploadFailedFileIsTooBig: 'Carregamento falhado - ficheiro demasiado grande.', uploadFailedFileIsTooBig: 'Carregamento falhado - ficheiro demasiado grande.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -513,8 +510,6 @@ export default {
start: 'Iniciar', start: 'Iniciar',
stop: 'Parar', stop: 'Parar',
subscribe: 'Subscrever', subscribe: 'Subscrever',
unlinkSso: 'Desvincular SSO',
unlinkSso_title: 'Desvincular SSO',
unsubscribe: 'Cancelar subscrição', unsubscribe: 'Cancelar subscrição',
uploadNewAvatar: 'Carregar novo avatar', uploadNewAvatar: 'Carregar novo avatar',
uploadNewImage: 'Carregar nova imagem', uploadNewImage: 'Carregar nova imagem',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Desenvolvido por <1>PLANKA</1>', poweredByPlanka: 'Desenvolvido por <1>PLANKA</1>',
serverConnectionFailed: 'Falha na ligação ao servidor', serverConnectionFailed: 'Falha na ligação ao servidor',
unknownError: 'Erro desconhecido, tente novamente mais tarde', unknownError: 'Erro desconhecido, tente novamente mais tarde',
useSingleSignOn: 'Utilizar início de sessão único',
usernameAlreadyInUse: 'Nome de utilizador já está em uso', usernameAlreadyInUse: 'Nome de utilizador já está em uso',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Cancelar e fechar', cancelAndClose: 'Cancelar e fechar',
continue: 'Continuar', continue: 'Continuar',
debugSso: 'Depurar SSO',
goBack: 'Voltar', goBack: 'Voltar',
goHome: 'Ir para início', goHome: 'Ir para início',
logIn: 'Iniciar sessão', logIn: 'Iniciar sessão',
logInWithSso: 'Iniciar sessão com SSO',
}, },
}, },
}; };
-5
View File
@@ -85,8 +85,6 @@ export default {
'Sigur doriți să eliminați acest manager din proiect?', 'Sigur doriți să eliminați acest manager din proiect?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Sigur doriți să eliminați acest membru din consiliu?', 'Sigur doriți să eliminați acest membru din consiliu?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Sigur doriți să deconectați SSO de la acest utilizator? Acest lucru va permite utilizatorului să se conecteze cu o parolă.',
assignAsOwner_title: 'Atribuie ca proprietar', assignAsOwner_title: 'Atribuie ca proprietar',
atLeastOneListMustBePresent: 'Cel puțin o listă trebuie să fie prezentă', atLeastOneListMustBePresent: 'Cel puțin o listă trebuie să fie prezentă',
attachment: 'Atașament', attachment: 'Atașament',
@@ -337,7 +335,6 @@ export default {
turnOffRecentCardHighlighting: 'Oprește evidențierea cardurilor recente', turnOffRecentCardHighlighting: 'Oprește evidențierea cardurilor recente',
typeNameToConfirm: 'Tastează numele pentru confirmare.', typeNameToConfirm: 'Tastează numele pentru confirmare.',
typeTitleToConfirm: 'Tastează titlul pentru confirmare.', typeTitleToConfirm: 'Tastează titlul pentru confirmare.',
unlinkSso_title: 'Deconectarea SSO',
unsavedChanges: 'Modificări nesalvate', unsavedChanges: 'Modificări nesalvate',
uploadFailedFileIsTooBig: 'Încărcarea a eșuat: fișierul este prea mare.', uploadFailedFileIsTooBig: 'Încărcarea a eșuat: fișierul este prea mare.',
uploadFailedNotEnoughStorageSpace: 'Încărcarea a eșuat: spațiu de stocare insuficient.', uploadFailedNotEnoughStorageSpace: 'Încărcarea a eșuat: spațiu de stocare insuficient.',
@@ -507,8 +504,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Abonati-va', subscribe: 'Abonati-va',
unlinkSso: 'Deconectează SSO',
unlinkSso_title: 'Deconectează SSO',
unsubscribe: 'Dezabonați-vă', unsubscribe: 'Dezabonați-vă',
uploadNewAvatar: 'Încărcați un avatar nou', uploadNewAvatar: 'Încărcați un avatar nou',
uploadNewImage: 'Încărcați o nouă imagine', uploadNewImage: 'Încărcați o nouă imagine',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Susținut de <1>PLANKA</1>', poweredByPlanka: 'Susținut de <1>PLANKA</1>',
serverConnectionFailed: 'Conexiunea la server a eșuat', serverConnectionFailed: 'Conexiunea la server a eșuat',
unknownError: 'Eroarea necunoscuta, mai incercați', unknownError: 'Eroarea necunoscuta, mai incercați',
useSingleSignOn: 'Folosiți autentificarea unica',
usernameAlreadyInUse: 'Nume utilizator deja exista', usernameAlreadyInUse: 'Nume utilizator deja exista',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Anulează și închide', cancelAndClose: 'Anulează și închide',
continue: 'Continuă', continue: 'Continuă',
debugSso: 'Depanează SSO',
goBack: 'Înapoi', goBack: 'Înapoi',
goHome: 'Acasă', goHome: 'Acasă',
logIn: 'Autentificarea', logIn: 'Autentificarea',
logInWithSso: 'Autentificarea cu SSO',
}, },
}, },
}; };
-5
View File
@@ -89,8 +89,6 @@ export default {
'Вы уверены, что хотите удалить этого менеджера из проекта?', 'Вы уверены, что хотите удалить этого менеджера из проекта?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Вы уверены, что хотите удалить этого участника из доски?', 'Вы уверены, что хотите удалить этого участника из доски?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Вы уверены, что хотите отвязать SSO от этого пользователя? Это позволит пользователю входить с помощью пароля.',
assignAsOwner_title: 'Назначить владельцем', assignAsOwner_title: 'Назначить владельцем',
atLeastOneListMustBePresent: 'Должен быть хотя бы один список', atLeastOneListMustBePresent: 'Должен быть хотя бы один список',
attachment: 'Вложение', attachment: 'Вложение',
@@ -340,7 +338,6 @@ export default {
turnOffRecentCardHighlighting: 'Выключить подсветку последних карточек', turnOffRecentCardHighlighting: 'Выключить подсветку последних карточек',
typeNameToConfirm: 'Введите имя для подтверждения.', typeNameToConfirm: 'Введите имя для подтверждения.',
typeTitleToConfirm: 'Введите название для подтверждения.', typeTitleToConfirm: 'Введите название для подтверждения.',
unlinkSso_title: 'Отвязка SSO',
unsavedChanges: 'Несохранённые изменения', unsavedChanges: 'Несохранённые изменения',
uploadFailedFileIsTooBig: 'Загрузка не удалась: файл слишком большой.', uploadFailedFileIsTooBig: 'Загрузка не удалась: файл слишком большой.',
uploadFailedNotEnoughStorageSpace: 'Загрузка не удалась: недостаточно места для хранения.', uploadFailedNotEnoughStorageSpace: 'Загрузка не удалась: недостаточно места для хранения.',
@@ -509,8 +506,6 @@ export default {
start: 'Начать', start: 'Начать',
stop: 'Остановить', stop: 'Остановить',
subscribe: 'Подписаться', subscribe: 'Подписаться',
unlinkSso: 'Отвязать SSO',
unlinkSso_title: 'Отвязать SSO',
unsubscribe: 'Отписаться', unsubscribe: 'Отписаться',
uploadNewAvatar: 'Загрузить новый аватар', uploadNewAvatar: 'Загрузить новый аватар',
uploadNewImage: 'Загрузить новое изображение', uploadNewImage: 'Загрузить новое изображение',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Powered by <1>PLANKA</1>', poweredByPlanka: 'Powered by <1>PLANKA</1>',
serverConnectionFailed: 'Не могу подключиться к серверу', serverConnectionFailed: 'Не могу подключиться к серверу',
unknownError: 'Что-то пошло не так, попробуйте позже', unknownError: 'Что-то пошло не так, попробуйте позже',
useSingleSignOn: 'Используйте единый вход',
usernameAlreadyInUse: 'Имя пользователя уже занято', usernameAlreadyInUse: 'Имя пользователя уже занято',
whoops_title: 'Упс!', whoops_title: 'Упс!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Отменить и закрыть', cancelAndClose: 'Отменить и закрыть',
continue: 'Продолжить', continue: 'Продолжить',
debugSso: 'Отладить SSO',
goBack: 'Назад', goBack: 'Назад',
goHome: 'На главную', goHome: 'На главную',
logIn: 'Войти', logIn: 'Войти',
logInWithSso: 'Войти с помощью единого входа',
}, },
}, },
}; };
-5
View File
@@ -83,8 +83,6 @@ export default {
'Naozaj chcete zmazať daného správcu tohto projektu?', 'Naozaj chcete zmazať daného správcu tohto projektu?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Naozaj chcete odstrániť tohoto člena z tabule?', 'Naozaj chcete odstrániť tohoto člena z tabule?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Naozaj chcete odpojiť SSO od tohto používateľa? Tým umožníte používateľovi prihlásiť sa pomocou hesla.',
assignAsOwner_title: 'Prideliť ako vlastníka', assignAsOwner_title: 'Prideliť ako vlastníka',
atLeastOneListMustBePresent: 'Musí byť prítomný aspoň jeden zoznam', atLeastOneListMustBePresent: 'Musí byť prítomný aspoň jeden zoznam',
attachment: 'Príloha', attachment: 'Príloha',
@@ -332,7 +330,6 @@ export default {
turnOffRecentCardHighlighting: 'Vypnúť zvýrazňovanie nedávnych kariet', turnOffRecentCardHighlighting: 'Vypnúť zvýrazňovanie nedávnych kariet',
typeNameToConfirm: 'Zadajte meno na potvrdenie.', typeNameToConfirm: 'Zadajte meno na potvrdenie.',
typeTitleToConfirm: 'Zadajte názov na potvrdenie.', typeTitleToConfirm: 'Zadajte názov na potvrdenie.',
unlinkSso_title: 'Odpojenie SSO',
unsavedChanges: 'Neuložené zmeny', unsavedChanges: 'Neuložené zmeny',
uploadFailedFileIsTooBig: 'Nahrávanie zlyhalo: súbor je príliš veľký.', uploadFailedFileIsTooBig: 'Nahrávanie zlyhalo: súbor je príliš veľký.',
uploadFailedNotEnoughStorageSpace: 'Nahrávanie zlyhalo: nedostatok úložného priestoru.', uploadFailedNotEnoughStorageSpace: 'Nahrávanie zlyhalo: nedostatok úložného priestoru.',
@@ -500,8 +497,6 @@ export default {
start: 'Start', start: 'Start',
stop: 'Stop', stop: 'Stop',
subscribe: 'Odoberať', subscribe: 'Odoberať',
unlinkSso: 'Odpojiť SSO',
unlinkSso_title: 'Odpojiť SSO',
unsubscribe: 'Neodoberať', unsubscribe: 'Neodoberať',
uploadNewAvatar: 'Nahrať nový avatar', uploadNewAvatar: 'Nahrať nový avatar',
uploadNewImage: 'Nahrať nový obrázok', uploadNewImage: 'Nahrať nový obrázok',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Poháňané <1>PLANKA</1>', poweredByPlanka: 'Poháňané <1>PLANKA</1>',
serverConnectionFailed: 'Pripojenie k serveru zlyhalo', serverConnectionFailed: 'Pripojenie k serveru zlyhalo',
unknownError: 'Neznáma chyba, skúste to neskôr', unknownError: 'Neznáma chyba, skúste to neskôr',
useSingleSignOn: 'Použiť jednotné prihlásenie',
usernameAlreadyInUse: 'Používateľské meno je zabrané', usernameAlreadyInUse: 'Používateľské meno je zabrané',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Zrušiť a zavrieť', cancelAndClose: 'Zrušiť a zavrieť',
continue: 'Pokračovať', continue: 'Pokračovať',
debugSso: 'Ladiť SSO',
goBack: 'Ísť späť', goBack: 'Ísť späť',
goHome: 'Ísť domov', goHome: 'Ísť domov',
logIn: 'Prihlásiť sa', logIn: 'Prihlásiť sa',
logInWithSso: 'Prihlásiť sa cez SSO',
}, },
}, },
}; };
-5
View File
@@ -87,8 +87,6 @@ export default {
'Да ли заиста желите да уклоните овог руководиоца из овог пројекта?', 'Да ли заиста желите да уклоните овог руководиоца из овог пројекта?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Да ли заиста желите да уклоните овог члана из ове табле?', 'Да ли заиста желите да уклоните овог члана из ове табле?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Да ли сте сигурни да желите да одвојите SSO са овог корисника? Ово ће омогућити кориснику да се пријави помоћу лозинке.',
assignAsOwner_title: 'Додели као власника', assignAsOwner_title: 'Додели као власника',
atLeastOneListMustBePresent: 'Мора постојати најмање једна листа', atLeastOneListMustBePresent: 'Мора постојати најмање једна листа',
attachment: 'Прилог', attachment: 'Прилог',
@@ -335,7 +333,6 @@ export default {
turnOffRecentCardHighlighting: 'Искључи истицање скорашњих картица', turnOffRecentCardHighlighting: 'Искључи истицање скорашњих картица',
typeNameToConfirm: 'Укуцај име за потврду.', typeNameToConfirm: 'Укуцај име за потврду.',
typeTitleToConfirm: 'Укуцај наслов за потврду.', typeTitleToConfirm: 'Укуцај наслов за потврду.',
unlinkSso_title: 'Одвајање SSO',
unsavedChanges: 'Несачуване промене', unsavedChanges: 'Несачуване промене',
uploadFailedFileIsTooBig: 'Слање неуспешно: датотека је превелика.', uploadFailedFileIsTooBig: 'Слање неуспешно: датотека је превелика.',
uploadFailedNotEnoughStorageSpace: 'Слање неуспешно: нема довољно простора за складиштење.', uploadFailedNotEnoughStorageSpace: 'Слање неуспешно: нема довољно простора за складиштење.',
@@ -503,8 +500,6 @@ export default {
start: 'Почни', start: 'Почни',
stop: 'Заустави', stop: 'Заустави',
subscribe: 'Претплати се', subscribe: 'Претплати се',
unlinkSso: 'Одвоји SSO',
unlinkSso_title: 'Одвоји SSO',
unsubscribe: 'Укини претплату', unsubscribe: 'Укини претплату',
uploadNewAvatar: 'Постави нови аватар', uploadNewAvatar: 'Постави нови аватар',
uploadNewImage: 'Постави нову слику', uploadNewImage: 'Постави нову слику',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Покреће <1>PLANKA</1>', poweredByPlanka: 'Покреће <1>PLANKA</1>',
serverConnectionFailed: 'Неуспешна конекција са сервером', serverConnectionFailed: 'Неуспешна конекција са сервером',
unknownError: 'Непозната грешка, покушајте поново касније', unknownError: 'Непозната грешка, покушајте поново касније',
useSingleSignOn: 'Користи универзалну пријаву',
usernameAlreadyInUse: 'Корисничко име је већ у употреби', usernameAlreadyInUse: 'Корисничко име је већ у употреби',
whoops_title: 'Упс!', whoops_title: 'Упс!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Откажи и затвори', cancelAndClose: 'Откажи и затвори',
continue: 'Настави', continue: 'Настави',
debugSso: 'Дебагуј SSO',
goBack: 'Назад', goBack: 'Назад',
goHome: 'Иди кући', goHome: 'Иди кући',
logIn: 'Пријава', logIn: 'Пријава',
logInWithSso: 'Пријава са УП',
}, },
}, },
}; };
-5
View File
@@ -88,8 +88,6 @@ export default {
'Da li zaista želite da uklonite ovog rukovodioca iz ovog projekta?', 'Da li zaista želite da uklonite ovog rukovodioca iz ovog projekta?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Da li zaista želite da uklonite ovog člana iz ove table?', 'Da li zaista želite da uklonite ovog člana iz ove table?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Da li ste sigurni da želite da odvojite SSO sa ovog korisnika? Ovo će omogućiti korisniku da se prijavi pomoću lozinke.',
assignAsOwner_title: 'Dodeli kao vlasnika', assignAsOwner_title: 'Dodeli kao vlasnika',
atLeastOneListMustBePresent: 'Mora postojati najmanje jedna lista', atLeastOneListMustBePresent: 'Mora postojati najmanje jedna lista',
attachment: 'Prilog', attachment: 'Prilog',
@@ -336,7 +334,6 @@ export default {
turnOffRecentCardHighlighting: 'Isključi isticanje skorašnjih kartica', turnOffRecentCardHighlighting: 'Isključi isticanje skorašnjih kartica',
typeNameToConfirm: 'Ukucaj ime za potvrdu.', typeNameToConfirm: 'Ukucaj ime za potvrdu.',
typeTitleToConfirm: 'Ukucaj naslov za potvrdu.', typeTitleToConfirm: 'Ukucaj naslov za potvrdu.',
unlinkSso_title: 'Odvajanje SSO',
unsavedChanges: 'Nesačuvane promene', unsavedChanges: 'Nesačuvane promene',
uploadFailedFileIsTooBig: 'Slanje neuspešno: datoteka je prevelika.', uploadFailedFileIsTooBig: 'Slanje neuspešno: datoteka je prevelika.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -505,8 +502,6 @@ export default {
start: 'Počni', start: 'Počni',
stop: 'Zaustavi', stop: 'Zaustavi',
subscribe: 'Pretplati se', subscribe: 'Pretplati se',
unlinkSso: 'Odvoji SSO',
unlinkSso_title: 'Odvoji SSO',
unsubscribe: 'Ukini pretplatu', unsubscribe: 'Ukini pretplatu',
uploadNewAvatar: 'Postavi novi avatar', uploadNewAvatar: 'Postavi novi avatar',
uploadNewImage: 'Postavi novu sliku', uploadNewImage: 'Postavi novu sliku',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Pokreće <1>PLANKA</1>', poweredByPlanka: 'Pokreće <1>PLANKA</1>',
serverConnectionFailed: 'Neuspešna konekcija sa serverom', serverConnectionFailed: 'Neuspešna konekcija sa serverom',
unknownError: 'Nepoznata greška, pokušajte ponovo kasnije', unknownError: 'Nepoznata greška, pokušajte ponovo kasnije',
useSingleSignOn: 'Koristi univerzalnu prijavu',
usernameAlreadyInUse: 'Korisničko ime je već u upotrebi', usernameAlreadyInUse: 'Korisničko ime je već u upotrebi',
whoops_title: 'Ups!', whoops_title: 'Ups!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Otkaži i zatvori', cancelAndClose: 'Otkaži i zatvori',
continue: 'Nastavi', continue: 'Nastavi',
debugSso: 'Debaguj SSO',
goBack: 'Nazad', goBack: 'Nazad',
goHome: 'Idi kući', goHome: 'Idi kući',
logIn: 'Prijava', logIn: 'Prijava',
logInWithSso: 'Prijava sa UP',
}, },
}, },
}; };
-5
View File
@@ -93,8 +93,6 @@ export default {
'Är du säker på att du vill ta bort den här projektledaren från projektet?', 'Är du säker på att du vill ta bort den här projektledaren från projektet?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Är du säker på att du vill ta bort den här medlemmen från tavlan?', 'Är du säker på att du vill ta bort den här medlemmen från tavlan?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Är du säker på att du vill avlänka SSO från den här användaren? Detta kommer att tillåta användaren att logga in med ett lösenord.',
assignAsOwner_title: 'Tilldela som ägare', assignAsOwner_title: 'Tilldela som ägare',
atLeastOneListMustBePresent: 'Minst en lista måste finnas', atLeastOneListMustBePresent: 'Minst en lista måste finnas',
attachment: 'Bilaga', attachment: 'Bilaga',
@@ -345,7 +343,6 @@ export default {
turnOffRecentCardHighlighting: 'Stäng av markering av senaste kort', turnOffRecentCardHighlighting: 'Stäng av markering av senaste kort',
typeNameToConfirm: 'Skriv namn för att bekräfta.', typeNameToConfirm: 'Skriv namn för att bekräfta.',
typeTitleToConfirm: 'Skriv titel för att bekräfta.', typeTitleToConfirm: 'Skriv titel för att bekräfta.',
unlinkSso_title: 'Avlänkning av SSO',
unsavedChanges: 'Osparade ändringar', unsavedChanges: 'Osparade ändringar',
uploadFailedFileIsTooBig: 'Uppladdning misslyckades: filen är för stor.', uploadFailedFileIsTooBig: 'Uppladdning misslyckades: filen är för stor.',
uploadFailedNotEnoughStorageSpace: uploadFailedNotEnoughStorageSpace:
@@ -514,8 +511,6 @@ export default {
start: 'Starta', start: 'Starta',
stop: 'Stoppa', stop: 'Stoppa',
subscribe: 'Prenumerera', subscribe: 'Prenumerera',
unlinkSso: 'Avlänka SSO',
unlinkSso_title: 'Avlänka SSO',
unsubscribe: 'Avprenumerera', unsubscribe: 'Avprenumerera',
uploadNewAvatar: 'Ladda upp ny avatar', uploadNewAvatar: 'Ladda upp ny avatar',
uploadNewImage: 'Ladda upp ny bild', uploadNewImage: 'Ladda upp ny bild',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Drivs av <1>PLANKA</1>', poweredByPlanka: 'Drivs av <1>PLANKA</1>',
serverConnectionFailed: 'Server connection failed', serverConnectionFailed: 'Server connection failed',
unknownError: 'Okänt fel, försök igen senare', unknownError: 'Okänt fel, försök igen senare',
useSingleSignOn: 'Använd enkel inloggning',
usernameAlreadyInUse: 'Användarnamnet används redan', usernameAlreadyInUse: 'Användarnamnet används redan',
whoops_title: 'Hoppsan!', whoops_title: 'Hoppsan!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Avbryt och stäng', cancelAndClose: 'Avbryt och stäng',
continue: 'Fortsätt', continue: 'Fortsätt',
debugSso: 'Felsök SSO',
goBack: 'Gå tillbaka', goBack: 'Gå tillbaka',
goHome: 'Gå hem', goHome: 'Gå hem',
logIn: 'Logga in', logIn: 'Logga in',
logInWithSso: 'Logga in med SSO',
}, },
}, },
}; };
-5
View File
@@ -90,8 +90,6 @@ export default {
'Bu yöneticiyi projeden çıkarmak istediğinizden emin misiniz?', 'Bu yöneticiyi projeden çıkarmak istediğinizden emin misiniz?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Bu üyeyi panodan çıkarmak istediğinizden emin misiniz?', 'Bu üyeyi panodan çıkarmak istediğinizden emin misiniz?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Bu kullanıcıdan SSO bağlantısını kaldırmak istediğinizden emin misiniz? Bu, kullanıcının şifre ile giriş yapmasına izin verecektir.',
assignAsOwner_title: 'Sahip olarak ata', assignAsOwner_title: 'Sahip olarak ata',
atLeastOneListMustBePresent: 'En az bir liste bulunmalıdır', atLeastOneListMustBePresent: 'En az bir liste bulunmalıdır',
attachment: 'ek', attachment: 'ek',
@@ -338,7 +336,6 @@ export default {
turnOffRecentCardHighlighting: 'Son kart vurgulamasını kapat', turnOffRecentCardHighlighting: 'Son kart vurgulamasını kapat',
typeNameToConfirm: 'Onaylamak için adı yazın.', typeNameToConfirm: 'Onaylamak için adı yazın.',
typeTitleToConfirm: 'Onaylamak için başlığı yazın.', typeTitleToConfirm: 'Onaylamak için başlığı yazın.',
unlinkSso_title: 'SSO bağlantısını kaldırma',
unsavedChanges: 'Kaydedilmemiş değişiklikler', unsavedChanges: 'Kaydedilmemiş değişiklikler',
uploadFailedFileIsTooBig: 'Yükleme başarısız: dosya çok büyük.', uploadFailedFileIsTooBig: 'Yükleme başarısız: dosya çok büyük.',
uploadFailedNotEnoughStorageSpace: 'Yükleme başarısız: yeterli depolama alanı yok.', uploadFailedNotEnoughStorageSpace: 'Yükleme başarısız: yeterli depolama alanı yok.',
@@ -510,8 +507,6 @@ export default {
start: 'başlat', start: 'başlat',
stop: 'dur', stop: 'dur',
subscribe: 'Abone ol', subscribe: 'Abone ol',
unlinkSso: 'SSO bağlantısını kaldır',
unlinkSso_title: 'SSO bağlantısını kaldır',
unsubscribe: 'Abonelikten çık', unsubscribe: 'Abonelikten çık',
uploadNewAvatar: 'Yeni avatar yükle', uploadNewAvatar: 'Yeni avatar yükle',
uploadNewImage: 'Yeni resim yükle', uploadNewImage: 'Yeni resim yükle',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: 'PLANKA tarafından desteklenmektedir', poweredByPlanka: 'PLANKA tarafından desteklenmektedir',
serverConnectionFailed: 'Sunucu bağlantı hatası', serverConnectionFailed: 'Sunucu bağlantı hatası',
unknownError: 'Bilinmeyen hata, daha sonra tekrar deneyin', unknownError: 'Bilinmeyen hata, daha sonra tekrar deneyin',
useSingleSignOn: 'Tek oturum açma kullan',
usernameAlreadyInUse: 'Kullanıcı adı zaten kullanımda', usernameAlreadyInUse: 'Kullanıcı adı zaten kullanımda',
whoops_title: 'Hata!', whoops_title: 'Hata!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: 'İptal et ve kapat', cancelAndClose: 'İptal et ve kapat',
continue: 'Devam et', continue: 'Devam et',
debugSso: 'SSO hatalarını ayıkla',
goBack: 'Geri dön', goBack: 'Geri dön',
goHome: 'Ana sayfaya git', goHome: 'Ana sayfaya git',
logIn: 'Giriş yap', logIn: 'Giriş yap',
logInWithSso: 'SSO ile giriş yap',
}, },
}, },
}; };
-5
View File
@@ -88,8 +88,6 @@ export default {
'Ви впевнені, що хочете видалити цього менеджера з проекту?', 'Ви впевнені, що хочете видалити цього менеджера з проекту?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Ви впевнені, що хочете видалити цього учасника з дошки?', 'Ви впевнені, що хочете видалити цього учасника з дошки?',
areYouSureYouWantToUnlinkSsoFromThisUser:
"Ви впевнені, що хочете відв'язати SSO від цього користувача? Це дозволить користувачу входити за допомогою пароля.",
assignAsOwner_title: 'Призначити власником', assignAsOwner_title: 'Призначити власником',
atLeastOneListMustBePresent: 'Принаймні один список повинен бути присутнім', atLeastOneListMustBePresent: 'Принаймні один список повинен бути присутнім',
attachment: 'Вкладення', attachment: 'Вкладення',
@@ -337,7 +335,6 @@ export default {
turnOffRecentCardHighlighting: 'Вимкнути підсвічування останніх карток', turnOffRecentCardHighlighting: 'Вимкнути підсвічування останніх карток',
typeNameToConfirm: "Введіть ім'я для підтвердження.", typeNameToConfirm: "Введіть ім'я для підтвердження.",
typeTitleToConfirm: 'Введіть назву, щоб підтвердити.', typeTitleToConfirm: 'Введіть назву, щоб підтвердити.',
unlinkSso_title: "Відв'язка SSO",
unsavedChanges: 'Незбережені зміни', unsavedChanges: 'Незбережені зміни',
uploadFailedFileIsTooBig: 'Помилка завантаження: файл занадто великий.', uploadFailedFileIsTooBig: 'Помилка завантаження: файл занадто великий.',
uploadFailedNotEnoughStorageSpace: 'Помилка завантаження: недостатньо місця для зберігання.', uploadFailedNotEnoughStorageSpace: 'Помилка завантаження: недостатньо місця для зберігання.',
@@ -505,8 +502,6 @@ export default {
start: 'Почати', start: 'Почати',
stop: 'Зупинити', stop: 'Зупинити',
subscribe: 'Підписатися', subscribe: 'Підписатися',
unlinkSso: "Відв'язати SSO",
unlinkSso_title: "Відв'язати SSO",
unsubscribe: 'Відписатися', unsubscribe: 'Відписатися',
uploadNewAvatar: 'Завантажити новий аватар', uploadNewAvatar: 'Завантажити новий аватар',
uploadNewImage: 'Завантажити нове зображення', uploadNewImage: 'Завантажити нове зображення',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'Працює на <1>PLANKA</1>', poweredByPlanka: 'Працює на <1>PLANKA</1>',
serverConnectionFailed: 'Не вдалося підключитися до сервера', serverConnectionFailed: 'Не вдалося підключитися до сервера',
unknownError: 'Невідома помилка, спробуйте ще раз пізніше', unknownError: 'Невідома помилка, спробуйте ще раз пізніше',
useSingleSignOn: 'Використовувати одночасний вхід',
usernameAlreadyInUse: "Ім'я користувача вже використовується", usernameAlreadyInUse: "Ім'я користувача вже використовується",
whoops_title: 'Ой!', whoops_title: 'Ой!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Скасувати та закрити', cancelAndClose: 'Скасувати та закрити',
continue: 'Продовжити', continue: 'Продовжити',
debugSso: 'Відлагодити SSO',
goBack: 'Назад', goBack: 'Назад',
goHome: 'На головну', goHome: 'На головну',
logIn: 'Увійти', logIn: 'Увійти',
logInWithSso: 'Увійти за допомогою SSO',
}, },
}, },
}; };
-5
View File
@@ -83,8 +83,6 @@ export default {
areYouSureYouWantToRemoveThisManagerFromProject: areYouSureYouWantToRemoveThisManagerFromProject:
"Ushbu boshqaruvchini loyihadan o'chirmoqchimisiz?", "Ushbu boshqaruvchini loyihadan o'chirmoqchimisiz?",
areYouSureYouWantToRemoveThisMemberFromBoard: "Ushbu a'zoni doskadan o'chirmoqchimisiz?", areYouSureYouWantToRemoveThisMemberFromBoard: "Ushbu a'zoni doskadan o'chirmoqchimisiz?",
areYouSureYouWantToUnlinkSsoFromThisUser:
"Haqiqatan ham bu foydalanuvchidan SSO bog'lanishini uzishni xohlaysizmi? Bu foydalanuvchiga parol bilan kirishga imkon beradi.",
assignAsOwner_title: 'Egasi sifatida tayinlash', assignAsOwner_title: 'Egasi sifatida tayinlash',
atLeastOneListMustBePresent: "Kamida bitta ro'yxat bo'lishi kerak", atLeastOneListMustBePresent: "Kamida bitta ro'yxat bo'lishi kerak",
attachment: 'Ilova', attachment: 'Ilova',
@@ -333,7 +331,6 @@ export default {
turnOffRecentCardHighlighting: "So'nggi kartalarni ajratib ko'rsatishni o'chirish", turnOffRecentCardHighlighting: "So'nggi kartalarni ajratib ko'rsatishni o'chirish",
typeNameToConfirm: 'Tasdiqlash uchun nomni kiriting.', typeNameToConfirm: 'Tasdiqlash uchun nomni kiriting.',
typeTitleToConfirm: 'Tasdiqlash uchun sarlavhani kiriting.', typeTitleToConfirm: 'Tasdiqlash uchun sarlavhani kiriting.',
unlinkSso_title: "SSO bog'lanishini uzish",
unsavedChanges: "Saqlanmagan o'zgarishlar", unsavedChanges: "Saqlanmagan o'zgarishlar",
uploadFailedFileIsTooBig: 'Yuklash muvaffaqiyatsiz: fayl juda katta.', uploadFailedFileIsTooBig: 'Yuklash muvaffaqiyatsiz: fayl juda katta.',
uploadFailedNotEnoughStorageSpace: 'Yuklash muvaffaqiyatsiz: saqlash joyi yetarli emas.', uploadFailedNotEnoughStorageSpace: 'Yuklash muvaffaqiyatsiz: saqlash joyi yetarli emas.',
@@ -503,8 +500,6 @@ export default {
start: 'Boshlash', start: 'Boshlash',
stop: "To'xtatish", stop: "To'xtatish",
subscribe: "Obuna bo'lish", subscribe: "Obuna bo'lish",
unlinkSso: "SSO bog'lanishini uzish",
unlinkSso_title: "SSO bog'lanishini uzish",
unsubscribe: 'Obunani bekor qilish', unsubscribe: 'Obunani bekor qilish',
uploadNewAvatar: 'Yangi avatar yuklash', uploadNewAvatar: 'Yangi avatar yuklash',
uploadNewImage: 'Yangi rasm yuklash', uploadNewImage: 'Yangi rasm yuklash',
-3
View File
@@ -17,7 +17,6 @@ export default {
poweredByPlanka: 'PLANKA tomonidan quvvatlanadi', poweredByPlanka: 'PLANKA tomonidan quvvatlanadi',
serverConnectionFailed: "Serverga bog'lanish xatosi", serverConnectionFailed: "Serverga bog'lanish xatosi",
unknownError: "Noma'lum xatolik, qaytadan urinib ko'ring", unknownError: "Noma'lum xatolik, qaytadan urinib ko'ring",
useSingleSignOn: 'Yagona kirish tizimidan foydalaning',
usernameAlreadyInUse: 'Foydalanuvchi nomi allaqachon mavjud', usernameAlreadyInUse: 'Foydalanuvchi nomi allaqachon mavjud',
whoops_title: 'Voy!', whoops_title: 'Voy!',
}, },
@@ -25,11 +24,9 @@ export default {
action: { action: {
cancelAndClose: 'Bekor qilish va yopish', cancelAndClose: 'Bekor qilish va yopish',
continue: 'Davom etish', continue: 'Davom etish',
debugSso: 'SSO ni tuzatish',
goBack: 'Orqaga', goBack: 'Orqaga',
goHome: 'Bosh sahifaga', goHome: 'Bosh sahifaga',
logIn: 'Kirish', logIn: 'Kirish',
logInWithSso: 'SSO orqali kirish',
}, },
}, },
}; };
-5
View File
@@ -89,8 +89,6 @@ export default {
'Bạn có chắc chắn muốn xóa quản lý này khỏi dự án không?', 'Bạn có chắc chắn muốn xóa quản lý này khỏi dự án không?',
areYouSureYouWantToRemoveThisMemberFromBoard: areYouSureYouWantToRemoveThisMemberFromBoard:
'Bạn có chắc chắn muốn xóa thành viên này khỏi bảng không?', 'Bạn có chắc chắn muốn xóa thành viên này khỏi bảng không?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'Bạn có chắc chắn muốn hủy liên kết SSO khỏi người dùng này không? Điều này sẽ cho phép người dùng đăng nhập bằng mật khẩu.',
assignAsOwner_title: 'Chỉ định làm chủ sở hữu', assignAsOwner_title: 'Chỉ định làm chủ sở hữu',
atLeastOneListMustBePresent: 'Phải có ít nhất một danh sách', atLeastOneListMustBePresent: 'Phải có ít nhất một danh sách',
attachment: 'Tệp đính kèm', attachment: 'Tệp đính kèm',
@@ -337,7 +335,6 @@ export default {
turnOffRecentCardHighlighting: 'Tắt làm nổi bật thẻ gần đây', turnOffRecentCardHighlighting: 'Tắt làm nổi bật thẻ gần đây',
typeNameToConfirm: 'Nhập tên để xác nhận.', typeNameToConfirm: 'Nhập tên để xác nhận.',
typeTitleToConfirm: 'Nhập tiêu đề để xác nhận.', typeTitleToConfirm: 'Nhập tiêu đề để xác nhận.',
unlinkSso_title: 'Hủy liên kết SSO',
unsavedChanges: 'Thay đổi chưa được lưu', unsavedChanges: 'Thay đổi chưa được lưu',
uploadFailedFileIsTooBig: 'Tải lên thất bại: Tệp quá lớn.', uploadFailedFileIsTooBig: 'Tải lên thất bại: Tệp quá lớn.',
uploadFailedNotEnoughStorageSpace: 'Tải lên thất bại: Không đủ không gian lưu trữ.', uploadFailedNotEnoughStorageSpace: 'Tải lên thất bại: Không đủ không gian lưu trữ.',
@@ -505,8 +502,6 @@ export default {
start: 'Bắt đầu', start: 'Bắt đầu',
stop: 'Dừng', stop: 'Dừng',
subscribe: 'Đăng ký theo dõi', subscribe: 'Đăng ký theo dõi',
unlinkSso: 'Hủy liên kết SSO',
unlinkSso_title: 'Hủy liên kết SSO',
unsubscribe: 'Hủy đăng ký theo dõi', unsubscribe: 'Hủy đăng ký theo dõi',
uploadNewAvatar: 'Tải lên ảnh đại diện mới', uploadNewAvatar: 'Tải lên ảnh đại diện mới',
uploadNewImage: 'Tải lên ảnh mới', uploadNewImage: 'Tải lên ảnh mới',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: 'Được phát triển bởi <1>PLANKA</1>', poweredByPlanka: 'Được phát triển bởi <1>PLANKA</1>',
serverConnectionFailed: 'Không kết nối được tới máy chủ', serverConnectionFailed: 'Không kết nối được tới máy chủ',
unknownError: 'Lỗi không xác định, thử lại sau', unknownError: 'Lỗi không xác định, thử lại sau',
useSingleSignOn: 'Sử dụng đăng nhập một lần (SSO)',
usernameAlreadyInUse: 'Tên đăng nhập đã được sử dụng', usernameAlreadyInUse: 'Tên đăng nhập đã được sử dụng',
whoops_title: 'Ôi thôi chếcccc!', whoops_title: 'Ôi thôi chếcccc!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: 'Hủy và đóng', cancelAndClose: 'Hủy và đóng',
continue: 'Tiếp tục', continue: 'Tiếp tục',
debugSso: 'Gỡ lỗi SSO',
goBack: 'Quay lại', goBack: 'Quay lại',
goHome: 'Về trang chủ', goHome: 'Về trang chủ',
logIn: 'Đăng nhập', logIn: 'Đăng nhập',
logInWithSso: 'Đăng nhập bằng SSO',
}, },
}, },
}; };
-5
View File
@@ -75,8 +75,6 @@ export default {
areYouSureYouWantToRegenerateThisApiKey: '确认重新生成此API密钥吗?之前的密钥将不再有效。', areYouSureYouWantToRegenerateThisApiKey: '确认重新生成此API密钥吗?之前的密钥将不再有效。',
areYouSureYouWantToRemoveThisManagerFromProject: '确认从本项目删除该管理员吗?', areYouSureYouWantToRemoveThisManagerFromProject: '确认从本项目删除该管理员吗?',
areYouSureYouWantToRemoveThisMemberFromBoard: '确认本面板删除该成员吗?', areYouSureYouWantToRemoveThisMemberFromBoard: '确认本面板删除该成员吗?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'您确定要取消此用户的SSO链接吗?这将允许用户使用密码登录。',
assignAsOwner_title: '指定为所有者', assignAsOwner_title: '指定为所有者',
atLeastOneListMustBePresent: '至少需要存在一个列表', atLeastOneListMustBePresent: '至少需要存在一个列表',
attachment: '附件', attachment: '附件',
@@ -315,7 +313,6 @@ export default {
turnOffRecentCardHighlighting: '关闭最近卡片高亮', turnOffRecentCardHighlighting: '关闭最近卡片高亮',
typeNameToConfirm: '输入名称以确认。', typeNameToConfirm: '输入名称以确认。',
typeTitleToConfirm: '输入标题以确认。', typeTitleToConfirm: '输入标题以确认。',
unlinkSso_title: '取消SSO链接',
unsavedChanges: '未保存的更改', unsavedChanges: '未保存的更改',
uploadFailedFileIsTooBig: '上传失败:文件太大。', uploadFailedFileIsTooBig: '上传失败:文件太大。',
uploadFailedNotEnoughStorageSpace: '上传失败:存储空间不足。', uploadFailedNotEnoughStorageSpace: '上传失败:存储空间不足。',
@@ -480,8 +477,6 @@ export default {
start: '开始', start: '开始',
stop: '结束', stop: '结束',
subscribe: '关注', subscribe: '关注',
unlinkSso: '取消SSO链接',
unlinkSso_title: '取消SSO链接',
unsubscribe: '取消关注', unsubscribe: '取消关注',
uploadNewAvatar: '上传新头像', uploadNewAvatar: '上传新头像',
uploadNewImage: '上传图片', uploadNewImage: '上传图片',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: '技术支持由<1>PLANKA</1>提供', poweredByPlanka: '技术支持由<1>PLANKA</1>提供',
serverConnectionFailed: '服务器连接失败', serverConnectionFailed: '服务器连接失败',
unknownError: '未知错误,请稍后重试', unknownError: '未知错误,请稍后重试',
useSingleSignOn: '使用单点登录',
usernameAlreadyInUse: '用户名已被占用', usernameAlreadyInUse: '用户名已被占用',
whoops_title: '哎呀!', whoops_title: '哎呀!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: '取消并关闭', cancelAndClose: '取消并关闭',
continue: '继续', continue: '继续',
debugSso: '调试SSO',
goBack: '返回', goBack: '返回',
goHome: '回到首页', goHome: '回到首页',
logIn: '登录', logIn: '登录',
logInWithSso: '使用SSO登录',
}, },
}, },
}; };
-5
View File
@@ -75,8 +75,6 @@ export default {
areYouSureYouWantToRegenerateThisApiKey: '確認重新產生此API金鑰嗎?之前的金鑰將不再有效。', areYouSureYouWantToRegenerateThisApiKey: '確認重新產生此API金鑰嗎?之前的金鑰將不再有效。',
areYouSureYouWantToRemoveThisManagerFromProject: '確認從此專案中刪除該管理員嗎?', areYouSureYouWantToRemoveThisManagerFromProject: '確認從此專案中刪除該管理員嗎?',
areYouSureYouWantToRemoveThisMemberFromBoard: '確認從此看板中刪除該成員嗎?', areYouSureYouWantToRemoveThisMemberFromBoard: '確認從此看板中刪除該成員嗎?',
areYouSureYouWantToUnlinkSsoFromThisUser:
'您確定要取消此使用者的SSO連結嗎?這將允許使用者使用密碼登入。',
assignAsOwner_title: '指派為擁有者', assignAsOwner_title: '指派為擁有者',
atLeastOneListMustBePresent: '至少必須有一個列表', atLeastOneListMustBePresent: '至少必須有一個列表',
attachment: '附件', attachment: '附件',
@@ -315,7 +313,6 @@ export default {
turnOffRecentCardHighlighting: '關閉最近卡片高亮顯示', turnOffRecentCardHighlighting: '關閉最近卡片高亮顯示',
typeNameToConfirm: '輸入名稱以確認。', typeNameToConfirm: '輸入名稱以確認。',
typeTitleToConfirm: '輸入標題以確認。', typeTitleToConfirm: '輸入標題以確認。',
unlinkSso_title: '取消SSO連結',
unsavedChanges: '未保存的更改', unsavedChanges: '未保存的更改',
uploadFailedFileIsTooBig: '上傳失敗:檔案太大。', uploadFailedFileIsTooBig: '上傳失敗:檔案太大。',
uploadFailedNotEnoughStorageSpace: '上傳失敗:儲存空間不足。', uploadFailedNotEnoughStorageSpace: '上傳失敗:儲存空間不足。',
@@ -480,8 +477,6 @@ export default {
start: '開始', start: '開始',
stop: '結束', stop: '結束',
subscribe: '訂閱', subscribe: '訂閱',
unlinkSso: '取消SSO連結',
unlinkSso_title: '取消SSO連結',
unsubscribe: '取消訂閱', unsubscribe: '取消訂閱',
uploadNewAvatar: '上傳新頭像', uploadNewAvatar: '上傳新頭像',
uploadNewImage: '上傳圖片', uploadNewImage: '上傳圖片',
-3
View File
@@ -16,7 +16,6 @@ export default {
poweredByPlanka: '技術支援由<1>PLANKA</1>提供', poweredByPlanka: '技術支援由<1>PLANKA</1>提供',
serverConnectionFailed: '伺服器連接失敗', serverConnectionFailed: '伺服器連接失敗',
unknownError: '未知錯誤,請稍後重試', unknownError: '未知錯誤,請稍後重試',
useSingleSignOn: '使用單一登入',
usernameAlreadyInUse: '使用者名稱已被佔用', usernameAlreadyInUse: '使用者名稱已被佔用',
whoops_title: '哎呀!', whoops_title: '哎呀!',
}, },
@@ -24,11 +23,9 @@ export default {
action: { action: {
cancelAndClose: '取消並關閉', cancelAndClose: '取消並關閉',
continue: '繼續', continue: '繼續',
debugSso: '偵錯SSO',
goBack: '返回', goBack: '返回',
goHome: '回到首頁', goHome: '回到首頁',
logIn: '登入', logIn: '登入',
logInWithSso: '使用SSO登入',
}, },
}, },
}; };
-1
View File
@@ -78,7 +78,6 @@ export default class extends BaseModel {
subscribeToCardWhenCommenting: attr(), subscribeToCardWhenCommenting: attr(),
turnOffRecentCardHighlighting: attr(), turnOffRecentCardHighlighting: attr(),
isDefaultAdmin: attr(), isDefaultAdmin: attr(),
isSsoUser: attr(),
isDeactivated: attr(), isDeactivated: attr(),
lockedFieldNames: attr(), lockedFieldNames: attr(),
isAvatarUpdating: attr({ isAvatarUpdating: attr({
-1
View File
@@ -15,7 +15,6 @@ const initialState = {
export default (state = initialState, { type, payload }) => { export default (state = initialState, { type, payload }) => {
switch (type) { switch (type) {
case ActionTypes.AUTHENTICATE__SUCCESS: case ActionTypes.AUTHENTICATE__SUCCESS:
case ActionTypes.WITH_OIDC_AUTHENTICATE__SUCCESS:
case ActionTypes.TERMS_ACCEPT__SUCCESS: case ActionTypes.TERMS_ACCEPT__SUCCESS:
return { return {
...state, ...state,
-1
View File
@@ -33,7 +33,6 @@ export default (state = initialState, { type, payload }) => {
bootstrap: payload.bootstrap, bootstrap: payload.bootstrap,
}; };
case ActionTypes.AUTHENTICATE__SUCCESS: case ActionTypes.AUTHENTICATE__SUCCESS:
case ActionTypes.WITH_OIDC_AUTHENTICATE__SUCCESS:
case ActionTypes.TERMS_ACCEPT__SUCCESS: case ActionTypes.TERMS_ACCEPT__SUCCESS:
return { return {
...state, ...state,
@@ -3,10 +3,7 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md * Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/ */
import { LOCATION_CHANGE_HANDLE } from '../../lib/redux-router';
import ActionTypes from '../../constants/ActionTypes'; import ActionTypes from '../../constants/ActionTypes';
import Paths from '../../constants/Paths';
const initialState = { const initialState = {
data: { data: {
@@ -14,9 +11,7 @@ const initialState = {
password: '', password: '',
}, },
isSubmitting: false, isSubmitting: false,
isSubmittingWithOidc: false,
error: null, error: null,
debugLogs: null,
pendingToken: null, pendingToken: null,
step: null, step: null,
termsForm: { termsForm: {
@@ -30,15 +25,6 @@ const initialState = {
// eslint-disable-next-line default-param-last // eslint-disable-next-line default-param-last
export default (state = initialState, { type, payload }) => { export default (state = initialState, { type, payload }) => {
switch (type) { switch (type) {
case LOCATION_CHANGE_HANDLE:
if (payload.location.pathname === Paths.OIDC_CALLBACK) {
return {
...state,
isSubmittingWithOidc: true,
};
}
return state;
case ActionTypes.AUTHENTICATE: case ActionTypes.AUTHENTICATE:
return { return {
...state, ...state,
@@ -49,7 +35,6 @@ export default (state = initialState, { type, payload }) => {
isSubmitting: true, isSubmitting: true,
}; };
case ActionTypes.AUTHENTICATE__SUCCESS: case ActionTypes.AUTHENTICATE__SUCCESS:
case ActionTypes.WITH_OIDC_AUTHENTICATE__SUCCESS:
case ActionTypes.TERMS_ACCEPT__SUCCESS: case ActionTypes.TERMS_ACCEPT__SUCCESS:
case ActionTypes.TERMS_CANCEL__SUCCESS: case ActionTypes.TERMS_CANCEL__SUCCESS:
case ActionTypes.TERMS_CANCEL__FAILURE: case ActionTypes.TERMS_CANCEL__FAILURE:
@@ -73,31 +58,6 @@ export default (state = initialState, { type, payload }) => {
isSubmitting: false, isSubmitting: false,
error: payload.error, error: payload.error,
}; };
case ActionTypes.WITH_OIDC_AUTHENTICATE__FAILURE:
if (payload.terms) {
return {
...state,
data: initialState.data,
pendingToken: payload.error.pendingToken,
step: payload.error.step,
termsForm: {
...state.termsForm,
payload: payload.terms,
},
};
}
return {
...state,
isSubmittingWithOidc: false,
error: payload.error,
};
case ActionTypes.WITH_OIDC_AUTHENTICATE__DEBUG:
return {
...state,
isSubmittingWithOidc: false,
debugLogs: payload.logs,
};
case ActionTypes.AUTHENTICATE_ERROR_CLEAR: case ActionTypes.AUTHENTICATE_ERROR_CLEAR:
return { return {
...state, ...state,
+1 -14
View File
@@ -3,12 +3,11 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md * Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/ */
import { apply, fork, select, take } from 'redux-saga/effects'; import { apply, fork, take } from 'redux-saga/effects';
import watchers from './watchers'; import watchers from './watchers';
import services from './services'; import services from './services';
import runWatchers from '../run-watchers'; import runWatchers from '../run-watchers';
import selectors from '../../selectors';
import { socket } from '../../api'; import { socket } from '../../api';
import ActionTypes from '../../constants/ActionTypes'; import ActionTypes from '../../constants/ActionTypes';
import Paths from '../../constants/Paths'; import Paths from '../../constants/Paths';
@@ -21,17 +20,5 @@ export default function* coreSaga() {
yield take(ActionTypes.LOGOUT); yield take(ActionTypes.LOGOUT);
const oidcBootstrap = yield select(selectors.selectOidcBootstrap);
if (oidcBootstrap && oidcBootstrap.endSessionUrl !== null) {
const currentUser = yield select(selectors.selectCurrentUser);
if (!currentUser || currentUser.isSsoUser) {
// Redirect the user to the IDP to log out.
window.location.href = oidcBootstrap.endSessionUrl;
return;
}
}
window.location.href = Paths.LOGIN; window.location.href = Paths.LOGIN;
} }
-1
View File
@@ -53,7 +53,6 @@ export function* handleLocationChange() {
switch (pathsMatch.pattern.path) { switch (pathsMatch.pattern.path) {
case Paths.LOGIN: case Paths.LOGIN:
case Paths.OIDC_CALLBACK:
yield call(goToRoot); yield call(goToRoot);
break; break;
+1 -5
View File
@@ -15,11 +15,7 @@ export default function* loginSaga() {
yield fork(services.initializeLogin); yield fork(services.initializeLogin);
yield take([ yield take([ActionTypes.AUTHENTICATE__SUCCESS, ActionTypes.TERMS_ACCEPT__SUCCESS]);
ActionTypes.AUTHENTICATE__SUCCESS,
ActionTypes.WITH_OIDC_AUTHENTICATE__SUCCESS,
ActionTypes.TERMS_ACCEPT__SUCCESS,
]);
yield cancel(watcherTasks); yield cancel(watcherTasks);
yield call(services.goToRoot); yield call(services.goToRoot);
-104
View File
@@ -3,16 +3,13 @@
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md * Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/ */
import { nanoid } from 'nanoid';
import { call, put, select } from 'redux-saga/effects'; import { call, put, select } from 'redux-saga/effects';
import { replace } from '../../../lib/redux-router';
import selectors from '../../../selectors'; import selectors from '../../../selectors';
import actions from '../../../actions'; import actions from '../../../actions';
import api from '../../../api'; import api from '../../../api';
import i18n from '../../../i18n'; import i18n from '../../../i18n';
import { setAccessToken } from '../../../utils/access-token-storage'; import { setAccessToken } from '../../../utils/access-token-storage';
import Paths from '../../../constants/Paths';
import AccessTokenSteps from '../../../constants/AccessTokenSteps'; import AccessTokenSteps from '../../../constants/AccessTokenSteps';
export function* initializeLogin() { export function* initializeLogin() {
@@ -41,105 +38,6 @@ export function* authenticate(data) {
yield put(actions.authenticate.success(accessToken)); yield put(actions.authenticate.success(accessToken));
} }
export function* authenticateWithOidc() {
const oidcBootstrap = yield select(selectors.selectOidcBootstrap);
const state = nanoid();
window.localStorage.setItem('oidc-state', state);
const nonce = nanoid();
window.localStorage.setItem('oidc-nonce', nonce);
let redirectUrl = `${oidcBootstrap.authorizationUrl}`;
redirectUrl += `&state=${encodeURIComponent(state)}`;
redirectUrl += `&nonce=${encodeURIComponent(nonce)}`;
window.location.href = redirectUrl;
}
export function* authenticateWithOidcCallback() {
// https://github.com/plankanban/planka/issues/511#issuecomment-1771385639
const params = new URLSearchParams(window.location.hash.substring(1) || window.location.search);
const state = window.localStorage.getItem('oidc-state');
window.localStorage.removeItem('oidc-state');
const nonce = window.localStorage.getItem('oidc-nonce');
window.localStorage.removeItem('oidc-nonce');
yield put(replace(Paths.LOGIN));
if (params.get('error') !== null) {
yield put(
actions.authenticateWithOidc.failure(
new Error(
`OIDC Authorization error: ${params.get('error')}: ${params.get('error_description')}`,
),
),
);
return;
}
const code = params.get('code');
if (code === null) {
yield put(
actions.authenticateWithOidc.failure(new Error('Invalid OIDC response: no code parameter')),
);
return;
}
if (params.get('state') !== state) {
yield put(
actions.authenticateWithOidc.failure(
new Error('Unable to process OIDC response: state mismatch'),
),
);
return;
}
if (nonce === null) {
yield put(
actions.authenticateWithOidc.failure(
new Error('Unable to process OIDC response: no nonce issued'),
),
);
return;
}
const oidcBootstrap = yield select(selectors.selectOidcBootstrap);
if (oidcBootstrap?.debug) {
const {
included: { logs },
} = yield call(api.debugOidc, {
code,
nonce,
});
yield put(actions.authenticateWithOidc.debug(logs));
return;
}
let accessToken;
try {
({ item: accessToken } = yield call(api.exchangeForAccessTokenWithOidc, {
code,
nonce,
}));
} catch (error) {
let terms;
if (error.step === AccessTokenSteps.ACCEPT_TERMS) {
({ item: terms } = yield call(api.getTerms, i18n.resolvedLanguage));
}
yield put(actions.authenticateWithOidc.failure(error, terms));
return;
}
yield call(setAccessToken, accessToken);
yield put(actions.authenticateWithOidc.success(accessToken));
}
export function* clearAuthenticateError() { export function* clearAuthenticateError() {
yield put(actions.clearAuthenticateError()); yield put(actions.clearAuthenticateError());
} }
@@ -199,8 +97,6 @@ export function* updateTermsLanguage(value) {
export default { export default {
initializeLogin, initializeLogin,
authenticate, authenticate,
authenticateWithOidc,
authenticateWithOidcCallback,
clearAuthenticateError, clearAuthenticateError,
acceptTerms, acceptTerms,
cancelTerms, cancelTerms,
-18
View File
@@ -6,7 +6,6 @@
import { call, put, select, take } from 'redux-saga/effects'; import { call, put, select, take } from 'redux-saga/effects';
import { push } from '../../../lib/redux-router'; import { push } from '../../../lib/redux-router';
import { authenticateWithOidc, authenticateWithOidcCallback } from './login';
import selectors from '../../../selectors'; import selectors from '../../../selectors';
import ActionTypes from '../../../constants/ActionTypes'; import ActionTypes from '../../../constants/ActionTypes';
import Paths from '../../../constants/Paths'; import Paths from '../../../constants/Paths';
@@ -48,23 +47,6 @@ export function* handleLocationChange() {
} }
switch (pathsMatch.pattern.path) { switch (pathsMatch.pattern.path) {
case Paths.LOGIN: {
const oidcBootstrap = yield select(selectors.selectOidcBootstrap);
if (oidcBootstrap) {
const params = new URLSearchParams(window.location.search);
if (params.has('authenticateWithOidc')) {
yield call(authenticateWithOidc);
}
}
break;
}
case Paths.OIDC_CALLBACK:
yield call(authenticateWithOidcCallback);
break;
default: default:
} }
} }
-1
View File
@@ -13,7 +13,6 @@ export default function* loginWatchers() {
takeEvery(EntryActionTypes.AUTHENTICATE, ({ payload: { data } }) => takeEvery(EntryActionTypes.AUTHENTICATE, ({ payload: { data } }) =>
services.authenticate(data), services.authenticate(data),
), ),
takeEvery(EntryActionTypes.WITH_OIDC_AUTHENTICATE, () => services.authenticateWithOidc()),
takeEvery(EntryActionTypes.AUTHENTICATE_ERROR_CLEAR, () => services.clearAuthenticateError()), takeEvery(EntryActionTypes.AUTHENTICATE_ERROR_CLEAR, () => services.clearAuthenticateError()),
takeEvery(EntryActionTypes.TERMS_ACCEPT, ({ payload: { signature } }) => takeEvery(EntryActionTypes.TERMS_ACCEPT, ({ payload: { signature } }) =>
services.acceptTerms(signature), services.acceptTerms(signature),
-3
View File
@@ -9,8 +9,6 @@ export const selectIsInitializing = ({ common: { isInitializing } }) => isInitia
export const selectBootstrap = ({ common: { bootstrap } }) => bootstrap; export const selectBootstrap = ({ common: { bootstrap } }) => bootstrap;
export const selectOidcBootstrap = (state) => selectBootstrap(state).oidc;
export const selectActiveUsersLimit = (state) => selectBootstrap(state).activeUsersLimit; export const selectActiveUsersLimit = (state) => selectBootstrap(state).activeUsersLimit;
export const selectAccessToken = ({ auth: { accessToken } }) => accessToken; export const selectAccessToken = ({ auth: { accessToken } }) => accessToken;
@@ -27,7 +25,6 @@ export default {
selectIsSocketDisconnected, selectIsSocketDisconnected,
selectIsInitializing, selectIsInitializing,
selectBootstrap, selectBootstrap,
selectOidcBootstrap,
selectActiveUsersLimit, selectActiveUsersLimit,
selectAccessToken, selectAccessToken,
selectAuthenticateForm, selectAuthenticateForm,
-23
View File
@@ -62,29 +62,6 @@ services:
# - S3_FORCE_PATH_STYLE=true # - S3_FORCE_PATH_STYLE=true
# - S3_REQUEST_CHECKSUM_CALCULATION= # - S3_REQUEST_CHECKSUM_CALCULATION=
# - OIDC_ISSUER=
# - OIDC_CLIENT_ID=
# - OIDC_CLIENT_SECRET=
# - OIDC_USE_OAUTH_CALLBACK=true
# - OIDC_ID_TOKEN_SIGNED_RESPONSE_ALG=
# - OIDC_USERINFO_SIGNED_RESPONSE_ALG=
# - OIDC_SCOPES=openid email profile
# - OIDC_RESPONSE_MODE=fragment
# - OIDC_USE_DEFAULT_RESPONSE_MODE=true
# - OIDC_ADMIN_ROLES=admin
# - OIDC_PROJECT_OWNER_ROLES=project_owner
# - OIDC_BOARD_USER_ROLES=board_user
# - OIDC_CLAIMS_SOURCE=userinfo
# - OIDC_EMAIL_ATTRIBUTE=email
# - OIDC_NAME_ATTRIBUTE=name
# - OIDC_USERNAME_ATTRIBUTE=preferred_username
# - OIDC_ROLES_ATTRIBUTE=groups
# - OIDC_IGNORE_USERNAME=true
# - OIDC_IGNORE_ROLES=true
# - OIDC_ENFORCED=true
# - OIDC_TIMEOUT=3500
# - OIDC_DEBUG=true
# Email Notifications (https://nodemailer.com/smtp/) # Email Notifications (https://nodemailer.com/smtp/)
# These values override and disable configuration in the UI if set. # These values override and disable configuration in the UI if set.
# - SMTP_HOST= # - SMTP_HOST=

Some files were not shown because too many files have changed in this diff Show More